Search Results do_mod_line_control_action
Overview
PO_MOD_CONTROL_PVT is an Oracle E-Business Suite private PL/SQL package in the APPS schema that governs modification control for purchasing documents. It is the engine behind the "Control" functionality that allows a buyer to place a purchase order, release, or related document under modification control: while a document is under control, no changes may be committed against it until the controlling action is explicitly withdrawn or deleted. The package validates which control actions are permitted for a given document state, executes those actions, and enforces the withdrawal and deletion paths that release the document back to normal editing.
The _PVT suffix classifies the package as a private implementation unit. It is not a published public API and is not intended to be called directly by external integrations. It functions as a shared service layer consumed by the public purchasing APIs and by the purchasing forms, which is consistent with the documented fact that it is referenced by PO_DRAFTS_PVT and PO_HEADERS_SV1 (the header server-side view/validation package), as well as by itself.
Key Procedures and Functions
The ETRM metadata documents nine procedures and functions:
- PROCESS_MOD_CONTROL_ACTION — Top-level entry point that processes a requested modification-control action against the target document.
- PROCESS_MOD_WITHDRAWN_ACTION — Handles the withdrawal path, reversing an active control so the document may be modified again.
- PROCESS_MOD_DELETE_ACTION — Handles deletion of a modification-control record.
- PROCESS_PAR_WITHDRAW_ACTION — Withdrawal processing specific to the PAR (procurement/approval routing) context.
- DO_MOD_LINE_CONTROL_ACTION — Applies control behavior at the purchase order line level.
- DO_MOD_LINE_LOC_CONTROL_ACTION — Applies control behavior at the line-location (shipment) level.
- GET_MOD_VALID_CONTROL_ACTIONS — Returns the set of control actions valid for the current document, used to drive form-level action lists and validation.
- DELETE_UDA_DATA — Removes user-defined attribute data associated with the modification.
- UPDATE_HEADER_DUMMY_REQ — Updates a placeholder requisition reference on the document header as part of control processing.
Parameter lists are not exposed in the documentation and are deliberately not reconstructed here.
Tables Accessed
The package works against draft and base document tables through APPS synonyms. Draft-side tables — PO_DRAFTS, PO_HEADERS_DRAFT_ALL, PO_LINES_DRAFT_ALL, and PO_DISTRIBUTIONS_DRAFT_ALL — hold uncommitted changes that modification control must protect. Base tables PO_HEADERS_ALL, PO_LINES_ALL, and PO_LINE_LOCATIONS_ALL, together with their DFF extension tables (PO_HEADERS_ALL_EXT_B/TL, PO_LINES_ALL_EXT_B/TL, PO_LINE_LOCATIONS_ALL_EXT_B/TL), are read and updated when a control action is applied or withdrawn. PO_DOCUMENT_TYPES_ALL supplies document-type rules governing which actions are legal, PO_ACTION_HISTORY records the audit trail of control actions, and PO_TBL_VARCHAR30 is referenced as a local collection type.
Usage Notes
PO_MOD_CONTROL_PVT is invoked indirectly. In the standard purchasing forms, header and line actions that place or release a document under modification control route through PO_HEADERS_SV1 and PO_DRAFTS_PVT, which delegate to this package. GET_MOD_VALID_CONTROL_ACTIONS is typically called first to populate the set of enabled actions in the UI, followed by PROCESS_MOD_CONTROL_ACTION or its withdrawn/delete counterparts. Because the package is classified private and has no documented public interface, customizations should call the supported public purchasing APIs rather than this package directly; direct invocation risks bypassing validation and audit logic. The package is present and valid in both EBS 12.1.1 and 12.2.2, where it remains a dependency of the purchasing draft and header validation layers.