Results for “expense_reports”
2 results
AI-generated from documented ETRM metadata — verify critical details on the linked pages.
Overview
PA_TRX_IMPORT is a core Oracle Projects transaction import package responsible for validating and loading expenditure items into the PA_TRANSACTION_INTERFACE_ALL table. In Oracle EBS 12.1.1 and 12.2.2, it serves as the central validation and import engine that processes incoming transactions from external and internal sources before they are costed and distributed. The package normalizes and validates project, task, expenditure type, organization, and person references, then confirms that each interface line is structurally consistent with Oracle Projects setup before it is eligible for the Transaction Import concurrent program.
The package body maintains a set of package-level global variables (for example G_trx_source, G_eclass, G_trx_link, G_etype_active, G_project_id, and G_task_id) that cache configuration values retrieved from PA system options, expenditure type, and non-labor resource rules across the duration of a validation run. This caching reduces redundant lookups against setup tables during the high-volume interface processing typical of expense report and AP-sourced expenditure flows.
Key Procedures and Functions
- GETTRXSRCINFO — Retrieves transaction source definition attributes for the interface line.
- GETETYPEINFO — Loads expenditure type information, including active dates and costing flags.
- GETNLRINFO — Resolves non-labor resource information for the transaction.
- GETPROJTYPEINFO — Retrieves project type and related project-level defaults.
- CHECKCCID — Validates the charge account code combination identifier used for the interface line.
- GETORGNAME — Returns the organization name for a given organization identifier.
- CHECKDUPITEM — Detects duplicate expenditure items against previously imported or existing PA expenditures.
- CHECKDUPADJITEM — Detects duplicate adjustment items.
- VALIDATE_VI — Validates vendor invoice related attributes supplied on the interface record.
- VALIDATEITEM — Performs the principal validation of an interface expenditure line.
- VALIDATEITEMOTL — Performs validation specific to OTL (Oracle Time and Labor) sourced transactions.
- VALIDATE_EXP_DATE — Verifies that the expenditure date falls within valid project and expenditure type date ranges.
- INIT — Initializes package-level global variables prior to a validation or import run.
- COUNT_STATUS — Returns counts by interface processing status for reporting and diagnostics.
- INIT_PO_AMT_CHK — Initializes purchase order amount check state.
- RELEASE_PO_LINE_TASK_LOCK — Releases purchase order line and task level locks held during validation.
- SET_GVAL_PROJTSKEI_DATE — Sets the cached project/task expenditure item date global used across validations.
- GET_GVAL_PROJTSKEI_DATE — Returns the cached project/task expenditure item date global.
Tables Accessed
The package reads and writes PA_TRANSACTION_INTERFACE_ALL as the primary staging and result table. It references AP_INVOICES, AP_INVOICES_ALL, AP_INVOICE_DISTRIBUTIONS, AP_INVOICE_DISTRIBUTIONS_ALL, AP_INVOICE_PAYMENTS, AP_PAYMENT_HIST_DISTS, AP_PAYMENT_SCHEDULES_ALL, and AP_PREPAY_APP_DISTS to validate and reconcile expense report and invoice-sourced transactions against Accounts Payable. AP_SELF_ASSESSED_TAX_DIST and its _ALL counterpart support tax distribution validation. GL_CODE_COMBINATIONS and GL_BC_PACKETS_S provide account and subledger accounting validation, while GL_DAILY_CONVERSION_TYPES and GL_PERIOD_STATUSES verify currency conversion and open accounting period status.
Usage Notes
PA_TRX_IMPORT is invoked primarily by the Oracle Projects Transaction Import concurrent program and by related interface workflows that stage expense report and invoice expenditure lines. It is referenced by ten other packages, indicating it is called programmatically by upstream loaders such as expense report and AP integration routines rather than only by end-user forms. Custom integrations that populate PA_TRANSACTION_INTERFACE_ALL typically rely on this package indirectly through the standard import process. Because it performs duplicate detection, date-range validation, and PO locking, it must be executed in the correct sequence relative to INIT and RELEASE_PO_LINE_TASK_LOCK to avoid leaving orphaned locks or rejecting valid lines.