cancel
Showing results for 
Search instead for 
Did you mean: 

Message Mapping vs Interface Mapping test tabs giving different results.

Former Member
0 Kudos

Hi all,

I am developing an interface that always requires an output file to be created (even if there is no data). I have found a way to change my select statement in the JDBC sender to initiate the message even if there isn't any data (using UNION select -1 ID, '' col1, '' col2, etc.) and that seems to work fine. I then put logic in the message mapping to suppress the row that contains the -1 ID value, which would result in an empty file when there is no other data, and should result in a file containing only the correct data when there is data.

So, my problem: I am always getting empty files with this logic. I tested the logic in the message mapping test tab and it worked perfectly, however when I test it using the interface mapping test tab it results in what becomes an empty file!

My source and destination structures are fairly simple:

Root

--row

-


ID

-


col1

-


col2

-


...

The logic I use to suppress the ID = -1 row is:

=removeContexts([]ifWithoutElse([keepss=true]Not([]equalsS([]ID, Constant([value=-1]))), SplitByValue([type=Each value]row)))

Obviously, I'm stumped - any help would be appreciated!

Edited by: Mike Morrison on Sep 23, 2010 5:04 PM

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi Mike,

Can you quote the error log..u r getting error in message mappin or interface mapping?

Please suggest the test results for both the mappings.

Thanks,

Sushama

Answers (2)

Answers (2)

Former Member
0 Kudos

Turns out I needed to change the logic for suppressing the row. Although it produced the exact same queue in the message map, using the logic below worked:

=createIf([]Not([]equalsS([]ID, Constant([value=-1]))))

0 Kudos

May be you need to re- activate your objects: Service Interfaces, Operation Mapping and re-assign Service Interfaces in Operation Mapping.