1 PACKAGE BODY igi_sls_context_pkg AS
2 -- $Header: igislsib.pls 120.6.12000000.2 2007/10/03 17:18:44 npandya ship $
3 --
4
5 l_debug_level NUMBER := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
6 l_state_level NUMBER := FND_LOG.LEVEL_STATEMENT;
7 l_proc_level NUMBER := FND_LOG.LEVEL_PROCEDURE;
8 l_event_level NUMBER := FND_LOG.LEVEL_EVENT;
9 l_excep_level NUMBER := FND_LOG.LEVEL_EXCEPTION;
10 l_error_level NUMBER := FND_LOG.LEVEL_ERROR;
11 l_unexp_level NUMBER := FND_LOG.LEVEL_UNEXPECTED;
12 l_path VARCHAR2(50) := 'IGI.PLSQL.igislsib.igi_sls_context_pkg.';
13
14
15 /*-----------------------------------------------------------------
16 This procedure writes to the error log.
17 -----------------------------------------------------------------*/
18 PROCEDURE Write_To_Log (p_level IN NUMBER, p_path IN VARCHAR2, p_mesg IN VARCHAR2) IS
19 BEGIN
20 IF (p_level >= l_debug_level ) THEN
21 FND_LOG.STRING (p_level , l_path || p_path , p_mesg );
22 END IF;
23 END Write_To_Log;
24
25 /*---------------------------------------------------------------
26 This procedure initializes the SLS Application Context.
27 ----------------------------------------------------------------*/
28 PROCEDURE set_sls_context IS
29 -- $Header: igislsib.pls 115.0 2000/08/16 13:16:20 asmales ship
30 --
31 l_sls_security_group VARCHAR2(40);
32 l_security_name VARCHAR2(40):= 'IGI_SLS_SECURITY_GROUP';
33 l_default_security_name VARCHAR2(40):= 'IGI_SLS_DEFAULT_USER_GROUP';
34 l_sls_responsibility VARCHAR2(40):= 'IGI_SLS_RESPONSIBILITY';
35 l_value1 VARCHAR2(40);
36 l_value2 VARCHAR2(40);
37 l_status VARCHAR2(5) ;
38 l_resp VARCHAR2(5);
39 l_dummy VARCHAR2(1);
40 l_mess VARCHAR2(2000);
41 l_sec_grp VARCHAR2(30);
42
43 cursor c1 (p_sec_grp VARCHAR2) is
44 SELECT 'Y'
45 FROM igi_sls_groups
46 WHERE sls_group = p_sec_grp
47 AND date_removed IS NULL
48 AND date_disabled IS NULL;
49 --
50 BEGIN
51
52 /* Change made to simply policy and trigger checks
53 SLS_ENABLED is being set to 'Y' only is SLS responsibility and SLS is
54 enabled for the operating unit.
55 SLS_SECURITY_GROUP is being set to the Security Group if present or the
56 default security group
57 Bidisha S, 28 Mar 2002
58 */
59
60 DBMS_SESSION.SET_CONTEXT('IGI','SLS_ENABLED','N');
61 DBMS_SESSION.SET_CONTEXT('IGI','SLS_GROUP_STATUS','N');
62 DBMS_SESSION.SET_CONTEXT('IGI','SLS_RESPONSIBILITY','N');
63
64 FND_PROFILE.GET(l_sls_responsibility, l_resp);
65
66 IF l_resp = 'Y' THEN
67 /* -- check for the existance of the IGI context
68 SELECT 'X'
69 INTO l_dummy
70 FROM all_context
71 WHERE namespace = 'IGI';
72 */ -- Removed the above code as it is no longer required - ak bug3975504.
73
74 DBMS_SESSION.SET_CONTEXT('IGI','SLS_RESPONSIBILITY','Y');
75
76 /* R12 SLS uptake::
77 Removing the check if SLS is enabled for this org-id.
78 IF IGI_GEN.IS_REQ_INSTALLED('SLS')
79 THEN
80 */
81 DBMS_SESSION.SET_CONTEXT('IGI','SLS_ENABLED','Y');
82
83 DBMS_SESSION.SET_CONTEXT('IGI','SLS_DEFAULT_SECURITY_GROUP',
84 FND_PROFILE.VALUE(l_default_security_name));
85
86 -- Set to Security Group or default security Group
87 l_sec_grp := Nvl(FND_PROFILE.VALUE(l_security_name),
88 FND_PROFILE.VALUE(l_default_security_name));
89
90 DBMS_SESSION.SET_CONTEXT('IGI','SLS_SECURITY_GROUP',l_sec_grp);
91
92 Open C1 (l_sec_grp);
93 fetch c1 into l_status;
94 IF c1%NOTFOUND THEN
95 l_Status := 'N';
96 END IF;
97 CLOSE C1;
98
99 DBMS_SESSION.SET_CONTEXT('IGI','SLS_GROUP_STATUS',l_status);
100
101 /*
102 R12 SLS uptake::
103 Removing the check if SLS is enabled for this org-id.
104 END IF; -- SLS Enabled
105 */
106
107 END IF; -- SLS Responsibility
108
109 EXCEPTION
110 WHEN NO_DATA_FOUND THEN
111 igi_sls_context_pkg .write_to_log(l_excep_level, 'set_sls_context','igi_sls_context_pkg.set_sls_context - failed with error ' || SQLERRM );
112 fnd_message.set_name('IGI','IGI_SLS_IGI_CONTEXT_NOT_SET');
113 IF ( l_excep_level >= l_debug_level ) THEN
114 FND_LOG.MESSAGE (l_excep_level,l_path || 'set_sls_context',FALSE);
115 END IF;
116 app_exception.raise_exception;
117
118 WHEN OTHERS THEN
119 igi_sls_context_pkg .write_to_log(l_excep_level, 'set_sls_context','igi_sls_context_pkg.set_sls_context - failed with error ' || SQLERRM );
120
121 IF ( l_unexp_level >= l_debug_level ) THEN
122 FND_MESSAGE.SET_NAME('IGI','IGI_LOGGING_UNEXP_ERROR');
123 FND_MESSAGE.SET_TOKEN('CODE',SQLCODE);
124 FND_MESSAGE.SET_TOKEN('MSG', SQLERRM);
125 FND_LOG.MESSAGE ( l_unexp_level,l_path || 'set_sls_context', FALSE);
126 END IF;
127 app_exception.raise_exception;
128
129 END set_sls_context;
130
131 END igi_sls_context_pkg;