Get/set message Queue ID in PI 7.1 Adapter module

Hello,
I have a special requirment to  get and set message Queue ID in PI 7.1 adapter module.
I tried to use the method setConversationID  for the Message Class, but this doest seem to available any more.
Any pointers to which class and method can be used.
Thanks in advance
Regards,
Abhishek

Hi, try [setSequenceId|http://help.sap.com/javadocs/pi/pi711sp03/com/sap/engine/interfaces/messaging/api/Message.html#setSequenceId(java.lang.String)]. Maybe you have to use setDeliverySemantics before in order to set EOIO.
regards, Martin

Similar Messages

  • I'm getting a message "An error occurred when attempting to change modules"

    Hi, I have just loaded LR CC on to my new iMac & I'm getting a message "An error occurred when attempting to change modules" I have used a Catalog from my Macbook stored on an external hard drive & there are no images, no panels & i can't access LR preferences, please help as i have images to process for clients! PLEASE HELP...

    I have tried to look for download as it says but no down load, so i went to step 2 but i don't understand & can't find the files they are asking me to change. I am not super good with macs or any computer so I'm finding it hard to follow there instructions e.g. Preference file and other file locations | Lightroom 5.x I'm not sure if I'm looking for the rite areas of the iMac & i can't find what they are asking.

  • Get/set message interface name in adapter module

    Hello,
    From an adapter module, I'd like to get or even set the Message Interface name of the message that is handed over to the function "process" of the adapter module.
    I've got two context's, sessioncontext and modulecontext. With both contexts, you can get values from that context. I'm not sure which context has the message interface name of the message currently being processed, and I'm also not sure what that value is called (moduleContext.getContextData("name");).
    The reason for this is that sometimes you'd like to do something different depending on the type of message being processed.
    If anyone knows how to do this, I'd be glad to hear.
    Thanks in advance for any advice!
    Greetings, Walter.

    Hi Walter,
    It is fairly easy to get the interface name. When you have extracted the XIMessage there is a parameter, which allows you get the Action, where you can get the interface name.
    I have tried to change the interface name. You need to create a new message an copy the content from the old message over to this. This is a little tricky and I'm not able to get any code samples for you.
    /daniel

  • Create multiple messages in adapter module

    Hi!
    I've the problem to solve the following scenario: Mail (1) -> XI -> IDocs (1..n)
    Since for IDocs message split is not supported and I don't want to use a BPM, is it possible to create different xi-messages in an adapter module which processes the mail?
    Therefore I want to make the message split directly on the source: the adapter module.
    Best regards,
    Daniel

    Daniel,
    There is no need for a BPM and for an Adapter Module split.
    1. Create an XSD out of your IDOC strcuutre and change the occurence of the IDOC element to 0 to unbounded.
    2. Import this XSD and use this in your Message Mapping as the target Message Type. For every IDOC to be created in your Target , you will need to create an IDOC tag in the mapping. Each IDOC tag indiactes one IDOC.
    3. In your Interface Mapping, DO NOT CREATE a separate Interface for the IDOC, but use the IDOC itself as the Message Interface and select the mapping with the XSD as the target.
    Configuration will be as usual.
    Regards,
    Bhavesh

  • Converting INVOIC02 idoc to EDIFACT INVOIC message (Using Adapter Module

    Hi Friends,
    We are sending customer idoc (INVOIC02) from R/3 to external system through PI. We want to generate EDIFACT output file (message type : INVOIC).
    Is it possible to convert IDoc message to EDI file format through java adapter module ? Will adapter module support this  without using Seeburger adapter ?
    kindly clarify, friends.
    Kind regards,
    Jegathees P.

    There is an alternative to Seeburger.
    DataDirect also has complete EDI-XML conversion by way of deploying a module which is called from an adapter. The range of parameters with the conversion is also quite extensive, allowing tolerance for partners who may have included non-standard EDI qualifiers and such.  The XML tags make for easier mapping.  StylusStudio XML Suite includes the EDI<->XML adapter so you can try the conversions each way directly in that package.  If you are happy with it, you need to then purchase the package from DataDirect.  We did this and implemented EDI for X12 and EDIfact, including Orders and Invoices and some other messages.  The communications part was not included.  We wrote the EDI files and used a separate process to actually send and receive the files. The IDoc <-> EDI mapping  was done using the normal graphical mapping of SAP PI. The Stylus Studio package includes the functionality to generate the XSD, which we imported to SAP PI.

  • Message Queue Blocking / MSGMNI Setting

    Hi All,
    Firstly, many thanks to all that can assists. I am currently getting Message Queue
    Blocking messages in my ULOG files in my Tuxedo Application. (Tux ver 7.1 in Unix).
    I am not sure what is causing this, but started to look into the Tux Config (UBB.MP)
    and System message queue setting. Detailed as follows:
    1)
    Listed below is the system message queue setting:
    set msgsys:msginfo_msgmni=2000          
    set msgsys:msginfo_msgmax=128000     
    set msgsys:msginfo_msgmnb=100000     
    set msgsys:msginfo_msgssz=256          
    set msgsys:msginfo_msgseg=25088          
    set msgsys:msginfo_msgtql=1550          
    set msgsys:msginfo_msgmap=1000     
    According to the BEA site, the MSGMNI is determined by this formula:
    MSGMNI = MAXACCESSERS + 7 + (no. of servers with REPLYQ) + (no. MSSQ sets) - (no.
    of servers with MSSQ sets)
    The following is my current Tux. Config (UBB.MP) is set as :
    - MAXACCESSERS = 2300
    - Each servers (4 types in total) has its own REPLYQ and RQADDR.
    - The same type of servers are set the same across 4 application servers.
    Hence, my MSGMNI should be a minimum 2339 (ie. MSGMNI = 2300 + 16 + 16 - 0 = 2339).
    But my current MSGMNI is 2000.
    Would this contribute to my Message Queue Blocking?
    Is my understanding correct and is this something I should change to avoid Message
    Queue Blocking? Any helps and advice is much appreciated.

    Malcolm,
    Your information and explanations behind these error messages are very useful.
    It allow me to further understand Tuxedo internal processing and at the same time
    give me a chance to start analysing these fields.
    I am reluctant to ask further questions at the mean time. I will use your suggestions
    as a starting point.
    I will certainly keep you posted of the outcome when I have made the changes in
    my UBB config and machine parameters.
    Many thanks with your help/explanations Malcolm. It helps alot!
    Cheers.
    David.
    "Malcolm Freeman" <[email protected]> wrote:
    >
    Hi David,
    The MSGTQL reference you give (Solution S-00488) refers to the BEA MessageQ
    product
    and is not relevant to Tuxedo.
    The error messages indicate that the queue buildup is probably due to
    a restartable
    server failing. What happens is this:
    When a restartable server fails its IPC queue remains in place and continues
    to
    receive messages (which will be processed when the server restarts).
    Depending
    on the time taken to restart, the queue could become full and unable
    to receive
    any more messages, and this is probably why you got the message CMDTUX_CAT:1380
    indicating that the BRIDGE process was unable to put a message on the
    server's
    queue.
    A server is only restarted when the BBL does a SANITYSCAN check. If,
    for example,
    your SANITYSCAN interval is 300 seconds and your server fails immediately
    after
    the previous scan, then there will be a delay of almost 5 minutes before
    the failure
    is detected and the server restarted - plenty of time for the queue to
    fill up.
    There are a few things you could do:
    The key thing would be to find out why the server is failing, and fix
    the problem.
    If this is not possible immediately, consider some of the other ideas
    below.
    Have several servers form an MSSQ to service this queue; then if one
    fails the
    others will continue processing the messages while the failed server
    restarts
    (this assumes, of course, that your application does not require the
    messages
    to be processed in strict order through the server).
    Reduce the SANITYSCAN interval (but don't make it too small). This would
    reduce
    the average time taken to restart the server.
    Increase the size of the IPC queue (MSGMNB) so that it can hold more
    messages.
    I'm not sure why you got a LIBTUX_CAT:1485 message, but this could be
    due to a
    BRIDGE failure as a result of the congestion.
    The NETLOAD parameter would reduce the number of messages going to the
    remote
    machine, but only if the local machine offers the same service. If the
    remote
    machine is the only source of the service then NETLOAD will have no effect.
    I
    recommend you do a search of this newsgroup for postings on "load balancing"
    there's some good stuff which will explain how load balancing works.
    Depending how things go, it might not be a bad idea to open a case with
    BEA Support
    and ask for guidance (remember to submit your ubbconfig (or preferably
    do a tmunloadcf)
    together with the complete ULOGs from both the master and the slave machine).
    Hope this helps some.
    Regards,
    Malcolm.
    "Dave" <[email protected]> wrote:
    Hi Malcolm,
    Thank you for your reply. Interesting point you have made about theMSGTQL
    value.
    Based on your suggestion I went hunting around the BEA site and found
    the following
    snipplet:
    "- The MSGTQL parameter must be set to a value greater than or
    equal to the MSGMNI setting."
    (http://support.bea.com/application?namespace=askbea&origin=ask_bea_answer.jsp&event=link.view_answer_page_solution&answerpage=solution&page=msq/S-00488.htm)
    If the above point is valid, then my MSGTQL is definitely way too low.
    IF this
    be the case, would you know of a method to work out what my MSGTQL bytes
    value
    should be?
    Additionally, I have looked at other parameters which I could tune,and
    would
    adding a NETLOAD parameter in the *MACHINES section will reduce remote
    servers
    call? Which potentially, maybe reduce message queue blocking?
    FYI:
    The error messages I am seeing in my ULOG file are:
    "LIBTUX_CAT: 1477 : ERROR .SysServerDied
    LIBTUX_CAT: 1476 : ERROR: .SysServerRestarting"
    Which then leads to message queue blocking
    "CMDTUX_CAT: 1380 : ERROR: Message queue blocking prevented delivery,
    Qaddr=..."
    and potentially "LIBTUX_CAT: 1485 .SysNetworkDropped."
    Many Thanks. Hope to hear from you (Malcolm) or other parties out there
    that can
    assists.
    Thanks.
    David

  • Set Message Processing Queue based on input payload

    Hi all..
    Can i set the message processing queue from graphical mapping?
    Receiver system in my scenario is ECC.Whuile sending messages to ECC, i need to send the message related to a particular ORDER Number in a particular queue.
    for EX: if ORDER Number  from my input payload is 457 i want to set the queue as ABC457.
    Please let me know how to get it done from mapping or if there is any other approach.
    Thanks
    Manohar

    Hi Ram,
    What do you mean by Queue here?? we can check condition in mapping level only based on ORDER Number we can send message to receiver.use enhance receiver determination.
    Regards,
    Raj

  • How to get Uniform distributed queue message counts with help of JMX

    Hi,
    Is there any way to get given queue message count, pending message counts using JMX. I can get all queue names and counts using JMX... after that i have to show only selected queue details.
    Thanks,
    -Som

    Hi,
    Following is the WLS snippet from an upcoming WLS JMS message management white paper that you can use to get the message statistics for a given destination.
    With appropriate command line parameters, this script can be used to poll and dump the statistics of any destination on a specified interval.
    Note that the WLST uses JMX API under the cover, so you can easily convert this into a pure JMX java program.
    Hope this helps.
    Kats
    WebLogic JMS Message Statistics Script for weblogic.WLST
    This script can be used for dumping message statistics of a given JMS Destination.
    Based on the arguments, the script creates can print out message statistics
    Usage: java weblogic.WLST msg_statistics.py [options]
    Options:
      username=...           username to connect to WebLogic Server       - defaults to "weblogic"
      password=...           password to connect to WebLogic Server       - defaults to "weblogic"
      url=...                Provider URL of the Administration Server    - defaults to "t3://localhost:7001"
      wlsServerName=...      WebLogic Server Name                         - defaults to "examplesServer"
      jmsServerName=...      JMS Server Name that hosts the destination   - defaults to "examplesJMSServer"
      jmsModuleName=...      JMS Module Name that defines the destination - defaults to "examples-jms"
      jmsDestinationName=... JMS Destination name to get the statistics   - defaults to "exampleQueue"
      pollingIntervalInSeconds=... Time interval between statistics dump  - defaults to "60 secs"
      redirectStdout=...     File name to redirect the stdout of WLST     - defaults to no redirect and the results wil be printed out to stdout.
      help                   Prints out this usage help
    Note that all the defaults are set based WebLogic Examples domain that is part of WebLogic Server installation.
    The "examples" server can be started from "C:/Oracle/Middleware/wlserver_10.3/samples/domains/wl_server" using startWebLogic.sh
    To try this script OOTB, start the "examples" server and run the JMS sample as described below.
    cd :/Oracle/Middleware/wlserver_10.3/samples/domains/wl_server/bin
    . ./setDomainEnv.sh
    cd $WL_HOME/samples/server/examples/src/examples/jms/queue
    javac -d . *.java
    export CLASSPATH=".;$CLASSPATH"
    java examples.jms.queue.QueueSend t3://localhost:7001
    Follow the prompts to populate the queue
    Examples:
      msg_statistics.py - Dump the message statistics of the exampleQueue for every 1 min
      msg_statistics.py user=weblogic pass=weblogic url=t3://localhost:7001
                          wlsServerName=examplesServer jmsServerName=examplesJMSServer
                    jmsModuleName=examples-jms jmsDestinationName=exampleQueue
                    pollingIntervalInSeconds=30
    For more details on JMS Message Management using WLST, see "WebLogic JMS Message Management In a Nutshell" whitepaper.
    from weblogic.jms.extensions import JMSMessageInfo
    from weblogic.messaging.kernel import Cursor
    from javax.jms import TextMessage
    from javax.jms import DeliveryMode
    from java.io import ByteArrayOutputStream
    from java.io import StringBufferInputStream
    from java.util import Properties
    from java.util import Date
    from java.lang import *
    import jarray
    import sys
    # shows_messages() definition
    def dump_statistics(wlsServerName, jmsServerName, jmsModuleName, jmsDestinationName, pollingIntervalInSeconds):
      pollingIntervalInMillis = long(pollingIntervalInSeconds) * 1000L
      domainRuntime()
      cd ('ServerRuntimes')
      spath = wlsServerName + "/JMSRuntime/" + wlsServerName +".jms"
      cd (spath)
      fullDestName=jmsServerName+'/Destinations/'+jmsModuleName +'!'+jmsDestinationName
      cdPathForDestName='JMSServers/'+ fullDestName
      cd (cdPathForDestName)
      while 1:
        print "========================================================================================================================"
        print "Messages     Messages      Messages      Messages      Bytes        Bytes        Bytes           Bytes    "
        print "Current       Pending       High          Received      Current      Pending      High            Received "
        print "Count         Count         Count         Count         Count        Count        Count           Count    "
        print "========================================================================================================================"
        s = "%8d     %8d     %8d     %8d     %8d     %8d     %8d     %d" % (cmo.getMessagesCurrentCount(), cmo.getMessagesPendingCount(), cmo.getMessagesHighCount(), cmo.getMessagesReceivedCount(), cmo.getBytesCurrentCount(), cmo.getBytesPendingCount(), cmo.getBytesHighCount(), cmo.getBytesReceivedCount())
        print s
        print ''
        Thread.sleep(long(pollingIntervalInMillis))
    # Function to handle script arguments of the variety 'n=v', where
    # arguments are placed into a dictionary of nv pairs and returned
    # to the caller
    def argsToDict(args):
      d = {}
      for arg in args:
        #print "arg: " + arg
        pair = arg.split('=', 1)
        #print "pair: " + str(pair)
        if len(pair) == 2:
          # binary argument, store as key pair
          key = pair[0]
          val = pair[1]
          d[key] = val
        else:
          # Unary argument, story with empty (non-null) key
          d[arg] = ''
      print "Arguments: " + str(d)
      return d
    # Returns the value found in the provided map, at the location
    # specified by 'key'; if no entry exists in the map for 'key',
    # the provided default is returned.
    def getValue(dict, key, default=None):
      ret = default
      if dict is not None:
        try:
          ret=dict[key]
        except KeyError:
          pass
      return ret
    # Connect to the target server specified in the provide args
    def connectIfNecessary(argsDict=None):
      # connect if necessary
      if connected == "false":
        user=getValue(argsDict, "user", "weblogic")
        passwd=getValue(argsDict, "pass", "weblogic")
        url=getValue(argsDict, "url", "t3://localhost:7001")
        print "Connecting with [" + user + "," + passwd + "," + url + "]"
        connect(user,passwd,url)
    # Retrieve a positional argument if it exists; if not,
    # the provided default is returned.
    # Params:
    # pos   The integer location in sys.argv of the parameter
    # default  The default value to return if the parameter does not exist
    # returns the value at sys.argv[pos], or the provided default if necesssary
    def getPositionalArgument(pos, default):
      value=None
      try:
        value=sys.argv[pos]
      except:
        value=default
      return value
    # Main
    argsDict = argsToDict(sys.argv)
    redirectOutputFileName = getValue(argsDict, "redirectStdout")
    if redirectOutputFileName is None:
      pass
    else:
      redirect(redirectOutputFileName, 'false')
      print "The output from this program gets written into file " + redirectOutputFileName
      sys.stdout = open(redirectOutputFileName, "w")
    isHelp = getValue(argsDict, "help")
    if isHelp is None:
      pass
    else:
      print __doc__
      exit()
    connectIfNecessary(argsDict)
    wlsServerName = getValue(argsDict, "wlsServerName", "examplesServer")
    jmsServerName = getValue(argsDict, "jmsServerName", "examplesJMSServer")
    jmsModuleName = getValue(argsDict, "jmsModuleName", "examples-jms") 
    jmsDestinationName = getValue(argsDict, "jmsDestinationName", "exampleQueue")
    pollingIntervalInSeconds = getValue(argsDict, "pollingIntervalInSeconds", "60")
    dump_statistics(wlsServerName, jmsServerName, jmsModuleName, jmsDestinationName, pollingIntervalInSeconds)
    disconnect()
    print 'End of script ...'
    exit() 

  • Every time I start iTunes I get the message: "iTunes exec has been set to run in compatability mode for an older version of Windows. Turn off compatability mode for iTunes before you open it." How do I turn off the compatability mode?

    Every time I start iTunes I get the message: "iTunes exec has been set to run in compatability mode for an older version of Windows. Turn off compatability mode for iTunes before you open it." How do I turn off the compatability mode? Particularly when I have to do it before I turn on iTunes.

    Try the following document, only be sure that none of the boxes in the compatibility mode tab are checked (not just the compatibility mode box itself):
    iTunes for Windows: How to turn off Compatibility Mode

  • I set up an account including approval for paypal billing but every time I try to sign in to make a purchase for download I get a message that takes me back through the process of settin up my account. Help!

    I just set up an account at the I tunes store including authorization to charge my pay pal abount. I have also received e-mail confirmation that the account is set up, but every time I try to make a purchase I get a message that says apple ID has not yet been used with the I Tunes Store and it takes me back through the process of authorizing my paypay account. Help!

    Once you purchase or download an app it will always be associated with the Apple ID used to download it. When that app requires and update you must use the Apple ID and password used to download it in the first place. The only way around this is to delete the apps the require the old Apple ID and download or purchase them again with the new Apple ID.

  • I have an ipad air and I'm trying to set up a telus email on it but it won't work. I keep getting a message saying username or password for IMAP is incorrect...please help!

    I have an ipad air and I'm trying to set up a telus email on it but it won't work. I keep getting a message saying username or password for IMAP is incorrect...please help!

    This has nothing to do with iPhoto. When I have this type of problem I call tech support for my email service. They probably are the only source of the correct settings
    LN

  • Hey How Do I Get Group Message On The IPhone 4s because some reason it doesn't want to show . First i did is setting then messages  it only show imessage and message count )HELP)

    ey How Do I Get Group Message On The IPhone 4s because some reason it doesn't want to show . First i did is setting then messages  it only show imessage and message count )HELP)

    At the bottom of the page Settings > Messages you should have a section headed "SMS/MMS" Turn MMS messaging on then you can turn group message on.

  • Not able to get the message from Queue using MQ adapter

    HI
    Using Mq adapter am able to put the message in a queue and am able to get the message if i select the schema type as opaque, but am not able to get the message if i specify any schema type and am getting timed out exception.
    Kindly help to proceed with this issue.

    Hi,
    Am also facing the same issue.
    I would be thankful if anyone can provide the solution

  • I can no longer use my aol on mac mail. When I set up the aol account name and password I get a message that says "Unable to verify account name or password". This is on all my Apple devices. Seems like an AOL server issue but no help from them!

    I can no longer make my AOL e mail work with Mac Mail on all my devices. When I try to set up the account and put in the correct aol account and password I get the message "Unable to verify account name or password". I know the account name and password is correct as I can open the AOL e mail page on Safari. I have changed the password, and it still does not work. AOL tech support has been no help. AOL email worked for years but last week due to suspected spam activity AOL locked my AOL account. I got that straightened out but now i cannot set it up on any of my devices: Macbook Air, Ipad, I pad mini and iPhone 6 without that message. I took everything to Apple store and everything is set up correctly on my devices. AOL tech support is no help and keeps giving me different solutions and answers, none of which has worked. Any solutions out there? All my Apple Software is up to date on all my devices

    Delete your Gmail account from the Mail/Contacts/Calendars settings page, and then add it back in using the new Gmail password.
    Matt

  • I'm trying to set up my iPad2.  I am entering my Apple ID and get a message that says "try another apple id, this ID is already being used.  The only time I've used this Apple ID (my email), is when I bought a mac for my college student.

    I'm trying to set up my iPad2.  I am entering my Apple ID and get a message that says "try another apple id, this ID is already being used.  The only time I've used this Apple ID (my emal) was when I purchased a mac for my college aged child.

    Thank you...I had selected the incorrect option to create an Apple ID....so backing up a few pages and doing as you stated worked!

Maybe you are looking for