Search Results lock_draft_record
Overview
APPS.PO_PRICE_DIFF_DRAFT_PKG is a PL/SQL package within the Oracle E-Business Suite Procurement (Purchasing) module that supports the price differential drafting mechanism. Its principal business role is to manage the relationship between transactional price differential records and their corresponding draft records before those changes are merged and applied to the live purchasing data. In Oracle EBS 12.1.1 and 12.2.2, price differentials are adjustments to purchase order and receipt pricing used to reconcile invoiced amounts against agreed pricing. When a user edits or adjusts a price differential within a draft context, the draft row must be kept in synchronization with its source transaction, may need to be deleted, and ultimately must be merged back. This package encapsulates the synchronization, deletion, merge, and record-locking logic that makes those operations consistent and concurrency-safe. The ETRM classification for the package is OTHER, and it is referenced by four other packages, indicating it serves as a shared internal utility rather than an end-user entry point.
Key Procedures and Functions
- DELETE_ROWS — Removes draft and price differential rows associated with a given draft identifier and price differential identifier. It is used to clean up draft content that is no longer required.
- SYNC_DRAFT_FROM_TXN — Synchronizes draft records from the underlying transaction. The package exposes two overloads: a bulk (table-based) overload that processes collections of price differential identifiers and draft identifiers together with a delete flag, and a single-row overload that performs the same operation for one price differential and draft pair. Both variants return an indicator (x_record_already_exist) signalling whether a draft record already existed for the transaction.
- MERGE_CHANGES — Applies the accumulated draft changes for a specified draft identifier, merging the drafted price differential modifications into the operative records.
- LOCK_DRAFT_RECORD — Acquires a lock on the specified draft record, identified by price differential identifier and draft identifier, to serialize concurrent updates and prevent lost changes.
- LOCK_TRANSACTION_RECORD — Acquires a lock on the underlying transaction record identified by price differential identifier, ensuring that transaction-level edits do not collide with draft processing.
The metadata documents six procedures/functions in total, the four distinct names above comprising the documented set along with the bulk and single-row overloads of SYNC_DRAFT_FROM_TXN.
Tables Accessed
- PO_PRICE_DIFFERENTIALS — The base transaction table holding price differential records. The package reads and locks these rows during synchronization and locking operations.
- PO_PRICE_DIFF_DRAFT — The draft staging table that holds pending price differential changes before merge. The package inserts, updates, deletes, and locks rows here.
- DBMS_SQL — Oracle's dynamic SQL utility, used internally for dynamic statement execution.
- PLITBLM — A PL/SQL indexed-table helper package used for manipulating the PL/SQL collection types (for example PO_TBL_NUMBER and PO_TBL_VARCHAR1) that appear in the bulk overload parameters.
Usage Notes
Because PO_PRICE_DIFF_DRAFT_PKG is classified as OTHER and is referenced by four other packages, it is best understood as a backend service invoked by higher-level Purchasing logic rather than by direct user action. Typical invocation points include the price differential adjustment forms, where draft edits must be synchronized and locked, and concurrent programs that process or merge price differential drafts in batch. The single-row overload of SYNC_DRAFT_FROM_TXN suits form-driven, row-at-a-time interactions, while the bulk overload is intended for set-based processing where collections of identifiers are passed for efficiency. In Oracle EBS 12.1.1 and 12.2.2, customizations that manipulate price differential drafts should call this package rather than issuing direct DML against PO_PRICE_DIFF_DRAFT, so that the locking and merge semantics remain intact. The lock procedures are the appropriate entry point for the user's interest in lock_draft_record and should be called before modifications to a draft are attempted. Oracle proprietary and confidential information applies to this package and its documentation.
-
PACKAGE: APPS.PO_PRICE_DIFF_DRAFT_PKG
12.1.1
-
PACKAGE: APPS.PO_ATTR_VALUES_TLP_DRAFT_PKG
12.1.1
-
PACKAGE: APPS.PO_ATTR_VALUES_TLP_DRAFT_PKG
12.2.2
-
PACKAGE: APPS.PO_LINE_LOCATIONS_DRAFT_PKG
12.1.1
-
PACKAGE: APPS.PO_PRICE_DIFF_DRAFT_PKG
12.2.2
-
PACKAGE: APPS.PO_ATTR_VALUES_DRAFT_PKG
12.1.1
-
PACKAGE: APPS.PO_HEADERS_DRAFT_PKG
12.1.1
-
PACKAGE: APPS.PO_NOTIFICATION_CTRL_DRAFT_PKG
12.2.2
-
PACKAGE: APPS.PO_DISTRIBUTIONS_DRAFT_PKG
12.1.1
-
PACKAGE: APPS.PO_LINES_DRAFT_PKG
12.1.1
-
PACKAGE: APPS.PO_GA_ORG_ASSIGN_DRAFT_PKG
12.2.2
-
PACKAGE: APPS.PO_PRICE_ADJ_DRAFT_PKG
12.2.2
-
PACKAGE: APPS.PO_NOTIFICATION_CTRL_DRAFT_PKG
12.1.1
-
PACKAGE: APPS.PO_GA_ORG_ASSIGN_DRAFT_PKG
12.1.1
-
PACKAGE: APPS.PO_LINE_LOCATIONS_DRAFT_PKG
12.2.2
-
PACKAGE: APPS.PO_ATTR_VALUES_DRAFT_PKG
12.2.2
-
PACKAGE: APPS.PO_DISTRIBUTIONS_DRAFT_PKG
12.2.2
-
PACKAGE: APPS.PO_LINES_DRAFT_PKG
12.2.2
-
PACKAGE: APPS.PO_HEADERS_DRAFT_PKG
12.2.2
-
PACKAGE BODY: APPS.PO_PRICE_DIFF_DRAFT_PKG
12.1.1
-
PACKAGE BODY: APPS.PO_GA_ORG_ASSIGN_DRAFT_PKG
12.2.2
-
PACKAGE BODY: APPS.PO_PRICE_DIFF_DRAFT_PKG
12.2.2
-
PACKAGE BODY: APPS.PO_GA_ORG_ASSIGN_DRAFT_PKG
12.1.1
-
PACKAGE BODY: APPS.PO_NOTIFICATION_CTRL_DRAFT_PKG
12.1.1
-
PACKAGE BODY: APPS.PO_NOTIFICATION_CTRL_DRAFT_PKG
12.2.2
-
PACKAGE BODY: APPS.PO_DISTRIBUTIONS_DRAFT_PKG
12.1.1
-
PACKAGE: APPS.PO_EXHIBITS_PVT
12.2.2
-
PACKAGE BODY: APPS.PO_DISTRIBUTIONS_DRAFT_PKG
12.2.2
-
PACKAGE BODY: APPS.PO_HEADERS_DRAFT_PKG
12.1.1
-
PACKAGE BODY: APPS.PO_LINES_DRAFT_PKG
12.1.1
-
PACKAGE BODY: APPS.PO_PRICE_ADJ_DRAFT_PKG
12.2.2
-
PACKAGE BODY: APPS.PO_LINE_LOCATIONS_DRAFT_PKG
12.1.1
-
PACKAGE BODY: APPS.PO_ATTR_VALUES_TLP_DRAFT_PKG
12.2.2
-
PACKAGE BODY: APPS.PO_ATTR_VALUES_TLP_DRAFT_PKG
12.1.1
-
PACKAGE BODY: APPS.PO_LINE_LOCATIONS_DRAFT_PKG
12.2.2
-
PACKAGE BODY: APPS.PO_HEADERS_DRAFT_PKG
12.2.2
-
PACKAGE BODY: APPS.PO_LINES_DRAFT_PKG
12.2.2
-
PACKAGE BODY: APPS.PO_EXHIBITS_PVT
12.2.2
-
PACKAGE BODY: APPS.PO_ATTR_VALUES_DRAFT_PKG
12.2.2
-
PACKAGE BODY: APPS.PO_ATTR_VALUES_DRAFT_PKG
12.1.1
-
APPS.PO_LINES_DRAFT_PKG dependencies on PO_DRAFTS
12.2.2
-
APPS.PO_HEADERS_DRAFT_PKG dependencies on PO_DRAFTS
12.2.2
-
APPS.PO_EXHIBITS_PVT dependencies on PO_EXHIBIT_DETAILS
12.2.2