Two XIu0092s in same scenario

Hi XI experts,
I’m dealing with a scenario that I’ve never worked with and it seams a little bit complex to me! I have two XI’s in different SLD’s, one SLD per XI. So it means that not all Business systems are known for both XI’s.
Scenario: B.Sys P <> second XI <> first XI <--> B.Sys X
An example to clarify the scenario: The action starts when I send an IDOC from the Business Sys X for the first XI. The first XI picks up the IDOC and transforms it in XML file to send it for the second XI via SOAP adapter. When the XML file enters on the second XI, the sender service (business sys) on SOAP header message is the Business Sys X and is unknown for this second XI. So it generates an error during this process… It can’t determinate anything!!!
In a tentative to fix this issue I’m thinking in these ideas:
Find a way to change on runtime the relevant fields in the SOAP header, like the sender service, message interface, namespace, etc… So during the transformation on first XI, it will change the SOAP header in the relevant fields for sender service, message interface and namespace of XI itself. If it is possible to do something like this, than I think the second XI will recognize the incoming XML messages, because it will be waiting messages from the first XI (acting like a simple application system) and not from the Business sys X which it never knew (different SLD).
Another idea: instead of doing the sending of IDoc to the second XI “directly”, I could create one sender and receiver adapter on business system of first XI itself and when the business sys sends the IDoc, the first XI receive the IDoc and transforms it on XML file and put it on a folder with File Adapter. After this, a sender SOAP Adapter picks up this file and does another transformation (mapping) and sends the message to the second XI. The objective of this last mapping is to change the SOAP header with the sender service, message interface and namespace of XI itself.
Guys I would appreciate any ideas or better suggestions to fix an issue like this.
Thanks in advance,
Ricardo.

Hi Ricardo,
>>>>Find a way to change on runtime the relevant fields in the SOAP header,
there's a more standard way to do it:
using <b>party object</b>:
http://help.sap.com/saphelp_nw04/helpdata/en/81/104bb1fbab254c8644877c7f856bbf/content.htm
you can try using them in both cases:
<b>Inbound Processing - normalization:</b>
to change the message header from many external
parties to just one
<b>Outbound Processing - denormalization</b>
to change header if you send messages from many
business system to just one - which is used
by some exterla system later on
Regards,
michal
<a href="/people/michal.krawczyk2/blog/2005/06/28/xipi-faq-frequently-asked-questions">XI FAQ - Frequently Asked Questions</a>

Similar Messages

  • Use different BAPI's in same scenario

    Hey guys
    i was just wondering whether it is possible to use two different BAPI's in the same scenario.
    like suppose i m doing a File to RFC scenario,then can i use two different RFC's on the receiver side(i m not asking about branching the messages using receiver determination)
    thanx
    ahmad

    Ahmad ,
    the BPM will look as follows,
    1. Receive Step --> Opens Synch Asynch Bridge and receives the Synch Request.
    2. 2 separate Transformation steps --> to map the Request Message to the 2 Different BAPI's request mesaages.
    3. Fork --> with 2 branches and 2 send synchronous steps to send the BAPI request and get the responses.
    4. Transformation --> 2:1 transfromation, where you combine the BAPI response into the single response message as expected by the initiator.
    5. Send --> Closes Synch Asynch Bridge and sends response back.
    Regards
    Bhavesh

  • Two idocs with same idoc number in idx5

    We are using an idoc to file scenario where idocs are bundled using bpm and posted to ftp. here the issue is we are getting two idocs with same idoc number in idx5. due to which the file in ftp is getting overwritten.
    Could anyone suggest me what to do in this regard.

    Hi,
    >>>check your sender system is sending same IDoc twice ?
    if you send the same IDOC twice they both get different numbers as IDOC number is taken from the IDOC num range
    unless you're able to send the same IDOC twice with the same IDOC num somehow
    Regards,
    Michal Krawczyk

  • Stock Transfer Between two plants within same company code

    Hello,
    We are using scenario-'Stock transfer between two plants within same company code. Scenaro is like Plant A is receving plant and Plant B is delivering Plant.
    Plant A release PO for 100 nos to Plant B
    Plant B issues 100 nos (via delivery) to Plant A
    But Plant A receives only 50 nos physically so they do Goods receipt for 50 nos , but document got generated for 100 nos (when plant B issues material).
    Now Plant A do not want to receive remaining 50 nos physically, but wants to reduce material document which got created when goods issue posted by plant B
    Now stock in transis (mb5t) is 50 nos.
    How to reduce this material document. or any another alternative solution for this?
    Thanks,
    Shailesh

    Hi There
    Reversal of partial is not possible ,
    But you can use the Mov Type 557 and 558 to do the adjustments in Stock in transit qty
    Few more details on STO adjustments
    Hi There
    it can be settle in many ways,,,
    1. Receive the goods as 100 and Scrap the 50 nos from the received plant,,- If the receiving plant is responsible
    2.Revert the PGI/Transfer movement(Vl09) and send the 50 nos again from the supplying plant- of the Supplying plant is responsible,
    3.Also we have the movement type 557 and 558 without doing the above two steps you can correct the qty from stock in transit itself,,
    4. also you can check the below similar thread
    STO - material lost during tranfer from plant A to plant B
    5. If above are not ok, then receive the goods as 100, And raise the STO as your plant as supplying plant and receiving plant is (Supplied 50 nos less) plant,, Do the process without sending the material.. in this way that 50 nos can be adjusted,,
    6.Here is some more details
    557 Issue from stock in transit (adjustment posting)
    Only use this movement type (also the reversal movement type) under the following circumstances:
    Using movement type 557, you can correct purchase-order-independent stock in transit if
    - a good receipt cannot be posted to a purchase order without stock in transit, even though there is still stock in transit according to the purchase order history
    - stock in transit still exists, even though there are no open stock transfer orders for the particular material
    This movement type may ONLY be used in the cases mentioned above after careful analysis, to correct stock in transit that has rounding errors.
    This movement type may not be copied.
    Note!
    Before using this movement type, note the following:
    - 392205 Analysis stock in transit / Correction if split valuation
    Possible special stock indicators:
    E, Q
    7. As previous post says if you have the note for this issue you can use that also
    You can use any one of the way to solve the issue, Hope it helps
    Cheers
    Senthil P

  • Can we have two clusters in same domain running different versions of WLS

    I have not tested this yet but was looking for help from people who might have done this already.. Is it possible to have this scenario:
              create two independent clusters, say C1 and C2 as part of a single domain D. C1 has 2 managed servers running WLS8.1 and C2 has 2 managed servers running WLS7.0
              Can this be done?
              Thanks,
              Raghu

    It is definetely inviting for trouble.
              We can have two clusters from same version of weblogic server within a domain.
              If we have a WLS8.1 domain, the managed servers that we create from that domain should be from WLS8.1.
              As far I remember, its not a supported configuration to have different versions(major versions) of Admin and managed servers.
              -Vijay

  • I have duplicate email accounts icons, NOT recieving duplicate emails just two of the same email icons

    I had a blackberry curve 8310 with ATT. I transferred carriers and got a new bold 9650 with sprint. I transferred data from old curve to new bold. But the old email didn't work on new bold. So I went to set up BIS with sprint, it added email account that works. But now I have two icons with the same email address. One works and one doesn't so it is confusing when I am selecting address to compose email. How do I delete email icon/account. I hid the icons but when composing email, it still shows two of the same email in the From:

    Hi and Welcome to the Forums!!
    I suggest the following steps, in order, even if they seem redundant to what you have already tried (steps 1 and 2 each should result in a message coming to your BB...please wait for that before proceeding to the next step):
    1) Register HRT
    KB00510 How to register a BlackBerry smartphone with the wireless network
    2) Delete and Resend Service Books
    KB05000Delete the service book for the BlackBerry Internet Service email account from the BlackBerry smartphone
    KB02830 Send the service books for the BlackBerry Internet Service
    3) Batt Pull Reboot
    Anytime random strange behavior or sluggishness creeps in, the first thing to do is a battery pop reboot. With power ON, remove the back cover and pull out the battery. Wait about a minute then replace the battery and cover. Power up and wait patiently through the long reboot -- ~5 minutes. See if things have returned to good operation. Like all computing devices, BB's suffer from memory leaks and such...with a hard reboot being the best cure.
    Hopefully that will get things going again for you!
    Occam's Razor nearly always applies when troubleshooting technology issues!
    If anyone has been helpful to you, please show your appreciation by clicking the button inside of their post. Please click here and read, along with the threads to which it links, for helpful information to guide you as you proceed. I always recommend that you treat your BlackBerry like any other computing device, including using a regular backup schedule...click here for an article with instructions.
    Join our BBM Channels
    BSCF General Channel
    PIN: C0001B7B4   Display/Scan Bar Code
    Knowledge Base Updates
    PIN: C0005A9AA   Display/Scan Bar Code

  • I have two iPods under same account information and lost one but when I try and track it only the one that isnt lost shows up, is there somewhere I can go to fix this?

    I have two iPods under same account information and lost one but when I go to track it only the one that isnt lost shows up, is there somewhere I can go to fix this?

    They cannot be tracked unless connected to WiFi.

  • Seperate libraries for two ipods on same computer

    how can i set up seperate libraries for two ipods on same computer . running xp . after installing software for second ipod , i only have one version of itunes ,with only one library .tried setting up seperate playlists but that didnt help . thanks for help!

    The only way I know to have two entirely separate iTunes libraries on one computer is to have two Windows or Mac user accounts: How To Use Multiple iPods with One Computer

  • I can not transfer date from one hard drive to another, I keep getting an error because I have two of the same file names and one file name is in caps and I cant change the file name

    can not transfer date from one hard drive to another, I keep getting an error because I have two of the same file names and one file name is in caps and I cant change the file name. My original external has an error and needs to be reformatted but I dont want to lose this informations its my entire Itunes library.

    Sounds like the source drive is formatted as case sensitive and the destination drive is not. The preferred format for OS X is case insensitive unless there is a compelling reason to go case sensitive.
    Why can't you change the filename? Is it because the source drive is having problems?  If so is this happening with only one or two or a few files? If so the best thing would be to copy those over individually and then rename them on the destination drive.
    If it is more then you can do manually and you can't change the name on the source you will have to reformat the destination as case sensitive.
    Btw this group is for discussion of the Support Communities itself, you;d do better posting to Lion group. I'll see if a host will move it.

  • Two of the same artists showing up on my ipod when I add 1 specific album

    OK so here's what's happening.  I downloaded a rolling stones album "Let It Bleed," off the internet.  And I made a file for it, put the songs in the file, and put the file in itunes. So I have ALL the songs, album artwork etc in itunes, but the songs were out of order. SO... I looked it up, saw that fixing the track listing on each song when you hit "Get Info" on a specific song, would put the song in the correct space. So I numbered all the songs, 1-9, ON ITUNES!  THEN... I TRANSFERRED the album to my ipod, and guess what happened?  Well, all the songs showed up correctly, numbered and all, with everything I had intended. But after I transferred the album, it showed under artists, The Rolling Stones, TWO OF THE SAME ONE!  TWO ROLLING STOnes with the same songs and albums.  And when I deleted one song from one artist, it deleted it from the second artist too..... and before i put the track listings down for each song on the album, it worked! I could transfer the album no problem except that the songs weren't in order. But as soon as i numbered the songs, it double the artist Rolling Stones, ON MY IPOD ONLY! Not on itunes or my computer! So I need ACCURATE AWESOME HELPFUL GLORIOUS SAVING ANSWERS that will help me fix this problem.  THANK YOU I REALLY NEED THIS ALBUM PROPERLY ON MY IPOD BY TOMORROW SINCE I'M GOING ON A CAR TRIP

    Hello samanthaflora
    If you see a cloud option, then you have the option of Show All Music turned on. If you go to Settings > Music and look for that option, you can turn it off to not show any of your purchased history to show up in the Music App. Try that and then sync the music again to see if it still shows up as double.  If it is, then could you take a screen shot and add it to the reply so that way we can see what you are describing to better assist you.
    Download past purchases
    http://support.apple.com/kb/HT2519
    Regards,
    -Norm G.

  • I bought an audio book on iTunes and it charged me for two of the same book and downloaded two.  How do I get my money back for one of them?

    I purchased an audio book on iTunes store and was charged for two and downloaded two of the same book.  How do I get my money back for the second one?

    Try contacting iTunes support via this page : http://www.apple.com/support/itunes/contact/ - click on Contact iTunes Store Support on the right-hand side of the page, then Purchases, Billing & Redemption
    Note that audiobooks are currently a one-time only download from the store, so you may want to take a backup copy of it

  • Two methods with same name but different return type?

    Can I have two methods with same name but different return type in Java? I used to do this in C++ (method overloading or function overloading)
    Here is my code:
    import java.io.*;
    public class Test{
    public static void main(String ar[]){
    try{          
    //I give an invalid file name to throw IO error.
    File file = new File("c:/invalid file name becasue of spaces");
    FileWriter writer = new FileWriter(file ,true);
    writer.write("Test");
    writer.close();     
    } catch (IOException IOe){
         System.out.println("Failure");
    //call first method - displays stack trace on screen
         showerr(NPe);
    //call second method - returns stack trace as string
            String msg = showerr(NPe);
            System.out.println(msg);
    } // end of main
    public static void showerr(Exception e){
         StringWriter sw = new StringWriter();
         PrintWriter pw = new PrintWriter(sw);
         e.printStackTrace(pw);
         try{
         pw.close();
         sw.close();
         catch (IOException IOe){
         IOe.printStackTrace();     
         String stackTrace = sw.toString();
         System.out.println("Null Ptr\n" +  stackTrace );
    }//end of first showerr
    public static String showerr(Exception e){
         StringWriter sw = new StringWriter();
         PrintWriter pw = new PrintWriter(sw);
         e.printStackTrace(pw);
         try{
         pw.close();
         sw.close();
         catch (IOException IOe){
         IOe.printStackTrace();     
         return sw.toString();
    }//end of second showerr
    } // end of class
    [\code]

    Overloading is when you have multiple methods that have the same name and the same return type but take different parameters. See example
    public class Overloader {
         public String buildError(Exception e){
              java.util.Date now = new java.util.Date() ;
              java.text.DateFormat format = java.text.DateFormat.getInstance() ;
              StringBuffer buffer = new StringBuffer() ;
              buffer.append(format.format(now))
                   .append( " : " )
                   .append( e.getClass().getName() )
                   .append( " : " )
                   .append( e.getMessage() ) ;
              return buffer.toString() ;
         public String buildError(String msg){
              java.util.Date now = new java.util.Date() ;
              java.text.DateFormat format = java.text.DateFormat.getInstance() ;
              StringBuffer buffer = new StringBuffer() ;
              buffer.append(format.format(now))
                   .append( " : " )
                   .append( msg ) ;
              return buffer.toString() ;
         public String buildErrors(int errCount){
              java.util.Date now = new java.util.Date() ;
              java.text.DateFormat format = java.text.DateFormat.getInstance() ;
              StringBuffer buffer = new StringBuffer() ;
              buffer.append(format.format(now))
                   .append( " : " )
                   .append( "There have been " )
                   .append( errCount )
                   .append( " errors encountered.")  ;
              return buffer.toString() ;
    }Make sense ???
    Regards,

  • Two actions on same day

    hi,
    We have requirement where we need to run the two actions on same day
    Hiring actions
    Change in pay action
    In hiring action basic pay has to come as mention in pay scale group then they want to run one more actions called change in pay on same day where they would maintain basic pay
    My doubt is that will we able run two actions on same day if yes,
    I have actived IT0302 addition action and T77S0 Table as  ADMIN              EVSUP  1
    Please let me know what the other settings I have to do 
    I am getting below error when I run two actions on same day

    You can excute multiple actions for an employee on same date in PA40
    For Example:
      An Employee of a company , got Hired and Change in Pay on the Same date.
    You need to execute  RPUEVSUP program  for Activation of Additional Actions  and
    In T77S0 table: below values should be maintained
    Group name Semantic abbr.    Value
    ADMIN           EVSUP                1
    In T529A table:below value should be maintained
          Field                         Value
          Action Type              A3 (Hiring)
          Update IT0000           X
          Update IT0302           X
          Field                         Value
          Action Type              A9 (Change in Pay)
          Update IT0000           X
          Update IT0302           X
    I hope this will resolve your issue

  • How to write two triggers on same table how it works?

    Hello sir..
    I have to write two triggers on same table for auditing different columns of different pages (may be different modules).
    I will have an audit table in which i will insert data such as (user_id,module_id,column_name,old_col_val,new_col_ val,timestamp)
    Now different users from different pages will update the data on same table may be same columns!
    If we write directly, we will not be able to know which column is updated from different pages.
    My question is how can we control the triggers to raise based on the pages

    A trigger is executed whenever the table is inserted / updated / deleted (depend on trigger definition). It won't know what 'page' caused the operation. You can prepare a trigger for one page.
    In order to fulfill your need, you need some way to tell the trigger where you are. There are many ways to accomplish this. Some possible methods are (please check the documents for detail)
    DBMS_SESSION.SET_IDENTIFIER
    DBMS_APPLICATION_INFO.SET_MODULEFor example, you can call DBMS_SESSION.SET_IDENTIFIER to set an ID from your page, and then call sys_context to read the ID back:
    In Page:
    exec dbms_session.set_identifier('Page1');
    ...In Trigger
    pageid  := sys_context('USERENV', 'CLIENT_IDENTIFIER') ;
    ...Note that if you use a connection pool, you may need to properly reset the session information before return, in order to avoid messing up the session information when the connection is used next time.

  • Two triggers on same table

    Hi Friend.
    I have to write two triggers on same table for auditing different columns of different users(may be different modules).
    I will have an audit table in which i will insert data such as (user_id,module_id,column_name,old_col_val,new_col_val,timestamp)
    Now different users from different modules will update the data on same table may be same columns from different front end forms!
    If we write directly, we will not be able to know which column is updated by which user.
    My question is in this case how can we control the triggers to raise differently?

    You can use WHEN clause to fire a trigger only when some condition is true - you can check an user also,
    look at simple example:
    - suposse we have two users US1 and US2:
    C:\>sqlplus sys as sysdba
    SQL*Plus: Release 10.2.0.1.0 - Production on Pn Gru 6 13:14:22 2010
    Copyright (c) 1982, 2005, Oracle.  All rights reserved.
    Enter password:
    Connected to:
    Oracle Database 10g Express Edition Release 10.2.0.1.0 - Production
    SQL> create user us1 identified by us1;
    User created.
    SQL> create user us2 identified by us2;
    User created.
    SQL> grant connect, resource to us1, us2;
    Grant succeeded.
    SQL> grant create public synonym to us1, us2;
    Grant succeeded.and suposse we have a table with three columns + audit table:
    SQL> connect us1
    Enter password:
    Connected.
    SQL> create table tab123(
      2  col1 number,
      3  col2 number,
      4  col3 number);
    Table created.
    SQL> create table audit_tab123(
      2  username varchar2(100),
      3  col1 number,
      4  col2 number,
      5  col3 number );
    Table created.
    SQL>  grant select, update, insert on tab123 to us2;
    Grant succeeded.
    SQL>  grant select, update, insert on audit_tab123 to us2;
    Grant succeeded.
    SQL> create public synonym tab123 for tab123;
    Synonym created.
    SQL> insert into tab123 values( 1, 1, 1 );
    1 row created.
    SQL> commit;
    Commit complete.We want a trigger that is fired only by user US1 and only after update of COL1 and COL2
    (COL3 is ignored):
    SQL> connect us1/us1
    Connected.
    SQL> CREATE OR REPLACE TRIGGER Trig_123_US1
      2  AFTER UPDATE OF col1, col2 ON tab123
      3  FOR EACH ROW
      4  WHEN ( user = 'US1' )
      5  BEGIN
      6    INSERT INTO audit_tab123( username, col1, col2 )
      7    VALUES( user, :new.col1, :new.col2 );
      8 END;
    SQL> /
    Trigger created.And we want a second trigger that is fired only by user US2 and only after update of COL2 and COL3
    (COL1 is ignored):
    SQL> connect us1/us1
    Connected.
    SQL> CREATE OR REPLACE TRIGGER Trig_123_US2
      2  AFTER UPDATE OF col2, col3 ON tab123
      3  FOR EACH ROW
      4  WHEN ( user = 'US2' )
      5  BEGIN
      6    INSERT INTO audit_tab123( username, col2, col3 )
      7    VALUES( user, :new.col2, :new.col3 );
      8  END;
      9  /
    Trigger created.and now let test our triggers:
    SQL> connect us1/us1
    Connected.
    SQL> update tab123 set col1 = 22;
    1 row updated.
    SQL> update tab123 set col2 = 22;
    1 row updated.
    SQL> update tab123 set col3 = 22;
    1 row updated.
    SQL> commit;
    Commit complete.
    SQL> select * from audit_tab123;
    USERNAME         COL1       COL2       COL3
    US1                22          1
    US1                22         22
    SQL> connect us2/us2
    Connected.
    SQL> update tab123 set col1 = 333;
    1 row updated.
    SQL> update tab123 set col2 = 333;
    1 row updated.
    SQL> update tab123 set col3 = 333;
    1 row updated.
    SQL> commit
      2  ;
    Commit complete.
    SQL> select * from us1.audit_tab123;
    USERNAME         COL1       COL2       COL3
    US1                22          1
    US1                22         22
    US2                          333         22
    US2                          333        333As you see, each trigger is fired only once, first triger only for user US1 and columns COL1 and COL2,
    and second trigger only for user US2 and only after update of COL2 and COL3.
    I hope this will help.

Maybe you are looking for

  • How to get the number of current active external modes?

    hi all, I need to get the number of currently active external modes. This can be done by calling function THUSRINFO. But this only works propperly, if you are logged on only once. If you are logged on more than one time then the function returns seve

  • PO item with Multiple Goods receipt line items

    Hi Experts, When we create PO for specific vendor with one PO line item then at the time of Good receipt there are multiple GR line items. How to control those multiple GR line items as one GR item. Appreciated your help Regards Krishna

  • HOW TO REVIEW STATSPACK REPORT

    dear all i have sucessfully done with statspack i know how to analyse with 1.Instance Efficiency Percentages (Target 100%) 2.Top 5 Timed Events 3. Buffer Gets Executions Gets per Exec %Total Time 4.tablespace but i want to explore more on statspack p

  • IMac Intel or iBook?

    I want to spend £1000 on a Mac...I'm tempted to go for an Intel iMac, but I'm also keen on a laptop of some kind. I know that it depends on whether I want to take a computer with me to places, but there doesn't seem to be any laptop equivilent to the

  • Listing existing properties and refnums for a control

    I'm relatively new to LabView programming and this is probably a basic question.  I need to list the existing properties and corresponding refnums for a custom control that was created before I started maintaining an existing application.  I would li