Search Results charge_flag
Overview
PATC (PA Transaction Controls) is a PL/SQL package body owned by APPS that implements the transaction-control validation and billability logic used by Oracle Projects in Oracle E-Business Suite 12.1.1 and 12.2.2. Its principal business function is to determine whether an expenditure item, or a candidate expenditure item being entered, is valid and billable based on the transaction controls configured for the project, task, and related attributes. The package exposes a front-end validation API that accepts project, task, expenditure item date, non-labor resource, incurred-by person, and quantity inputs, and returns a billable flag together with a status code. A NULL status code signals that the item passed all validation checks; otherwise the status code carries a specific error indicator, such as PA_EX_QTY_EXIST (quantity must be entered), PA_EXP_INV_PJTK (invalid project and task combination), or PA_EX_PROJECT_DATE (item date not within the active project range).
Key Procedures and Functions
- SET_BILLABLE_FLAG — Called only after an item passes all validation checks. It resets the internal return status to NULL to indicate validity, then derives the billable flag from either the applicable transaction control billable flag or the task billable flag. When the transaction control flag is 'N', the item is forced non-billable; otherwise the task-level billable flag governs.
- GET_STATUS — The front-end API of the transaction controls stored package. It accepts project, task, expenditure item date, non-labor resource, incurred-by person, and optional quantity, performs the validation sequence, and returns the billable flag and status code.
- CHECK_TERMINATION — Evaluates termination conditions, typically against a person's periods of service or placement, to determine whether expenditure charges should be permitted or blocked.
- CHECK_TERMINATION_FOR_CWK — A variant of the termination check oriented toward contingent worker (CWK) processing, applying the same termination logic to the appropriate person and assignment records.
The package body also contains internal helpers, including PRINT_MESSAGE, which routes diagnostic output through PA_CC_UTILS.LOG_MESSAGE, and package-level state variables such as TEMP_STATUS, TEMP_BILL_FLAG, LEVEL_FLAG, G_TRX_SKIP_FLAG, and the INVALID_DATA exception. These support the validation flow but are not part of the documented external API surface.
Tables Accessed
PATC reads and writes a broad set of Project and HR tables through APPS synonyms. Project and task context is drawn from PA_PROJECTS_ALL, PA_PROJECT_TYPES_ALL, PA_TASKS, PA_ALTERNATE_TASKS, PA_PROJECT_ASSIGNMENTS, and PA_EXPENDITURE_TYPES. Transaction-control configuration is read from PA_TRANSACTION_CONTROLS, while expenditure items are stored and referenced in PA_EXPENDITURE_ITEMS_ALL. System linkage and work-type information come from PA_EXPEND_TYP_SYS_LINKS and PA_WORK_TYPES_TL. Personnel and termination data are sourced from PER_ALL_PEOPLE_F, PER_PERIODS_OF_SERVICE, PER_PERIODS_OF_PLACEMENT, and PER_PERSON_TYPES. AP_INVOICES_ALL is referenced for invoice-related validation context.
Usage Notes
PATC is an internal Oracle Projects package rather than a standalone user-facing utility. It is invoked from transaction-entry forms, concurrent validation processes, and other Projects packages during expenditure item processing, and it is referenced by nine other packages in the APPS schema. The user search term charge_flag relates to the package's billability and chargeability determination logic — the outcomes produced by SET_BILLABLE_FLAG and GET_STATUS, which decide whether an expenditure item may be charged and subsequently billed based on transaction controls and task-level flags. Custom code should not modify this package; extensions should call the documented API or replicate its validation rules through supported interfaces.
-
PACKAGE BODY: APPS.PATC
12.1.1
-
PACKAGE BODY: APPS.PATC
12.2.2
-
APPS.PATC dependencies on PATC
12.1.1
-
APPS.PATC dependencies on PATC
12.2.2