Search Results po_multi_mod_clause_changes_pk




Overview

The PO_MULTI_MOD_CLAUSE_CHANGES table is a Purchasing (PO) module audit table that records clause-level modifications applied during multi-modification processing in Oracle E-Business Suite. It captures the delta between an original clause (article) version and a replacement version when a buyer performs bulk or multi-line changes to purchasing documents such as purchase orders, agreements, and contracts. In this sense, it functions as a change log for contract terms and clause content, preserving both the "before" and "after" version identifiers of each affected article.

The table resides in the PO schema and is identified by the primary key PO_MULTI_MOD_CLAUSE_CHANGES_PK, defined on the MULTI_MOD_CLAUSE_CHANGES_ID column. It carries a foreign key to PO_MULTI_MOD_REQUESTS (via MULTI_MOD_REQUEST_ID), which ties each clause change back to the parent multi-modification request. Under the heuristic Data Vault classification derived from the foreign-key structure, this object is described as a standalone satellite-style record: it holds descriptive, time-stamped change attributes associated with a driving business event (the multi-mod request) rather than serving as a hub or link of independent business entities. This classification is offered only as a modeling suggestion.

Key Information Stored

The documented physical schema contains eleven columns. The most significant are:

  • MULTI_MOD_CLAUSE_CHANGES_ID — surrogate primary key uniquely identifying each clause-change record.
  • MULTI_MOD_REQUEST_ID — foreign key linking the clause change to its parent multi-modification request; the principal business-key candidate for associating a change to its originating process.
  • CLAUSE_ACTION_CODE — indicates the type of action performed on the clause (for example, add, update, or delete).
  • OLD_ARTICLE_VERSION_ID — identifier of the article version prior to the change.
  • NEW_ARTICLE_VERSION_ID — identifier of the article version after the change, enabling before/after comparison.
  • REQUEST_ID — the concurrent request or process identifier under which the change was executed.
  • LAST_UPDATE_DATE, LAST_UPDATED_BY, LAST_UPDATE_LOGIN — standard audit columns capturing who changed the record and when.
  • CREATION_DATE, CREATED_BY — audit columns recording the initial insertion of the row.

The surrogate key distinguishes rows internally, while MULTI_MOD_REQUEST_ID combined with the article version columns typically identifies the business meaning of a given change.

Common Use Cases and Queries

Typical uses include auditing contract clause changes, reconstructing the history of a clause across a multi-modification operation, and troubleshooting why a document's terms changed after a bulk update. A representative query retrieves all clause changes for a given request:

SELECT clause_action_code, old_article_version_id, new_article_version_id
FROM   po.po_multi_mod_clause_changes
WHERE  multi_mod_request_id = :request_id
ORDER  BY creation_date;

To trace changes by user and time, filtering on LAST_UPDATED_BY and LAST_UPDATE_DATE supports audit reporting. Joining to PO_MULTI_MOD_REQUESTS yields the context of the parent process for each modification.

Related Objects

  • PO_MULTI_MOD_REQUESTS — parent request table; join on MULTI_MOD_REQUEST_ID.
  • PO_ARTICLES / PO_ARTICLE_VERSIONS — source of the article version identifiers referenced by the OLD and NEW version columns.
  • PO_HEADERS_ALL — purchasing document headers affected by the modifications.
  • PO_LINES_ALL — line-level data for the affected documents.
  • PO_CLAUSES and related clause setup tables — define the clauses whose versions appear in this table.
  • FND_CONCURRENT_REQUESTS — resolves the REQUEST_ID to the concurrent program execution.

Together with these objects, PO_MULTI_MOD_CLAUSE_CHANGES provides a durable, auditable record of clause-level changes generated through Oracle Purchasing's multi-modification framework.