The following lines contain the word 'select', 'insert', 'update' or 'delete':
* successful, the document will be updated at the specified entity level.
* Derives any ID if the ID is NULL, but the matching number is passed in. If
* both the ID and number are passed in, the ID is used. Executes at shipment
* level if the final doc_id, line_id, and line_loc_id are not NULL. Executes
* at line level if only the final doc_id and line_id are not NULL. Executes
* at header level if only the final doc_id is not NULL. The document will be
* printed if it is a PO, PA, or RELEASE, and the p_print_flag is 'Y'. All
* changes will be committed upon success if p_commit is FND_API.G_TRUE.
* Appends to API message list on error, and leaves the document unchanged.
* Returns:
* x_return_status - FND_API.G_RET_STS_SUCCESS if control action succeeds
* FND_API.G_RET_STS_ERROR if control action fails
* FND_API.G_RET_STS_UNEXP_ERROR if unexpected error occurs
*/
PROCEDURE control_document
(p_api_version IN NUMBER,
p_init_msg_list IN VARCHAR2,
p_commit IN VARCHAR2,
x_return_status OUT NOCOPY VARCHAR2,
p_doc_type IN PO_DOCUMENT_TYPES.document_type_code%TYPE,
p_doc_subtype IN PO_DOCUMENT_TYPES.document_subtype%TYPE,
p_doc_id IN NUMBER,
p_doc_num IN PO_HEADERS.segment1%TYPE,
p_release_id IN NUMBER,
p_release_num IN NUMBER,
p_doc_line_id IN NUMBER,
p_doc_line_num IN NUMBER,
p_doc_line_loc_id IN NUMBER,
p_doc_shipment_num IN NUMBER,
p_action IN VARCHAR2,
p_action_date IN DATE,
p_cancel_reason IN PO_LINES.cancel_reason%TYPE,
p_cancel_reqs_flag IN VARCHAR2,
p_print_flag IN VARCHAR2,
p_note_to_vendor IN PO_HEADERS.note_to_vendor%TYPE,
p_use_gldate IN VARCHAR2, --
p_org_id IN NUMBER --
)
IS
l_api_name CONSTANT VARCHAR2(30) := 'control_document';