Search Results fnd_login_responsibilities_s




Overview

APPS.FND_SIGNON is the core sign-on and session auditing package in Oracle E-Business Suite, responsible for managing the lifecycle of user sessions, tracking login and logout activity, and stamping audit end-times on login, responsibility, and form records. It sits at the foundation of the EBS security and audit model, allowing administrators and auditors to reconstruct who accessed which responsibility and form, and when each session terminated. The package is classified as OTHER in the ETRM metadata and is owned by APPS. Its header reference (AFSCSGNB.pls 120.12.12020000.2, dated 2012/08/13) places it in the 12.1.1 and 12.2.2 code lines. The user search term "audit_user_end" corresponds directly to the AUDIT_USER_END procedure, which closes out a user's active login record. The package is referenced by eight other packages, underscoring its central position in the authentication and session-management stack.

Key Procedures and Functions

The package exposes sixteen documented procedures and functions. Several govern session creation: NEW_SESSION, NEW_ICX_SESSION, NEW_PROXY_ICX_SESSION, and NEW_AOLJ_SESSION establish new session rows and login context for native forms, ICX (self-service web) connections, proxy sessions, and AOL/J sessions respectively. SET_SESSION updates the current session record, while GET_INVALID_LOGINS retrieves failed sign-on attempts recorded against a user, supporting lockout and security policies. IS_PWD_EXPIRED evaluates whether the current user's password has expired, and GET_NAVIGATOR_PREFERENCES returns stored navigator configuration, complemented by UPDATE_NAVIGATOR which persists navigator changes.

The audit procedures form the transactional core. AUDIT_USER records the beginning of a user login, and AUDIT_USER_END stamps the termination of that session. AUDIT_RESPONSIBILITY and AUDIT_RESPONSIBILITY_END mark the start and end of responsibility usage, while AUDIT_FORM and AUDIT_FORM_END do the same for individual form access, and AUDIT_WEB_RESPONSIBILITY covers web-based responsibility auditing. AUDIT_END provides a general termination operation. The internal counterparts shown in the source excerpt, AUDIT_FORM_END and AUDIT_RESPONSIBILITY_END, are declared with PRAGMA AUTONOMOUS_TRANSACTION and accept a login_id plus an optional pend_time defaulting to SYSDATE, allowing callers such as FNDDLTMP.sql and ICXDLTMP.sql to pass a LAST_CONNECT value. The AUTONOMOUS_TRANSACTION pragma ensures audit stamps commit independently of the caller's transaction, preserving audit integrity even if the calling transaction rolls back.

Tables Accessed

The package reads and writes a broad set of session and audit tables through APPS synonyms. FND_LOGINS and FND_LOGINS_S store login records, with FND_LOGIN_RESPONSIBILITIES and FND_LOGIN_RESPONSIBILITIES_S tracking responsibility-level sessions and FND_LOGIN_RESP_FORMS capturing form-level activity. FND_SESSIONS and FND_APPL_SESSIONS hold active session context, while FND_UNSUCCESSFUL_LOGINS logs failed authentication attempts. FND_USER supplies user identity and password attributes. FND_APPLICATION and FND_FORM provide application and form metadata for audit rows. FND_DESKTOP_OBJECT_ID_S, FND_USER_DESKTOP_OBJECTS, and ICX_SESSIONS support desktop and self-service session tracking, and DUAL is used for trivial queries. The excerpt demonstrates updates to FND_LOGIN_RESP_FORMS and FND_LOGIN_RESPONSIBILITIES that set END_TIME where it is currently null, effectively closing open audit intervals.

Usage Notes

FND_SIGNON is invoked automatically by the EBS framework rather than by end users. The sign-on and sign-off pages, Oracle Forms session startup, the ICX self-service layer, and AOL/J connection handling all call into this package to allocate sessions and stamp audit times. Because the audit procedures are autonomous and parameterized with a pending time argument, cleanup utilities such as FNDDLTMP.sql and ICXDLTMP.sql invoke AUDIT_USER_END and the related end-time routines to reconcile records for sessions terminated by timeout or system shutdown. Custom code should not modify session or audit tables directly; instead, integrate through this package to maintain audit consistency. When troubleshooting "audit_user_end" behavior, verify that login_id values passed to the routine are non-null, since the procedure returns immediately without action when login_id is null.