Results for “can_meta_run”

4 results




AI-generated from documented ETRM metadata — verify critical details on the linked pages.

Overview

BSC_SECURITY is a security and session-management package belonging to the Balanced Scorecard (BSC) module of Oracle E-Business Suite. Its documented role is to authenticate and authorize users against the BSC data model, resolve the appropriate BSC user table, and arbitrate the session locks and concurrency locks that govern access to BSC metadata and application sessions. The body reveals an explicit backward-compatibility design goal: the function USER_TABLE_NAME returns either BSC_USER or BSC_USERS depending on which synonym is visible in the calling schema, because the package is invoked from the OBSCPUB schema where BSC tables are exposed as synonyms. The package also centralizes the retrieval of stored credentials and user classification for both OBSC (Oracle Balanced Scorecard) and UBSC (Universal Balanced Scorecard) users, using the workspace-level database link BSC_SRC_DBLINK for cross-database reads. In practical terms, BSC_SECURITY is the gatekeeper that decides whether a given user, session, or process is permitted to enter the BSC application and whether a metadata operation may proceed concurrently with other running activities.

Key Procedures and Functions

  • GET_USER_INFO — Retrieves the password, user type, and scheme credentials for OBSC and UBSC users, together with session identifiers. It is the core lookup routine invoked during sign-on validation. The body shows an overloaded variant intended for VB callers that cannot read from PL/SQL parameters, and it raises dedicated exceptions for undefined users, undefined OBSC/UBSC users, and expired logins.
  • CHECK_SYSTEM_LOCK — Tests whether the BSC system-wide lock is currently held, preventing conflicting administrative or batch activity.
  • REFRESH_SYSTEM_LOCK — Renews or re-establishes the system lock, keeping it valid for the owning session.
  • CHECK_SOURCE_SYSTEM_LOCK — Determines the lock state of the source system, relevant when BSC data is synchronized across environments via the source database link.
  • USER_HAS_LOCK — Reports whether a specified user currently owns a lock, supporting lock ownership checks before protected operations.
  • DELETE_BSC_SESSION and DELETE_BSC_SESSION_ICX — Remove BSC session records, the latter coordinating with the ICX (Oracle Applications framework) session model to clean up session state on logout or timeout.
  • CAN_META_RUN and IS_META_INSIDE — Determine whether a metadata operation may execute and whether a metadata process is already running, thereby serializing metadata changes.

Tables Accessed

  • BSC_USER_INFO — The primary credential and user-type store read by GET_USER_INFO.
  • BSC_CURRENT_SESSIONS — Tracks active BSC sessions; read by lock and session checks and purged by DELETE_BSC_SESSION.
  • BSC_MESSAGE_LOGS — Used for diagnostic and error message logging during security processing.
  • ICX_SESSIONS — The EBS framework session table consulted and cleaned by DELETE_BSC_SESSION_ICX.
  • USER_OBJECTS — Queried by USER_TABLE_NAME to detect the BSC_USER synonym.
  • V$SESSION and V$SESSION_WAIT — Read to correlate BSC sessions with database sessions and detect waiting or stale sessions.
  • DUAL and DBMS_SQL — Supporting constructs for singleton queries and dynamic SQL execution.

Usage Notes

BSC_SECURITY is invoked internally by the BSC application rather than being exposed as an end-user form. It is called during login and session establishment to validate credentials and create or clear session records, and before administrative or metadata activities to confirm that no conflicting lock is held. The presence of a VB-oriented overload of GET_USER_INFO indicates that client-side Balanced Scorecard components, in addition to PL/SQL and Oracle Forms code, depend on this package for user resolution. Customizations that require BSC credential validation, lock inspection, or session cleanup should call these documented routines rather than querying BSC_USER_INFO or BSC_CURRENT_SESSIONS directly, because the package encapsulates the backward-compatible table-name resolution and the source database link logic. Because the package is referenced by one other package within the APPS schema, changes to its behavior can affect dependent BSC code and should be assessed against the full call chain before deployment.