cancel
Showing results for 
Search instead for 
Did you mean: 

Adapter modules: messageTransformBean : error in recordset validation

Former Member
0 Kudos

Hi all,

I am using adapter modules in PI. I have written my own module that checks for a valid key field name on each line of an incoming file, then the messageTransformBean module is called. I took this approach because 'standard' file content conversion ignores lines that don't begin with a valid key field name, and I need to be able to error in this situation.

My module is working just fine, but the messageTransformBean one is not. I'm using the 'structPlain2XML' conversion type, and have two line types (apart from the header and trailer) so the xml.recordsetStructure parameter is Header , 1 , Detail, * , MeterRegisterDetail , * , Trailer, 1 along with the appropriate key field definitions etc. The recordsetSequence is set to variable.

The problem is that files like this:

Header

Detail

MeterRegisterDetail

Detail

MeterRegisterDetail

Trailer

fail for some reason ! It seems to be the repeating Detail that is the problem. The error message in the audit log is:

'Error converting Message: 'java.lang.Exception: ERROR consistency check in recordset structure validation (line no. 4: missing structure(s) before type 'Detail''

A similar setup with say Header,1,Detail, *, Trailer,1 as the resordsetStructure is fine with repeating Details, and if I put in a Trailer record before the second Detail it goes in fine as well !

Any ideas ? I'm pulling my hair out with this one !

Cheers,

Nick

Accepted Solutions (1)

Accepted Solutions (1)

former_member206760
Active Contributor
0 Kudos

Header , 1 , Detail, * , MeterRegisterDetail , * , Trailer, 1

means that header should come first then all the detail structures..then all the MeterRegisterDetail structures and finally trailer..

but the data in the file is not maintaining that sequence

Former Member
0 Kudos

Thanks for the reply, but that's only the case if you don't set a variable record set sequence. I've found the problem though - looking through some old XI documentation it seems the naming convention is not quite the same as standard content conversion, the parameter should be xml.recordsetStructure = var, not recordsetSequence = variable !!!

Anyway, fixed now, so I'm happy. Thanks again.

Former Member
0 Kudos

Actually the parameter is xml.recordsetStructureOrder = var not xml.recordsetStructure = var

Answers (0)