Search Results print_header




Overview

ASG_PERF is a diagnostic and instrumentation package body owned by APPS that reports on the performance of synchronization operations within the Oracle E-Business Suite applications. Synchronization in this context refers to the refresh of publication items and their supporting data between the source system and downstream consumers, such as mobile field service devices or other distributed application clients. The package captures metrics during a synchronization run and produces a formatted report detailing the user performing the operation, the target database instance, the type of synchronization (complete refresh versus incremental refresh), the publication item being processed, row counts, and elapsed timing information. The package header dates from 2002, with a source header version of 120.1 dated 12 August 2005, and its history records a merge from 11.5.9.6 into the main line in 2004, a fix for an Invalid Number error in 2002, and adoption of FND Logging in place of DBMS_OUTPUT. The code is marked noship, indicating it is a supporting internal utility rather than a shipped user-facing feature.

Key Procedures and Functions

Ten documented program units make up the package. The reporting entry points are GET_FIRST_SYNCH_REPORT and GET_INCREMENTAL_SYNCH_REPORT, which drive the generation of performance reports for complete and incremental synchronization runs respectively. Supporting the report generation are COMPUTE_PUB_ITEM_TIME and COMPUTE_DOWNLOAD_TIME, which calculate elapsed time for individual publication items and for the overall download phase. SETUP_DOWNLOAD and SETUP_PUB_ITEM_DOWNLOAD initialize the tracking context for a synchronization run at the download and publication item levels, while CLEANUP_SETUP releases that context when reporting is complete. LOG is the internal logging primitive used throughout the package; with FND Logging enabled it writes messages at the EVENT level through ASG_HELPER.LOG. The package also declares a suite of global variables, including g_dtab, g_user_name, g_first_synch, g_pub_item, g_log_enabled, g_last_tran_id, and g_curr_tran_id. The g_user_name variable is of particular interest to callers, as it holds the name of the user for whom synchronization performance is being reported and is emitted verbatim in the report header alongside the database instance name.

Tables Accessed

The package references a small set of objects through APPS synonyms. ASG_SYSTEM_DIRTY_QUEUE is the principal application table, used to track synchronization work pending for the system and to derive row and transaction counts reported in the summary. V$INSTANCE is queried in PRINT_HEADER to capture the instance name for the report banner. DUAL is used for literal and date evaluations, and DBMS_SQL is available for dynamic SQL construction where the reporting queries require it. No inserts or updates to business tables are performed by this package; its data access is read-oriented and diagnostic in nature.

Usage Notes

ASG_PERF is an internal performance-diagnostic utility rather than a transactional API. It is invoked when a synchronization or publication refresh is executed in a diagnostic mode, allowing support and development personnel to obtain a formatted performance report. Because it depends on FND Logging and on internal helpers such as ASG_HELPER, output is directed to the standard EBS logging infrastructure and can be reviewed through the usual log inspection facilities. The package is referenced by no other package in the documented set, so invocations are expected to originate from concurrent programs, forms-based diagnostic actions, or ad hoc custom code that explicitly calls its report procedures. The presence of g_user_name as a package global means the caller must populate the current user context before requesting a report, since the value is consumed directly by the header routine.