Search Results g_debug_level




Overview

CSL_USER_PKG is a PL/SQL package body owned by the APPS schema in Oracle E-Business Suite 12.1.1 and 12.2.2. Its header comment ($Header: cslmupb.pls 120.0 2005/05/25 ... noship $) identifies it as a "shipped" but non-customer-visible component of the CSL (Customer Relationship Management service/telephony) module, first delivered in the mid-2000s and folded into the 12.x codebase. The package encapsulates the lifecycle maintenance of the user identity that is coupled to a JTF resource. In a CRM/telephony deployment, every agent or resource carries a matching FND_USER record and a JTF_RS_RESOURCE_EXTNS record; CSL_USER_PKG centralises the create and delete logic so that these paired records and the associated "ACC" (accessible/audit-context) shadow tables are kept synchronised. The API classification is OTHER, meaning it is an internal utility rather than a public, officially supported API.

Key Procedures and Functions

  • CREATE_USER — Establishes the user/resource pair for a given resource id and returns a status to the caller. The body first calls DELETE_USER to purge any pre-existing records for that resource, then re-opens a cursor against JTF_RS_RESOURCE_EXTNS to recover the USER_ID. It re-registers the FND_USER and JTF_RS_RESOURCE_EXTNS rows through JTM_HOOK_UTIL_PKG.Insert_Acc, and finally delegates bulk registration work to CSL_JTF_TASK_ASS_ACC_PKG.INSERT_ALL_ACC_RECORDS. The procedure is instrumented with debug messaging.
  • DELETE_USER — Removes the existing user/resource records for a resource id, returning a status. CREATE_USER invokes it defensively at the start of its own execution, ensuring an idempotent "delete then recreate" pattern rather than an update in place.

Tables Accessed

The documented table list comprises fifteen *_ACC shadow tables and the two base resource/user tables implied by the source. The ACC tables (CSL_CONTR_BUSS_PROCESSES_ACC, CSL_CONTR_BUSS_TXN_TYPES_ACC, CSL_CSI_ITEM_INSTANCES_ACC, CSL_CS_HZ_SR_CONTACT_PTS_ACC, CSL_CS_INCIDENTS_ALL_ACC, CSL_HZ_CONTACT_POINTS_ACC, CSL_HZ_CUST_ACCT_SITES_ALL_ACC, CSL_HZ_CUST_SITE_USES_ALL_ACC, CSL_HZ_LOCATIONS_ACC, CSL_HZ_PARTIES_ACC, CSL_HZ_PARTY_SITES_ACC, CSL_HZ_RELATIONSHIPS_ACC, CSL_JTF_TASKS_ACC, CSL_JTF_TASK_ASS_ACC, CSL_MTL_ONHAND_QTY_ACC) store the accessibility/proxy context that links each accountable entity to a resource. Because a user is created against a resource that may own contracts, service incidents, tasks, parties, sites, locations, on-hand quantities and relationships, every one of those ACC tables must be refreshed in step with the FND_USER and JTF_RS_RESOURCE_EXTNS rows; this is what INSERT_ALL_ACC_RECORDS accomplishes.

Usage Notes

CSL_USER_PKG is not intended for direct invocation from standard EBS forms or concurrent programs. Its insertion point is the resource-hook framework: JTM_HOOK_UTIL_PKG supplies the debug level, the publication item lists and the account-insertion call, and CSL_USER_PKG is referenced by one other packaged component, indicating it is called programmatically from within the CSL/JTM stack rather than exposed as a standalone API. Customisations that must synchronise a resource with its user should therefore call CREATE_USER or DELETE_USER through the same hook mechanism, passing the resource id and monitoring the returned status.

Regarding the search term g_debug_level: this is a package-level global NUMBER, declared in the globals section alongside g_table_name VARCHAR2(30) := 'CSL_USER_PKG'. It is assigned at the top of CREATE_USER from JTM_HOOK_UTIL_PKG.Get_Debug_Level and then gates the diagnostic logging. When the value equals JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_FULL, an "Entering CREATE_USER" message is written via jtm_message_log_pkg.Log_Msg; when it is >= G_DEBUG_LEVEL_MEDIUM, a further message records the call to CSL_JTF_TASK_ASS_ACC_PKG.INSERT_ALL_ACC_RECORDS. The variable is thus a per-invocation tracing switch rather than a configurable package constant; raising the hook debug level is the supported way to expose more CSL_USER_PKG trace output in the JTM message log.