Search Results pa_duration_utils
Overview
PA_DURATION_UTILS is an Oracle Projects utility package in the APPS schema that performs calendar-based duration calculations. Its central purpose is to return the elapsed working time between a supplied start date and end date, expressed as a number of days and a number of hours, with the calculation anchored to an Oracle Projects calendar identified by a calendar ID. This is functionally distinct from simple date arithmetic: an arbitrary subtraction of two dates yields calendar days, whereas duration reporting in Oracle Projects must exclude non-working time according to the assigned calendar's work patterns and shifts. The package therefore supports business requirements such as effort reporting, scheduling, resource utilization, and billing calculations where the billable or productive span between two dates must reflect the organization's defined working calendar.
The package header carries the version marker $Header: PADURUTS.pls 120.1 2005/08/19 and is flagged noship. It is classified under the ETRM as API classification OTHER, indicating that it is an internal utility rather than a formally published public API. The package maintains several package-level global variables, including g_start_date, g_end_date, g_duration_days, g_duration_hours, g_calendar_id, and a schedule record table typed as PA_SCHEDULE_GLOB.ScheduleTabTyp, which is used to hold calendar and schedule data retrieved during execution.
Key Procedures and Functions
- GET_DURATION — The current, preferred procedure for computing duration. It accepts a calendar identifier and a start and end date, and returns the total duration broken into a days component and an hours component, together with the standard Oracle error-handling out parameters for return status, message count, and message data. It was introduced on 07-Mar-2003 under Bug 2838700, at which point the prior implementation was renamed.
- GET_DURATION_OLD — The original implementation of the duration calculation, retained under its renamed identifier for backward compatibility. It shares the same conceptual signature and output structure as GET_DURATION, returning days, hours, and error-handling status information. Existing code that predates Bug 2838700 may still reference this entry point.
- GET_TOTAL_HOURS — A function that returns a single numeric value representing the total hours between the supplied start and end dates for the given calendar. It provides a convenient scalar alternative to the two-part days/hours output produced by the duration procedures, and is typically used when only an aggregate hourly measure is required rather than a day-and-hour breakdown.
Tables Accessed
The documented table reference for this package is PLITBLM, accessed through an APPS synonym. PLITBLM is a standard Oracle Applications date-and-time formatting/translation base table, and it is used here in support of duration and calendar presentation logic. In practice the package's principal data source is the Oracle Projects calendar and schedule structures represented by PA_SCHEDULE_GLOB.ScheduleTabTyp, which is populated during processing to derive working time against the specified calendar. All data access occurs under APPS ownership and standard EBS synonym resolution.
Usage Notes
Because PA_DURATION_UTILS is an internal utility rather than a published API, it is normally invoked indirectly. Oracle Projects forms, concurrent programs, and scheduling or effort-related transactions call it whenever a working-time duration must be derived from two dates and a calendar. Custom extensions that must reproduce Oracle Projects' own duration logic should call GET_DURATION rather than GET_DURATION_OLD, since the former reflects the corrected calculation introduced by Bug 2838700. Callers must always supply a valid calendar ID, as the day and hour results depend entirely on that calendar's work patterns. The error-handling out parameters should be inspected after every invocation to detect and surface failures. The package is referenced by one other database package, confirming its role as a shared internal service rather than a standalone entry point.
-
PACKAGE: APPS.PA_DURATION_UTILS
12.2.2
owner:APPS, object_type:PACKAGE, object_name:PA_DURATION_UTILS, status:VALID,
-
PACKAGE: APPS.PA_DURATION_UTILS
12.1.1
owner:APPS, object_type:PACKAGE, object_name:PA_DURATION_UTILS, status:VALID,
-
PACKAGE BODY: APPS.PA_DURATION_UTILS
12.1.1
owner:APPS, object_type:PACKAGE BODY, object_name:PA_DURATION_UTILS, status:VALID,
-
PACKAGE: APPS.PA_SCHEDULE_GLOB
12.1.1
owner:APPS, object_type:PACKAGE, object_name:PA_SCHEDULE_GLOB, status:VALID,
-
PACKAGE BODY: APPS.PA_DURATION_UTILS
12.2.2
owner:APPS, object_type:PACKAGE BODY, object_name:PA_DURATION_UTILS, status:VALID,
-
PACKAGE: APPS.PA_SCHEDULE_GLOB
12.2.2
owner:APPS, object_type:PACKAGE, object_name:PA_SCHEDULE_GLOB, status:VALID,
-
PACKAGE: APPS.PA_DURATION_UTILS
12.1.1
-
PACKAGE: APPS.PA_DURATION_UTILS
12.2.2
-
PACKAGE: APPS.PA_SCHEDULE_PVT
12.1.1
owner:APPS, object_type:PACKAGE, object_name:PA_SCHEDULE_PVT, status:VALID,
-
PACKAGE: APPS.PA_SCHEDULE_PVT
12.2.2
owner:APPS, object_type:PACKAGE, object_name:PA_SCHEDULE_PVT, status:VALID,
-
PACKAGE BODY: APPS.PA_PROJ_TASK_STRUC_PUB
12.1.1
owner:APPS, object_type:PACKAGE BODY, object_name:PA_PROJ_TASK_STRUC_PUB, status:VALID,
-
PACKAGE BODY: APPS.PA_PROJ_TASK_STRUC_PUB
12.2.2
owner:APPS, object_type:PACKAGE BODY, object_name:PA_PROJ_TASK_STRUC_PUB, status:VALID,
-
PACKAGE BODY: APPS.PA_DURATION_UTILS
12.1.1
-
PACKAGE BODY: APPS.PA_DURATION_UTILS
12.2.2
-
12.2.2 DBA Data
12.2.2
-
12.1.1 DBA Data
12.1.1
-
12.1.1 DBA Data
12.1.1
-
12.2.2 DBA Data
12.2.2
-
APPS.PA_PROJ_TASK_STRUC_PUB dependencies on PA_DURATION_UTILS
12.2.2
-
APPS.PA_PROJ_TASK_STRUC_PUB dependencies on PA_DURATION_UTILS
12.1.1
-
APPS.PA_DURATION_UTILS dependencies on PA_DURATION_UTILS
12.1.1
-
APPS.PA_DURATION_UTILS dependencies on PA_DURATION_UTILS
12.2.2
-
PACKAGE: APPS.PA_DEBUG
12.1.1
owner:APPS, object_type:PACKAGE, object_name:PA_DEBUG, status:VALID,
-
PACKAGE: APPS.PA_DEBUG
12.2.2
owner:APPS, object_type:PACKAGE, object_name:PA_DEBUG, status:VALID,
-
PACKAGE: APPS.FND_MSG_PUB
12.2.2
owner:APPS, object_type:PACKAGE, object_name:FND_MSG_PUB, status:VALID,
-
PACKAGE: APPS.FND_MSG_PUB
12.1.1
owner:APPS, object_type:PACKAGE, object_name:FND_MSG_PUB, status:VALID,
-
SYNONYM: PUBLIC.PLITBLM
12.2.2
owner:PUBLIC, object_type:SYNONYM, object_name:PLITBLM, status:VALID,
-
SYNONYM: PUBLIC.PLITBLM
12.1.1
owner:PUBLIC, object_type:SYNONYM, object_name:PLITBLM, status:VALID,
-
12.2.2 DBA Data
12.2.2
-
12.2.2 DBA Data
12.2.2
-
12.1.1 DBA Data
12.1.1
-
12.1.1 DBA Data
12.1.1
-
PACKAGE: APPS.FND_API
12.2.2
owner:APPS, object_type:PACKAGE, object_name:FND_API, status:VALID,
-
PACKAGE: APPS.FND_API
12.1.1
owner:APPS, object_type:PACKAGE, object_name:FND_API, status:VALID,
-
PACKAGE: SYS.STANDARD
12.1.1
owner:SYS, object_type:PACKAGE, object_name:STANDARD, status:VALID,