Search Results flush_cache
Overview
WF_ENTITY_MGR is an Oracle Workflow / Oracle E-Business Suite entity management package owned by APPS. It provides the attribute cache infrastructure that allows entities — users, responsibilities, and other directory-style objects — to have their descriptive attributes stored, retrieved, and propagated as changes occur. The package acts as the central registry and gateway for entity attributes, maintaining an in-memory/table-backed cache in WF_ATTRIBUTE_CACHE and, where LDAP directory integration is configured, pushing attribute changes outward and raising the standard entity change event oracle.apps.global.<entity_type>.change.
Functionally, WF_ENTITY_MGR decouples the code that modifies an entity (for example FND_USER_PKG.UPDATE_USER) from the consumers that need to know about it. Callers place attribute values into the cache and then declare that changes have occurred; the package decides whether anything actually changed, suppresses echoes of a caller's own modifications via the change source, and emits the appropriate event. This makes it a foundational component for workflow attribute lookups, directory synchronization, and any integration that depends on entity-level change notification.
The package is compiled AUTHID CURRENT_USER and, in EBS 11i through 12.x, has remained a stable component (the shipped header dates to 2002). It is referenced by nine other packages, reflecting its role as shared infrastructure rather than a standalone business API.
Key Procedures and Functions
- PROCESS_CHANGES — Checks the attribute cache for changes to a given entity. If none are found, it exits; otherwise it updates LDAP (when present) and raises the entity change event, defaulting to
oracle.apps.global.<entity_type>.change. A change source parameter identifies the originator of the change so that echoes of a caller's own changes can be ignored, and an optional event name overrides the derived event name. Documented change types are LOAD and DELETE. Typically invoked after a series of PUT_ATTRIBUTE_VALUE calls. - GET_ATTRIBUTE_VALUE — Fetches a single entity attribute value from the attribute cache.
- PUT_ATTRIBUTE_VALUE — Sets an entity attribute value into the attribute cache.
- FLUSH_CACHE — The object of the user's search. Flushes cached entity attribute data so that subsequent reads are re-derived from the underlying source rather than served from stale cache contents. This is the standard call when attribute values are known to have changed outside the package's normal put/process flow, or when a session needs to guarantee it is not reading stale data.
- GET_ENTITY_TYPE — Resolves or returns the entity type associated with the current context.
- GEN_XML_PAYLOAD — Generates an XML representation of entity attributes, used for directory synchronization and event payload construction.
- ISCHANGED — Reports whether an entity's attributes have changed relative to the cache, supporting change detection before event propagation.
- PURGE_CACHE_ATTRIBUTES — Removes cached attribute rows for an entity, supporting cleanup and cache maintenance.
Tables Accessed
- WF_ATTRIBUTE_CACHE — The primary storage for entity attribute values; read by GET_ATTRIBUTE_VALUE, written by PUT_ATTRIBUTE_VALUE, inspected by PROCESS_CHANGES and ISCHANGED, and cleared by FLUSH_CACHE and PURGE_CACHE_ATTRIBUTES.
- WF_PARAMETER_LIST_T — A Workflow parameter list type used in the package's PL/SQL interfaces, principally for constructing and passing structured event and XML payload data.
- DBMS_LOB — Oracle-supplied large-object package used for handling CLOB attribute and payload content.
- XMLDOM — Oracle-supplied XML DOM package used by GEN_XML_PAYLOAD to construct the XML document representing entity attributes.
Usage Notes
WF_ENTITY_MGR is normally invoked indirectly. Standard Oracle forms and concurrent programs that maintain users, responsibilities, and related entities call the entity management layer rather than WF_ENTITY_MGR directly; WF_ENTITY_MGR is reached through packages such as the FND user maintenance packages and the other nine dependent packages. In custom code, the canonical pattern is to call PUT_ATTRIBUTE_VALUE one or more times and then invoke PROCESS_CHANGES with a change source of the form <package>.<procedure> to trigger event propagation.
FLUSH_CACHE is relevant in two situations: when a session has cached attribute values and must be certain it reads current data, and when attributes are modified through a path that bypasses PUT_ATTRIBUTE_VALUE. It is a session- or cache-level corrective operation and should be used sparingly, since flushing forces re-derivation of attribute values. Because the package is compiled AUTHID CURRENT_USER, callers must have appropriate direct grants on WF_ATTRIBUTE_CACHE and the referenced utilities; the APPS synonyms documented in ETRM reflect this. FORWARD compatibility between 12.1.1 and 12.2.2 is maintained; the procedure and function signatures have been stable across releases.