Search Results progress_report_exists
Overview
PA_PROGRESS_REPORT_UTILS is a utility PL/SQL package in the APPS schema that supports the Oracle Projects Progress Reporting subsystem within Oracle E-Business Suite 12.1.1 and 12.2.2. Progress reports allow project managers to capture, review, and publish periodic project status information, including physical percent complete, milestone progress, and narrative commentary. This package acts as a shared service layer that centralizes the repetitive validation, layout, security, and lifecycle logic used by the Progress Reporting user interface and its associated private APIs.
Rather than implementing business transactions directly, PA_PROGRESS_REPORT_UTILS provides reusable primitives that other Progress Reporting components delegate to. It resolves the appropriate start and end dates for a reporting cycle, validates that project and progress dates are coherent, determines whether a given action is permitted for the current user or report state, manages page layout metadata used by the structured report template, and governs the deletion and editing rules for report structures. The package is documented as VALID and is classified as an OTHER API, confirming it is intended primarily for internal consumption by Oracle's own Progress Reporting code rather than as a public integration interface.
Key Procedures and Functions
The package exposes eighteen documented procedures and functions. Their responsibilities cluster into several functional groups:
- Date handling: GET_REPORT_START_END_DATES resolves the reporting period boundaries for a progress report, while VALIDATE_PROG_PROJ_DATES verifies that project and progress dates are consistent and permissible.
- Action and security checks: CHECK_ACTION_ALLOWED determines whether a requested operation is valid in the current context; CHECK_SECURITY_FOR_PROGREP enforces Progress Reporting access security; and GET_LATEST_WORKING_REPORT_ID retrieves the most recent in-progress report identifier.
- Percent complete maintenance: UPDATE_PERCCOMPLETE applies changes to a report's physical percent complete value.
- Template and layout administration: IS_TEMPLATE_EDITABLE, PAGELAYOUT_EXISTS, IS_DELETE_PAGE_LAYOUT_OK, and IS_EDIT_PAGE_LAYOUT_OK govern whether progress report templates and page layouts may be modified or removed.
- Report existence and removal: PROGRESS_REPORT_EXISTS and REMOVE_PROGRESS_REPORT_SETUP support detecting and clearing report configurations.
- Page metadata resolution: GET_OBJECT_PAGE_ID and GET_OBJECT_REGION map reporting objects to their page and region identifiers.
- Cycle and menu management: IS_CYCLE_OK_TO_DELETE validates reporting cycle deletion; GET_TAB_MENU_NAME and COPY_PROJECT_TAB_MENU retrieve and duplicate the tab menu structure used by the reporting UI.
Tables Accessed
The package reads and writes a defined set of tables through APPS synonyms. It uses PA_PROGRESS_REPORT_VERS to manage report version records and PA_PAGE_LAYOUTS, PA_OBJECT_PAGE_LAYOUTS, and PA_OBJECT_REGIONS to resolve template layout and region metadata. Project-related reads draw on PA_PROJECTS_ALL, PA_TASKS, PA_TASK_TYPES, PA_PROJECT_STATUSES, and PA_PROJ_ELEMENTS to validate project context and structure. FND_MENUS supplies menu definitions for tab menu handling, and DUAL is used for singleton value resolution.
Usage Notes
PA_PROGRESS_REPORT_UTILS is referenced by four documented components: PA_PAGE_LAYOUT_UTILS, PA_PROGRESS_REPORTS_MAIN_V, PA_PROGRESS_REPORT_PVT, and PA_PROGRESS_REPORT_WORKFLOW, along with itself. These callers indicate it is invoked from the Progress Reporting forms and web pages, the Progress Report business logic layer, page layout utilities, and the Progress Report workflow, which automates report submission and approval flow. It is typically called indirectly when a user edits a report, changes percent complete, deletes a cycle or template, or when workflow processing requires validation or security evaluation. Because it is classified as an OTHER API, customizations should avoid calling it directly; integrators requiring progress report data should use supported public APIs or views instead. The package's dependency on SYS.STANDARD reflects no external application coupling beyond the documented tables.