Table Names of Processed  XML Messages

Hi ALL,
We are facing space problem  in PRD box with one of our client, due to increase in large number of Messages  .
Our basis tryed to do archiving, but endup with no luck.
Could any one tell us in which tables processed idoc xml messages will get stored.
.Any help is highly appreciated.
Kind Regards,
Vijay

Hi,
you should not delete XI Message directely from database table. Please schedule archive or delete jobs. If you never define which interface should be archived, it could NOT be done afterwards. This is also documented clearly on the help.sap.com. What you could do is delete the old messages to free table space. You could configure now interface which should be archived, in this case the message processed in XI in future could be archvied.
XI message is actually stored in different tables,
SXMSPMAST, SXMSPMAST2      XML Message master Table,  contains runtime information on XML messages processed by XI; in this table you can find all the information that is visible in SXMB_MONI.
SXMSCLUP     XI Message Payload Tabelle
SXMSCLUR     XI Message Payload Tabelle
SMPPREL3     this table contains information about interfaces; here you can find information on sender (party, service, interface and namespace) and receiver (party, service, interface and namespace) as well as information on maps (their GUID and name as well as namespace).
SXMSPFRAWH     Performance Head Data, Audit Log,
SXMSPFRAWD     Performance Data, Audit Log
There are could be more tables used to store information about XI messages, as I mentioned don't modify database table by your own risk. You will not get support by SAP, it could cause fatal error.
regards,
Hai

Similar Messages

  • Cannot change table-name in persistent.xml

    I've successful deployed a Entity EJB on "SAP Enterprise Portal 6.0 SP4 NetWeaver Developer Sneak Preview"
    After changing the Table Name in persistent.xml and re-deploying the new EAR, the Entity EJB still writes to the old table.
    How can I get SAP Web AS to accept the new persistent.xml/persistent-ejb-map/entity-beans/entity-bean/table-name entry ?
    I've already tried:
    1) Re-deploy EAR and re-boot the server
    2) Delete all old copies of EAR directories and temporary files, reboot and re-deploy.
    Note: Expanding new EAR confirms that persistent.xml/table-name has been updated on the SAP Web AS.  However, EJB still writes to the old table.
    Alton

    In Web AS 6.40 the application data is stored in the database, therefore it is restored even if you delete the folders in the file system.
    To undeploy the application, you can use the Deploy Service runtime in Visual Administrator. Start the Visual Administrator using the <i>go</i> script file in <drive>:\usr\sap\<SID>\JC00\j2ee\admin. Then expand the <i>Services</i> tree under the server node, and choose <i>Deploy</i>. On the right-hand side of the screen switch to <i>Application</i> view, select your application, and choose <i>Remove</i>.
    Zornitsa

  • No show message in monitor for processed XML messages

    Hi,
    I get the document 'VALIDANTING A CONNECTION BETWEEN SAP R/3 AND SAP XI WITH RFC' and following the steps until step 9 it's ok but I can execute the step 10 I get 2 problem:
    First Problem - I dont know where see the ABAP code STFC_CONNECTION, How do you know?
    The Second Problem is the step 11 the system not show message and the documentation show message.
    Please Help-me.
    Any Ideas ?
    Regards.
    Mattos.

    Hi, Ashish thanks for anwser my doubt.
    So, the step 10 is "10. Refer to the following ABAP code snippet for executing the STFC_CONNECTION programmatically
    instead of using the user interface shown above.
    Call STFC_CONNECTION to send/receive request/response to/from XI***
    DATA: v_msg_text(80) TYPE C. "Message text
    CLEAR v_msg_text.
    CALL FUNCTION 'STFC_CONNECTION'
    DESTINATION 'XI'
    EXPORTING
    requtext = 'REQUEST_TEXT'
    EXCEPTIONS
    communication_failure = 1 MESSAGE v_msg_text
    system_failure = 2 MESSAGE v_msg_text.
    IF SY-SUBRC NE 0.
    **Write your code here**
    ELSE.
    **Write your code here**
    ENDIF."
    and the setep eleven is "11. Check the Integration Engine monitor for the processed XML messages (SXMB_MONI):
    Shows Sender Interface:"
    But I not see messege in my Monitor.
    Other doubt in step 5 the document order to create the RFC_Sender Communication Channel, this configuration have the parameters PROGRAM ID (mandatory), we dont have any idea what input there, Can you Help-me? How can find this parameters? in document we have the exemple INTEGRATION_SERVER.
    Thanks.
    Regards,
    Mattos.

  • What is the payload structure has to be used for AQ to process XML messages.

    Hi Experts,
    We have an IBM MQ and Oracle AQ has to be be linked to that.
    MQ always contains XML messages and same message will come to AQ.
    Now I want to create AQ. What is the payload structure(object) has to be used for AQ to process XML messages.
    Please help me.
    Thanks.

    Hello,
    using XML type data in AQ you have to define a special AQ payload type
    (corresponding to MQ):  QUEUE_PAYLOAD_TYPE = 'SYS.MGW_BASIC_MSG_T'.
    An example template for enqueueing looks like (you have to transform
    from XMLTYPE to the MGW payload type):
    DECLARE    
       queue_options      DBMS_AQ.ENQUEUE_OPTIONS_T; 
       message_properties DBMS_AQ.MESSAGE_PROPERTIES_T;  
       message_id         RAW(16);  
       v_message          SYS.XMLType;   
       v_clob             CLOB;
       v_payload          SYS.MGW_BASIC_MSG_T;
       v_text_body       
    SYS.MGW_TEXT_VALUE_T;
    BEGIN
       v_message      := SYS.XMLType.createXML('<SAMPLE>hello world</SAMPLE>'); 
       v_clob         := v_message.GETCLOBVAL();
       v_text_body    := SYS.MGW_TEXT_VALUE_T( NULL, v_clob );
       v_payload      := SYS.MGW_BASIC_MSG_T( v_header, v_text_body, NULL );
       DBMS_AQ.ENQUEUE( queue_name         => 'my_queue',
                        enqueue_options    => queue_options,
                        message_properties => message_properties,
                        payload            => v_payload,
                        msgid              => message_id);
    END;
    Kind regards,
    WoG

  • How to pass the table name dynamically in xml parsing

    Hi All,
    I have created one procedure for parsing xml file which is working perfectly.
    FORALL i IN t_tab.first .. t_tab.last
             INSERT INTO Test_AP VALUES t_tab(i);Now I want to put the table name dynamically+. For that I have added one query and modify above code as follow:-
    I have already declare dml_str varchar2(800) in declaration part.
    Query is as follows:-
    select table_name into tab_name from VERSION_DETAILS where SUBVERSION_NO=abc;  -- here abc is variable name which contains values.
    FORALL i IN t_tab.first .. t_tab.last
              dml_str := 'INSERT INTO ' || tab_name || ' values :vals';
              EXECUTE IMMEDIATE dml_str USING t_tab(i);But it's not working. How I will resolve this or through which way I achieved the intended results. Anyone can guide me on this matter.
    Thanks in advance for your help...

    Hi,
    But it's not working.Don't you think it would help to give the error message?
    Put the assignment before FORALL.
    FORALL only accepts one subsequent DML statement (static or dynamic SQL) :
    dml_str := 'INSERT INTO ' || tab_name || ' values :vals';
    FORALL i IN t_tab.first .. t_tab.last          
    EXECUTE IMMEDIATE dml_str USING t_tab(i);

  • Monitor for processed xml messages

    Hi all experts,
    I'm a newbie. My work duty is PI/XI trouble shooting, and it's difficult for me currently.
    I input tcode:sxmb_moni, and list all errors. After I double click a Interface, I see any xml. Although  I have some programmer experience, but I can't understand what it mean yet.
    Who can tech me, or give me a reference link to study?
    Thanks  a lot

    Hi,
    For XI monitoring and Troubleshooting you should go through the couple documents available on SDN.
    That will help to give the corrective direction.
    In SXMB_MONI, when you will double click on the failed messages, you will see 4 sections.
    1. Left-top section indicates the Request /Response of message
    2. Left-bottom section will drilled down the reqest/Response tree to further indepth details.
    3. Right-top section indicates the processing log of the message along with trace details.
    4. Right-bottom section will be based on the left side topic selected from the tree structure.
    (Initally you will get error details in case of failures.)
    XI Production Errors -- Steps to refer it in SXMB_MONI.
    /people/prashanth.azharuddin/blog/2006/11/24/some-errors-in-an-xi-production-environment
    /people/michal.krawczyk2/blog/2006/01/02/xi-sxmbmoni--controlling-access-to-message-display
    /people/sukumar.natarajan/blog/2007/06/05/message-monitoring-overview-in-xi-with-sp20-sp12-in-70
    Troubleshooting
    Search various blogs for the troubleshooting based on the scenarios - file/soap/http/proxy etc.
    THanks
    Swarup

  • MonitorFor Processed XML Messages

    Hi Eveybody,
    I have a little problem with my message. I uploaded my xml with Transaction CG3Z from my directory to SAP system. I saw the xml in AL1. After a few minute it disappears and when I go to SXMB_MONI and I execute for check the process.
    The status is in Red Flag, the error is Transaction IDX1: Port ER6, client, RFC
                                                                            destination contains errors.
    Could you help me please?
    In advance thank you,
    Mohamed R.

    Hi,
    I did also that.
    I receive now another error: Runtime error RFC_NO_AUTHORITY has occurred
    Anybody know this runtime ?
    Thank you,
    Mohamed R.
    Edited by: rahhaoui mohamed on Feb 6, 2009 3:15 PM

  • Tables name of process order

    Hi
    My customer has unique requirement of report regarding process order values.
    I wanted the values like same as component structure according product and material group.
    I have searched some of the standard tables like  Aufk, Afko, resbm and tckh3.
    I could not able to get any thing.
    If any body could have worked on the same please help me.
    Thanks
    kareem

    Hi nkonnipati,
    thanks for your reply,
    i have gone through ur tables but i could not got any values like
    raw materials , packing materials , activities and variance
    thanks
    kareem

  • Use of BPM for processing XML message

    I have got a requirement for updating X-number and X- status into the SAP system from a non SAP system. I am getting the message which contains both these values in the form of xml and using HTTP and should be posted as 2 different IDOCs at the SAP system.
    But the requirement is to post the X-number first and once it is updated X-status should be posted based on the number.
    Assuming that X-number is available first and the status next in the non SAP system can we use BPM and if so how what needs to be done to make sure status doesnt update before number.

    Hi,
    Proceed as follows:
    1) Receive the X-message
    2) have  a transformation step....and map only the x-number into the target IDOC
    3) have a synchronous send step....why a sync send....because in that you can get the confirmation for success/failure of your x-number upload....this is only if you want a confirmation...this will make sure that your x-number is updated first.....
    4) now if you do not want to have a response back then...have a transformation step to map the x-status to your IDOC...then have a async send step...
    5)
    a)If sync send used: then you can have a condition like check the status of upload of x-number and if successful then send the x-status.
    b) if failure then you can resend the x-number message.
    c) if async send then you can directly send your x-status message.
    Steps 3, 5(a), 5(b) can be avoided if async commn is used. If you want that your BPM runs somewhat faster then you can avoid the transformation steps....instead you can use the mappings in the respective interface detemination.
    Regards,
    Abhishek.

  • Table name: Infopackage Processing information

    Hi gurus!
    Does anybody know which table I have the information of the Infopackage tab "processing"?
    I need to know all infopackages that are sending data only to PSA.
    Thanks in advance,
    Silvio Messias.

    Hi guys!
    Just to inform you! I have found... Table RSLDPSEL, field ZIEL.
    Thanks,
    Silvio Messias.

  • How to restart correctly processed XML messages

    Folks,
    Is there a way to resend already successfully processed message in XI (SXMB_MONI shows checkered flag). The requirement is to re-send PO or Invoice due to the customer demand.
    All inputs deeply appreciated.
    Thank you.

    Sandeep,
    Is there a way to resend already successfully processed message in XI (SXMB_MONI shows checkered flag).
    Go through this blog from Michal -
    /people/michal.krawczyk2/blog/2005/11/09/xi-restarting-successfully-processed-messages
    You can perform this even in PRD, but it is not at all recommended ... ideally, such messages should be sent from the source.
    Hope this helps.
    Regards,
    Neetesh

  • Tables for XML messages

    Hi Experts,
    I want to know the tables in which the XML messages are stored in Inbound Queue.
    Thanks in advance.
    Milan

    Hi Shah,
    Please check michals reply in this thread:
    In Which Database Table the Messages are Stored in XI
    Also worth looking at these:
    /people/gourav.khare2/blog/2007/12/12/interesting-abap-tables-in-xi-150-part-i
    Regards.
    ---Satish

  • Process Defination-Table Name

    What is Table name in Process deff reffers to?

    Its design doc
    See we have a application to be intergrated and for that I need to provision some details to AD custom Attributes.
    Now to represent that app
    1.I created a RO as application
    2.Created a process deff and in the object name I added the app name.Now as per this doc the table name field has to have a value UD_appname.
    Now when I enter this UD_appname and try to save it gives me error as stated

  • XML Messages View

    Hi All
    When I treid to view SXMB_MONI it just show only 1 day XML Messages only, how can I see all of old messages which has been archived...
    I would like to see Table view "XI_AF_MSG" in PI 7.0 NW2004s under JAVA-Stack archiving
    When I tried SE16 and give Table Name XI_AF_MSG I got messages:
    "Table XI_AF_MSG is not active in Dictionary"
    I belived I can see these messages under Integration adapter... but how to see these view using SE16, basically my requirenment is show prevouse MXL messages logs
    please help me
    Thanks in Advanced
    Angeline Purnama

    To Search for all processed messages
    Leave the Status Group and Status fields empty.
    also specify
    ●      Start of execution
    Date (Executed From) and time (Start Time) of the start of message processing.
    ●      End of execution
    Date (Executed Until) and time (End Time) of the end of message processing.
    To display the entire history of the message, click the end time.
    refer this link [http://help.sap.com/saphelp_nw70/helpdata/en/dc/c5223d78cb752de10000000a114084/content.htm] to Know more for selecting the messages to be displayed.

  • Single queue: concurrent processing of messages in multiple consumers

    Hi,
    I am new to jms . The goal is to  process messages concurrently from a queue in an asynchronous listener's onMessage method  by attaching a listener instance to multiple consumer's with each consumer using its own session and running in a separate thread, that way the messages are passed on to the different consumers for concurrent processing. 
    1) Is it ossible to process messsages concurrently from a single queue by creating multiple consumers ?
    2)  I came up with the below code, but would like to get your thoughts on whether the below code looks correct for what I want to accomplish.  
    import java.io.IOException;
    import java.io.InputStreamReader;
    import java.util.Properties;
    import javax.jms.Connection;
    import javax.jms.ConnectionFactory;
    import javax.jms.Destination;
    import javax.jms.JMSException;
    import javax.jms.Message;
    import javax.jms.MessageConsumer;
    import javax.jms.MessageListener;
    import javax.jms.Session;
    import javax.jms.TextMessage;
    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
    import com.walmart.platform.jms.client.JMSConnectionFactory;
    public class QueueConsumer implements Runnable, MessageListener {
      public static void main(String[] args) {
       // Create an instance of the client
        QueueConsumer consumer1 = new QueueConsumer();
        QueueConsumer consumer2 = new QueueConsumer();
        try {
        consumer1.init("oms","US.Q.CHECKOUT-ORDER.1.0.JSON");   //US.Q.CHECKOUT-ORDER.1.0.JSON   is the queue name
        consumer2.init("oms","US.Q.CHECKOUT-ORDER.1.0.JSON");
        }catch( JMSException ex ){
        ex.printStackTrace();
        System.exit(-1);
        // Start the client running
        Thread newThread1 = new Thread(consumer1);
        Thread newThread2 = new Thread(consumer1);
        newThread1.start();newThread2.start();
        InputStreamReader aISR = new InputStreamReader(System.in);
              char aAnswer = ' ';
              do {
                  try {
      aAnswer = (char) aISR.read();
    catch (IOException e)
      // TODO Auto-generated catch block
      e.printStackTrace();
    } while ((aAnswer != 'q') && (aAnswer != 'Q'));
              newThread1.interrupt();
              newThread2.interrupt();
              try {
      newThread1.join();newThread2.join();
      } catch (InterruptedException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
              System.out
      .println("--------------------exiting main thread------------------------"+Thread.currentThread().getId());
            System.exit(0);
    // values will be read from a resource properties file
    private static String connectionFactoryName = null;
    private static String queueName = null;
    // thread safe object ref
      private static ConnectionFactory qcf = null;
      private static Connection queueConnection = null;
    // not thread safe
      private Session ses = null;
      private Destination queue = null;
      private MessageConsumer msgConsumer = null;
      public static final Logger logger = LoggerFactory
      .getLogger(QueueConsumer.class);
      public QueueConsumer() {
      super();
      public void onMessage(Message msg) {
      if (msg instanceof TextMessage) {
      try {
      System.out
      .println("listener is "+Thread.currentThread().getId()+"--------------------Message recieved from queue is ------------------------"
      + ((TextMessage) msg).getJMSMessageID());
      } catch (JMSException ex) {
      ex.printStackTrace();
      public void run() {
      // Start listening
      try {
      queueConnection.start();
      } catch (JMSException e) {
      e.printStackTrace();
      System.exit(-1);
      while (!Thread.currentThread().isInterrupted()) {
      synchronized (this) {
      try {
      wait();
      } catch (InterruptedException ex) {
      break;
      * This method is called to set up and initialize the necessary Session,
      * destination and message listener
      * @param queue2
      * @param factoryName
      public void init(String factoryName, String queue2) throws JMSException {
      try {
      qcf = new JMSConnectionFactory(factoryName);
      /* create the connection */
      queueConnection = qcf.createConnection();
      * Create a session that is non-transacted and is client
      * acknowledged
      ses = queueConnection.createSession(false,
      Session.CLIENT_ACKNOWLEDGE);
      queue = ses.createQueue(queue2);
      logger.info("Subscribing to destination: " + queue2);
      msgConsumer = ses.createConsumer(queue);
      /* set the listener  */
      msgConsumer.setMessageListener(this);
      System.out.println("Listening on queue " +queue2);
      } catch (Exception e) {
      e.printStackTrace();
      System.exit(-1);
      private static void setConnectionFactoryName(String name) {
      connectionFactoryName = name;
      private static String getQueueName() {
      return queueName;
      private static void setQueueName(String name) {
      queueName = name;

    Hi Mark,
    if the messages are sent with quality of service EO (=exactly once) you can add queues.
    From documentation:
    Netweaver XI -> Runtime -> Processing xml messages -> Queues for asynchronous message processing
    ...For incoming messages you set the parameter EO_INBOUND_PARALLEL from the Tuning category.
    If more than one message is sent to the same receiver, use the configuration parameter EO_OUTBOUND_PARALLEL of the Tuning category to process messages simultaneously in different queues.
    Transaction: SXMB_ADM
    Regards
    Holger

Maybe you are looking for

  • How to handle cash discount in MIRO ?

    Dear Experts , what is the significance of cash discount field in the invoice verification? When i put an amount in this field there is no effect in invoice . Please Guide Regards Anis

  • Stck issue

    hi gurus, Any new sales order that we have no stock and no open purchase order the delivery date should be based on the lead time for that part. Any new sales order that we have not stock and we have an open purchase order the delivery date should be

  • Error in Update optimizer statistics - index is in unusable state

    Hello, we have this error in log Check and update optimizer statistics: 12.02.2009     23:21:20     'BEGIN DBMS_STATS.GATHER_TABLE_STATS (OWNNAME => '"SAPPB1"', TABNAME => '"/BIC/FZPPC0002"', ESTIMATE_PERCENT => 10, METHOD_OPT = 12.02.2009     23:21:

  • After getting the up-to-date Mountain Lion, can I download it on other devices?

    Hi, In July, I purchased a 2012 13 inch Macbook Pro that qualified for the up-to-date Mountain Lion. I received it and installed it. I also was allowed to install it for free on my 2011 13 inch Macbook Pro. However, I couldn't do the same for my 2011

  • Logic Pro 10 any work-arounds to 32 bit synth plugins

    Happy New Year! Does anyone have a solution to the 32 bit synth plugin  incompatibilty in Logic Pro 10? Thank you for your response.