Skip to Content
avatar image
Former Member

1 source file to multiple receiver files

Hello Experts .

In my source file I have 10 records.I want 10 target files to be created for those 10 records.

Please suggest as to how this can be achieved.

Both the source and target structures are same.

Regards

Advit

Add comment
10|10000 characters needed characters exceeded

  • Follow
  • Get RSS Feed

5 Answers

  • Best Answer
    avatar image
    Former Member
    Jun 17, 2015 at 11:34 AM

    Hello Advit,

    You can create 10 Business Component and assign one Reciever Communication Channel to each one.

    In Reciver Determination in ID give name of all these Business Component and You can do rest of the configuration as usual.

    Regards,

    Pradeep

    Add comment
    10|10000 characters needed characters exceeded

    • Former Member Former Member

      Hello Advit,

      As per my understanding this source message having 10 records is having same fields with different value.

      In that case, in Message Mapping in ESR under Signature Tab you can change the signature from '1..1' to '1..N' for target side.

      This will split your data into 10 files and you do your normal configuration in ID.

      Note: Once you update the Message mapping again re import the Operation Mapping In Interface Determination of ID so that it will show its occurance as 1..N rather than 1..1.

      Also if you can share the screenshot of source Data Type than it would be easier to provide the solution.

      Regards,

      Pradeep

  • avatar image
    Former Member
    Jun 17, 2015 at 01:27 PM

    Hi Advit,

    You can achieve this with multi mapping with one receiver Business system and one receiver file channel. use 1:n mapping.

    In the configuration, in the receiver communication channel, select File construction mode as Add Time Stamp.

    I have tried on my system and it worked on my system.

    Look at my source and target xmls.

    test.xml contains 3 records, and 3 files created on target side.

    Let me know if you have any question to do this.

    Regards,

    Santhi


    Add comment
    10|10000 characters needed characters exceeded

  • Jun 17, 2015 at 01:23 PM

    You can use Mapping based message split: 1 message mapping (Source to Messages)

    You need to define,

    ESR:

    10 inbound service interface, each having Record1, Record2..., Record10 (one in each interface or disable fields during mapping in each message)

    1 message mapping.

    Your mapping Traget structure will look like this,

    <Messages>

    <Message1>

    Record1

    FileName1

    (Disable rest of the records)

    </Message1>

    <Message2>

    Record2

    FileName2

    (Disable rest of the records)

    </Message2>

    ..

    ..

    <Message10>

    Record10

    FileName10

    (Disable rest of the records)

    </Message10>

    <Messages>

    1 operation mapping, use above message mapping.


    ID:

    1 sender, 1 receiver

    10 different communication channels, for each interface or see alternate solution below using single cc.

    But I won't say it elegant solution, using 10 different cc.

    So I would suggest you to define one single channel and get your file name from payload (add file name corresponding to each record) at runtime using variable substitution for each interface.

    Ref:

    http://help.sap.com/saphelp_nw73ehp1/helpdata/en/18/fa87311cea41e49dc9d931a3b67703/content.htm


    1.jpg (11.6 kB)
    Add comment
    10|10000 characters needed characters exceeded

  • avatar image
    Former Member
    Jun 17, 2015 at 01:45 PM

    Hi Advit,

    what is the scenario you are doing. if it is file content conversion to file content conversion you can use the record sets per message property in sender communication channel and you need use create option in file construction mode in receiver communication channel. if you face any issue let me know .

    Thanks

    Giridhar

    Add comment
    10|10000 characters needed characters exceeded

  • avatar image
    Former Member
    Jun 17, 2015 at 01:58 PM

    Hi Advit,

    You can use multi mapping with out BPM here.

    In Message mapping, just changethe occurrence of target message type to 1:Unbounded.

    But in interface mapping, just keep the source and target service interface occurrences(1:1) as it is.

    And the ID part remains as usual.

    By doing this, you would get n number of files depending on how you are handling in message mapping.

    Please let me know if you need any more information.

    Regards

    Vishnu

    Add comment
    10|10000 characters needed characters exceeded