Search Results crosslinked_option_exist
Overview
PO_AUTOCREATE_UTIL_PVT is a private (PVT) PL/SQL package in the Oracle E-Business Suite Purchasing module, owned by the APPS schema. It provides the internal utility layer that supports the Purchasing Autocreate workflow, the process by which approved requisition demand is automatically converted into purchase order or blanket agreement documents. The package name and its member subprograms indicate responsibility for managing the transient "builder" state used by the Autocreate user interface and concurrent processing, synchronizing requisition lines into that working set, and locking the requisition lines that have been placed in the autocreate pool. Because the package is classified as PVT, its subprograms are intended for consumption by other Oracle Purchasing packages and forms rather than for direct customer invocation. In the ETRM 12.2.2 metadata, seven procedures and functions are documented, and the package is referenced by one other package, indicating tight coupling with the Autocreate form and its supporting APIs.
Key Procedures and Functions
- synchronize_builder_reqs — Reconciles the Autocreate builder working set with the current set of requisition lines identified by the caller. It accepts a key and a numeric requisition list, and aligns persisted builder state with the supplied demand.
- add_req_lines_gt — A function that inserts requisition lines into the global temporary table used as the autocreate builder and returns a numeric result, typically a status or count indicator.
- clear_builder_reqs_gt — Removes the requisition lines associated with the supplied key from the builder global temporary table, resetting the transient working set. This is the routine most frequently referenced by users searching for "clear_builder_reqs_gt", since it governs how the Autocreate builder is emptied between operations or sessions.
- get_and_lock_req_lines_in_pool — Retrieves requisition lines that reside in the autocreate pool and, based on the lock-records flag, places locks on them. It returns the in-pool line identifiers and a status indicator describing the lock outcome.
- crosslinked_option_exist — Determines whether a crosslinked option exists for the requisition or line context, supporting validation rules in the Autocreate flow.
- is_crosslinked_child — Evaluates whether a given record participates as a child in a crosslinked configuration, used to control editability and processing behavior.
- is_par_option_line_editable — Reports whether a line associated with a purchasing option is editable, enforcing the rules that govern which demand can be modified during autocreation.
Tables Accessed
The package operates against the following documented tables and objects, referenced through APPS synonyms. PO_REQUISITION_LINES_ALL is the base requisition line entity from which autocreate demand is sourced. PO_LINES_DRAFT_ALL stores draft purchase order lines created during the autocreate builder session before final document creation. PO_SESSION_GT is a global temporary table holding session-scoped autocreate working data. FND_LOG_MESSAGES is used for diagnostic logging through the FND logging framework. DUAL is used for trivial single-row evaluations. PLITBLM is the PL/SQL integer table type used to pass collections of numeric identifiers. Together these objects support the staging, locking, and validation of requisition lines through the autocreate process.
Usage Notes
PO_AUTOCREATE_UTIL_PVT is invoked internally by the Purchasing Autocreate form and its companion packages during document builder sessions, and by concurrent programs that perform automatic document creation from requisitions. Because it is a PVT API, standard practice is to invoke it only from other Oracle Purchasing code, not from custom extensions. Customers requiring controlled autocreate behavior should use the supported Autocreate concurrent programs or the documented public APIs, leaving PO_AUTOCREATE_UTIL_PVT to manage builder synchronization, pool locking, crosslink validation, and global temporary table cleanup such as clear_builder_reqs_gt.