How to pass a list from one BPL to another BPL?
What is the best way to pass a list(collection) of integers from one BPL to another BPL?
Here is what I have now, but this doesn't seem to be working. In the CALL to the other BPL I am trying to pass the EOBList. Not sure what I am doing wrong.
<call name='Call COPYBATCH and Finish' target='CopyBatch and Finish' async='1' xpos='200' ypos='850' >
<request type='MSI.IN835.bp.CopyBatchAndFinishOut' >
<assign property="callrequest.StageBatchId" value="context.tStageBatchId" action="set" />
<assign property="callrequest.Filename" value="request.Source" action="set" />
<assign property="callrequest.EOBList" value="context.tEOBList" action="set" key="context.tEOBID" />
</request>
<response type='Ens.Response' />
</call>
Comments
One thing I see is that you don't need a value for the "key" attribute in the assign for callrequest.EOBList. Key is used to assign the value to a specific member of an array/list whereas it looks like you want to assign the entire list.
Does this work better?
<assign property="callrequest.EOBList" value="context.tEOBList" action="set" key="" />
Are StageBatchId and Filename getting passed correctly?
Yes the StageBatchId and the FileName are being passed but I don't think the EOBList is. I tried it the way you suggested above as well, but when I go and look at the body properties for the message CopyBatchAndFinishOut, the batchid and filename are their but the EOBList has a size of 0, which makes me think that the values in the list aren't getting passed over.