Sharing values accross multiple message mappings

Hello all,
   I have a question about the posibility to share a value among severals messages mappings and use it in an operation mapping.
   How can I do it?
   An example:
       I have three message mappings( graphical and Java mappings ) where in the first message I have a value that I have to use in last mapping. In the operation mapping those mappings are executed in sequencial mode.
Best regards and thanks in advanced
Ivá

Hi guys,
  Thank you for your responses.
   The solution for this issue was to create an attribute in a function library and the trick is:
      this solution doesn't work in design time when you test in the Operation Mapping test option but in runtime the solution works.
Best regards
Ivá

Similar Messages

  • Multiple message mappings in one integration scenario

    I am trying to send a message to a marketplace that uses a web service interface. First I have to map the SRM PO to OAGIS XML, then This must be embedded in the message of the web service which requires a further mapping. In the integration scenario in the repository it seems straight forward, however the configuration of the scenario in the directory seems a little strange. This becaue the middle step does not really have an eternal receiver, as it must stay in the integration engine until the final conversion. Is it actually possible to perform several mapping in series or must I use an integration process for the middle mapping?

    Andrew,
    I am addressing the same problem as follows.
    If you need a canonical mapping (such as OAGIS in your example) you need 2 mappings for 3 messages A(source) to B(canonical) to C(target). If you try to use XI (without BPM) as an action between the source and the target need to configure a channel in and out which as far as I can see is not possible.
    When setting multi-mapping you seem to only have the folowing options:
    Multiple source and multiple targets but this seems to limit you to one mapping program.
    Multiple mappings if I have only one source and one target.
    I think this is designed to map one or many sources to one or many targets in one mapping program.
    Also you can apply a series of mapping programs to a single source and target pair.
    If I understand Michal's solution you would define A as the source and C as the target. You then use multi mapping to get to the final result, but I think this is still on a single source and target. A second solution is to include multiple mappings as additional modules in the channel adpator.
    To take advantage of the canonical approach I am using a simple integration process with a receive and send step. All this realy does is get round the problem you highlight of having to have channels for the middle action in your integration scenario. This is an overhead but does allow you to add splitting and combining messages if needed in the future without much additional configuration.
    I can't see an easy option without BPM. Maybe there is an alternative but I can't find it. Maybe a next release of XI could include an interface mapping configuration that allows a sequnce of mapping betweem multiple pairs of maps:
    Seq  Source -
    Mapping Program   -
    Target
    1 -
      Message A  -
      Mapping Program 1 -
        Message B
    2 -
       Message B  -
      Mapping Program 2 -
        Message C
    I hope this helps.
    Regards
    Antony

  • Interface Mapping with Multiple Message Mappings

    Hi My Scenario is
    File to Idoc.( Multiple records to Multiple idocs )
    Due to Complexity of Mapping I split the Mapping step into 2.
    My Source System does not provide Namspace when they are sending XML Data.
    When I try 2 mappings individually both Mappings works fine.
    However when I try test using Interface Mapping target messages are not generated.
    Since 2nd Mapping invoves Mapping Split its expecting extra tags as shown here in the Targert Message generated from Message Mapping 1.
    <i><ns0:Messages xmlns:ns0="http://sap.com/xi/XI/SplitAndMerge">
       <ns0:Message1></i>
    How can I solve this problem ?

    When I do Message Mapping:
    From message Mapping 1 target Produced is as follows:
    <?xml version="1.0" encoding="UTF-8"?>
    <ns0:CostMaintenanceXI xmlns:ns0="http://test.xxx.com">
    <CostMaintenanceXI>
    <CostMaintenanceXI>
    <Product>000000000000000023</Product>
    <Plant>1401</Plant>
    <Supplier>0000000001</Supplier>
    <ValidityFrom>20021212</ValidityFrom>
    <DIIndicator>ZFOB</DIIndicator>
    <COGAmount></COGAmount>
    <COGCurrency></COGCurrency>
    <FreightAmount></FreightAmount>
    <FreightCurrency></FreightCurrency>
    <MISCAmount></MISCAmount>
    <MISCCurrency></MISCCurrency>
    <SPAAmount></SPAAmount>
    <SPACurrency></SPACurrency>
    <LandedCaseCost></LandedCaseCost>
    <LandedCaseCurrency></LandedCaseCurrency>
    <FrontLinePrice></FrontLinePrice>
    <FrontLinePriceCurrency></FrontLinePriceCurrency>
    </CostMaintenanceXI>
    </CostMaintenanceXI>
    </ns0:CostMaintenanceXI>
    in 2nd Mapping I entered some details in the test tab and the generated source is as follows:
    <?xml version="1.0" encoding="UTF-8"?>
    <ns0:Messages xmlns:ns0="http://sap.com/xi/XI/SplitAndMerge">
       <ns0:Message1>
          <ns1:CostMaintenanceXI xmlns:ns1="http://test.xxx.com">
             <CostMaintenanceXI>
                <CostMaintenanceXI>
                   <Product>1</Product>
                   <Plant>1</Plant>
                   <Supplier>2</Supplier>
                   <ValidityFrom>12212122</ValidityFrom>
                   <FOBIndicator/>
                   <DIIndicator>ZFOD</DIIndicator>
                   <COGAmount>10</COGAmount>
                   <COGCurrency/>
                   <FreightAmount>10</FreightAmount>
                   <FreightCurrency/>
                   <MISCAmount>10</MISCAmount>
                   <MISCCurrency/>
                   <SPAAmount>10</SPAAmount>
                   <SPACurrency/>
                   <LandedCaseCost/>
                   <LandedCaseCurrency/>
                   <FrontLinePrice/>
                   <FrontLinePriceCurrency/>
                </CostMaintenanceXI>
             </CostMaintenanceXI>
          </ns1:CostMaintenanceXI>
       </ns0:Message1>
    </ns0:Messages>
    As you can see both of the above structures differs in xmlns. I dont see anything else weird.

  • Multiple values for multiple fields sharing common id

    I'm new to Reporting Services and I need to create report based on a common child id that includes multiple values from multiple fields in several tables. I can combine all the values into one query for a list report; however, this causes the rows to duplicate
    multiple times based on the differing fields having multiple values (i.e. report contains various child ids and multiple medication dates/names, multiple health diagnoses with onset dates, multiple health service dates/values, multiple immunization types and
    service dates, etc). If I create a list report and try to use various tables, I run into problems with how the tables view the data due to the duplicating child id rows from multiple field values on that child id. If I hide duplicates for these different tables,
    I can run into spacing issues from the duplicating rows and/or hiding data that shouldn't be hid.
    I need the report to have the basic non-duplicating child info (id, name, basic health info) and then also have various sections that contain fields with numerous values (i.e. section for health issue name and onset dates, section for medication name and
    prescription dates, section for health service name and service date, etc). I would want a page break after each child id and would want all the child ids to be viewed/exported for printing purposes at the same time (i.e. not choosing one child id at
    a time to print or view the data). I have tried to create one main table on a list report with various subreports on the child id; however, this is hard for my machine to process (it takes forever) and I can only view/export one child id at a time when I use
    child id as the report parameter.
    Any help you can give this newbie would be greatly appreciate.
    Thanks,
    Melissa S.
    What's the best way for me to
    MelissaS

    Hi simpson213,
    According to your description, you have some questions about your report design.
    1. How to have non-duplicating child info?
    In this scenario, since you don't want to hide the duplicate data, we suggest you filter the duplicated records on query level by using Distinct statement. If you want to do it on report level, you can group
    records on chid id and use First() function on other fields. 
    Reference: First Function (Report Builder and SSRS)
    2. How to  have various sections that contain fields with numerous values?
    We can also add these fileds into the child group of child and have them toggled by child id. 
    Reference: Add an Expand/Collapse Action to an Item (Report Builder and SSRS)
    3. How to add a page break between each child?
    Right click on the Row Group(child id)->Page Break->Select between each group instance.
    Reference: Add a Page Break (Report Builder and SSRS)
    4. How to select multiple child id when rendering report?
    When creating parameter, select Allow multiple values in General.
    Reference: Add, Change, or Delete a Report Parameter (Report Builder and SSRS)
    If you have any question, please feel free to ask.
    Best Regards,
    Simon Hou

  • Problem while sending multiple messages to JDBC

    hi
    I am trying to run a scenario file to jdbc(multiple).
    Inserting row into table with the file details and updating the same row.
    I created 2 message mapping and 2 operation mapping. One mapping to insert row and second to updated the same row.
    In ID did configuration 1 Sender Agreement, 2 Receiver Agreement ,1 Receiver Determination(Using Same system for both receiver), and 1 Interface Determination (selecting multiple operation mappings in this interface determination).
    The scenario is processing successfully in moni and channel, Problem here is only UPDATE message is going to the Database always. In both the channels UPDATE message is going. I have checked "Maintain Order at Runtime" option also its not working.
    Please help.

    HI Jabbs,
    Check help.sap.com, in receiver JDBC processing tab-> Maximum Concurrency
    Enter the number of messages to be processed in parallel by the receiver channel. For example, if you enter the value 2, then two messages are processed in parallel. Default value is 1 and this means only one message can be processed at a time by the receiver channel.
    http://help.sap.com/erp2005_ehp_04/helpdata/EN/22/b4d13b633f7748b4d34f3191529946/frameset.htm
    also paste here the receiver structure from MONI, so as to see whether the structure is as per the required format
    Regards
    Suraj

  • Sharing jsp between multiple controllers

    Is there a way to share a jsp between 2 different controllers?
    If I put the shared jsp in its own directory and the 2 controllers in their own directories - I seem to be able to use netui:anchors and specifying the fully qualified "href" attribute - but not the "action" attribute. For example this works (but means I have to specify the exact controller):
    <netui:anchor href="/portlets/Controller1/findAction.do">
                find
    </netui:anchor>This does <b>not </b>work:
    <netui:anchor action="findAction">
                find
    </netui:anchor>Additionally, if I want a form to be on this shared jsp - I don't know of a way to use the netui tags to accomplish this... This example results in an error (as if it's trying to find the action in Global.app):
            <netui:form action="submitSharedForm">
                <table>
                    <tr valign="top">
                        <td>Foo:</td>
                        <td>
                        <netui:textBox dataSource="{actionForm.foo}"/>
                        </td>
                    </tr>
                </table>
                <netui:button value="submitSharedForm" type="submit"/>
            </netui:form>Are there other better techniques for sharing jsps between multiple controllers (jpf)? The only other thing I was thinking of trying to have a jsp found within the same directory as the controller include the shared jsp (which seems kind of tacky)...

    You may consider using a base pageflow controller that has the common JSPs
    in its directory. I have done that before like this:
    // inheritLocalPaths=true lets us inherit the JSPs from the base pageflow
    @Jpf.Controller(
    inheritLocalPaths=true
    public class MyChildController extends MyBaseController
    Ture Hoefner
    WebLogic Portal Engineering
    <Tim Rafert> wrote in message news:[email protected]..
    Is there a way to share a jsp between 2 different controllers?
    If I put the shared jsp in its own directory and the 2 controllers in
    their own directories - I seem to be able to use netui:anchors and
    specifying the fully qualified "href" attribute - but not the "action"
    attribute. For example this works (but means I have to specify the exact
    controller):
    <netui:anchor href="/portlets/Controller1/findAction.do">
    find
    </netui:anchor>This does <b>not </b>work:
    <netui:anchor action="findAction">
    find
    </netui:anchor>Additionally, if I want a form to be on this shared jsp - I don't know of
    a way to use the netui tags to accomplish this... This example results in
    an error (as if it's trying to find the action in Global.app):
    <netui:form action="submitSharedForm">
    <table>
    <tr valign="top">
    <td>Foo:</td>
    <td>
    <netui:textBox dataSource="{actionForm.foo}"/>
    </td>
    </tr>
    </table>
    >            <netui:button value="submitSharedForm" type="submit"/>
    </netui:form>Are there other better techniques for sharing jsps between multiple
    controllers (jpf)? The only other thing I was thinking of trying to have
    a jsp found within the same directory as the controller include the shared
    jsp (which seems kind of tacky)...

  • How to show multiple messages for a single exception

    hi
    Please consider this example application created using JDeveloper 11.1.1.3.0
    at http://www.consideringred.com/files/oracle/2010/MultipleMessagesExceptionApp-v0.01.zip
    It has a class extending DCErrorHandlerImpl configured as ErrorHandlerClass in DataBindings.cpx .
    Running the page and entering a value starting with "err" will result in an exception being thrown and multiple messages shown.
    See the screencast at http://screencast.com/t/zOmEOzP4jmQ
    To get multiple messages for a single exception the MyDCErrorHandler class is implemented like
    public class MyDCErrorHandler
      extends DCErrorHandlerImpl
      public MyDCErrorHandler()
        super(true);
      @Override
      public void reportException(DCBindingContainer pDCBindingContainer,
        Exception pException)
        if (pException instanceof JboException)
          Throwable vCause = pException.getCause();
          if (vCause instanceof MyMultiMessageException)
            reportMyMultiMessageException(pDCBindingContainer,
              (MyMultiMessageException)vCause);
            return;
        super.reportException(pDCBindingContainer, pException);
      public void reportMyMultiMessageException(DCBindingContainer pDCBindingContainer,
        MyMultiMessageException pException)
        String vMessage = pException.getMessage();
        reportException(pDCBindingContainer, new Exception(vMessage));
        List<String> vMessages = pException.getMessages();
        for (String vOneMessage : vMessages)
          reportException(pDCBindingContainer, new Exception(vOneMessage));
    }I wonder if calling reportException() multiple times is really the way to go here?
    question:
    - (q1) What would be the preferred use of the DCErrorHandlerImpl API to show multiple messages for a single exception?
    many thanks
    Jan Vervecken

    fyi
    Looks like using MultipleMessagesExceptionApp-v0.01.zip in JDeveloper 11.1.1.2.0 (11.1.1.2.36.55.36) results in a different behaviour compared to when used in JDeveloper 11.1.1.3.0 (11.1.1.3.37.56.60)
    see http://www.consideringred.com/files/oracle/img/2010/MultipleMessages-111130versus111120.png
    When using JDeveloper 11.1.1.2.0 each exception seems to result in two messages where there is only one message (as intended/expected) per exception when using JDeveloper 11.1.1.3.0 .
    (Could be somehow related to the question in forum thread "multiple callbacks to DCErrorHandlerImpl".)
    But, question (q1) remains and is still about JDeveloper 11.1.1.3.0 .
    regards
    Jan

  • Adapter file sender doesn't split file into multiple message

    Hi everybody.
    We are in PI 7.0 SP10.
    In adapter file sender, I want to split a file into multiple file.
    We use protocole "file content conversion"
    in the field "recordset per message", I put the value 10 to test.
    The file content 30 records .
    The result we have is the treatment is not split into multiple message .
    The treatment is made but with one message.
    I need  to treat big files.
    Is there some one who have an idea  why t doesn't work ?
    Thanks in advance for your help.
    Regards
    Edited by: Eric  KOralewski on Jun 25, 2009 3:14 PM

    Hi,
    have you specified recordset name......if not, then specify it.............
    in recordset structure, specify like RECORD,1 and not RECORD,*
    again test your scenario......if still your file data is not getting split, then ask your basis guys to do a full CPACache refresh using PIDIRUSER..........your basis guys will know how to do it..........then again test your scneario............
    Regards,
    Rajeev Gupta

  • Processing of multiple messages Using BPM

    Hello everybody,
    I am pretty much a newbie to this XI technology. I am currently testing a File to File scenario Concerning BPM. The source file contains multiple messages in an XML structure. How can each of these XML messages be posted as individual files? I have reffered to this <a href="/people/narendra.jain/blog/2005/12/30/various-multi-mappings-and-optimizing-their-implementation-in-integration-processes-bpm-in-xi on BPM as a guideline; but here the number of messages are restricted and I want to dynamically determine how many messages are contained in the XML file. Anybody has any idea how to achieve this?
    Thanks and Warm Regards,

    Hello,
    The blog you mentioned is for cutting one file into 2 files.
    I think you need to use the "<b>ParForEach</b>" step in the BPM. This step is used to loop on a multiple line message and create a single message in one branch. Then you can add a send step in this branch and end only one message.
    <u>See the Flight Demo :</u>
    http://help.sap.com/saphelp_nw04/helpdata/en/5a/cede3fc6c6ec06e10000000a1550b0/frameset.htm
    <u>Object in IR :</u>
    BASIS -> http://sap.com/xi/XI/Demo/Agency -> BPM -> MultipleFlightBookingCoordination
    Regards,
    Chris

  • PI 7.1 Operation mapping - Multiple message mapping - one to many issue

    Dear Experts,
    I am facing this issue in PI 7.1 and I beleive i did similar one in PI 7.0 successfully.
    I have an operation mapping with two message mappings.
    The occurence of source message of operation mapping is 1
    The occurence of target message of operation mapping is 0..unbounded
    Corresponding i configured two message mappings
    For message mapping-1
    Source message occurence = 1  and Target message occurence = 1
    For message mapping-2
    Source message occurence = 1  and Target message occurence = 0...unbounded
    When i test message mappings individually they are working good. But when i test it in operation mapping, the operation mapping is not working..as it is not able to convert single occurence output of message mapping -1 to the second message mapping-2.
    Any suggestions?
    Thanks.

    The message that i get when testing in operation mapping:
    Runtime Exception when executing application mapping program com/sap/xi/tf/_MM_MessageMapping_1_; Details: com.sap.aii.mappingtool.tf7.IllegalInstanceException; Cannot create target element /ns0:MT_MessageMapping_1_TargetMessageType/RECORDSET. Values missing in queue context. Target XSD requires a value for this element, but the target-field mapping does not create one. Check whether the XML instance is valid for the source XSD, and whether the target-field mapping fulfils the requirement of the target XSD
    My question is, has somebody mapped similar scenario in your environment? If yes, can you please provide details.
    Operation mapping :  1 to 0..unbounded
    Message Mapping1: 1 to 1
    Message Mapping2: 1 to 0...unbounded

  • 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

  • Binding a Shared Varable to multiple MODBUS registers

    A simple question, but can't seem to find an answer:
    I have a project library with a serial MODBUS i/o server setup. In this library I have several shared variables that are bound to registers on the remote device through the MODBUS protocol, and this works fine if each variable is bound to read a single register (e.g. Modbus1\D400001). What is the appropriate syntax to bind a single shared variable to multiple consectutive registers? If I set the Shared Variable type to "Array of UInt32" can I specify something along the lines of Modbus1\D400001-D400100 ? So far this doesn't seem to be working, or at least hasn't displayed anything when creating an array indicator and binding this shared variable to the indicator. Thanks,
      --David
    Sorry, forgot to mention this is LabView 9.0.1 with the DSC module.
    Solved!
    Go to Solution.

    Hi Underscore_c, 
    Take a look at this help document:
    http://zone.ni.com/reference/en-XX/help/371618E-01​/lvmve/dsc_modbus_using/
    This document should also be in your LabVIEW help.  You'll notice that you can call an array of registers by preceding the address by "A". 
    For example, 
    A400008L8 is an array of values of length 8.  
    There is an example called "Modbus Datatype Extension" that should get you started in the right direction. 
    Dave T.
    National Instruments
    FlexRIO & R-Series Product Support Engineer

  • Error SocketChannel receive multiple messages at once?

    Hello,
    I use Java NIO, non blocking for my client-server program.
    Everything works ok, until there are many clients that sending messages at the same time to the server.
    The server can identify all the clients, and begin reading, but the reading of those multiple clients are always the same message.
    For example, client A send "Message A", client B send "Missing Message", client C send "Another Missing Message" at the same time to the server, the server read client A send "Message A", client B send "Message A", client C send "Message A", only happen if the server trying to read all those messages at once, if the server read one by one, it's working perfectly.
    What's wrong with my code?
    This is on the server, reading the message:
    private Selector               packetReader; // the selector to read client message
    public void update(long elapsedTime) throws IOException {
      if (packetReader.selectNow() > 0) {
        // message received
        Iterator packetIterator = packetReader.selectedKeys().iterator();
        while (packetIterator.hasNext()) {
          SelectionKey key = (SelectionKey) packetIterator.next();
          packetIterator.remove();
          // there is client sending message, looping until all clients message
          // fully read
          // construct packet
          TCPClient client = (TCPClient) key.attachment();
          try {
            client.read(); // IN HERE ALL THE CLIENTS READ THE SAME MESSAGES
               // if only one client send message, it's working, if there are multiple selector key, the message screwed
          } catch (IOException ex) {
    //      ex.printStackTrace();
            removeClient(client); // something not right, kick this client
    }On the client, I think this is the culprit :
    private ByteBuffer            readBuffer; // the byte buffer
    private SocketChannel  client; // the client SocketChannel
    protected synchronized void read() throws IOException {
      readBuffer.clear();    // clear previous buffer
      int bytesRead = client.read(readBuffer);  // THIS ONE READ THE SAME MESSAGES, I think this is the culprit
      if (bytesRead < 0) {
        throw new IOException("Reached end of stream");
      } else if (bytesRead == 0) {
        return;
      // write to storage (DataInputStream input field storage)
      storage.write(readBuffer.array(), 0, bytesRead);
      // in here the construction of the buffer to real message
    }How could the next client read not from the beginning of the received message but to its actual message (client.read(readBuffer)), i'm thinking to use SocketChannel.read(ByteBuffer[] dsts, , int offset, int length) but don't know the offset, the length, and what's that for :(
    Anyone networking gurus, please help...
    Thank you very much.

    Hello ejp, thanks for the reply.
    (1) You can't assume that each read delivers an entire message.Yep I know about this, like I'm saying everything is okay when all the clients send the message not in the same time, but when the server tries to read client message at the same time, for example there are 3 clients message arrive at the same time and the server tries to read it, the server construct all the message exactly like the first message arrived.
    This is the actual construction of the message, read the length of the packet first, then construct the message into DataInputStream, and read the message from it:
    // packet stream reader
    private DataInputStream input;
    private NewPipedOutputStream storage;
    private boolean     waitingForLength = true;
    private int length;     
    protected synchronized void read() throws IOException {
      readBuffer.clear(); // clear previous byte buffer
      int bytesRead = client.read(readBuffer); // read how many bytes read
      if (bytesRead < 0) {
        throw new IOException("Reached end of stream");
      } else if (bytesRead == 0) {
        return;
      // the bytes read is used to fill the byte buffer
      storage.write(readBuffer.array(), 0, bytesRead);
      // after read the packet
      // this is the message construction
      // write to byte buffer to input storage
      // (this will write into DataInputStream)
      storage.write(readBuffer.array(), 0, bytesRead);
      // unpack the packet
      while (input.available() > 0) {
        // unpack the byte length first
        if (waitingForLength) { // read the packet length first
          if (input.available() > 2) {
            length = input.readShort();
            waitingForLength = false;
          } else {
            // the length has not fully read
            break; // wait until the next read
        // construct the packet if the length already known
        } else {
          if (input.available() >= length) {
            // store the content to data
            byte[] data = new byte[length];
            input.readFully(data);
            // add to received packet
            addReceivedPacket(data);
         waitingForLength = true; // wait for another packet
          } else {
            // the content has not fully read
         break; // wait until next read
    (2) You're sharing the same ByteBuffer between all your clients
    so you're running some considerable risks if (1) doesn't happen.
    I recommend you run a ByteBuffer per client and have a good look
    at its API and the NIO examples.Yep, I already use one ByteBuffer per client, it's not shared among the clients, this is the class for each client:
    private SocketChannel client; // socket channel per client
    private ByteBuffer readBuffer; // byte buffer per client
    private Selector packetReader; // the selector that is shared among all clients
    private static final int BUFFER_SIZE = 10240; // default huge buffer size for reading
    private void init() throws IOException {
      storage; // the packet storage writer
      input; // the actual packet input
      readBuffer = ByteBuffer.allocate(BUFFER_SIZE); // the byte buffer is one per client
      readBuffer.order(ByteOrder.BIG_ENDIAN);
      client.configureBlocking(false);
      client.socket().setTcpNoDelay(true);
      // register packet reader
      // one packetReader used by all clients
      client.register(packetReader, SelectionKey.OP_READ, this);
    }Cos the ByteBuffer is not shared, I think it's impossible that it mixed up with other clients, what I think is the SocketChannel client.read(ByteBuffer) that fill the byte buffer with the same packet?
    So you're probably getting the data all mixed up - you'll probalby be seeing a new client message followed by whatever was there from the last time, or the time before.If the server not trying to read all the messages at the same time, it works fine, I think that if the client SocketChannel filled up with multiple client messages, the SocketChannel.read(...) only read the first client message.
    Or am I doing something wrong, I could fasten the server read by removing the Thread.sleep(100); but I think that's not the good solution, since in NIO there should be time where the server need to read client multiple messages at once.
    Any other thoughts?
    Thanks again.

  • Multiple Message Mapping

    Hello Guru,
    I am doing a multiple message mapping. the purpose is:
    the source message structure is
    MT_input
    |row <1...unbound>
    |---plant
    |---name
    the two target message structure are:
    MT_output1
    -|row <1...unbound>
    |---plant1
    |---name1
    MT_output2
    -|row <1...unbound>
    |---plant2
    |---name2
    there can be many row in source message, the value of plant could be 1 and 2.
    I want all rows with plant = "1" goto MT_output1,
    all rows with plant = "2" goto MT_output2.
    but I can not accomplished this job with graphic mapping. could you give me help?
    I don't want to use Java Mapping.
    Thanks a lot.

    Hi,
      MT_input
    |row <1...unbound>
    |---plant
    |---name
    the two target message structure are:
    MT_output1
    -|row <1...unbound>
    |---plant1
    |---name1
    MT_output2
    -|row <1...unbound>
    |---plant2
    |---name2
    solution :
    MT_input                                                 MT_output1
    -|row <1...unbound>                            |row <1...unbound>
    if the plant[context set to MT_input] is equals to 1 then map row from source to row in target[MT_output1]
    plant and name mapping are direct.
    Repeat the same mapping for MT_output2.
    This definitely works, i have tried it.
    Regards,
    Pragati

  • MESSAGE MAPPINGS

    Hi,
    I am working on IDOC XI File Scenario,I didn't mapped all the segments of the SOURCE IDOC with TARGET message type.
    I am getting a runtime exception in MESSAGE MAPPINGS.
    So is it necessary to map all the SEGMENTS of the IDOC with TARGET message type though no value is available for the TARGET message type?
    If so,then do I have to use the NODE FUNCTIONS mapping in the MESSAGE MAPPINGS?
    I appreciate your help for the reply.
    Thank you.

    Hi Joslyn,
    Runtime exception may because of many reasons-
    1) Your target xml is not correct..or mapping is unable to convert into required target strcutre
    2) If you use any user defined functions, then it may give exceptions..
    <i>So is it necessary to map all the SEGMENTS of the IDOC with TARGET message type though no value is available for the TARGET message type?</i>
    >>.It is not required. But if your target structure is mandataory(1..1 occurence) then it will throw error
    First try to test your mapping by providing input data from SXMB_MONI and test the mapping..
    Hope this helps,
    regards,
    Moorthy

Maybe you are looking for

  • Urgent!!!!!! Issue with String in CO

    Hi All, I am learner of OAF. I have issue with string while converting into double. In AM, public String ComputeMarginPercent() retrun form.format((55570.0*100)/184.64999999999418); in CO..I am getting the value: String s1 = (String)oapagecontext.get

  • Lion & Hotmail problem?

    So i downloaded Lion yesterday, and now my hotmail will not let me upload attachments, keeps saying 'attachment ID has bad format'. Any ideas how to solve this issue? thanks.

  • CRM / BW SURVEY

    Dear friends, This question is related to CRM survey and i have created a new survey questionire in CRM_SURVEY_SUITE , CALL BACK TO PAI --> CRM_SVY_S_PAI and i have checked the evolution in Business information warehouse. what is the purpose of that

  • With HP update for Maverick my photosmart C309A does not work properly

    After the HP-update for Maverick my printer HP Photosmart C309A does not work correctly. The scan facility is gone and the printer "hangs" after one print. I had to reset the printer software from a backup and to disable the automatic installation fa

  • AD RMS -Outlook default message

    we see the below message, if we try to open an e-mail that was sent using a custom AD RMS template. We get that why we are seeing this. This is normal. I just want to check if there is a way we can customize this message ? We can configure it as per