User bio
404 bio not found
Maine, USA
Member since Feb 18, 2016
Posts:
Replies:
With IRIS 2025.1.1 on Windows, I cannot reproduce your issue. Both sets of instructions execute normally.
VS Code Version: 1.105.1 (user setup)
Commit: 7d842fb85a0275a4a8e4d7e040d2625abbf7f084
Date: 2025-10-14T22:33:36.618Z
Electron: 37.6.0
ElectronBuildId: 12502201
Chromium: 138.0.7204.251
Node.js: 22.19.0
V8: 13.8.258.32-electron.0
OS: Windows_NT x64 10.0.19045
ISC ObjectScript Extension 3.2.1-beta.1
ISC Server Manager 3.10.6-beta.3
ISC Language Server 2.8.0
You are correct in that ReplyCodeAction E* does not evaluate the contents of the ACK message MSA segment; it only looks at the IRIS error code and text.
For your specific example, though, I'm wondering why you're not simply setting a condition to exclude invalid messages in the Routing Rule?
.png)
Certifications & Credly badges:


Global Masters badges:







Followers:
Following:
If you're using a custom business process to handle the message, you could perform the truncate in an OnRequest() callback.
If you're using a BPL, you would add an action near the beginning of the process to perform the truncate. The request object will be a single batch object containing a collection of records; the next step would be to iterate over the collection and perform the inserts.
You could do essentially the same thing in a DTL; use an SQL rule at the beginning to truncate, then add a foreach to iterate over the batch and populate the DB.
The key is the fact that your BP is getting all of the records in a single object. So when that object arrives, it's time to truncate the table and repopulate it. You will have to skip the first record if it contains headers, of course.