DBA Data[Home] [Help]

PACKAGE BODY: APPS.OE_LINE_ADJ_SECURITY

Source


1 PACKAGE BODY OE_Line_Adj_Security AS
2 /* $Header: OEXXLADB.pls 115.18 2004/06/22 18:39:12 jvicenti ship $ */
3 
4 
5 --  Global constant holding the package name
6 
7 G_PKG_NAME                    CONSTANT VARCHAR2(30) := 'OE_Line_Adj_Security';
8 
9 -- LOCAL PROCEDURES
10 
11 FUNCTION Is_Op_Constrained
12 ( p_operation           IN VARCHAR2
13  , p_column_name         IN VARCHAR2 DEFAULT NULL
14  , p_record       IN OE_AK_LINE_PRCADJS_V%ROWTYPE
15 , x_on_operation_action OUT NOCOPY NUMBER
16 
17 ) RETURN NUMBER IS
18 l_constraint_id	NUMBER;
19 l_grp	NUMBER;
20 l_result		NUMBER;
21 l_constrained_column	VARCHAR2(30);
22 l_audit_trail_enabled VARCHAR2(1) := OE_SYS_PARAMETERS.VALUE('AUDIT_TRAIL_ENABLE_FLAG');
23 l_code_level varchar2(6) := OE_CODE_CONTROL.GET_CODE_RELEASE_LEVEL;
24 l_order_booked_flag   VARCHAR2(1);
25 
26 CURSOR IS_ORDER_BOOKED(x_header_id NUMBER) IS
27        SELECT NVL(BOOKED_FLAG,'N')
28        FROM   OE_ORDER_HEADERS_ALL
29        WHERE  HEADER_ID = x_header_id;
30 
31 l_transaction_phase_code VARCHAR2(30);
32 --
33 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
34 --
35 BEGIN
36 
37 IF l_code_level >= '110510' THEN
38    OE_Order_Cache.Load_Order_Header(p_record.header_id);
39    l_transaction_phase_code := oe_order_cache.g_header_rec.transaction_phase_code;
40 END IF;
41 
42 l_result := OE_PC_Constraints_Admin_PVT.Is_OP_constrained
43     ( p_responsibility_id     => nvl(fnd_global.resp_id, -1)
44     , p_application_id        => nvl(fnd_global.resp_appl_id,-1) --added for bug3631547
45     , p_operation   => p_operation
46     , p_qualifier_attribute => l_transaction_phase_code
47     , p_entity_id   => OE_PC_GLOBALS.G_ENTITY_LINE_ADJ
48     , p_column_name => p_column_name
49     , p_check_all_cols_constraint  => g_check_all_cols_constraint
50     , p_is_caller_defaulting  => g_is_caller_defaulting
51     , x_constraint_id    => l_constraint_id
52     , x_constraining_conditions_grp     => l_grp
53     , x_on_operation_action   => x_on_operation_action
54     );
55 
56 if l_result = OE_PC_GLOBALS.YES then
57 
58     IF g_check_all_cols_constraint = 'Y'
59        AND (p_operation = OE_PC_GLOBALS.UPDATE_OP
60             OR p_operation = OE_PC_GLOBALS.CREATE_OP)
61        AND x_on_operation_action = 0
62        AND p_column_name IS NOT NULL THEN
63         SELECT column_name
64         INTO l_constrained_column
65         FROM oe_pc_constraints
66         WHERE constraint_id = l_constraint_id;
67         if l_constrained_column is null then
68             RAISE FND_API.G_EXC_ERROR;
69         end if;
70     END IF;
71 
72 elsif l_result = OE_PC_GLOBALS.ERROR then
73 
74     raise FND_API.G_EXC_UNEXPECTED_ERROR;
75 
76 end if;
77 
78 g_check_all_cols_constraint := 'N';
79 
80 /* Start Versioning */
81 IF l_code_level >= '110510' AND
82   ( p_column_name = 'TRANSACTION_PHASE_CODE' OR
83     x_on_operation_action IN (.1,.2))THEN
84    OE_Versioning_Util.Check_Security(p_column_name => p_column_name,
85                    p_on_operation_action => x_on_operation_action);
86 END IF;
87 /* End Versioning */
88 
89 /* Start AuditTrail */
90 -- Code level should be OM-H and
91 -- Audit Trail Enabled
92 IF g_is_caller_defaulting = 'N' THEN
93 IF l_code_level >= '110508' and nvl(l_audit_trail_enabled,'D') <> 'D' and
94       nvl(l_transaction_phase_code,'F') = 'F' and
95       not OE_GLOBALS.G_HEADER_CREATED THEN
96    IF l_audit_trail_enabled = 'B' THEN  -- capture only for booked orders
97       OPEN IS_ORDER_BOOKED (p_record.header_id);
98       FETCH IS_ORDER_BOOKED INTO l_order_booked_flag;
99       CLOSE IS_ORDER_BOOKED;
100       IF l_order_booked_flag = 'Y' THEN
101          IF l_result = OE_PC_GLOBALS.YES THEN
102             IF x_on_operation_action = 1 THEN
103                -- set OUT result to NOT CONSTRAINED
104                IF l_debug_level  > 0 THEN
105                    oe_debug_pub.add(  'LINE ADJUSTMENTS SECURITY - SETTING REQUIRES REASON TO TRUE' , 5 ) ;
106                END IF;
107                OE_GLOBALS.G_AUDIT_REASON_RQD_FLAG := 'Y';
108                OE_GLOBALS.G_AUDIT_HISTORY_RQD_FLAG := 'N';
109             ELSIF x_on_operation_action = 2 THEN
110                -- set OUT result to NOT CONSTRAINED
111                IF OE_GLOBALS.G_AUDIT_REASON_RQD_FLAG <> 'Y' then
112                   IF l_debug_level  > 0 THEN
113                       oe_debug_pub.add(  'LINE ADJUSTMENTS SECURITY - SETTING REQUIRES HISTORY TO TRUE' , 5 ) ;
114                   END IF;
115 	          OE_GLOBALS.G_AUDIT_HISTORY_RQD_FLAG := 'Y';
116                END IF;
117             END IF;
118          END IF;
119       END IF;
120    ELSE -- capture audit trail for all orders
121       IF l_result = OE_PC_GLOBALS.YES THEN
122          IF x_on_operation_action = 1 THEN
123             -- set OUT result to NOT CONSTRAINED
124             IF l_debug_level  > 0 THEN
125                 oe_debug_pub.add(  'LINE ADJUSTMENTS SECURITY - SETTING REQUIRES REASON TO TRUE' , 5 ) ;
126             END IF;
127             OE_GLOBALS.G_AUDIT_REASON_RQD_FLAG := 'Y';
128             OE_GLOBALS.G_AUDIT_HISTORY_RQD_FLAG := 'N';
129          ELSIF x_on_operation_action = 2 THEN
130             -- set OUT result to NOT CONSTRAINED
131             IF OE_GLOBALS.G_AUDIT_REASON_RQD_FLAG <> 'Y' then
132                IF l_debug_level  > 0 THEN
133                    oe_debug_pub.add(  'LINE ADJUSTMENTS SECURITY - SETTING REQUIRES HISTORY TO TRUE' , 5 ) ;
134                END IF;
135 	       OE_GLOBALS.G_AUDIT_HISTORY_RQD_FLAG := 'Y';
136             END IF;
137          END IF;
138       END IF;
139    END IF;
140 END IF;
141 END IF;
142 /* End AuditTrail */
143 IF x_on_operation_action > 0 THEN
144    l_result := OE_PC_GLOBALS.NO;
145 END IF;
146 
147 RETURN l_result;
148 
149 END Is_Op_Constrained;
150 
151 
152 -- PUBLIC PROCEDURES
153 
154 
155 FUNCTION ATTRIBUTE1
156 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
157 ,   p_record                        IN  OE_AK_LINE_PRCADJS_V%ROWTYPE
158 , x_on_operation_action OUT NOCOPY NUMBER
159 
160 ) RETURN NUMBER
161 IS
162 l_result 	NUMBER;
163 --
164 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
165 --
166 BEGIN
167 
168     l_result := Is_OP_constrained
169         (p_operation	=> p_operation
170         ,p_column_name	=> 'ATTRIBUTE1'
171         ,p_record	=> p_record
172         ,x_on_operation_action	=> x_on_operation_action
173         );
174 
175 RETURN(l_result);
176 
177 END ATTRIBUTE1;
178 
179 
180 FUNCTION ATTRIBUTE10
181 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
182 ,   p_record                        IN  OE_AK_LINE_PRCADJS_V%ROWTYPE
183 , x_on_operation_action OUT NOCOPY NUMBER
184 
185 ) RETURN NUMBER
186 IS
187 l_result 	NUMBER;
188 --
189 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
190 --
191 BEGIN
192 
193     l_result := Is_OP_constrained
194         (p_operation	=> p_operation
195         ,p_column_name	=> 'ATTRIBUTE10'
196         ,p_record	=> p_record
197         ,x_on_operation_action	=> x_on_operation_action
198         );
199 
200 RETURN(l_result);
201 
202 END ATTRIBUTE10;
203 
204 
205 FUNCTION ATTRIBUTE11
206 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
207 ,   p_record                        IN  OE_AK_LINE_PRCADJS_V%ROWTYPE
208 , x_on_operation_action OUT NOCOPY NUMBER
209 
210 ) RETURN NUMBER
211 IS
212 l_result 	NUMBER;
213 --
214 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
215 --
216 BEGIN
217 
218     l_result := Is_OP_constrained
219         (p_operation	=> p_operation
220         ,p_column_name	=> 'ATTRIBUTE11'
221         ,p_record	=> p_record
222         ,x_on_operation_action	=> x_on_operation_action
223         );
224 
225 RETURN(l_result);
226 
227 END ATTRIBUTE11;
228 
229 
230 FUNCTION ATTRIBUTE12
231 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
232 ,   p_record                        IN  OE_AK_LINE_PRCADJS_V%ROWTYPE
233 , x_on_operation_action OUT NOCOPY NUMBER
234 
235 ) RETURN NUMBER
236 IS
237 l_result 	NUMBER;
238 --
239 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
240 --
241 BEGIN
242 
243     l_result := Is_OP_constrained
244         (p_operation	=> p_operation
245         ,p_column_name	=> 'ATTRIBUTE12'
246         ,p_record	=> p_record
247         ,x_on_operation_action	=> x_on_operation_action
248         );
249 
250 RETURN(l_result);
251 
252 END ATTRIBUTE12;
253 
254 
255 FUNCTION ATTRIBUTE13
256 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
257 ,   p_record                        IN  OE_AK_LINE_PRCADJS_V%ROWTYPE
258 , x_on_operation_action OUT NOCOPY NUMBER
259 
260 ) RETURN NUMBER
261 IS
262 l_result 	NUMBER;
263 --
264 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
265 --
266 BEGIN
267 
268     l_result := Is_OP_constrained
269         (p_operation	=> p_operation
270         ,p_column_name	=> 'ATTRIBUTE13'
271         ,p_record	=> p_record
272         ,x_on_operation_action	=> x_on_operation_action
273         );
274 
275 RETURN(l_result);
276 
277 END ATTRIBUTE13;
278 
279 
280 FUNCTION ATTRIBUTE14
281 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
282 ,   p_record                        IN  OE_AK_LINE_PRCADJS_V%ROWTYPE
283 , x_on_operation_action OUT NOCOPY NUMBER
284 
285 ) RETURN NUMBER
286 IS
287 l_result 	NUMBER;
288 --
289 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
290 --
291 BEGIN
292 
293     l_result := Is_OP_constrained
294         (p_operation	=> p_operation
295         ,p_column_name	=> 'ATTRIBUTE14'
296         ,p_record	=> p_record
297         ,x_on_operation_action	=> x_on_operation_action
298         );
299 
300 RETURN(l_result);
301 
302 END ATTRIBUTE14;
303 
304 
305 FUNCTION ATTRIBUTE15
306 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
307 ,   p_record                        IN  OE_AK_LINE_PRCADJS_V%ROWTYPE
308 , x_on_operation_action OUT NOCOPY NUMBER
309 
310 ) RETURN NUMBER
311 IS
312 l_result 	NUMBER;
313 --
314 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
315 --
316 BEGIN
317 
318     l_result := Is_OP_constrained
319         (p_operation	=> p_operation
320         ,p_column_name	=> 'ATTRIBUTE15'
321         ,p_record	=> p_record
322         ,x_on_operation_action	=> x_on_operation_action
323         );
324 
325 RETURN(l_result);
326 
327 END ATTRIBUTE15;
328 
329 
330 FUNCTION ATTRIBUTE2
331 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
332 ,   p_record                        IN  OE_AK_LINE_PRCADJS_V%ROWTYPE
333 , x_on_operation_action OUT NOCOPY NUMBER
334 
335 ) RETURN NUMBER
336 IS
337 l_result 	NUMBER;
338 --
339 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
340 --
341 BEGIN
342 
343     l_result := Is_OP_constrained
344         (p_operation	=> p_operation
345         ,p_column_name	=> 'ATTRIBUTE2'
346         ,p_record	=> p_record
347         ,x_on_operation_action	=> x_on_operation_action
348         );
349 
350 RETURN(l_result);
351 
352 END ATTRIBUTE2;
353 
354 
355 FUNCTION ATTRIBUTE3
356 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
357 ,   p_record                        IN  OE_AK_LINE_PRCADJS_V%ROWTYPE
358 , x_on_operation_action OUT NOCOPY NUMBER
359 
360 ) RETURN NUMBER
361 IS
362 l_result 	NUMBER;
363 --
364 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
365 --
366 BEGIN
367 
368     l_result := Is_OP_constrained
369         (p_operation	=> p_operation
370         ,p_column_name	=> 'ATTRIBUTE3'
371         ,p_record	=> p_record
372         ,x_on_operation_action	=> x_on_operation_action
373         );
374 
375 RETURN(l_result);
376 
377 END ATTRIBUTE3;
378 
379 
380 FUNCTION ATTRIBUTE4
381 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
382 ,   p_record                        IN  OE_AK_LINE_PRCADJS_V%ROWTYPE
383 , x_on_operation_action OUT NOCOPY NUMBER
384 
385 ) RETURN NUMBER
386 IS
387 l_result 	NUMBER;
388 --
389 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
390 --
391 BEGIN
392 
393     l_result := Is_OP_constrained
394         (p_operation	=> p_operation
395         ,p_column_name	=> 'ATTRIBUTE4'
396         ,p_record	=> p_record
397         ,x_on_operation_action	=> x_on_operation_action
398         );
399 
400 RETURN(l_result);
401 
402 END ATTRIBUTE4;
403 
404 
405 FUNCTION ATTRIBUTE5
406 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
407 ,   p_record                        IN  OE_AK_LINE_PRCADJS_V%ROWTYPE
408 , x_on_operation_action OUT NOCOPY NUMBER
409 
410 ) RETURN NUMBER
411 IS
412 l_result 	NUMBER;
413 --
414 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
415 --
416 BEGIN
417 
418     l_result := Is_OP_constrained
419         (p_operation	=> p_operation
420         ,p_column_name	=> 'ATTRIBUTE5'
421         ,p_record	=> p_record
422         ,x_on_operation_action	=> x_on_operation_action
423         );
424 
425 RETURN(l_result);
426 
427 END ATTRIBUTE5;
428 
429 
430 FUNCTION ATTRIBUTE6
431 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
432 ,   p_record                        IN  OE_AK_LINE_PRCADJS_V%ROWTYPE
433 , x_on_operation_action OUT NOCOPY NUMBER
434 
435 ) RETURN NUMBER
436 IS
437 l_result 	NUMBER;
438 --
439 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
440 --
441 BEGIN
442 
443     l_result := Is_OP_constrained
444         (p_operation	=> p_operation
445         ,p_column_name	=> 'ATTRIBUTE6'
446         ,p_record	=> p_record
447         ,x_on_operation_action	=> x_on_operation_action
448         );
449 
450 RETURN(l_result);
451 
452 END ATTRIBUTE6;
453 
454 
455 FUNCTION ATTRIBUTE7
456 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
457 ,   p_record                        IN  OE_AK_LINE_PRCADJS_V%ROWTYPE
458 , x_on_operation_action OUT NOCOPY NUMBER
459 
460 ) RETURN NUMBER
461 IS
462 l_result 	NUMBER;
463 --
464 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
465 --
466 BEGIN
467 
468     l_result := Is_OP_constrained
469         (p_operation	=> p_operation
470         ,p_column_name	=> 'ATTRIBUTE7'
471         ,p_record	=> p_record
472         ,x_on_operation_action	=> x_on_operation_action
473         );
474 
475 RETURN(l_result);
476 
477 END ATTRIBUTE7;
478 
479 
480 FUNCTION ATTRIBUTE8
481 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
482 ,   p_record                        IN  OE_AK_LINE_PRCADJS_V%ROWTYPE
483 , x_on_operation_action OUT NOCOPY NUMBER
484 
485 ) RETURN NUMBER
486 IS
487 l_result 	NUMBER;
488 --
489 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
490 --
491 BEGIN
492 
493     l_result := Is_OP_constrained
494         (p_operation	=> p_operation
495         ,p_column_name	=> 'ATTRIBUTE8'
496         ,p_record	=> p_record
497         ,x_on_operation_action	=> x_on_operation_action
498         );
499 
500 RETURN(l_result);
501 
502 END ATTRIBUTE8;
503 
504 
505 FUNCTION ATTRIBUTE9
506 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
507 ,   p_record                        IN  OE_AK_LINE_PRCADJS_V%ROWTYPE
508 , x_on_operation_action OUT NOCOPY NUMBER
509 
510 ) RETURN NUMBER
511 IS
512 l_result 	NUMBER;
513 --
514 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
515 --
516 BEGIN
517 
518     l_result := Is_OP_constrained
519         (p_operation	=> p_operation
520         ,p_column_name	=> 'ATTRIBUTE9'
521         ,p_record	=> p_record
522         ,x_on_operation_action	=> x_on_operation_action
523         );
524 
525 RETURN(l_result);
526 
527 END ATTRIBUTE9;
528 
529 
530 FUNCTION AUTOMATIC
531 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
532 ,   p_record                        IN  OE_AK_LINE_PRCADJS_V%ROWTYPE
533 , x_on_operation_action OUT NOCOPY NUMBER
534 
535 ) RETURN NUMBER
536 IS
537 l_result 	NUMBER;
538 --
539 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
540 --
541 BEGIN
542 
543     l_result := Is_OP_constrained
544         (p_operation	=> p_operation
545         ,p_column_name	=> 'AUTOMATIC_FLAG'
546         ,p_record	=> p_record
547         ,x_on_operation_action	=> x_on_operation_action
548         );
549 
550 RETURN(l_result);
551 
552 END AUTOMATIC;
553 
554 
555 FUNCTION CONTEXT
556 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
557 ,   p_record                        IN  OE_AK_LINE_PRCADJS_V%ROWTYPE
558 , x_on_operation_action OUT NOCOPY NUMBER
559 
560 ) RETURN NUMBER
561 IS
562 l_result 	NUMBER;
563 --
564 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
565 --
566 BEGIN
567 
568     l_result := Is_OP_constrained
569         (p_operation	=> p_operation
570         ,p_column_name	=> 'CONTEXT'
571         ,p_record	=> p_record
572         ,x_on_operation_action	=> x_on_operation_action
573         );
574 
575 RETURN(l_result);
576 
577 END CONTEXT;
578 
579 
580 FUNCTION CREATED_BY
581 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
582 ,   p_record                        IN  OE_AK_LINE_PRCADJS_V%ROWTYPE
583 , x_on_operation_action OUT NOCOPY NUMBER
584 
585 ) RETURN NUMBER
586 IS
587 l_result 	NUMBER;
588 --
589 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
590 --
591 BEGIN
592 
593     l_result := Is_OP_constrained
594         (p_operation	=> p_operation
595         ,p_column_name	=> 'CREATED_BY'
596         ,p_record	=> p_record
597         ,x_on_operation_action	=> x_on_operation_action
598         );
599 
600 RETURN(l_result);
601 
602 END CREATED_BY;
603 
604 
605 FUNCTION CREATION_DATE
606 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
607 ,   p_record                        IN  OE_AK_LINE_PRCADJS_V%ROWTYPE
608 , x_on_operation_action OUT NOCOPY NUMBER
609 
610 ) RETURN NUMBER
611 IS
612 l_result 	NUMBER;
613 --
614 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
615 --
616 BEGIN
617 
618     l_result := Is_OP_constrained
619         (p_operation	=> p_operation
620         ,p_column_name	=> 'CREATION_DATE'
621         ,p_record	=> p_record
622         ,x_on_operation_action	=> x_on_operation_action
623         );
624 
625 RETURN(l_result);
626 
627 END CREATION_DATE;
628 
629 
630 FUNCTION DISCOUNT
631 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
632 ,   p_record                        IN  OE_AK_LINE_PRCADJS_V%ROWTYPE
633 , x_on_operation_action OUT NOCOPY NUMBER
634 
635 ) RETURN NUMBER
636 IS
637 l_result 	NUMBER;
638 --
639 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
640 --
641 BEGIN
642 
643     l_result := Is_OP_constrained
644         (p_operation	=> p_operation
645         ,p_column_name	=> 'DISCOUNT_ID'
646         ,p_record	=> p_record
647         ,x_on_operation_action	=> x_on_operation_action
648         );
649 
650 RETURN(l_result);
651 
652 END DISCOUNT;
653 
654 FUNCTION OPERAND
655 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
656 ,   p_record                        IN  OE_AK_LINE_PRCADJS_V%ROWTYPE
657 , x_on_operation_action OUT NOCOPY NUMBER
658 
659 ) RETURN NUMBER
660 IS
661 l_result 	NUMBER;
662 --
663 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
664 --
665 BEGIN
666 
667     l_result := Is_OP_constrained
668         (p_operation	=> p_operation
669         ,p_column_name	=> 'OPERAND'
670         ,p_record	=> p_record
671         ,x_on_operation_action	=> x_on_operation_action
672         );
673 
674 RETURN(l_result);
675 
676 END OPERAND;
677 
678 FUNCTION DISCOUNT_LINE
679 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
680 ,   p_record                        IN  OE_AK_LINE_PRCADJS_V%ROWTYPE
681 , x_on_operation_action OUT NOCOPY NUMBER
682 
683 ) RETURN NUMBER
684 IS
685 l_result 	NUMBER;
686 --
687 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
688 --
689 BEGIN
690 
691     l_result := Is_OP_constrained
692         (p_operation	=> p_operation
693         ,p_column_name	=> 'DISCOUNT_LINE_ID'
694         ,p_record	=> p_record
695         ,x_on_operation_action	=> x_on_operation_action
696         );
697 
698 RETURN(l_result);
699 
700 END DISCOUNT_LINE;
701 
702 
703 FUNCTION HEADER
704 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
705 ,   p_record                        IN  OE_AK_LINE_PRCADJS_V%ROWTYPE
706 , x_on_operation_action OUT NOCOPY NUMBER
707 
708 ) RETURN NUMBER
709 IS
710 l_result 	NUMBER;
711 --
712 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
713 --
714 BEGIN
715 
716     l_result := Is_OP_constrained
717         (p_operation	=> p_operation
718         ,p_column_name	=> 'HEADER_ID'
719         ,p_record	=> p_record
720         ,x_on_operation_action	=> x_on_operation_action
721         );
722 
723 RETURN(l_result);
724 
725 END HEADER;
726 
727 
728 FUNCTION LAST_UPDATED_BY
729 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
730 ,   p_record                        IN  OE_AK_LINE_PRCADJS_V%ROWTYPE
731 , x_on_operation_action OUT NOCOPY NUMBER
732 
733 ) RETURN NUMBER
734 IS
735 l_result 	NUMBER;
736 --
737 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
738 --
739 BEGIN
740 
741     l_result := Is_OP_constrained
742         (p_operation	=> p_operation
743         ,p_column_name	=> 'LAST_UPDATED_BY'
744         ,p_record	=> p_record
745         ,x_on_operation_action	=> x_on_operation_action
746         );
747 
748 RETURN(l_result);
749 
750 END LAST_UPDATED_BY;
751 
752 
753 FUNCTION LAST_UPDATE_DATE
754 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
755 ,   p_record                        IN  OE_AK_LINE_PRCADJS_V%ROWTYPE
756 , x_on_operation_action OUT NOCOPY NUMBER
757 
758 ) RETURN NUMBER
759 IS
760 l_result 	NUMBER;
761 --
762 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
763 --
764 BEGIN
765 
766     l_result := Is_OP_constrained
767         (p_operation	=> p_operation
768         ,p_column_name	=> 'LAST_UPDATE_DATE'
769         ,p_record	=> p_record
770         ,x_on_operation_action	=> x_on_operation_action
771         );
772 
773 RETURN(l_result);
774 
775 END LAST_UPDATE_DATE;
776 
777 
778 FUNCTION LAST_UPDATE_LOGIN
779 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
780 ,   p_record                        IN  OE_AK_LINE_PRCADJS_V%ROWTYPE
781 , x_on_operation_action OUT NOCOPY NUMBER
782 
783 ) RETURN NUMBER
784 IS
785 l_result 	NUMBER;
786 --
787 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
788 --
789 BEGIN
790 
791     l_result := Is_OP_constrained
792         (p_operation	=> p_operation
793         ,p_column_name	=> 'LAST_UPDATE_LOGIN'
794         ,p_record	=> p_record
795         ,x_on_operation_action	=> x_on_operation_action
796         );
797 
798 RETURN(l_result);
799 
800 END LAST_UPDATE_LOGIN;
801 
802 
803 FUNCTION LINE
804 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
805 ,   p_record                        IN  OE_AK_LINE_PRCADJS_V%ROWTYPE
806 , x_on_operation_action OUT NOCOPY NUMBER
807 
808 ) RETURN NUMBER
809 IS
810 l_result 	NUMBER;
811 --
812 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
813 --
814 BEGIN
815 
816     l_result := Is_OP_constrained
817         (p_operation	=> p_operation
818         ,p_column_name	=> 'LINE_ID'
819         ,p_record	=> p_record
820         ,x_on_operation_action	=> x_on_operation_action
821         );
822 
823 RETURN(l_result);
824 
825 END LINE;
826 
827 
828 FUNCTION PERCENT
829 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
830 ,   p_record                        IN  OE_AK_LINE_PRCADJS_V%ROWTYPE
831 , x_on_operation_action OUT NOCOPY NUMBER
832 
833 ) RETURN NUMBER
834 IS
835 l_result 	NUMBER;
836 --
837 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
838 --
839 BEGIN
840 
841     l_result := Is_OP_constrained
842         (p_operation	=> p_operation
843         ,p_column_name	=> 'PERCENT'
844         ,p_record	=> p_record
845         ,x_on_operation_action	=> x_on_operation_action
846         );
847 
848 RETURN(l_result);
849 
850 END PERCENT;
851 
852 
853 FUNCTION PRICE_ADJUSTMENT
854 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
855 ,   p_record                        IN  OE_AK_LINE_PRCADJS_V%ROWTYPE
856 , x_on_operation_action OUT NOCOPY NUMBER
857 
858 ) RETURN NUMBER
859 IS
860 l_result 	NUMBER;
861 --
862 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
863 --
864 BEGIN
865 
866     l_result := Is_OP_constrained
867         (p_operation	=> p_operation
868         ,p_column_name	=> 'PRICE_ADJUSTMENT_ID'
869         ,p_record	=> p_record
870         ,x_on_operation_action	=> x_on_operation_action
871         );
872 
873 RETURN(l_result);
874 
875 END PRICE_ADJUSTMENT;
876 
877 
878 FUNCTION PROGRAM_APPLICATION
879 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
880 ,   p_record                        IN  OE_AK_LINE_PRCADJS_V%ROWTYPE
881 , x_on_operation_action OUT NOCOPY NUMBER
882 
883 ) RETURN NUMBER
884 IS
885 l_result 	NUMBER;
886 --
887 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
888 --
889 BEGIN
890 
891     l_result := Is_OP_constrained
892         (p_operation	=> p_operation
893         ,p_column_name	=> 'PROGRAM_APPLICATION_ID'
894         ,p_record	=> p_record
895         ,x_on_operation_action	=> x_on_operation_action
896         );
897 
898 RETURN(l_result);
899 
900 END PROGRAM_APPLICATION;
901 
902 
903 FUNCTION PROGRAM
904 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
905 ,   p_record                        IN  OE_AK_LINE_PRCADJS_V%ROWTYPE
906 , x_on_operation_action OUT NOCOPY NUMBER
907 
908 ) RETURN NUMBER
909 IS
910 l_result 	NUMBER;
911 --
912 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
913 --
914 BEGIN
915 
916     l_result := Is_OP_constrained
917         (p_operation	=> p_operation
918         ,p_column_name	=> 'PROGRAM_ID'
919         ,p_record	=> p_record
920         ,x_on_operation_action	=> x_on_operation_action
921         );
922 
923 RETURN(l_result);
924 
925 END PROGRAM;
926 
927 
928 FUNCTION PROGRAM_UPDATE_DATE
929 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
930 ,   p_record                        IN  OE_AK_LINE_PRCADJS_V%ROWTYPE
931 , x_on_operation_action OUT NOCOPY NUMBER
932 
933 ) RETURN NUMBER
934 IS
935 l_result 	NUMBER;
936 --
937 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
938 --
939 BEGIN
940 
941     l_result := Is_OP_constrained
942         (p_operation	=> p_operation
943         ,p_column_name	=> 'PROGRAM_UPDATE_DATE'
944         ,p_record	=> p_record
945         ,x_on_operation_action	=> x_on_operation_action
946         );
947 
948 RETURN(l_result);
949 
950 END PROGRAM_UPDATE_DATE;
951 
952 
953 FUNCTION REQUEST
954 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
955 ,   p_record                        IN  OE_AK_LINE_PRCADJS_V%ROWTYPE
956 , x_on_operation_action OUT NOCOPY NUMBER
957 
958 ) RETURN NUMBER
959 IS
960 l_result 	NUMBER;
961 --
962 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
963 --
964 BEGIN
965 
966     l_result := Is_OP_constrained
967         (p_operation	=> p_operation
968         ,p_column_name	=> 'REQUEST_ID'
969         ,p_record	=> p_record
970         ,x_on_operation_action	=> x_on_operation_action
971         );
972 
973 RETURN(l_result);
974 
975 END REQUEST;
976 
977 FUNCTION list_header
978 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
979 ,   p_record                        IN  OE_AK_LINE_PRCADJS_V%ROWTYPE
980 , x_on_operation_action OUT NOCOPY NUMBER
981 
982 ) RETURN NUMBER
983 IS
984 l_result 	NUMBER;
985 --
986 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
987 --
988 BEGIN
989 
990     l_result := Is_OP_constrained
991         (p_operation	=> p_operation
992         ,p_column_name	=> 'LIST_HEADER_ID'
993 	   ,p_record	=> p_record
994         ,x_on_operation_action	=> x_on_operation_action
995         );
996 
997 RETURN(l_result);
998 
999 END list_header;
1000 
1001 FUNCTION list_line
1002 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1003 ,   p_record                        IN  OE_AK_LINE_PRCADJS_V%ROWTYPE
1004 , x_on_operation_action OUT NOCOPY NUMBER
1005 
1006 ) RETURN NUMBER
1007 IS
1008 l_result 	NUMBER;
1009 --
1010 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
1011 --
1012 BEGIN
1013 
1014     l_result := Is_OP_constrained
1015         (p_operation	=> p_operation
1016         ,p_column_name	=> 'LIST_LINE_ID'
1017 	   ,p_record	=> p_record
1018         ,x_on_operation_action	=> x_on_operation_action
1019         );
1020 
1021 RETURN(l_result);
1022 
1023 END list_line;
1024 
1025 FUNCTION line_type_code
1026 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1027 ,   p_record                        IN  OE_AK_LINE_PRCADJS_V%ROWTYPE
1028 , x_on_operation_action OUT NOCOPY NUMBER
1029 
1030 ) RETURN NUMBER
1031 IS
1032 l_result 	NUMBER;
1033 --
1034 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
1035 --
1036 BEGIN
1037 
1038     l_result := Is_OP_constrained
1039         (p_operation	=> p_operation
1040         ,p_column_name	=> 'LIST_LINE_TYPE_CODE'
1041 	   ,p_record	=> p_record
1042         ,x_on_operation_action	=> x_on_operation_action
1043         );
1044 
1045 RETURN(l_result);
1046 
1047 END line_type_code;
1048 
1049 FUNCTION modifier_mechanism
1050 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1051 ,   p_record                        IN  OE_AK_LINE_PRCADJS_V%ROWTYPE
1052 , x_on_operation_action OUT NOCOPY NUMBER
1053 
1054 ) RETURN NUMBER
1055 IS
1056 l_result 	NUMBER;
1057 --
1058 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
1059 --
1060 BEGIN
1061 
1062     l_result := Is_OP_constrained
1063         (p_operation	=> p_operation
1064         ,p_column_name	=> 'MODIFIER_MECHANISM_TYPE_CODE'
1065 	   ,p_record	=> p_record
1066         ,x_on_operation_action	=> x_on_operation_action
1067         );
1068 
1069 RETURN(l_result);
1070 
1071 END modifier_mechanism;
1072 
1073 FUNCTION modified_from
1074 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1075 ,   p_record                        IN  OE_AK_LINE_PRCADJS_V%ROWTYPE
1076 , x_on_operation_action OUT NOCOPY NUMBER
1077 
1078 ) RETURN NUMBER
1079 IS
1080 l_result 	NUMBER;
1081 --
1082 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
1083 --
1084 BEGIN
1085 
1086     l_result := Is_OP_constrained
1087         (p_operation	=> p_operation
1088         ,p_column_name	=> 'MODIFIED_FROM'
1089 	   ,p_record	=> p_record
1090         ,x_on_operation_action	=> x_on_operation_action
1091         );
1092 
1093 RETURN(l_result);
1094 
1095 END modified_from;
1096 
1097 FUNCTION modified_to
1098 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1099 ,   p_record                        IN  OE_AK_LINE_PRCADJS_V%ROWTYPE
1100 , x_on_operation_action OUT NOCOPY NUMBER
1101 
1102 ) RETURN NUMBER
1103 IS
1104 l_result 	NUMBER;
1105 --
1106 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
1107 --
1108 BEGIN
1109 
1110     l_result := Is_OP_constrained
1111         (p_operation	=> p_operation
1112         ,p_column_name	=> 'MODIFIED_TO'
1113 	   ,p_record	=> p_record
1114         ,x_on_operation_action	=> x_on_operation_action
1115         );
1116 
1117 RETURN(l_result);
1118 
1119 END modified_to;
1120 
1121 FUNCTION updated_flag
1122 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1123 ,   p_record                        IN  OE_AK_LINE_PRCADJS_V%ROWTYPE
1124 , x_on_operation_action OUT NOCOPY NUMBER
1125 
1126 ) RETURN NUMBER
1127 IS
1128 l_result 	NUMBER;
1129 --
1130 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
1131 --
1132 BEGIN
1133 
1134     l_result := Is_OP_constrained
1135         (p_operation	=> p_operation
1136         ,p_column_name	=> 'UPDATED_FLAG'
1137 	   ,p_record	=> p_record
1138         ,x_on_operation_action	=> x_on_operation_action
1139         );
1140 
1141 RETURN(l_result);
1142 
1143 END updated_flag;
1144 
1145 FUNCTION update_allowed
1146 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1147 ,   p_record                        IN  OE_AK_LINE_PRCADJS_V%ROWTYPE
1148 , x_on_operation_action OUT NOCOPY NUMBER
1149 
1150 ) RETURN NUMBER
1151 IS
1152 l_result 	NUMBER;
1153 --
1154 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
1155 --
1156 BEGIN
1157 
1158     l_result := Is_OP_constrained
1159         (p_operation	=> p_operation
1160         ,p_column_name	=> 'UPDATE_ALLOWED'
1161 	   ,p_record	=> p_record
1162         ,x_on_operation_action	=> x_on_operation_action
1163         );
1164 
1165 RETURN(l_result);
1166 
1167 END update_allowed;
1168 
1169 FUNCTION applied_flag
1170 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1171 ,   p_record                        IN  OE_AK_LINE_PRCADJS_V%ROWTYPE
1172 , x_on_operation_action OUT NOCOPY NUMBER
1173 
1174 ) RETURN NUMBER
1175 IS
1176 l_result 	NUMBER;
1177 --
1178 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
1179 --
1180 BEGIN
1181 
1182     l_result := Is_OP_constrained
1183         (p_operation	=> p_operation
1184         ,p_column_name	=> 'APPLIED_FLAG'
1185 	   ,p_record	=> p_record
1186         ,x_on_operation_action	=> x_on_operation_action
1187         );
1188 
1189 RETURN(l_result);
1190 
1191 END applied_flag;
1192 
1193 FUNCTION change_code
1194 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1195 ,   p_record                        IN  OE_AK_LINE_PRCADJS_V%ROWTYPE
1196 , x_on_operation_action OUT NOCOPY NUMBER
1197 
1198 ) RETURN NUMBER
1199 IS
1200 l_result 	NUMBER;
1201 --
1202 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
1203 --
1204 BEGIN
1205 
1206     l_result := Is_OP_constrained
1207         (p_operation	=> p_operation
1208         ,p_column_name	=> 'CHANGE_REASON_CODE'
1209 	   ,p_record	=> p_record
1210         ,x_on_operation_action	=> x_on_operation_action
1211         );
1212 
1213 RETURN(l_result);
1214 
1215 END change_code;
1216 
1217 FUNCTION change_text
1218 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1219 ,   p_record                        IN  OE_AK_LINE_PRCADJS_V%ROWTYPE
1220 , x_on_operation_action OUT NOCOPY NUMBER
1221 
1222 ) RETURN NUMBER
1223 IS
1224 l_result 	NUMBER;
1225 --
1226 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
1227 --
1228 BEGIN
1229 
1230     l_result := Is_OP_constrained
1231         (p_operation	=> p_operation
1232         ,p_column_name	=> 'CHANGE_REASON_TEXT'
1233 	   ,p_record	=> p_record
1234         ,x_on_operation_action	=> x_on_operation_action
1235         );
1236 
1237 RETURN(l_result);
1238 
1239 END change_text;
1240 
1241 PROCEDURE Entity
1242 (   p_LINE_ADJ_rec                  IN  OE_Order_PUB.LINE_ADJ_Rec_Type
1243 , x_result OUT NOCOPY NUMBER
1244 
1245 , x_return_status OUT NOCOPY VARCHAR2
1246 
1247 ) IS
1248 l_operation	VARCHAR2(1);
1249 l_on_operation_action	NUMBER;
1250 l_rowtype_rec	OE_AK_LINE_PRCADJS_V%ROWTYPE;
1251 --
1252 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
1253 --
1254 BEGIN
1255 
1256 IF l_debug_level  > 0 THEN
1257     oe_debug_pub.add(  'ENTER OE_LINE_ADJ_SECURITY.ENTITY' , 1 ) ;
1258 END IF;
1259 
1260 -- Initializing return status to SUCCESS
1261 x_return_status := FND_API.G_RET_STS_SUCCESS;
1262 
1263 IF p_LINE_ADJ_rec.operation = OE_GLOBALS.G_OPR_CREATE THEN
1264     l_operation := OE_PC_GLOBALS.CREATE_OP;
1265 ELSIF p_LINE_ADJ_rec.operation = OE_GLOBALS.G_OPR_UPDATE THEN
1266     l_operation := OE_PC_GLOBALS.UPDATE_OP;
1267 ELSIF p_LINE_ADJ_rec.operation = OE_GLOBALS.G_OPR_DELETE THEN
1268     l_operation := OE_PC_GLOBALS.DELETE_OP;
1269 ELSE
1270     IF l_debug_level  > 0 THEN
1271         oe_debug_pub.add(  'INVALID OPERATION' , 1 ) ;
1272     END IF;
1273     RAISE FND_API.G_EXC_ERROR;
1274 END IF;
1275 
1276 OE_Line_Adj_Util.API_Rec_To_Rowtype_Rec
1277 				(p_LINE_ADJ_rec
1278 				,l_rowtype_rec);
1279 
1280 --Initialize security global record
1281 OE_LINE_ADJ_SECURITY.g_record := l_rowtype_rec;
1282 
1283 x_result := Is_OP_constrained
1284     (p_operation	=> l_operation
1285     ,p_record	=> l_rowtype_rec
1286     ,x_on_operation_action	=> l_on_operation_action
1287     );
1288 
1289 IF l_debug_level  > 0 THEN
1290     oe_debug_pub.add(  'EXIT OE_LINE_ADJ_SECURITY.ENTITY' , 1 ) ;
1291 END IF;
1292 
1293 EXCEPTION
1294     WHEN OTHERS THEN
1295     x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1296     IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
1297         OE_MSG_PUB.Add_Exc_Msg
1298         (   G_PKG_NAME
1299         ,   'Entity'
1300         );
1301     END IF;
1302 
1303 END Entity;
1304 
1305 
1306 PROCEDURE Attributes
1307 (   p_LINE_ADJ_rec                  IN  OE_Order_PUB.LINE_ADJ_Rec_Type
1308 ,   p_old_LINE_ADJ_rec              IN  OE_Order_PUB.LINE_ADJ_Rec_Type := OE_Order_PUB.G_MISS_LINE_ADJ_REC
1309 , x_result OUT NOCOPY NUMBER
1310 
1311 , x_return_status OUT NOCOPY VARCHAR2
1312 
1313 ) IS
1314 l_operation	VARCHAR2(1);
1315 l_on_operation_action  NUMBER;
1316 l_result		NUMBER;
1317 l_rowtype_rec	OE_AK_LINE_PRCADJS_V%ROWTYPE;
1318 l_column_name	VARCHAR2(30);
1319 l_check_all_cols_constraint VARCHAR2(1);
1320 --
1321 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
1322 --
1323 BEGIN
1324 IF l_debug_level  > 0 THEN
1325     oe_debug_pub.add(  'ENTER OE_LINE_ADJ_SECURITY.ATTRIBUTES' , 1 ) ;
1326 END IF;
1327 
1328 -- Initializing return status to SUCCESS
1329 x_return_status := FND_API.G_RET_STS_SUCCESS;
1330 
1331 -- Initializing out result to NOT CONSTRAINED
1332 x_result := OE_PC_GLOBALS.NO;
1333 
1334  -- Get the operation code to be passed to the security framework API
1335 IF p_LINE_ADJ_rec.operation = OE_GLOBALS.G_OPR_CREATE THEN
1336     l_operation := OE_PC_GLOBALS.CREATE_OP;
1337     -- Bug 1755817: if there are no attribute-specific insert
1338     -- constraints, then no need to go further. Entity level
1339     -- security check for CREATE will be called again from
1340     -- process order after defaulting.
1341     IF NOT OE_PC_Constraints_Admin_PVT.Check_On_Insert_Exists
1342            (p_entity_id   => OE_PC_GLOBALS.G_ENTITY_LINE_ADJ
1343            ,p_responsibility_id     => nvl(fnd_global.resp_id, -1)
1344            ,p_application_id        => nvl(fnd_global.resp_appl_id,-1) --added for bug3631547
1345            )
1346     THEN
1347        RETURN;
1348     END IF;
1349 ELSIF p_LINE_ADJ_rec.operation = OE_GLOBALS.G_OPR_UPDATE THEN
1350     l_operation := OE_PC_GLOBALS.UPDATE_OP;
1351 ELSE
1352     IF l_debug_level  > 0 THEN
1353         oe_debug_pub.add(  'INVALID OPERATION' , 1 ) ;
1354     END IF;
1355     RAISE FND_API.G_EXC_ERROR;
1356 END IF;
1357 
1358 OE_Line_Adj_Util.API_Rec_To_Rowtype_Rec
1359 				(p_LINE_ADJ_rec,
1360 				 l_rowtype_rec);
1361 
1362 --Initialize security global record
1363 OE_LINE_ADJ_SECURITY.g_record := l_rowtype_rec;
1364 
1365 -- Compare the new and old entity records and
1366 -- check constraints for all the changed attributes.
1367 
1368 
1369     IF p_line_adj_rec.automatic_flag = FND_API.G_MISS_CHAR THEN NULL;
1370     ELSIF NOT OE_GLOBALS.EQUAL(p_line_adj_rec.automatic_flag,p_old_line_adj_rec.automatic_flag) THEN
1371 
1372         l_result := AUTOMATIC
1373             (p_operation        => l_operation
1374             ,p_record   => l_rowtype_rec
1375             ,x_on_operation_action => l_on_operation_action
1376             );
1377 
1378         IF l_result = OE_PC_GLOBALS.YES THEN
1379             -- set OUT result to CONSTRAINED
1380             x_result := OE_PC_GLOBALS.YES;
1381         END IF;
1382 
1383     END IF;
1384 
1385     IF p_line_adj_rec.discount_id = FND_API.G_MISS_NUM THEN NULL;
1386     ELSIF NOT OE_GLOBALS.EQUAL(p_line_adj_rec.discount_id,p_old_line_adj_rec.discount_id) THEN
1387 
1388         l_result := DISCOUNT
1389             (p_operation        => l_operation
1390             ,p_record   => l_rowtype_rec
1391             ,x_on_operation_action => l_on_operation_action
1392             );
1393 
1394         IF l_result = OE_PC_GLOBALS.YES THEN
1395             -- set OUT result to CONSTRAINED
1396             x_result := OE_PC_GLOBALS.YES;
1397         END IF;
1398 
1399     END IF;
1400 
1401     IF p_line_adj_rec.operand = FND_API.G_MISS_NUM THEN NULL;
1402     ELSIF NOT OE_GLOBALS.EQUAL(p_line_adj_rec.operand,p_old_line_adj_rec.operand) THEN
1403 
1404         l_result := OPERAND
1405             (p_operation        => l_operation
1406             ,p_record   => l_rowtype_rec
1407             ,x_on_operation_action => l_on_operation_action
1408             );
1409 
1410         IF l_result = OE_PC_GLOBALS.YES THEN
1411             -- set OUT result to CONSTRAINED
1412             x_result := OE_PC_GLOBALS.YES;
1413         END IF;
1414 
1415     END IF;
1416 
1417     IF p_line_adj_rec.discount_line_id = FND_API.G_MISS_NUM THEN NULL;
1418     ELSIF NOT OE_GLOBALS.EQUAL(p_line_adj_rec.discount_line_id,p_old_line_adj_rec.discount_line_id) THEN
1419 
1420         l_result := DISCOUNT_LINE
1421             (p_operation        => l_operation
1422             ,p_record   => l_rowtype_rec
1423             ,x_on_operation_action => l_on_operation_action
1424             );
1425 
1426         IF l_result = OE_PC_GLOBALS.YES THEN
1427             -- set OUT result to CONSTRAINED
1428             x_result := OE_PC_GLOBALS.YES;
1429         END IF;
1430 
1431     END IF;
1432 
1433     IF p_line_adj_rec.percent = FND_API.G_MISS_NUM THEN NULL;
1434     ELSIF NOT OE_GLOBALS.EQUAL(p_line_adj_rec.percent,p_old_line_adj_rec.percent) THEN
1435 
1436         l_result := PERCENT
1437             (p_operation        => l_operation
1438             ,p_record   => l_rowtype_rec
1439             ,x_on_operation_action => l_on_operation_action
1440             );
1441 
1442         IF l_result = OE_PC_GLOBALS.YES THEN
1443             -- set OUT result to CONSTRAINED
1444             x_result := OE_PC_GLOBALS.YES;
1445         END IF;
1446 
1447     END IF;
1448 
1449     IF p_line_adj_rec.request_id = FND_API.G_MISS_NUM THEN NULL;
1450     ELSIF NOT OE_GLOBALS.EQUAL(p_line_adj_rec.request_id,p_old_line_adj_rec.request_id) THEN
1451 
1452         l_result := REQUEST
1453             (p_operation        => l_operation
1454             ,p_record   => l_rowtype_rec
1455             ,x_on_operation_action => l_on_operation_action
1456             );
1457 
1458         IF l_result = OE_PC_GLOBALS.YES THEN
1459             -- set OUT result to CONSTRAINED
1460             x_result := OE_PC_GLOBALS.YES;
1461         END IF;
1462 
1463     END IF;
1464 
1465     -- BEGIN: CHECK FOR CONSTRAINTS ON DESC FLEXFIELD ATTRIBUTES
1466     -- Bug 2003823:
1467     -- If profile indicates that generic update constraints (e.g. seeded
1468     -- closed order condition) should not be checked for DFF, then
1469     -- set the global to 'N'.
1470     -- Also, store the current value of global in a local variable and
1471     -- re-set it after DFF check. If DFF were the only fields being
1472     -- updated and profile was set to 'N', global at the end should
1473     -- be re-set to 'Y' - this indicates to process order that no
1474     -- constrainable attributes were updated and thus, it would
1475     -- suppress entity level security check also.
1476     IF OE_PC_GLOBALS.G_CHECK_UPDATE_ALL_FOR_DFF = 'N' THEN
1477        l_check_all_cols_constraint := g_check_all_cols_constraint;
1478        g_check_all_cols_constraint := 'N';
1479     END IF;
1480 
1481     IF p_line_adj_rec.context = FND_API.G_MISS_CHAR THEN NULL;
1482     ELSIF NOT OE_GLOBALS.EQUAL(p_line_adj_rec.context,p_old_line_adj_rec.context) THEN
1483 
1484         l_result := CONTEXT
1485             (p_operation        => l_operation
1486             ,p_record   => l_rowtype_rec
1487             ,x_on_operation_action => l_on_operation_action
1488             );
1489 
1490         IF l_result = OE_PC_GLOBALS.YES THEN
1491             -- set OUT result to CONSTRAINED
1492             x_result := OE_PC_GLOBALS.YES;
1493         END IF;
1494 
1495     END IF;
1496 
1497    IF p_line_adj_rec.attribute1 = FND_API.G_MISS_CHAR THEN NULL;
1498     ELSIF NOT OE_GLOBALS.EQUAL(p_line_adj_rec.attribute1,p_old_line_adj_rec.attribute1) THEN
1499 
1500         l_result := ATTRIBUTE1
1501             (p_operation        => l_operation
1502             ,p_record   => l_rowtype_rec
1503             ,x_on_operation_action => l_on_operation_action
1504             );
1505 
1506         IF l_result = OE_PC_GLOBALS.YES THEN
1507             -- set OUT result to CONSTRAINED
1508             x_result := OE_PC_GLOBALS.YES;
1509         END IF;
1510 
1511     END IF;
1512 
1513     IF p_line_adj_rec.attribute10 = FND_API.G_MISS_CHAR THEN NULL;
1514     ELSIF NOT OE_GLOBALS.EQUAL(p_line_adj_rec.attribute10,p_old_line_adj_rec.attribute10) THEN
1515 
1516         l_result := ATTRIBUTE10
1517             (p_operation        => l_operation
1518             ,p_record   => l_rowtype_rec
1519             ,x_on_operation_action => l_on_operation_action
1520             );
1521 
1522         IF l_result = OE_PC_GLOBALS.YES THEN
1523             -- set OUT result to CONSTRAINED
1524             x_result := OE_PC_GLOBALS.YES;
1525         END IF;
1526 
1527     END IF;
1528 
1529     IF p_line_adj_rec.attribute11 = FND_API.G_MISS_CHAR THEN NULL;
1530     ELSIF NOT OE_GLOBALS.EQUAL(p_line_adj_rec.attribute11,p_old_line_adj_rec.attribute11) THEN
1531 
1532         l_result := ATTRIBUTE11
1533             (p_operation        => l_operation
1534             ,p_record   => l_rowtype_rec
1535             ,x_on_operation_action => l_on_operation_action
1536             );
1537 
1538         IF l_result = OE_PC_GLOBALS.YES THEN
1539             -- set OUT result to CONSTRAINED
1540             x_result := OE_PC_GLOBALS.YES;
1541         END IF;
1542 
1543     END IF;
1544 
1545     IF p_line_adj_rec.attribute12 = FND_API.G_MISS_CHAR THEN NULL;
1546     ELSIF NOT OE_GLOBALS.EQUAL(p_line_adj_rec.attribute12,p_old_line_adj_rec.attribute12) THEN
1547 
1548         l_result := ATTRIBUTE12
1549             (p_operation        => l_operation
1550             ,p_record   => l_rowtype_rec
1551             ,x_on_operation_action => l_on_operation_action
1552             );
1553 
1554         IF l_result = OE_PC_GLOBALS.YES THEN
1555             -- set OUT result to CONSTRAINED
1556             x_result := OE_PC_GLOBALS.YES;
1557         END IF;
1558 
1559     END IF;
1560 
1561     IF p_line_adj_rec.attribute13 = FND_API.G_MISS_CHAR THEN NULL;
1562     ELSIF NOT OE_GLOBALS.EQUAL(p_line_adj_rec.attribute13,p_old_line_adj_rec.attribute13) THEN
1563 
1564         l_result := ATTRIBUTE13
1565             (p_operation        => l_operation
1566             ,p_record   => l_rowtype_rec
1567             ,x_on_operation_action => l_on_operation_action
1568             );
1569 
1570         IF l_result = OE_PC_GLOBALS.YES THEN
1571             -- set OUT result to CONSTRAINED
1572             x_result := OE_PC_GLOBALS.YES;
1573         END IF;
1574 
1575     END IF;
1576 
1577     IF p_line_adj_rec.attribute14 = FND_API.G_MISS_CHAR THEN NULL;
1578     ELSIF NOT OE_GLOBALS.EQUAL(p_line_adj_rec.attribute14,p_old_line_adj_rec.attribute14) THEN
1579 
1580         l_result := ATTRIBUTE14
1581             (p_operation        => l_operation
1582             ,p_record   => l_rowtype_rec
1583             ,x_on_operation_action => l_on_operation_action
1584             );
1585 
1586         IF l_result = OE_PC_GLOBALS.YES THEN
1587             -- set OUT result to CONSTRAINED
1588             x_result := OE_PC_GLOBALS.YES;
1589         END IF;
1590 
1591     END IF;
1592 
1593     IF p_line_adj_rec.attribute15 = FND_API.G_MISS_CHAR THEN NULL;
1594     ELSIF NOT OE_GLOBALS.EQUAL(p_line_adj_rec.attribute15,p_old_line_adj_rec.attribute15) THEN
1595 
1596         l_result := ATTRIBUTE15
1597             (p_operation        => l_operation
1598             ,p_record   => l_rowtype_rec
1599             ,x_on_operation_action => l_on_operation_action
1600             );
1601 
1602         IF l_result = OE_PC_GLOBALS.YES THEN
1603             -- set OUT result to CONSTRAINED
1604             x_result := OE_PC_GLOBALS.YES;
1605         END IF;
1606 
1607     END IF;
1608 
1609     IF p_line_adj_rec.attribute2 = FND_API.G_MISS_CHAR THEN NULL;
1610     ELSIF NOT OE_GLOBALS.EQUAL(p_line_adj_rec.attribute2,p_old_line_adj_rec.attribute2) THEN
1611 
1612         l_result := ATTRIBUTE2
1613             (p_operation        => l_operation
1614             ,p_record   => l_rowtype_rec
1615             ,x_on_operation_action => l_on_operation_action
1616             );
1617 
1618         IF l_result = OE_PC_GLOBALS.YES THEN
1619             -- set OUT result to CONSTRAINED
1620             x_result := OE_PC_GLOBALS.YES;
1621         END IF;
1622 
1623     END IF;
1624 
1625     IF p_line_adj_rec.attribute3 = FND_API.G_MISS_CHAR THEN NULL;
1626     ELSIF NOT OE_GLOBALS.EQUAL(p_line_adj_rec.attribute3,p_old_line_adj_rec.attribute3) THEN
1627 
1628         l_result := ATTRIBUTE3
1629             (p_operation        => l_operation
1630             ,p_record   => l_rowtype_rec
1631             ,x_on_operation_action => l_on_operation_action
1632             );
1633 
1634         IF l_result = OE_PC_GLOBALS.YES THEN
1635             -- set OUT result to CONSTRAINED
1636             x_result := OE_PC_GLOBALS.YES;
1637         END IF;
1638 
1639     END IF;
1640 
1641     IF p_line_adj_rec.attribute4 = FND_API.G_MISS_CHAR THEN NULL;
1642     ELSIF NOT OE_GLOBALS.EQUAL(p_line_adj_rec.attribute4,p_old_line_adj_rec.attribute4) THEN
1643 
1644         l_result := ATTRIBUTE4
1645             (p_operation        => l_operation
1646             ,p_record   => l_rowtype_rec
1647             ,x_on_operation_action => l_on_operation_action
1648             );
1649 
1650         IF l_result = OE_PC_GLOBALS.YES THEN
1651             -- set OUT result to CONSTRAINED
1652             x_result := OE_PC_GLOBALS.YES;
1653         END IF;
1654 
1655     END IF;
1656 
1657     IF p_line_adj_rec.attribute5 = FND_API.G_MISS_CHAR THEN NULL;
1658     ELSIF NOT OE_GLOBALS.EQUAL(p_line_adj_rec.attribute5,p_old_line_adj_rec.attribute5) THEN
1659 
1660         l_result := ATTRIBUTE5
1661             (p_operation        => l_operation
1662             ,p_record   => l_rowtype_rec
1663             ,x_on_operation_action => l_on_operation_action
1664             );
1665 
1666         IF l_result = OE_PC_GLOBALS.YES THEN
1667             -- set OUT result to CONSTRAINED
1668             x_result := OE_PC_GLOBALS.YES;
1669         END IF;
1670 
1671     END IF;
1672 
1673     IF p_line_adj_rec.attribute6 = FND_API.G_MISS_CHAR THEN NULL;
1674     ELSIF NOT OE_GLOBALS.EQUAL(p_line_adj_rec.attribute6,p_old_line_adj_rec.attribute6) THEN
1675 
1676         l_result := ATTRIBUTE6
1677             (p_operation        => l_operation
1678             ,p_record   => l_rowtype_rec
1679             ,x_on_operation_action => l_on_operation_action
1680             );
1681 
1682         IF l_result = OE_PC_GLOBALS.YES THEN
1683             -- set OUT result to CONSTRAINED
1684             x_result := OE_PC_GLOBALS.YES;
1685         END IF;
1686 
1687     END IF;
1688 
1689     IF p_line_adj_rec.attribute7 = FND_API.G_MISS_CHAR THEN NULL;
1690     ELSIF NOT OE_GLOBALS.EQUAL(p_line_adj_rec.attribute7,p_old_line_adj_rec.attribute7) THEN
1691 
1692         l_result := ATTRIBUTE7
1693             (p_operation        => l_operation
1694             ,p_record   => l_rowtype_rec
1695             ,x_on_operation_action => l_on_operation_action
1696             );
1697 
1698         IF l_result = OE_PC_GLOBALS.YES THEN
1699             -- set OUT result to CONSTRAINED
1700             x_result := OE_PC_GLOBALS.YES;
1701         END IF;
1702 
1703     END IF;
1704 
1705     IF p_line_adj_rec.attribute8 = FND_API.G_MISS_CHAR THEN NULL;
1706     ELSIF NOT OE_GLOBALS.EQUAL(p_line_adj_rec.attribute8,p_old_line_adj_rec.attribute8) THEN
1707 
1708         l_result := ATTRIBUTE8
1709             (p_operation        => l_operation
1710             ,p_record   => l_rowtype_rec
1711             ,x_on_operation_action => l_on_operation_action
1712             );
1713 
1714         IF l_result = OE_PC_GLOBALS.YES THEN
1715             -- set OUT result to CONSTRAINED
1716             x_result := OE_PC_GLOBALS.YES;
1717         END IF;
1718 
1719     END IF;
1720 
1721     IF p_line_adj_rec.attribute9 = FND_API.G_MISS_CHAR THEN NULL;
1722     ELSIF NOT OE_GLOBALS.EQUAL(p_line_adj_rec.attribute9,p_old_line_adj_rec.attribute9) THEN
1723 
1724         l_result := ATTRIBUTE9
1725             (p_operation        => l_operation
1726             ,p_record   => l_rowtype_rec
1727             ,x_on_operation_action => l_on_operation_action
1728             );
1729 
1730         IF l_result = OE_PC_GLOBALS.YES THEN
1731             -- set OUT result to CONSTRAINED
1732             x_result := OE_PC_GLOBALS.YES;
1733         END IF;
1734 
1735     END IF;
1736 
1737     IF OE_PC_GLOBALS.G_CHECK_UPDATE_ALL_FOR_DFF = 'N' THEN
1738        IF l_debug_level  > 0 THEN
1739            oe_debug_pub.add(  'SETTING CHECK ALL COLS CONSTRAINT TO:'||L_CHECK_ALL_COLS_CONSTRAINT ) ;
1740        END IF;
1741        g_check_all_cols_constraint := l_check_all_cols_constraint;
1742     END IF;
1743 
1744     -- END: CHECK FOR CONSTRAINTS ON DESC FLEXFIELD ATTRIBUTES
1745     -- NOTE: Please add constraints check for new attributes before the
1746     -- descriptive flexfield attributes check.
1747 
1748 IF l_debug_level  > 0 THEN
1749     oe_debug_pub.add(  'EXIT OE_LINE_ADJ_SECURITY.ATTRIBUTES' , 1 ) ;
1750 END IF;
1751 
1752 EXCEPTION
1753     WHEN FND_API.G_EXC_ERROR THEN
1754     x_return_status := FND_API.G_RET_STS_ERROR;
1755     WHEN OTHERS THEN
1756     x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1757     IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
1758         OE_MSG_PUB.Add_Exc_Msg
1759         (   G_PKG_NAME
1760         ,   'Attributes'
1761         );
1762     END IF;
1763 
1764 END Attributes;
1765 
1766 END OE_Line_Adj_Security;