Mapping record lists to record lists in Integration Server 4

I’m trying to map strings from one record list to another record list, but can’t seem to get it to work the way I’d like it to.

I set up a loop, with the inarray and outarray being set up to the records, Looking at the map, they now appear as single records. From my understanding, that’s how it should be done. I map the strings, and it doesn’t behave as expected.

My end result is a list of pointers to records(?) that show up in the results tab as having the value of “[Lcom.wm.data.IData;@2b361d” (The address is made up here, but varies.)

If I just map across without a loop, I get no results, if I add in a loop, but put no “outarray” then I wind up with only the last record in the list being mapped. Both of those things make sense.

Please, tell me I’m an idiot, and I missed something obvious!

Loop over the first Record List and on each iteration extract the desired data into a temp variable of type Record. The temp record should match the structure of the output Record List. Then call appendToRecordList with the temp record as the ‘from item’.

Good Luck

Thanks.

I found a thread at wmusers.com that addresses the problem. I’ve gone with the “temp record” approach, and it worked like a charm.

Sounds like you’re in good shape with the temp record and appendToList approach. That’ll work fine, but here’s an official tip on the quirk you bumped into:

When building a LOOP step, be sure to specify the out-array variable in the LOOP properties before linking (mapping) to the out-array variable in the body of the LOOP. If you link to the out-array variable first, and then specify that variable as the out-array, the links will appear to be correct but will fail at runtime. If this occurs, the workaround is, to delete the links and recreate them.

Jay Gauthier
Product Development
webMethods, Inc.

I appreciate your advice.Thats cool…