Table of Contents

Search

  1. Preface
  2. Backing Up and Restoring the Data Vault
  3. Configuring Centera as a Remote Data Vault Store
  4. Configuring Data Archive for a Legacy Source Using Legacy Adapters
  5. Data Archive Seamless Access for PeopleSoft
  6. Data Archive Transaction Restore API
  7. Dropping and Truncating Partitions in Data Archive
  8. How to Create Business Rules to Archive and Purge Transactional Data
  9. How to Uninstall Data Archive 5.1
  10. How to Uninstall Data Archive 5.3
  11. How to Use Scripts to Change Database User Passwords in the ILM Repository
  12. IBM DB2 Database Connectivity and Setup for Data Archive
  13. Installing Data Visualization
  14. Integrating Third-Party Schedulers in ILM Engine
  15. Parallel Processing in Data Archive
  16. Seamless Access Configuration for Siebel Applications
  17. Seamless Access Setup for Oracle E-Business Suite
  18. Using the Data Vault Service JDBC Driver to Connect to the Data Vault
  19. Using Multiple Engines in an ILM Environment
  20. Using PowerExchange ODBC Connections in a Data Archive Retirement Project
  21. Discovering Foreign Key Relationships in Enterprise Data Manager

Data Archive How-To Guide

Data Archive How-To Guide

The WHERE Condition Type

The WHERE Condition Type

Using our sample business rule, the SQL UPDATE statement for the WHERE condition type would be executed as:
UPDATE interim A SET INVOICE_NOT_CLOSED = 1 WHERE A.invoice_header_id IN (SELECT H.invoice_header_id FROM ap_invoice_header H WHERE H.invoice_status <> ‘ CLOSED’);
In this case the technical representation of the business rule is the sub-select statement that is part of the WHERE clause for the UPDATE statement. This is an example of the "WHERE" condition type when defining business rules in EDM.
However, note that the sub-select queries the entire AP_INVOICE_HEADER table. This has two implications: one, this could be a performance issue to query the entire invoice header table; and two, it is not necessary to query the entire invoice header table, as we are only interested in the invoices that are in the interim table. As a best practice, the SQL UPDATE statement would be written as:
UPDATE interim A SET INVOICE_NOT_CLOSED = 1 WHERE A.invoice_header_id IN (SELECT H.invoice_header_id FROM ap_invoice_header H, interim X WHERE H.invoice_header_id=X.invoice_header_id AND H.invoice_status <> ‘ CLOSED’);
By joining to the interim table we can focus the sub-select query on the ap_invoice_header transactions that are candidates for archive/purge.
Therefore, the business rule INVOICE IS NOT CLOSED for a WHERE condition type would be written as:
A.invoice_header_id IN (SELECT H.invoice_header_id FROM ap_invoice_header H, interim X WHERE H.invoice_header_id=X.invoice_header_id AND H.invoice_status <> ‘ CLOSED’)
The WHERE condition type, therefore, represents the WHERE clause portion of the UPDATE statement. This part of the statement is entered into EDM into the Condition field:
The WHERE condition is the simplest condition type to use, and it should be used at all times whenever possible.