Change Queue name in Message mapping

Hi
We want to change the queue name dynamically in the message mapping.
We refered the post
Re: EOIO queue name change
http://help.sap.com/saphelp_nw04/helpdata/en/6e/ff0bf75772457b863ef5d99bc92404/frameset.htm
But as said in it, we are not able to access the parameter QUEUE_ID or QUALITY_OF_SERVICE.
Other than these two parameters, we can access all parameters.
Below is the code to access one of them.
while compiling, the message mapping gives error as below.
cannot find symbol
symbol  : variable QUEUE_ID
Any pointers.
///// CODE
MappingTrace trace;
String constant;
java.util.Map map;
trace = container.getTrace();
// get constant map
map = container.getTransformationParameters();
constant = (String) map.get(
       StreamTransformationConstants.QUEUE_ID);
trace.addInfo("QUEUE ID:" + constant);
return constant;
Regards
Anandan

Hi Anandan,
As given in help you can only get queue Id if you have Quality of service as ExactlyOnceInOrder. So make sure you have selected that option.
http://help.sap.com/saphelp_nw04/helpdata/en/6e/ff0bf75772457b863ef5d99bc92404/content.htm
Regards,
---Satish

Similar Messages

  • [RFC to File]Problem about Changing file name in message mapping.

    Hi,
    my problem:
        Type:RFC to File
        I change the file name in message mapping.
    when I call the RFC to send the data twice at the same time, both of the output file names are changed while I only want to change the second output file name.
        thanks
    Sam

    In my MM, the input values to these variables (var1, var2 and var3) are (<ZZCOMBI>array,G499999,END_FIFC0029) ,
    var1 is an array of input <ZZCOMBI> item list;
    var2 is get from a property file by call another UDF;
    var3 is constant value.
    the test input data :
    I send the data for the first time:
    - <rfc:Z_IFCFR821_ZIFCTT82100010 xmlns:rfc="urn:sap-com:document:sap:rfc:functions">
    - <T_ZIFCTS82100010>
    - <item>
    <ZZCOMBI>G000002G000002</ZZCOMBI>
    <ZZKYKBN>*</ZZKYKBN>
    <ENAME_VE />
    <ENAME_Z5 />
    </item>
    </T_ZIFCTS82100010>
    </rfc:Z_IFCFR821_ZIFCTT82100010>
    so the input values to these variables (var1, var2 and var3) are (G000002G000002,G499999,END_FIFC0029)
    the output file name(File1) :END_FIFC002920090413-171534-053.dat
    output record: G000002G000002
    because the data what I send is the last record, the system send the dummy data for the second time by program.
    - <rfc:Z_IFCFR821_ZIFCTT82100010 xmlns:rfc="urn:sap-com:document:sap:rfc:functions">
    - <T_ZIFCTS82100010>
    - <item>
    <ZZCOMBI>G499999</ZZCOMBI>
    <ZZKYKBN />
    <ENAME_VE />
    <ENAME_Z5 />
    </item>
    </T_ZIFCTS82100010>
    </rfc:Z_IFCFR821_ZIFCTT82100010>
    so the input values to these variables (var1, var2 and var3) are (G499999,G499999,END_FIFC0029)
    the output file name(File2) :END_FIFC002920090413-171533-928.dat
    output record: G499999
    I find that File2(20090413-171533-928) was ouput before File1(20090413-171534-053 ) from the time stamp.
    I am not sure about that "XI will create a message ID for each message and the messages are independent." as you mentioned above.
    Best regards
    Sam
    Edited by: YONGHE ZHOU on Apr 15, 2009 3:59 AM

  • Accessing Element's name in Message mapping

    Hi,
       I need to Access the Element's name in Message mapping (Using graphical tool or in user defined function).
    For Example:
    Element: <Company_Name>XYZ Co </Company_Name>
    I need to access the Element's name(i.e.)<b>"Company_Name"</b>. So that I can map it as
    <Element>Company_Name</Element>
    <Element_Value>XYZ Co </Element_Value>
    in the target message.
    Kindly provide your inputs.

    Hi Santhosh,
    I am not sure if this can be done using your Graphical Mapping, but this is possible using JAVA mapping. Your SAX and DOM parsers for JAVA mapping provides methods like getChildNodes, getElementName using which you can get the name of the element.
    Check this link for the methods available for Java Mapping,
    http://java.sun.com/j2se/1.4.2/docs/api/javax/xml/parsers/package-summary.html
    I think the same can also be done using XSL mapping. Though, I am not sure what method should be used for the same.
    Hope this helps,
    Regards,
    Bhavesh

  • Owb 11.2.0.3 changing the name of a mapping is not reflected in the process

    We're just in the phase of migrating from OWB 10.1 to 11.2.0.3.
    So far so good but of course there are some bugs in the latest version.
    One of the more annoying problems is the following.
    We could see a process flow with several mappings after the migration but the mapping names shown (business and physical) in the process flow could not be found in the list of mappings .
    To be sure this is an error (bug)
    - I created a flow from scratch with one mapping,
    - saved the flow and
    - went to the mappings and
    - there I changed the name of the mapping used in the flow.
    - I opened the flow again and there was still the old name, so it is very easy to forget/delete the link between real mapping names and the names used in the flow.
    Is this a known problem and if yes is there already a patch or do we have to wait for 11.2.0.4?

    Yes OWB 11gR2 is certified on database 10gR2.
    The OWB standalone client can be found here;
    http://blogs.oracle.com/warehousebuilder/entry/owb_11gr2_windows_64_bit
    or on OTN here;
    http://blogs.oracle.com/warehousebuilder/entry/owb_11gr2_windows_and_linux
    Cheers
    David

  • How to find the name of message mapping

    Hi folks
    i want to check the name of message mapping  which is used at run time. i can find the name of Interface mapping name in trace of message in SXMB_MONI.
    but i am not able to find the MM name.
    can some one help me .....
    Regards
    Gagan

    > but i am not able to find the MM name.
    You will find your message mapping name as class name in the pipeline step Request Message Mapping.  Please search for interface mapping and below which you will find the mapping name as this format...
    <Trace level ='"3" type="T"> Mapping steps 1 JAVA_JDK 
    com/sap/xi/tf/_<your mapping name> </Trace>
    Example as similar below...

  • Change Queue Name in Sender Soap Adapter (or make it dynamic)

    Hello SDN!!!!
    We have a scenario where we want to make a message EOIO and I have set the Queue Name in the Sender Soap Adapter and this works great. BUT it is needed to have a more specific queue name (based on order numbers not interface name) So with this being said, Is there any way to change the queue name or append to it from the Soap Sender Adapter. I see it is possible to write a Module Bean, but the Message object returned from the ModuleContext is a scaled down version of the normal message object. Any help would be greatly appreciated
    Cheers
    Devlin

    Is this the only way to change the queue name for Soap Sender? I don't think it is possible for them to do this, as their urls are static when calling us

  • Communication channel name in message mapping ?!

    Hi,
    I have the problem that I have to know the sender channel name in a message mapping.
    The reason is, that I have to set a flag if the message comes via one sender channel.
    Of course a solution would be to use differnt Services but I won't do that. Is there any smart solution?
    Thank you for your help
    Thomas

    There are a few weblogs on gettign the filename. Check whether that would suffice for you.
    If you really need cc name try the following.
    Write a small module function for the adapter.
    (Check this note - 819761)
    See whether you can get the channel name using the object of type Channel (may be getName() or something similar, I'm not sure about this)
    If not,
    See whether you can define an additional parameter in the channel and access it in the adapter module and send it to the IE. Then make an additional parameter and set the value as cc name. (Here I'm not sure whether unrecognized additional parameter will affect the adapter functionality)
    Maybe you can give a try and let us know!
    Regards,
    kk

  • Change received name in Message

    In "Message", when I send a message to some one, it comes up as a shorten version of my name, so for example, "scooby" but my full name is scoobydoo.
    I would like to change it to my full name EG: scoobydoo.
    can any one tell me how to do this please?
    Many thanks for any help.

    HI,
    Should I run ??? 
    OK.  Are we in the Main Message Window ?
    What sort of Account are you Chatting from ?
    Are you talking about how your appear in the Chat ?
    There is a setting in the View Menu that says Buddy Names
    This can change what you see in the Chat and Buddy lists for the Names
    "Handles" is Screen Names from AIM or IDs from Jabber of Yahoo.
    "Full Name" is as the First Name and Last Name in the Contacts List.
    "Shortname" can be a Nickname or the First Name  if a Nickname has not been set up.
    In a Buddy List right click a Buddy
    Then use CMD and i together (Get Info)
    In the Info Card that appears set it to Address Card if not already set.
    There is a box here for Nicknames.
    This will add it to the Contacts app card even if you have not set the Contacts Preferences to have a Nickname field.
    As you can "fool" the Contacts app by putting both First Name and Last Name in the same text field you can end up with separate address Cards for the same person but with different info on them.
    I have done this for myself.
    In means in some pics I look like the Shortname choice is not working
    Despite have the same pic these two Chats are between two AIM Accounts that are on two Address Cards  (Messages will not let you set different pics for different accounts unlike iChat did ).
    So as both these account are being used in Messages they get the same pic.
    However one of the Address Card has "Ralph Johns" as the First Name  where ans the other has "Ralph" and ths Last Name  as "Johns"
    Note:- on the left hand side of the Chat I  am "Ralph" as the Buddy and not "Ralph Johns"
    As far as I can tell this choice works with the iMessages account as well (Via the Messages window)
    10:19 PM      Sunday; January 27, 2013
    Please, if posting Logs, do not post any Log info after the line "Binary Images for iChat"
      iMac 2.5Ghz 5i 2011 (Mountain Lion 10.8.2)
     G4/1GhzDual MDD (Leopard 10.5.8)
     MacBookPro 2Gb (Snow Leopard 10.6.8)
     Mac OS X (10.6.8),
     Couple of iPhones and an iPad
    "Limit the Logs to the Bits above Binary Images."  No, Seriously

  • How to set queue names dynamically for MQ Adapter - SAP XI

    Hi Friends
      I have a scenario where I should send a message to multiple queues ( more like broadcasting ) using a single communication channel of MQ Adapter. The scenario is like this
    1. If the message content contains value '111' then message should go into Queue A, Queue B, Queue C
    2. If the message content contains value '222' then message should go into Queue A, Queue B
    I will store the content values inside a table ( value and queue names ) and can pick it up inside BPM but want to know how to change the queue name property of MQ series adapter. I will do this inside a loop so the message can be sent to multiple queue names but want to know how to change the queue name property of receiver communciation channel.
    I appreciate the help in providing the answer.
    thanks
    Kannan

    Amaresh
      Thanks for your answer but my question is specifically targeted towards MQ adapter and the queue name which has to be dynamically changed. I can do the dynamic changes for file adapters but want to know how to change the queue names in message mapping or inside BPM.
    regards
    Kannan

  • Display queue in th emessage mapping

    Hi SapAll.
    i just want to know about the proper reason on why the pi developers do the display queue in the message mapping programs of every interface that they develope.if so how we can do the proper display queue,as it is displaying in irregular format  when i click on display queue especially after testing with the sample xsd under test tab.
    will be waiitng for a proper answer .
    regards.
    Varma.

    HI verma,
    With display Queue u can actually check for:
    1) the values present for the source fileds
    2) If any functions used in the mapping, then u can display what r the inputs to that function and what is the output of that function.
    Ex: If u use remove context function to map the fileds, then by displaying the Queue of target filed, u can easilly see the context changes.
    Display the Queues of sorce and target fileds. u can easilly find the difference.
    If u use split by value, then u can see the extra context changes for the target field.
    3) Where exactky the mapping is throwing exception (at what field) i.e., if u right click on any field and if u click display Queue,: if the queue is displayed then at that point the mapping is working fine, but if it has error  then by selecting display queue it throws the exception there itself. Hence we can make sure that the mapping is failing at that particular fleld.
    Thanks,
    shabbir.

  • Getting destination queue name

    Hi!
    I was wondering if it is possible somehow to retrieve queue destination name (the queue name the message will be sent to) in a JCD?
    So far I have been able to retrieve only the queue name the message is coming from:
    String sFromQueue = input.getMessageProperties().getDestination();JMSOut client otd is only returning "null" when using code: JMSOut.getDestination()

    hi jan,
    1) 1:n queues when it comes to "Queue" ... in ICAN and earlier versions it was possible to connect multiple queues on an outbound connection. the JMS adapter handeled the sending to multiple queues. BUT generally you are right it should be a 1:1 relationship.
    2) JMS Client generally points to ONE server with a default queue that is sent to when doind send(msg) BUT you also can override the destination queue by an api call like sendTo("someotherqueuename") therefore it is not that easy ....
    3) i think this ("API that allows retrieving object names") could be burried deep inside the APis but i would not recommend using it since this will not be stable and consistent over major releases! and you could risk a very hard porting from e.g. CAPS 6 to CAPS 7?
    why do you exactly need this information?
    regards chris
    Edited by: cbrennsteiner on Nov 11, 2008 10:45 AM

  • EOIO queue name change

    Hi All,
    any possibility EOIO queue name can be changed in Message mapping??
    Thank You,
    Madhav

    Hi Madhav,
    Similar to:
    public String setVariable(Container container){
    String variable = "Test";
    java.util.Map map;
    // get constant map
    map = container.getTransformationParameters();
    // get value
    //variable = (String) map.get(StreamTransformationConstants.QUEUE_ID);
    // set value
    map.put( StreamTransformationConstants.QUEUE_ID, variable );
    return variable;
    See Context Object Names in:
    [Technical Context Objects|http://help.sap.com/saphelp_nw04/helpdata/en/6e/ff0bf75772457b863ef5d99bc92404/content.htm]
    Regards,
    Pedro Baroni

  • Dynamically change Receiver Business system in message mapping

    Dear all,
    I would like to change the receiver business system in the message mapping that is used in the interface determination. I do understand there is an enhanced receiver determination where I can use a mapping but that is not what I am looking for.
    I think this should be possible if we can change the appropriate value in the SOAP(message) header.
    Possible candidates I can think of by looking at the SOAP header in SXMB_MONI are
    1. SOAP:Header- SAP:Main- SAP:Receiver- SAP:Service
    2. SOAP:Header- SAP:OutboundBinding - SAP:OutboundBindingEntry - SAP:ToServiceName
    Q1. Which one of the above is relevant while identifying the receiver agreement ?
    Q2. What is the best way to access them from the mapping(preferably from a UDF) ?
    Thanks in advance.
    Cheers
    danus
    PS: I have tried to set "http://sap.com/xi/XI/System","ReceiverService" in Dynamic config & ReceiverService, BusinessSystemReceiver and ReceiverSystem in the Container’s Transformation Parameters, but didn't get the expected result.

    Chidambaram,
    You use an enhanced receiver determination to have a mapping program determine the receivers of the message dynamically at runtime. Instead of creating the receivers in the receiver determination manually, you assign a mapping to the receiver determination and this returns a list of receivers at runtime.
    A typical usage case is if you do not yet know the names of the receivers at configuration time. In this case, you can define a mapping program, for example, which reads a list of receivers from a table or from the payload of the message at runtime.
    Go through the following link:
    [Receiver Determination enhancement|http://www.****************/Tutorials/XI/RecvDetermination/Enhancement.htm]
    Hope your problem gets resolved.
    Regards,
    Kiran Bobbala
    Edited by: kiran Bobbala on May 7, 2008 5:47 PM

  • Message mapping changes

    Hi All.
    I created a message mapping from a custom message type towards MATMAS_BAPI01.
    I disabled the EDI_DC40 field and in the idoc communication channel I disabled "Apply control record values from payload".
    When I check the final idoc message created, I noticed that some EDI_DC40 parameters were wrong.
    <SAP:TABNAM>EDI_DC40</SAP:TABNAM>
      <SAP:MANDT>200</SAP:MANDT>
      <SAP:DOCREL>640</SAP:DOCREL>
      <SAP:DOCNUM>0000000000037246</SAP:DOCNUM>
      <SAP:DIRECT>2</SAP:DIRECT>
      <SAP:IDOCTYP>MATMAS_BAPI01</SAP:IDOCTYP>
      <SAP:CIMTYP />
      <SAP:MESTYP>MATMAS_BAPI</SAP:MESTYP>
      <SAP:MESCOD />
      <SAP:MESFCT />
      <SAP:SNDPOR>SAPCX1</SAP:SNDPOR>
      <SAP:SNDPRN>host01</SAP:SNDPRN>
      <SAP:SNDPRT>LS</SAP:SNDPRT>
      <SAP:SNDPFC />
      <SAP:RCVPOR>CFDCLNT200</SAP:RCVPOR>
      <SAP:RCVPRN>CFDCLNT200</SAP:RCVPRN>
      <SAP:RCVPRT>LS</SAP:RCVPRT>
      <SAP:RCVPFC />
      <SAP:TEST />
      <SAP:SERIAL />
      <SAP:EXPRSS />
      <SAP:STD />
      <SAP:STDVRS />
      <SAP:STATUS>03</SAP:STATUS>
      <SAP:OUTMOD />
      <SAP:SNDSAD />
      <SAP:SNDLAD />
      <SAP:RCVSAD />
      <SAP:RCVLAD />
      <SAP:STDMES />
      <SAP:REFINT />
      <SAP:REFGRP />
      <SAP:REFMES />
      <SAP:CREDAT>2005-09-12</SAP:CREDAT>
      <SAP:CRETIM>23:21:31</SAP:CRETIM>
       <SAP:ARCKEY>2FE85D8023D311DA9BDB000D56B9D8A6</SAP:ARCKEY>   </SAP:IDocOutbound>
    In concrete
    <SAP:SNDPRN>host01</SAP:SNDPRN> had to be changed into <SAP:SNDPRN>hostXX</SAP:SNDPRN>. I thought the value host01 came from the sld (logical system name of the technical system attached to the business system), so I changed that towards hostXX.
    <SAP:RCVPOR>CFDCLNT200</SAP:RCVPOR> had to be changed into <SAP:RCVPOR>SAPCDD</SAP:RCVPOR>. I thought this value came from the rfc destination in the xi sytem, so I created a new one called SAPCDD and configured it into the idoc adapter.
    However, this change in the sld/XI system  did not affect the generated idoc (no, I did not forget to activate ).
    I decided to do some more drastic changes:
      - enable EDI_DC40 field in the message mapping
      - enable "Apply control record values from payload" in the idoc communication channel
    I now hardcode the wanted values.
    After activating the changes, still the same idoc is send towards the R/3 system.
    Can anyone tell me what I am doing wrong.
    Is it a caching problem or am I doing something wrong.
    Kind regards

    hi Geert,
    take a look at my weblog:
    /people/michal.krawczyk2/blog/2005/09/01/xi-idoc-adapter--edidc40--demystified
    it may answer some of your questions:)
    Regards,
    michal

  • Changing datatype, afterwards Message-Mapping cannot produce target element

    Hi,
    we use PI/700.
    I changed a working system by changing a datatype of an existing message (adding a new element). My interface mapping contains two mappings: an XSL-Mapping and afterwards a Message-Mapping.
    My interface mapping looks like this:
    Message-Type A ->
          XSL-Mapping ->
    Message-Type B ->
          Message-Mapping ->
    Message-Type B
    When I test each mapping alone everything works fine (with the new element I added).
    But if I test my interface mapping in IBD with both mappings together, I'll get an error:
    "Cannot produce target element /MT_EDM_OUTBOUND_LASTGANG_TO_SAP/LASTGANG/MASSEINHEIT. Check xml instance is valid for source xsd and target-field mapping fulfills requirements of target xsd".
    Is it possible that XI has problems in refreshing the XSDs?
    I tried this:
    (1) I changed my Message-Mapping and now all elements are mapped 1:1 -> no success!
    (2) Later I changed my Message-Mapping and build in "exists" with "if" to check whether the element "MASSEINHEIT" is generated by the XSL-Mapping -> It doesn't exists (??? - WHY? - when I test it, everything works fine)
    (2) Afterwards I changed my interface mapping and take only the XSL-Mapping (without the following Message-Mapping) -> the element "MASSEINHEIT" exists now!
    I'm totally confused!
    Any ideas?
    Regards
    Wolfgang Hummel

    Hi,
    If you have made structural changes to the data type..such as number of fields have decreased/increased..or some new fld altogether, then you have to activate the datatype..goto message mapping and then re-do the mapping...but if you have made "typo" changes like names have been changed, etc..then i think it should be alrite..i have sometimes made changes to my datatype, but after activating it, i had to redo the mapping..that was it!...the rest would fall into place:) No changes had to be made in the interface mapping..
    Regards,
    Sushumna

Maybe you are looking for