EIM EXPORT / DELETE functionality for S_PARTY siebel base tables

After the introduction of the S_PARTY table in Siebel version 7 tables such as S_ORG_EXT and S_CONTACT has become extension tables to the S_PARTY table. Tables such as S_ORG_EXT and S_CONTACT are no longer the target tables of Interface Tables such as EIM_ACCOUNT and EIM_CONTACT.

Although the Enterprise Integration Manager (EIM) functionality has not changed in Siebel version 7 and 8, the data model changes mentioned above may have a significant impact on the expected results of EXPORT and DELETE processing carried out by EIM. This is because tables such as S_ORG_EXT and S_CONTACT are no longer the target tables of the Account and Contact Interface Tables. EXPORT and DELETE functionality operate from the target table (S_PARTY) and then cascades down to the "children" tables (S_ORG_EXT, S_CONTACT etc).
This causes the following behavior to occur:

EXPORT ALL ROWS = TRUE will cause all records (regardless of "party type") from the S_PARTY table to be exported to the specified Interface Table.

EXPORT MATCHES

Following syntax should be used for all base tables where target base table is S_PARTY table:
(1) For example, for exporting data into EIM_ACCOUNT table, the following syntax may be used:

[Export Accounts]
TYPE = EXPORT
BATCH = 1
TABLE = EIM_ACCOUNT
EXPORT MATCHES = S_ORG_EXT, (NAME Like 'Siebel%')

Note that during export process, multiple records may be exported into EIM_ACCOUNT table depending on the number of dependent objects for the Party object.

For DELETE MATCHES process, the following syntax may be used:

[Delete Accounts]
TYPE = EXPORT
BATCH = 1
TABLE = EIM_ACCOUNT
DELETE MATCHES = S_ORG_EXT, (CREATED > '2002-07-10')

Note that records will always be cascade deleted starting from matching S_PARTY record.

(2) If an EXPORT MATCHES criteria is to be specified against the S_PARTY table, then the table name is required:

[Export Accounts]
TYPE = EXPORT
BATCH = 1
TABLE = EIM_ACCOUNT
EXPORT MATCHES = S_PARTY, (CREATED > '2002-07-10')

(3) For all other interface tables where base tables is not S_PARTY, syntax for EXPORT MATCHES or DELETE MATCHES remains the same as in previous versions:

EXPORT MATCHES = (CREATED > '2002-05-01')
DELETE MATCHES = EIM_ACTIVITY, (CREATED > '2002-05-01')

DELETE EXACT should be used with caution if carried out in conjunction with the EXPORT processing described above. This is because EXPORT will export all records from the S_PARTY table to the specified Interface Table, if the specific party type is not provided. If this is followed by an EIM DELETE task, it will result in the deletion of all the S_PARTY rows followed by a cascade delete of all child rows. If using EXPORT and then DELETE EXACT, ensure that only those records in S_PARTY that to be deleted, get exported. As described above, if the match criterion for EXPORT is not specific enough, then unintended records might be exported and deleted. An alternative to the "EXPORT then DELETE" approach is to use SQL to select records in S_PARTY to be deleted into the interface table followed by DELETE EXACT.

DELETE MATCHES should be used to remove data from the S_PARTY table - as documented in the EIM Administration Guide; however caution should be applied based on the recommendations made above

Tags