Four DTD's into one message

I have to create one message, but I do not have one single format, but four DTD's which have to put together.
My scenario in detail: I have to create a RosettaNet-Message for communication with my business partner, but since we have only a few per year, it is not really reasonable to pay the licence for the RosettaNet adapter.
Our business partner provided DTD's for preamble, service header, delivery header and PIP3A4. I implemented this scenario in business connector some years ago, where I 'glued' the DTD's into one string. This works.
Now I want to migrate this interface to XI, but how ?
Regards,
Robert

If I create a new external definition combining the four, I need to create a root element, which is not anymore a message according to RosettaNet standards.
Am I wrong ?
Today I send a string like this:
<!DOCTYPE Preamble SYSTEM "Preamble_MS_V02_00.dtd"> <Preamble> ....  </Preamble>
<!DOCTYPE DeliveryHeader SYSTEM "DeliveryHeader_MS_V02_00.dtd"> <DeliveryHeader>....  </DeliveryHeader>
<!DOCTYPE ServiceHeader SYSTEM "ServiceHeader_MS_V02_00.dtd"> <ServiceHeader> < </ServiceHeader>
<!DOCTYPE Pip3A4PurchaseOrderRequest SYSTEM "3A4_MS_V02_03_PurchaseOrderRequest.dtd"> <Pip3A4PurchaseOrderRequest> ... </Pip3A4PurchaseOrderRequest>
The string is a concatenation of the definitions I got.
Robert

Similar Messages

  • How to collect to different files into one message

    Hi,
    I have the following scenario:
    Two (5Mb) Files with different file structures each ->
    XI (transform and generate a single structure record) ->
    Insert a record in a DB for each new record generated
    Let suppose file1 has order headers - one order per line -and file2 has the corresponding order items - one item per line, e.g;
    File 1
    OrderNr  Description
    1        A
    2        B
    3        C
    File 2
    OrderNr   ItemNr   MaterialCode ....
    1         1        111
    1         2        222
    1         3        555
    2         1        888
    2         2        777
    3         1        111
    Imagine I want to insert a record in the database for
    each order/item like this
    OrderNr  ItemNr Description MaterialCode .....
    1        1      A           111
    1        2      A           222
    1        3      A           555
    My real scenario is a little more complicated but never mind for now.
    I need to collect the two different files with two different file structures into the same message. Although I have read about the subject I am not sure about how to do it using BPM because there isn't any field I could use to correlate file1 with file2 - I can only correlate a record of file1 with several records of file2. I simply know that the two files will be available in a specific directory once a day at 06:00AM.
    First question is:
    How can I collect the two messages originating each from a different file into only one message with two different subtypes one for each file structure?
    Because my background is ABAP I could do it with a workaround for temporarily storing the info from each file into database tables in XI and then correlate the info from the two files to generate a single message.
    Like this
    File1 -> XI -> INSERT DATA XI ZDB1 (via ABAP Proxy or RFC)
    File2 -> XI -> INSERT DATA XI ZDB2 (via ABAP Proxy or RFC)
    Them I could use an event to check when the two tables have all the data from both files. I could then combine the data from the two tables and start another integration process like this
    XI SERVER (ABAP Proxy) -> XI Integration Server -> Third-party (JDBC)
    But this way I would have to code the hole data conversion which is not a good idea from the perspective of XI (EAI/Broker).
    Maybe I sould use BPM. But how?
    Futhermore:
    Is BPM performant enough (we are talking about files with thousand of records)?
    Thanks in advance
    Diz

    Hi,
    for N:1 Multimapping you have to use BPM.
    After going through this weblog you will be quite familiar with how to collect 2 messages into one message.
    /people/pooja.pandey/blog/2005/07/27/idocs-multiple-types-collection-in-bpm
    Steps:
    1. Create a abstract/ inbound / outbound interfaces. (in your case 3 /1/2).
    2. Perform 2:1 Multimapping.
    You can specify more than one message in either side.
    Just go to message tab in MM.
    3. Now follow the blog and you will get a output in the form of abstract interface.
    4. Define JDBC reciever Channel as usual.
    Your database will be updated.
    Just try this out.
    Regards
    Piyush

  • Append two message into one message in BPM

    hi,
    i have to receive two different outbound message interface in fork step. as soon as two message received
    i have to append those message to one message as below;
    A message
    1001 AAAA  BBBB CCCCC
    1002 DDDD  BBBB DDDDD
    B message
    1003 CCCC  1321 12213
    1004 DAFD  DDDD DDDDD
    1005 EDDD  DDDD DDDDD
    target message for C
    1001 AAAA  BBBB CCCCC
    1002 DDDD  BBBB DDDDD
    1003 CCCC  1321 12213
    1004 DAFD  DDDD DDDDD
    1005 EDDD  DDDD DDDDD
    and then i have to send C
    is it possible on BPM? i think not mapping issue and correlation.
    how can i append two abstract message to one abstract message?
    thanks
    venjamin

    hi all,
    BpmPatternCollectMessageToBeCollected in basis in ir is not multi-row,  this message type structure is just for individual message..
    in my case, source message type can be received multi record in row in once.
    so, what i want to say is interface mapping regarding
    appending two abs message into one inbound message for transformation.
    if it is possible, we may not need to container operation step because we already have bundled message in target abstract message. we can just send target abstract message.
    if it is not possible, how do you map to use in transformation step? and configure container operation?
    container operation should be appened from one structure message into one multi message.
    does it make sense?
    thanks
    venjamin

  • Multiple files, same structure into one message without BPM

    Hi,
    Is it possible to read multiple files (each with single row) as one message without BPM by some configuration in channel?
    For example:
    input files placed simultaneously in input folder:
    file1: a,b,c
    file2: f,g,h
    file3: k,l,m
    after adapter picks files, xml message:
    <Message_type>
        <RecordSet>
            <file>
                 <A>a</A>
                 <B>b</B>
                 <C>c</C>
            </file>
            <file>
                 <A>f</A>
                 <B>g</B>
                 <C>h</C>
            </file>
            <file>
                 <A>k</A>
                 <B>l</B>
                 <C>m</C>
            </file>
         </RecordSet>
    </Message_type>

    Bond,
    Yes Bond. You can read the pattern what you have given.
    First Read the whole line in the file as one record. Now take the substring or write udf in mapping. This entirely depends upon your requirement.
    Regards,
    ---Satish

  • Combine IDoc and RFC Respone in one Message Type

    Hello,
    I need to have the possibility to store the data of one IDoc and one RFC Response in one Message Type.
    The structure should be something like this:
    IDoc_AND_RFC_RESPONSE (root)
    --item (0..onbounded)
    ID (Attribute, type xsd:string)
    IDOC (Elemtent, type IDOC <--unfortunately not possible in data type definition)
    RFC_Response (Element, type RFC_Response <--unfortunately not possible in data type definition)
    The goal is to merge 2 messages (idoc data and the data of a rfc response) into 1 message with logical connected items.
    e.g.
    IDOC (message 1)
    --ID 01
    IDOC_DATA_01
    --ID 02
    IDOC_DATA_02
    RFC_Response (message 2)
    --ID 01
    RFC_DATA_0101
    RFC_DATA_0102
    --ID 02
    RFC_DATA_0201
    I need this data to be transformed into:
    IDoc_AND_RFC_RESPONSE
    --item
    ID 01
    IDOC
    IDOC_DATA_01
    RFC_RESPONSE
    RFC_DATA_0101
    RFC_DATA_0102
    --item
    ID 02
    IDOC
    IDOC_DATA_02
    RFC_RESPONSE
    RFC_DATA_0201
    The problem ist NOT how to do the mapping, BUT how to define the data type of the target message.
    The IDoc and the RFC have a very complex structure so manually building the structure is not possible.
    Thanks for your help.

    Hi,
    thank you for your hints.
    - How can I define one interface with 2 message types? I work with XI 3.0.
    - Manually manipulatiing the xsd files is what I wanted to avoid (besides that, there is no possibility to get the rfc as xsd, only wsdl). Besides that, I tried to extract the IDoc xsd and imported it as message type, but there is an error message telling me "Schema to be handled does not contain a definition of type <Data Type Name>", whereas <Data Type Name> is the name I give to the Data Type. I tried the name of the IDoc Type here. Importing the xsd as external definition would work, but that would still not solve the problem as I cannot use the message in my data type definition.
    Maybe I should specify the scenario a bit better:
    I have an R3 System sending an IDoc.
    The Idoc contains multiple items.
    The data in the IDoc is NOT sufficient (and due to warranty reasons and company guidelines, it is not possible to add all the needed data to the IDoc).
    Therefore, the IDoc is passed to an Business Process, where an RFC is invoked (input are the item IDs of the IDoc).
    So afterwar the rfc call, I have all neccessary data per item in 2 messages, the IDoc and the RFC response.
    Now I need to merge the data per item into one message.
    This one message than is splitted into the several items and every item has to be sent separately. So I need a possibility to unite the IDoc with the rfc response.
    Any hint?
    Thanks a lot!

  • I seem to have at least two, and maybe four, iCloud accounts, across my iPhone, my iPad and my MacBook Pro. Can I combine them into one iCloud account?

    I seem to have at least two, and maybe four, iCloud accounts, across my iPhone, my iPad and my MacBook Pro. Can I combine them into one iCloud account? I have been able to log into what appears to be three of the four iCloud accounts I have. Two of them seem to be remarkably similar, and one appears to be only for my MacBook.I think I know which one my iPhone is backing up to, as I successfully restored from a back-up last week. The fourth iCloud account I can't access via password or security questions. Any advice would be much appreciated.
    Thanks.
    Cheers,
    Aaron
    Melbourne, Australia

    You cannot merge accounts.

  • HT204380 Hello...i have one problem with my ipod touch 4th gen....when i try to log in and start use the facetime one message appears in the screen that is say....you couldn't get log into facetime...what i must do??pleaze help me :/

    Hello i have one problem with my ipod touch 4th gen....when i try to log in facetime one message appears in the screen whick saying you couldn't log into facetime.....what i suppose to do?? :/please help me :/

    Try:
    The Complete Guide to FaceTime: Set-up, Use, and Troubleshooting Problems

  • PI 7.1 runtime error: 2 messages are merged into one

    Hi,
    We have recently upgraded to 71. We are having a crtical issue with one of the interface. below are the details:
    Background:Interface is using ABAP mapping to convert an Idoc into file.
    File name is fed into u2018dynamic configurationu2019 in mapping program.
    File adapter uses dynamic file name and saves the file using NFS.
    Interface receives idocs in batch, so several Idocs are received by XI almost at the same time.
    Interface has been working without any problem in version 3.00 for last 3 years.
    Problem in 71.:On occasions (random, not always), 2 idocs are merged into one file. It means, only one file is created, which includes the data from 2 idocs.
    In message pipeline, same file name is shown both message (in dynamic config after mapping)
    We have tried u2018use temporary filenameu2019 option on file adapter, but problem is not resolved.
    Any sugegstion pelase!

    Hi,
    In your Graphical mapping create an UDF with code Thread.sleep(1000)  and map this udf to any node (may be root node).
    Note: The delay is in mili sec.
    This udf will delay the mapping for specific time. I am not sure if it is going to solve your problem but you can try.
    Regards,
    Sarvesh

  • Problems with mapping after bundling messages into one XML-file

    Hi all,
    Case 1: one DebMas IDoc ==> XI ==> one XML-file : no problems with mapping.
    Case 2: several DebMas IDoc's ==> XI ==> one XML-file : problems with mapping.
    Explanation:
    Incoming DebMas IDoc's:
    Businesspartner 1 : no Customer Master Partner Functions (E1KNVPM).
    Businesspartner 2 : Customer Master Partner Functions (E1KNVPM).
    Businesspartner 3 : Customer Master Partner Functions (E1KNVPM).
    Businesspartner 4 : Customer Master Partner Functions (E1KNVPM).
    After bundling into one XML-file:
    Businesspartner 1 : no Customer Master Partner Functions (E1KNVPM).
    Businesspartner 2 : no Customer Master Partner Functions (E1KNVPM) !!!!
    Businesspartner 3 : Customer Master Partner Functions of Bp 2 (E1KNVPM) !!!!.
    Businesspartner 4 : Customer Master Partner Functions of Bp 3 (E1KNVPM) !!!!.
    All the payloads of the IDoc's are correct.
    In the message mapping we use a Container for the Partner Functions (shown as below)
    Is this a serious bug in the mapping of SAP XI ?
    Does anyone knows how to solve this serious problem.
    E1KNVVM -
    > Partner_Container
    E1KNVPM -
    > Partner
       PARVW -
    > ParnerRole
       KUNN2   -
    > PartnerNumber
    Regards,
    Theo Pijlman

    Hi,
    Example:
    Input idoc has field F1 with occurence 0..unbnd
    My input values for field F1 is
    1
    none
    2
    3
    Say, I have a mapping, F1---->TargetF1
    In the target only 3 TargetF1s will be created for the values 1,2,3 and nothing will be created for the field F1 with no value.
    To overcome this, use collapse contexts.
    F1->collapsecontexts>TargetF1
    This way, the TargetF1 fields created will have the following values:
    1
    blank
    2
    3
    Collapse contexts makes sure that a target is created, even if there is a context change specified at the source.
    Hope this is clear.
    Regards,
    Smitha.

  • Question: map the whole source message into one field in the target.

    Hi Friends,
    Is there a way to populate the whole source message into one of the fields in the target message?
    I am trying to do this in message mapping. Guide if this could be done in any other way or is there a way to do it in message mapping.
    Waiting for your valuable guidance,
    Regards,
    Lakshmi

    Hi Friends,
    I tried to convert the source message into a string using XSLT mapping. It was successful, however i need to have the source message in XML format and not in any other format. This is because, I am mapping the source XML into a field in a WSDL. The webservice requires the entire source message be inside a field called "Request" in the WSDL (it is like XML inside another XML).
    Is there any way to do this? Please suggest.. (Im not good at java programming... may be i dont know)

  • Combining two messages into one

    Hello,
    I have a mapping issue, I have a business process in which I have to combine two messages into one.
    To do so, I have defined a message mapping in which there are two source message types, and one target message type.
    When testing the message mapping in the IR, it works fine, but when I define and test an interface mapping with that same message mapping, I receive this error message:
    "Cannot produce target element /ns0:Messages/ns0Message1/MY_IDOC_TYPE/MY_SEGMENT. Check xml instance is valid for source xsd and target-field mapping fulfills requirements of target xsd."
    What am I doing wrong ?
    How am I supposed to combine two messages into one ?
    Thanks,
    Elad.

    Hi Elad,
    Just see if you have included both you source message interfaces and one target nessage interface correctly in while doing your interface mapping.....
    The most common mistake made when we do scenarios which include combination of two source message types into one target type are:
    - we forget to include both the source message interfaces.
    - or we interchange between one of the source message interface with the target.
    Just see if either of the 2 is aplicable in your case and just activate all components as and when you create them..
    Regards,
    abhy

  • Get the mapping values from one message mapping into another message mappin

    Hi All,
    I created two graphical message mappings. In first message mapping i created one user defined function and set one global container parameter and I need to use this parameter in my second message mapping user defined function. But the global container parameters can be used in different user defined functions in same message mapping. So is there any way to use the values which are set in one message mapping into another message mapping. If yes, please help me how to get?

    Hi Koteswara rao,
      As you said global container parameters from first message mapping are not accessible from second message mapping program.
    i haven't faced situation like this.but, if you have some unmapped field in target message in first message mapping,you can put global variables data in that unmapped field.
    anyway the output of first message mapping would be input for 2nd messages mapping,so you can access global data(unmapped field filled with global data in 1st MM) from 2nd mapping program..
    Cheers,
    Jag

  • Error Message When Merging Multiple PDF Files into One PDF File

    Good Morning,
    I have a problem with Adobe Acrobat 9 Pro. I am trying to merge/combine multiple PDF files into one PDF file, but I keep receiving this error message:
    Does anyone have a fix for this? Thank you!

    To fix:
    Provide a unique name for each form field. This includes the individual PDFs fields. As you intend to combine/merge no field name in each of the individual PDFs can be the same.
    Be well...

  • ICal consolidated all of my calendars into one! No undo option!

    I have four calendars in my iCal, I did this so I could publish just one of these to my .Mac account. Things seemed to be going okay, I had three calendars turned-off from view by unchecking them, as I started to look at the calendar I got the spinning rainbow beachball of death and tried clicking on the iCal window, nothing, so I double-clicked, still nothing (iCal is still open with events from the checkmarked calendar showing, beachball still spinning).
    Beachball stops spinning and now every single one of my events have been placed into the calendar I was viewing! The other calendars are empty, it consolidated all of the events into one calendar. There is no undo option. I didn't even know iCal could move events from one calendar to another enmass like that. So now I'm stuck, my last iCal backup was a week ago and many events have changed, I sync with both my Palm Treo and .Mac so I don't want to mess those calendars up. And even if I owned an iPhone this would be a major problem.
    At the very least, is there a way I can change all iCal events en-mass again to a specific calendar? Then at least I can move single events to the proper places to recover from this mess. Why doesn't Apple provide an option in iSync to completely overwrite my desktop with handheld data? You can overwrite the handheld with the desktop data but not the other way around. I have my handheld PDA available much more often than my desktop so that calendar and Address book is much more up to date all the time. I hate iCal it's one of Apple's most inelegant apps with the poorest user interface.
    Message was edited by: Baron Sekiya

    Okay, I believe I figured-out how to change events to different calendars en masse. But iCal seems to be choking on the changes.
    1. Click on Results List button on the bottom (third from the right).
    2. Select events to change (there is no Select All option in Edit, though you can click on the 1st event, then SHIFT-click on the last event if you want to select a block, or COMMAND-click to add/remove individual events from the selection)
    3. Right-click (or Control-click) on the selected events to bring-up the contextual menu.
    4. Go to calendars and select the calendar to attach the events to.
    Now this should work, but iCal completely chokes on doing a large group of events. Small bunches do work but iCal is so inefficient it can't make the changes I need.
    Anyone else got a good solution? Other than: Buy a MacBook Pro?
    For the time being I'm switching back to Now Up To Date, the best calendar for the Mac. I gave iCal a shot but NUTD is vastly superior. Maybe when Mac OS 10.5 and Time Machine comes out I'll give iCal another try.

  • Install more than one exe into one folder or into some subfolders of the same folder

    Hi!
    I want to do at least one of the following:
    1. I want to install several exes (built with LV app builder) into one directory because they belong together.
    2. Make several subfolders under the same top level folder aand install exes into each of them.
    The (top level) folder should be the "company" folder. The subfolders are for the applications.
    For example:
    c:\company\app1\app1.exe
    c:\company\app1\app1setup.exe
    c:\company\app2\app2.exe
    etc.
    This may also reside under the "program files" folder.
    If i try to do so, i encounter some problems setting up the build specifications. If i have more than one build spec. for exes i cannot add them to the same folder. At least if they contain the same external files, e.g. dlls.
    If i try to make one installer per exe, i get an error message telling me that the same folder (my "top level folder") already exists in the registry and cannot be added a second time. This is also true if i try to make a new project instead of having several installer build specs in one project.
    I use Labview 2009 (engl.) under Windows Vista (german).
    If anyone has some help for me or encounters similar problems please let me know.
    Holger
    Message Edited by HolgerD on 09-26-2009 10:13 AM
    Solved!
    Go to Solution.

    Hi Holger,
    the build directories should be different for each build, but you can copy the executables into one folder manually (tested successfully in WinXP). For multiple installers, put each installer build in a separate directory, and install all to the same program files subfolder. Works with XP (tested!), so this must be a Vista issue...
    Please build the four specs in attached project and run both installers to the same directory - should be working...
    Best regards,
    Sebastian
    Attachments:
    calc.dll.zip ‏73 KB

Maybe you are looking for