DBA Data[Home] [Help]

PACKAGE: APPS.FND_SIGNON

Source


1 package FND_SIGNON AUTHID DEFINER as
2 /* $Header: AFSCSGNS.pls 120.4.12010000.3 2009/02/11 21:44:49 dggriffi ship $ */
3 /*#
4 * This package provides api's to create a new session and update the auditing
5 * tables with the session information.
6 * @rep:scope public
7 * @rep:product FND
8 * @rep:displayname Audit Sign On
9 * @rep:lifecycle active
10 * @rep:compatibility S
11 * @rep:category BUSINESS_ENTITY FND_APPS_CTX
12 */
13 
14 --
15 -- AUDIT_FORM - Signon audit form begin | end
16 --
17 -- If END_FORM
18 --   Stamp end time on current form record.
19 -- If BEGIN_FORM
20 --   Insert new soa record for form level auditing.
21 --
22 procedure AUDIT_FORM(login_id in number,
23                      login_resp_id in number,
24                      form_application in varchar2,
25                      form_name in varchar2,
26                      audit_level in varchar2 DEFAULT 'D',
27                      begin_flag in number DEFAULT 0);
28 --
29 -- AUDIT_RESPONSIBILITY - Signon audit responsibility
30 --
31 -- Insert new soa record for responsibility,
32 -- update pid in soa logins table.
33 --
34 procedure AUDIT_RESPONSIBILITY(audit_level	in varchar2,
35                                login_id		in number,
36                                login_resp_id	in out nocopy number,
37                                resp_appl_id	in number,
38                                resp_id			in number,
39                                terminal_id	in varchar2,
40                                spid				in varchar2);
41 --
42 -- AUDIT_USER - Begin user level signon auditing
43 --
44 -- Insert new soa record for login,
45 -- create new login_id for this signon.
46 --
47 procedure AUDIT_USER(login_id in out nocopy number,
48                      audit_level in varchar2,
49                      user_id in number,
50                      terminal_id in varchar2,
51                      login_name in varchar2,
52                      spid in varchar2,
53                      session_number in number);
54 --
55 -- AUDIT_END - End signon audit
56 --
57 -- End stamp last user and resp record when exiting.
58 --
59 procedure AUDIT_END(login_id in number);
60 
61 --
62 -- NEW_SESSION - Misc signon things
63 --
64 -- Get new session number, check password expiration, etc
65 --
66 procedure NEW_SESSION(UID in  number,
67                       SID out nocopy number,
68                       EXPIRED out nocopy varchar2);
69 
70 --
71 -- Bug 3375261. new_icx_session(user_id,login_id,expired)
72 -- is called by Java APIs
73 -- SessionManager.validateLogin and WebAppsContext.createSession,
74 -- this causes the functions in new_icx_session to be executed
75 -- twice in a local login flow. The fix is to split the functionality
76 -- of new_icx_session into two new APIs:
77 -- (1) is_pwd_expired: performs password expiration related operations,
78 --     to be used when authenticating a user/pwd pair
79 -- (2) new_icx_session(UID,l_login_id): performs auditing and
80 --     session number related operation, to be used when a session
81 --     is created.
82 --
83 -- is_pwd_expired - check password expiration and update password
84 --                  expiration information if password has not expired.
85 --                  this is an autonomous transaction.
86 --
87 --                  UID is user_id
88 --                  if successful, the EXPIRED out parameter is assigned
89 --                  'Y' if pwd has expired, or 'N' if pwd hasn't
90 --                  expired (or if uid doesn't exist in FND_USER).
91 --                  if an error occurs during processing,
92 --                  app_exception.application_exception is raised.
93 --
94 procedure is_pwd_expired(UID in  number,
95                          EXPIRED out nocopy varchar2);
96 --
97 -- new_icx_session - generates a new session number and performs auditing
98 --                   related operations.
99 --
100 --                   UID is user_id, if user_id doesn't exist in
101 --                   FND_USER, exception is raised.
102 --                   if successful, the login_id out parameter holds
103 --                   the newly generated login_id
104 --                  if an error occurs during processing,
105 --                  app_exception.application_exception is raised.
106 --
107     /*#
108      * Generates a new session number and performs auditing related
109      * operations.
110      * @param uid User Id
111      * @param login_id Login ID of audit record
112      * @rep:lifecycle active
113      * @rep:displayname Generate new session
114      * @rep:compatibility S
115      */
116 procedure new_icx_session(UID   IN NUMBER,
117                           login_id  OUT nocopy NUMBER);
118 
119 --
120 -- UPDATE_NAVIGATOR
121 --
122 -- Update navigator info for current user/resp.
123 --
124 procedure UPDATE_NAVIGATOR(
125     USER_ID in number,
126     RESP_ID in number,
127     APPL_ID in number,
128     LOGIN_ID in number,
129     FUNCTION1 in varchar2,
130     FUNCTION2 in varchar2,
131     FUNCTION3 in varchar2,
132     FUNCTION4 in varchar2,
133     FUNCTION5 in varchar2,
134     FUNCTION6 in varchar2,
135     FUNCTION7 in varchar2,
136     FUNCTION8 in varchar2,
137     FUNCTION9 in varchar2,
138     FUNCTION10 in varchar2,
139     WINDOW_WIDTH in number,
140     WINDOW_HEIGHT in number,
141     WINDOW_XPOS in number,
142     WINDOW_YPOS in number,
143     NEW_WINDOW_FLAG in varchar2);
144 
145 --
146 -- GET_NAVIGATOR_PREFERENCES
147 --   Get Navigator window sizing preferences.
148 --
149 procedure GET_NAVIGATOR_PREFERENCES(
150     WINDOW_WIDTH out nocopy number,
151     WINDOW_HEIGHT out nocopy number,
152     WINDOW_XPOS out nocopy number,
153     WINDOW_YPOS out nocopy number,
154     NEW_WINDOW_FLAG out nocopy varchar2);
155 
156 --
157 -- SET_SESSION
158 --   Store session date whenever new session is created.
159 -- To be called in pre-form of any form opened in a new session.
160 -- This is to maintain session dates for AOL forms running under
161 -- HR responsibilities.
162 --
163 procedure SET_SESSION(session_date in varchar2);
164 
165 -- Misc signon things for an aol/j session.
166 -- For internal use only.
167 
168     /*#
169      * Wrapper to new_icx_session(user_id, login_id, expired). This api is for
170      * internal use and is called by java api's.
171      * @param user_id User Id
172      * @param login_id Login ID of audit record
173      * @param expired Y/N flag indicating password expiry
174      * @rep:lifecycle active
175      * @rep:displayname Java wrapper api to generate new session and validate password expiry
176      * @rep:compatibility S
177      */
178 PROCEDURE new_aolj_session(user_id IN NUMBER,
179 			   login_id OUT nocopy NUMBER,
180 			   expired OUT nocopy VARCHAR2);
181 
182 
183 
184 procedure AUDIT_WEB_RESPONSIBILITY(login_id in number,
185                                    login_resp_id in number,
186                                    resp_appl_id in number,
187                                    resp_id in number);
188 
189     /*#
190      * Generates a new session number, performs auditing related operations
191      * and check password expiration.
192      * @param user_id User Id
193      * @param login_id Login ID of audit record
194      * @param expired Y/N flag indicating password expiry
195      * @rep:lifecycle active
196      * @rep:displayname Generate new session and validate password expiry
197      * @rep:compatibility S
198      */
199 PROCEDURE new_icx_session(user_id IN NUMBER,
200 			   login_id OUT nocopy NUMBER,
201 			   expired OUT nocopy VARCHAR2);
202 
203 
204 --
205 -- new_proxy_icx_session - this is same as new_icx_session(UID, login_id) with
206 --                         a single change for handling SIGNONAUDIT:LEVEL
207 --                         differently for Proxy Sessions(Signon Audit is
208 --                         always enabled at FORM level for proxy sessions).
209 --                         We could have overloaded 'new_icx_session' but there
210 --                         already exists an overloaded version with 3 params.
211 --                         Hence we've chosen this new name for this api.
212 --                         This api is for internal use. This is called from
213 --                         new_icx_session(UID, login_id) and from
214 --                         FND_SESSION_MANAGEMENT.createSessionPrivate api.
215 --
216     /*#
217      * Generates a new session number, performs auditing related operations
218      * and check password expiration. This is same as
219      * new_icx_session(UID, login_id) with some extra processing for auditing
220      * related operations for Proxy Sessions.
221      * This api is for internal use. And it should be called only while
222      * creating the proxy sessions.
223      * @param uid User Id
224      * @param proxy_user Proxy User Id
225      * @param login_id Login ID of audit record
226      * @rep:lifecycle active
227      * @rep:displayname Generate new proxy session
228      * @rep:compatibility S
229      */
230 procedure new_proxy_icx_session(UID   IN NUMBER,
231                           proxy_user IN NUMBER ,
232                           login_id  OUT nocopy NUMBER);
233 
234 /* BUG:5052314: API to retrieve number of unsuccessful logins */
235 /* previous to current login */
236 FUNCTION get_invalid_logins(p_userID number) return NUMBER;
237 
238 /* BUG:6076369, modified signature and made it public to not break forms */
239 procedure AUDIT_USER_END(login_id in number, pend_time in date default SYSDATE);
240 
241 end FND_SIGNON;