cancel
Showing results for 
Search instead for 
Did you mean: 

send multiple records to rfc without using BPM

Former Member
0 Kudos

Dear Experts,

Could you please help on the following scenario.

I need to send multiple customer master data records from a file to rfc without using BPM.

The following is the mapping i am using

source Target( RFC)

====== =============

Tree occurance type Tree occurance

cust_mt 1..1

customer 0..unbound -


> ztest_cust( rfc ) 1..1

cname 1..1 -


> cname 0..1

cno 1..1 -


> cno 0..1

bank -


> bank 0..1

item : 0..unbound

code -


> code 0..1

name -


> name 0..1

location -


> location 0..1

1. Multiple banks possible for one customer

2. Multiple customers possible in datafile from mdm

Problem 1:Only one customer record from file is being sent to RFC thouth many records are in the file, the second, third .. and so on records not being sent to rfc.

Problem 2:

if add o.. unbound for the rfc occurance, <messages>,<message1> tags are getting added in message mapping, and no single customer record sent to rfc..

Your help is rewarded with good points.

Appreciate your help.

Thanks.

sravya.

Accepted Solutions (1)

Accepted Solutions (1)

sunil_singh13
Active Contributor
0 Kudos

Hi Sravya,

Whenever you choose 0.unbounded in MEssage tab of MM

structure like

Messages

Messages1

with occurence one to one will appeare.

Make sure that you have not mapped these two fields else you will get mapping exception

because your message that will enter into XI will not have these two tags so if these two fields with 1-1 are mapped and they does not appeare in input it will throw exception so leave them without mapping. XI will take care of that as it is appended by XI only.

How you will MAP :

you will have o.......unbounded occurence of <CUSTOMER> at source side and o.....unbounded for RFC .it will come Automatocally when you will select o.unbounded in Message of MM

Map Source root with 0......Unbounded occuernce of Target RFC's root node . So it will crate that many no. of RFC node at the Target side.

USe BPM :

Exception can be easly raised,

No need to use Inhanced MApping for this purpose.

Now Comming to final and main Design

take a block in mode ForEach(can be found in Block Property).

Take a send step and make it synch.

Consider Four Nodes Of RFC Root are Created at Target side

So with the setting For each they will be Considered as a Individual messages rather than Considering it as Whole as one message.

Also Block will Ask you for Multiline Element and Current Element.

You should have a Conatiner two VAriable that will contain the Message Type of RFC Declare one as Multiline and other as normal.

Give Multiline Variable in Multiline Element Option and The NOrmal One as a Current Element

So it will Come to know what it has to do.

Now You will get Response to every Record(Customer Info)

You have to collect these Mwessages in Container .

USe Mapping to View in Desire Formate.

REvert if Not Cleare

Reward Points if HElpful

Thanks

Sunil Singh

Former Member
0 Kudos

Sanjeev & Sunilsingh,

I appreciate your help. I am almost there to close it, message split is happening completely for first record in message now, but for second record , </BANK> TAG in target structure is comming empty, though there is data for that field in source message.

For your help.

Source Message:

<ns0:CUST_MT xmlns:ns0="http://ca.com/xi/MDEApplicationContent">

<CUSTOMER>

<CNAME>zname1</CNAME>

<CNO>zcno1</CNO>

<BANK>

<CODE>zbankcode1</CODE>

<NAME>zbankname1</NAME>

<LOCATION>zlocation1</LOCATION>

</BANK>

<BANK>

<CODE>zbankcode2</CODE>

<NAME>zbankname2</NAME>

<LOCATION>zlocation2</LOCATION>

</BANK>

</CUSTOMER>

<CUSTOMER>

<CNAME>zname2</CNAME>

<CNO>zcno2</CNO>

<BANK>

<CODE>zbankcode21</CODE>

<NAME>zbankname21</NAME>

<LOCATION>zlocation</LOCATION>

</BANK>

<BANK>

<CODE>zbankcode221</CODE>

<NAME>zbankname221</NAME>

<LOCATION>zlocation22</LOCATION>

</BANK>

</CUSTOMER>

</ns0:CUST_MT>

Output Message 1:

<?xml version="1.0" encoding="utf-8" ?>

- <ns2:ZTEST_CUST xmlns:ns2="urn:sap-com:document:sap:rfc:functions">

<CNAME>zname1</CNAME>

<CNO>zcno1</CNO>

- <BANK>

- <item>

<CODE>zbankcode1</CODE>

<NAME>zbankname1</NAME>

<LOCATION>zlocation1</LOCATION>

</item>

- <item>

<CODE>zbankcode2</CODE>

<NAME>zbankname2</NAME>

<LOCATION>zlocation2</LOCATION>

</item>

</BANK>

</ns2:ZTEST_CUST

Output Message 2

==============

<?xml version="1.0" encoding="utf-8" ?>

- <ns2:ZTEST_CUST xmlns:ns2="urn:sap-com:document:sap:rfc:functions">

<CNAME>zname2</CNAME>

<CNO>zcno2</CNO>

<BANK />

</ns2:ZTEST_CUST>

Mapping: ( did not use any functions in mapping)

source Target( RFC)

====== =============

Tree occurance type Tree occurance

cust_mt 1..1

customer 0..unbound -


> ztest_cust( rfc ) 0..unbound

cname 1..1 -


> cname 0..1

cno 1..1 -


> cno 0..1

Bank 0.. unbound -


> Bank 0..1

-


> item : 0..unbound

code -


> code 0..1

name -


> name 0..1

location -


> location 0..1

Note:

I have mapped

(Source)Bank 0.. unbound --->(Target) Bank(0..1)

(Source)Bank 0.. unbound --->(Target) Item(0..unbound)

Please help me to come out of this issue, i appreciate your help.

Thanks and Regards.

Sravya.

former_member194786
Active Contributor
0 Kudos

Hi Sravya,

It seems to be some context problem as the Bank node on the source side seems to have no values. Try using splitByValue and RemoveContext functions.

Regards,

Sanjeev.

Former Member
0 Kudos

HI Sanjeev,

Thanks a lot Sanjeev and Sunil Singh. My problem is resolved.

I appreciate your help.

Best Regards.

Sravya.

Answers (2)

Answers (2)

Former Member
0 Kudos

Hi,

u go with the option(1) what Jai Shankar had given and at the same time use Node Functions, in node functions use REMOVE CONTEXT function, so that u problem will be rectified.

Source filed -


>Remove Context----


>Target field.

U try to do the mapping like above mentioned.

VijayKonam
Active Contributor
0 Kudos

Sravya,

After importing the RFC in to PI, take the WSDL from there and edit the occurances in WSDL. Now upload this WSDL as external definition. Then use it in the mapping. It should solve the problem.

Otherwise is have your RFC changed to take multiple customer details in one go as input.

VJ

Former Member
0 Kudos

Hi VJ,

Thank you for the immediate reply.

one more thing, when i tried to change the occurences of ztest_cust( rfc) to 0..unbound,

I am not seeing the occurances updated in the imported rfc structure.

The following is the wsdl for rfc, could you please help me to add occurances 0..unbound.

Thanks a lot.

sraya.

<?xml version="1.0" encoding="ISO-8859-1"?>

<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:rfc="urn:sap-com:document:sap:rfc:functions" name="ZTEST_CUST" targetNamespace="urn:sap-com:document:sap:rfc:functions">

<wsdl:documentation>

test for mdm

</wsdl:documentation>

<wsdl:types>

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="urn:sap-com:document:sap:rfc:functions" targetNamespace="urn:sap-com:document:sap:rfc:functions">

<xsd:element name="ZTEST_CUST">

<xsd:complexType>

<xsd:all>

<xsd:element name="CNAME" minOccurs="0">

<xsd:simpleType>

<xsd:restriction base="xsd:string">

<xsd:maxLength value="10" />

</xsd:restriction>

</xsd:simpleType>

</xsd:element>

<xsd:element name="CNO" minOccurs="0">

<xsd:simpleType>

<xsd:restriction base="xsd:string">

<xsd:maxLength value="10" />

</xsd:restriction>

</xsd:simpleType>

</xsd:element>

<xsd:element name="BANK" minOccurs="0">

<xsd:complexType>

<xsd:sequence>

<xsd:element name="item" type="ZST_CUST" minOccurs="0" maxOccurs="unbounded" />

</xsd:sequence>

</xsd:complexType>

</xsd:element>

</xsd:all>

</xsd:complexType>

</xsd:element>

<xsd:element name="ZTEST_CUST.Response">

<xsd:complexType>

<xsd:all>

<xsd:element name="BANK" minOccurs="0">

<xsd:complexType>

<xsd:sequence>

<xsd:element name="item" type="ZST_CUST" minOccurs="0" maxOccurs="unbounded" />

</xsd:sequence>

</xsd:complexType>

</xsd:element>

</xsd:all>

</xsd:complexType>

</xsd:element>

<xsd:complexType name="ZST_CUST">

<xsd:sequence>

<xsd:element name="CODE" minOccurs="0">

<xsd:simpleType>

<xsd:restriction base="xsd:string">

<xsd:maxLength value="60" />

</xsd:restriction>

</xsd:simpleType>

</xsd:element>

<xsd:element name="NAME" minOccurs="0">

<xsd:simpleType>

<xsd:restriction base="xsd:string">

<xsd:maxLength value="60" />

</xsd:restriction>

</xsd:simpleType>

</xsd:element>

<xsd:element name="LOCATION" minOccurs="0">

<xsd:simpleType>

<xsd:restriction base="xsd:string">

<xsd:maxLength value="60" />

</xsd:restriction>

</xsd:simpleType>

</xsd:element>

</xsd:sequence>

</xsd:complexType>

</xsd:schema>

</wsdl:types>

<wsdl:message name="ZTEST_CUST.Input">

<wsdl:part name="parameters" element="rfc:ZTEST_CUST" />

</wsdl:message>

<wsdl:message name="ZTEST_CUST.Output">

<wsdl:part name="parameters" element="rfc:ZTEST_CUST.Response" />

</wsdl:message>

<wsdl:portType name="ZTEST_CUST.PortType">

<wsdl:operation name="ZTEST_CUST">

<wsdl:input message="rfc:ZTEST_CUST.Input" />

<wsdl:output message="rfc:ZTEST_CUST.Output" />

</wsdl:operation>

</wsdl:portType>

<wsdl:binding name="ZTEST_CUST.SAPBinding" type="rfc:ZTEST_CUST.PortType">

<rfc:binding style="rfc" />

<rfc:type name="ZST_CUST">

<ifr:container xmlns:ifr="urn:sap-com:ifr:v2:metamodel" xmlns:xlink="http://www.w3.org/1999/xlink">

<ifr:descriptor>

<ifr:description language="EN">

test

</ifr:description>

</ifr:descriptor>

<ifr:properties>

<ifr:sourceSystem />

<ifr:sourceClient>

020

</ifr:sourceClient>

<ifr:release>

640

</ifr:release>

<ifr:category>

structure

</ifr:category>

<ifr:unicode1>

true

</ifr:unicode1>

<ifr:unicode2>

true

</ifr:unicode2>

<ifr:isFlatStructure>

true

</ifr:isFlatStructure>

</ifr:properties>

<ifr:definition>

<ifr:internalLength1>

180

</ifr:internalLength1>

<ifr:internalLength2>

360

</ifr:internalLength2>

<ifr:fields>

<ifr:field name="CODE" category="simple">

<ifr:descriptor />

<ifr:properties>

<ifr:helpValuesSupported>

false

</ifr:helpValuesSupported>

<ifr:offset1>

0

</ifr:offset1>

<ifr:offset2>

0

</ifr:offset2>

</ifr:properties>

<ifr:definition>

<ifr:scalarType>

<ifr:definition>

<ifr:type>

CHAR

</ifr:type>

<ifr:abapType>

C

</ifr:abapType>

<ifr:length>

60

</ifr:length>

<ifr:internalLength1>

60

</ifr:internalLength1>

<ifr:internalLength2>

120

</ifr:internalLength2>

<ifr:decimals>

0

</ifr:decimals>

</ifr:definition>

</ifr:scalarType>

</ifr:definition>

</ifr:field>

<ifr:field name="NAME" category="simple">

<ifr:descriptor />

<ifr:properties>

<ifr:helpValuesSupported>

false

</ifr:helpValuesSupported>

<ifr:offset1>

60

</ifr:offset1>

<ifr:offset2>

120

</ifr:offset2>

</ifr:properties>

<ifr:definition>

<ifr:scalarType>

<ifr:definition>

<ifr:type>

CHAR

</ifr:type>

<ifr:abapType>

C

</ifr:abapType>

<ifr:length>

60

</ifr:length>

<ifr:internalLength1>

60

</ifr:internalLength1>

<ifr:internalLength2>

120

</ifr:internalLength2>

<ifr:decimals>

0

</ifr:decimals>

</ifr:definition>

</ifr:scalarType>

</ifr:definition>

</ifr:field>

<ifr:field name="LOCATION" category="simple">

<ifr:descriptor />

<ifr:properties>

<ifr:helpValuesSupported>

false

</ifr:helpValuesSupported>

<ifr:offset1>

120

</ifr:offset1>

<ifr:offset2>

240

</ifr:offset2>

</ifr:properties>

<ifr:definition>

<ifr:scalarType>

<ifr:definition>

<ifr:type>

CHAR

</ifr:type>

<ifr:abapType>

C

</ifr:abapType>

<ifr:length>

60

</ifr:length>

<ifr:internalLength1>

60

</ifr:internalLength1>

<ifr:internalLength2>

120

</ifr:internalLength2>

<ifr:decimals>

0

</ifr:decimals>

</ifr:definition>

</ifr:scalarType>

</ifr:definition>

</ifr:field>

</ifr:fields>

</ifr:definition>

</ifr:container>

</rfc:type>

<wsdl:operation name="ZTEST_CUST">

<ifr:container xmlns:ifr="urn:sap-com:ifr:v2:metamodel" xmlns:xlink="http://www.w3.org/1999/xlink">

<ifr:descriptor>

<ifr:description language="EN">

test for mdm

</ifr:description>

</ifr:descriptor>

<ifr:properties>

<ifr:sourceSystem />

<ifr:sourceClient>

020

</ifr:sourceClient>

<ifr:release>

640

</ifr:release>

<ifr:package>

$TMP

</ifr:package>

<ifr:akhNode />

<ifr:released>

external

</ifr:released>

<ifr:outbound>

false

</ifr:outbound>

<ifr:synchronous>

true

</ifr:synchronous>

<ifr:asynchronous>

false

</ifr:asynchronous>

<ifr:unicode1>

true

</ifr:unicode1>

<ifr:unicode2>

true

</ifr:unicode2>

</ifr:properties>

<ifr:definition>

<ifr:parameters>

<ifr:parameter name="CNAME">

<ifr:descriptor>

<ifr:description language="EN">

Character Field Length = 10

</ifr:description>

</ifr:descriptor>

<ifr:definition>

<ifr:scalarType name="CHAR10">

<ifr:properties>

<ifr:helpValuesSupported>

false

</ifr:helpValuesSupported>

<ifr:fixedValuesListDefined>

false

</ifr:fixedValuesListDefined>

<ifr:mixedCaseSupported>

false

</ifr:mixedCaseSupported>

<ifr:signedNumber>

false

</ifr:signedNumber>

</ifr:properties>

<ifr:definition>

<ifr:type>

CHAR

</ifr:type>

<ifr:abapType>

C

</ifr:abapType>

<ifr:length>

10

</ifr:length>

<ifr:internalLength1>

10

</ifr:internalLength1>

<ifr:internalLength2>

20

</ifr:internalLength2>

<ifr:decimals>

0

</ifr:decimals>

<ifr:outputLength>

10

</ifr:outputLength>

</ifr:definition>

</ifr:scalarType>

</ifr:definition>

<ifr:properties>

<ifr:direction>

in

</ifr:direction>

<ifr:class>

import

</ifr:class>

<ifr:type>

scalar

</ifr:type>

<ifr:optional>

true

</ifr:optional>

<ifr:basedOnDictionaryReference>

true

</ifr:basedOnDictionaryReference>

</ifr:properties>

</ifr:parameter>

<ifr:parameter name="CNO">

<ifr:descriptor>

<ifr:description language="EN">

Character Field Length = 10

</ifr:description>

</ifr:descriptor>

<ifr:definition>

<ifr:scalarType name="CHAR10">

<ifr:properties>

<ifr:helpValuesSupported>

false

</ifr:helpValuesSupported>

<ifr:fixedValuesListDefined>

false

</ifr:fixedValuesListDefined>

<ifr:mixedCaseSupported>

false

</ifr:mixedCaseSupported>

<ifr:signedNumber>

false

</ifr:signedNumber>

</ifr:properties>

<ifr:definition>

<ifr:type>

CHAR

</ifr:type>

<ifr:abapType>

C

</ifr:abapType>

<ifr:length>

10

</ifr:length>

<ifr:internalLength1>

10

</ifr:internalLength1>

<ifr:internalLength2>

20

</ifr:internalLength2>

<ifr:decimals>

0

</ifr:decimals>

<ifr:outputLength>

10

</ifr:outputLength>

</ifr:definition>

</ifr:scalarType>

</ifr:definition>

<ifr:properties>

<ifr:direction>

in

</ifr:direction>

<ifr:class>

import

</ifr:class>

<ifr:type>

scalar

</ifr:type>

<ifr:optional>

true

</ifr:optional>

<ifr:basedOnDictionaryReference>

true

</ifr:basedOnDictionaryReference>

</ifr:properties>

</ifr:parameter>

<ifr:parameter name="BANK">

<ifr:descriptor>

<ifr:description language="EN">

test bank type

</ifr:description>

</ifr:descriptor>

<ifr:definition>

<ifr:complexType xmlns:xlink="http://www.w3.org/1999/xlink" name="ZST_CUST" type="structure" xlink:role="type" xlink:href="/Content?TYPE=type&amp;NAME=ZST_CUST" />

</ifr:definition>

<ifr:properties>

<ifr:direction>

inout

</ifr:direction>

<ifr:class>

tables

</ifr:class>

<ifr:type>

structure

</ifr:type>

<ifr:optional>

true

</ifr:optional>

<ifr:basedOnDictionaryReference>

true

</ifr:basedOnDictionaryReference>

</ifr:properties>

</ifr:parameter>

</ifr:parameters>

</ifr:definition>

</ifr:container>

</wsdl:operation>

</wsdl:binding>

</wsdl:definitions>

Former Member
0 Kudos

hi,

As told by VJ u need to re import it as external definition...

i think u r not doing this...thats why it is not changed.

Regards.

Former Member
0 Kudos

Chaitanya and VJ,

Please do not give wrong solutions if you are not sure about your answers. Atleast mention that you are unsure. An imported RFC definition can/should not be edited and reimported. This will not solve the issue.

The solution to the problem is simple.

Option 1 : Multimapping. Change the occurance of RFC from 1..1 to 1..unbounded in both the Message Mapping and Interface Mapping. You need to use the Messages tab in MM to do this. Search in SDN for "Mutimapping with out BPM". You will find a noce weblog explaining the steps.

The problem with this approach is, it will generate as many RFC calls to the R/3 as the number of records.

Option 2: Change the RFC signature and take the import parameters as table values so you could pass mutiple records din a single RFC call.

Regards,

Jaishankar

Former Member
0 Kudos

Hi Jaishankar,

Thanks much for the options provided. I need the 1st option to proceed, as I need to get response for every rfc call per record.

I have changed the 0..unbound in Interface/message mapping, but not understanding how to map exactly source to target.

If you get a chance, could you please share with me some threads or any other.

I appreciate your help and reward soon.

Thanks a lot.

Sravya

Former Member
0 Kudos

Sravya,

Your source is File. Correct? If so, you can not catch the response of RFC back since File adapter is asynchronous. The simplest way is to use a BPM.

There are modules available to do a bridge Asynch-Synch interfaces. Though this you can avoid BPM from your design. If you are looking for this solution, search in WIKI. There are articles "File-RFC-File with out BPM.

Mapping part - Did you get the weblog "Multimapping with out BPM". That could serve as a starting point.

P.S: You dont need to mention about points. To me a word "thanks" means more than these points.

Regards,

Jaishankar

Former Member
0 Kudos

Hi Jaishankar,

Thanks a lot for all the help.

I am using file-to-rfc-to-file scenario with out bpm, provided by kiwi.

Using adapter module i am able to get response for one customer record in file.

Now i am trying for multiple customer records in the same file and also one customer having multiple banks.

I need to send each customer on rfc call to get the status back for that customer.

The following is the structure.

<?xml version="1.0" encoding="UTF-8"?>

<ns0:Messages xmlns:ns0="http://sap.com/xi/XI/SplitAndMerge">

<ns0:Message1>

<ns1:CUST_MT xmlns:ns1="http://ca.com/xi/MDEApplicationContent">

<customer>

<CNAME>112</CNAME>

<CNO>222</CNO>

<BANK>

<CODE>2234</CODE>

<NAME>444</NAME>

<LOCATION>44444</LOCATION>

</BANK>

<BANK>

<CODE>552234</CODE>

<NAME>444</NAME>

<LOCATION>44444</LOCATION>

</BANK>

</customer>

<customer>

<CNAME>6112</CNAME>

<CNO>27722</CNO>

<BANK>

<CODE>72234</CODE>

<NAME>7444</NAME>

<LOCATION>744444</LOCATION>

</BANK>

<BANK>

<CODE>7552234</CODE>

<NAME>7444</NAME>

<LOCATION>7744444</LOCATION>

</BANK>

</customer>

</ns1:CUST_MT>

</ns0:Message1>

</ns0:Messages>

I am doing wrong in the mapping.

Appreciate your help.

Thanks a lot.

Sravya.

former_member194786
Active Contributor
0 Kudos

Hi Sravya,

In case you are using multimapping, you need to remove the tags:

<ns0:Messages xmlns:ns0="http://sap.com/xi/XI/SplitAndMerge">

<ns0:Message1>

and the corresponding closing tags. Otherwise you will get an error Multimapping could not produce multiple targets.

Regards,

Sanjeev.

Former Member
0 Kudos

Sravya,

I am not sure if you could catch multiple responses from the RFC with out a BPM. I have never tried this to be sure.

Regards,

Jaishankar

Former Member
0 Kudos

Hi Jaishanker,

Thanks much for the reply.

My scenario is (mdm) file --> XI --> (ECC / RFC ) -->file

MDM <---- file <----- Response

One more quick question, When XI failed to connect to RFC , Can we send the failed status to MDM in this case.If so how can we catch the error in xi.

Appreciate your help.

Thanks a lot.

Sravya.

Former Member
0 Kudos

>>One more quick question, When XI failed to connect to RFC , Can we send the failed status to MDM in this case.If so how can we catch the error in xi.

You can do it using the standard way. "Alerts".

Using alerts you can catch the errors both at SXMB_MONI and the ones you see in CC monitor. This error message can be sent as an email to the respective teams.

Regards,

Jaishankar

Former Member
0 Kudos

Hi Jaishankar,

Thank you for the reply. I appreciate it.

I am trying to change OCCURANCES for RFC as you said in OPTION1, <messagetags> getting appended to the actual structure.

In this case The RFC is not at all called,

I have the xml file as sent before with multiple <customer> records, how can i split one record per message during message split

I am not able to find any blog in SDN, which suits my requirement.

Appreciate your help.

Thanks.

Sravya.

Former Member
0 Kudos

The below is the sample datafile

<?xml version="1.0" encoding="UTF-8"?>

<ns0:CUST_MT xmlns:ns0="http://ca.com/xi/MDEApplicationContent">

<CUSTOMER>

<CNAME>zzname1</CNAME>

<CNO>zzcno1</CNO>

<BANK>

<CODE>zzbankcode1</CODE>

<NAME>zzbankname1</NAME>

<LOCATION>zzlocation1</LOCATION>

</BANK>

<BANK>

<CODE>zzbankcode2</CODE>

<NAME>zzbankname2</NAME>

<LOCATION>zzlocation2</LOCATION>

</BANK>

</CUSTOMER>

<CUSTOMER>

<CNAME>zzname2</CNAME>

<CNO>zzcno2</CNO>

<BANK>

<CODE>zzbankcode21</CODE>

<NAME>zzbankname21</NAME>

<LOCATION>zzlocation</LOCATION>

</BANK>

<BANK>

<CODE>zzbankcode221</CODE>

<NAME>zzbankname221</NAME>

<LOCATION>zzlocation22</LOCATION>

</BANK>

</CUSTOMER>

</ns0:CUST_MT>

I need to split this file into two messages , one message per customer.

Thanks.

Sravya.

former_member194786
Active Contributor
0 Kudos

Hi Sravya,

As per the above suggestions, map your CUSTOMER node to the target side RFC parent node. And change the occurence on the target side as 1...unbounded. This will create one record per message. Also you will need to use Enhanced Interface Determination for this.

Hope it helps.

Regards,

Sanjeev.