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. High Availability Configuration for the Data Archive and File Archive Service Versions 6.1 to 6.3
  9. 0955-High Availability Configuration for the Data Vault Version 6.4 and Later
  10. How to Create Business Rules to Archive and Purge Transactional Data
  11. How to Uninstall Data Archive 5.1
  12. How to Uninstall Data Archive 5.3
  13. How to Use Scripts to Change Database User Passwords in the ILM Repository
  14. IBM DB2 Database Connectivity and Setup for Data Archive
  15. Installing Data Visualization
  16. Integrating Third-Party Schedulers in ILM Engine
  17. Parallel Processing in Data Archive
  18. Seamless Access Configuration for Siebel Applications
  19. Seamless Access Setup for Oracle E-Business Suite
  20. Using the Data Vault Service JDBC Driver to Connect to the Data Vault
  21. Using Multiple Engines in an ILM Environment
  22. Using PowerExchange ODBC Connections in a Data Archive Retirement Project
  23. 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.