Siebel EIM >  EIM-00422: No rows in given batch to process - EIM behavior

EIM-00422: No rows in given batch to process” - EIM behavior

APPLIES TO:

Product Release: V7 (Enterprise)
Version: 7.0.4 [14068] ITA Com/Med/Engy
Database: Oracle 8.1.7.4
Application Server OS: Microsoft Windows 2000 Server SP 2
Database Server OS: HP-UX 11i

This document was previously published as Siebel SR 38-833532951.


SYMPTOMS
We have a strange behaviour during the execution of EIM loading.
When we use the srvmgr command line using a parameter file that contains the list of batches, we have this problem:

if there are no rows for a specific batch number (eim_asset), the srvmgr exits with an error. If there are no rows for a specific batch number (accounts), the srvmrg goes ahead.

We attached
- two ifb files
- parameter files
- log files
- cmd

Is it possible to ignore the error returned by task EIM ?

SOLUTION

For the benefit of other readers:

Original issue:
Customer was running EIM ( Enterprise Integration Manager ) imports using the EIM_ASSET interface table and the EIM_ACCOUNT interface table.

The EIM task exited with the following error when importing Assets where no records exist for given batch:
-----------------------------------
srvrmgr:S704> Run task for component EIM with config=insert_asset_at.ifb, batch=1971

Run task for component EIM with config=insert_asset_at.ifb, batch=1971
SVR-01042: Internal: Communication protocol error while instantiating new task
EIM-00422: No rows in given batch to process.
-----------------------------------

And the EIM task completed without giving an error message when importing Accounts even though no records are present in current batch:
-----------------------------------
srvrmgr:S704> Run task for component EIM with config=insert_account.ifb, batch=1971

Command completed successfully.
-----------------------------------


Resolution:
The "EIM-00422: No rows in given batch to process." error message is not a critical error message and it can be ignored. The EIM task is just reporting that no records exist for the given batch number, and therefore no records will be processed by the current EIM task.

But customer was running EIM imports using the srvrmgr command line utility with options /i (input file) and /b.

 

If an EIM task is invoked with the /b option then the srvrmgr program exits if an error is reported by the executed task. EIM will then not continue with the remaining tasks listed in the input file

If the /b option is skipped then the srvrmgr program will continue even though an error is reported by one of the run EIM tasks.

The problem with the /b option is that it does not distinguish between critical and non-critical error message, it just exits if one of the EIM tasks completes with an EIM-xxxxx error message. If the EIM task is run without the /b option then it will also continue if more critical errors occur.

The input file should not include a command for running an EIM task with a batch that does not include records to process. This would then prevent EIM from reporting the EIM-00422 error message, and the srvrmgr program (when run with the /b option) will only exit if other more critical errors happen.