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

Similar Messages

  • 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

  • [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

  • 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...

  • Authorizations required in Communication Channel for JDBC Lookup mapping

    Is there of list of required authorizations and or patch needed to use a JDBC Lookup in a message mapping?  We are using PI 7.1, and trying to use the new JDBC Lookup feature.  We currently have a user that is not an ower of the DB tables, this does work in our current solution of using UDFs, but we would like to avoid switching it to a user that has full access on the tables, e.g. SAPXI*
    Current environment: PI 7.1 (not EhP1)
    Thanks,
    Matt

    Do you know what those authorizations should be when using a standard JDBC Lookup mapping function?  Currently we have a custom UDF that calls the table via a <schema>.<table name> and the current user in the Receiver Comm Channel works just fine.  It appears that when using the standard SAP JDBC Lookup function it calls the table directly and the user in the Comm Channel no longer has the correct permissions.
    I would expact that the JDBC Lookup function would allow for a standard "Read" on any table as long as the user has that level of access...but not in this case.  I am going to bring it up to our SAP XI software development team and see what they say, but wanted to get some views from our other experts as well.
    Thanks,
    Matt

  • AE: multiple Communication Channel instances and message re-sending

    Hi All,
    My scenario is as follows:
    We are running the adapter engine on a server cluster. In the RWB, I have multiple instances of the Communication Channels, for theit  various cluster nodes.
    My question is:
    I have a message in the RWB, which is in System Error state in the AE. If I resend this message from the RWB, does it get queued for the same communication channel instance (as last time, when it failed), or can it get assigned to a new instance?
    Hope my question is clear.
    Regards,
    Puloma.

    Hi,
    I realized that, a message will always be handled by the same instance of the Communication Channel.
    But Exception is when an instance is down. In this case the dispatcher will immediately schedule this message for another instance.
    In our scenario, all the instances of the Communication Channel were down, and all the messages were in System Error state, with the error: "Channel not initialized."
    In this case, if the message is resent, will it go to the same instance, or to a different instance?
    Regards,
    Puloma.

  • 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

  • Communication channel name

    hi experts,
                        can two communication channels in different scenarios have same name? i had configured two different channels with same name in diffent scenarios ? does this work? please help

    Hi Srinivas,
    I don' think you can create two CC with same names with in the same Business Services. At runtime it will throw an error which one should it pick.
    Unless these are in Different Business Services that you specify in Collaboration Agreements.
    Try to follow some naming convetions that makes it easier to avoid confustion.
    Best Regards
    Praveen

  • One message, two communication channels

    Hi,
    I have a problem of choosing communication channel after/during message mapping. In message mapping I perform lookup into database table and according to return value i need to choose communication channel. Return value from table is inserted to the message.
    In receiver determination I have condition based to that return value. If return value is not EMA, use party1( and service1) and if return value is EMA, use party2( and service1)
    Like this
    (/INVOIC01/IDOC/E1EDK01/ACTION &#8800; EMA) -> Party1
    (/INVOIC01/IDOC/E1EDK01/ACTION = EMA) -> Party2
    But this does not work. It works okay, if i send value EMA from R3, like manually insert it in WE19, correct communication channel is selected. But if value EMA is inserted
    within mapping, the other CC is always selected. Value EMA is correctly in the message if i check it from output.
    Best Regards
    Pekka Pottonen

    try this:
    in Expresion Editor Put this.
    /INVOIC01/IDOC/E1EDK01[ACTION = "EMA"]
    /INVOIC01/IDOC/E1EDK01[ACTION != "EMA"]
    In condicion Editor put this:
    /INVOIC01/IDOC/E1EDK01[ACTION = "EMA"] = EX
    /INVOIC01/IDOC/E1EDK01[ACTION != "EMA"] = EX
    this will work.,
    I will agree wiht Rodrigo that it should work.
    I would also agree Stefan. As he mentioned the Receiver determination takes places first in the Pipe line process and only after that the message mapping follows.
    But here in this scenario we will have two different receivers for the specific sender service and interface in the initial step, after that condition will get executed and message will be routed to the proper reciever.
    this should work as we implemented this in one of our scenarios.
    ex:
    step 1
    sender A -
    Receiver A
                Receiver B
    step 2.
    /INVOIC01/IDOC/E1EDK01[ACTION = "EMA"]
    /INVOIC01/IDOC/E1EDK01[ACTION != "EMA"]
    In step 2 the proper receiver will be picked up.
    thanks,
    Venkat

  • Dynamic Configuration of Mail receiver Communication Channel

    Hi,
    like in /people/william.li/blog/2006/04/18/dynamic-configuration-of-some-communication-channel-parameters-using-message-mapping for http receiver CC, i am trying to do header customisation, with XHeaderName1 for mail header fields like content-type, content-disposition, but it doesn't works ...
    in my mapping i've added :
    > (...)
    > DynamicConfigurationKey cDisposition = DynamicConfigurationKey.create("http:/""/sap.com/xi/XI/System/Mail", "XHeaderName1");+
    > dynaConf.put(cDisposition, "attachment;filename=myFile.txt");
    in Communication Channel ASMA i've added variable header : XHeaderName1 --> Content-Disposition
    in monitoring i see that XHeaderName1 is filled with attachment;filename=myFile.txt
    but in the mail send like this, this configuration has no effect
    Someone can help me ?
    Edited by: MedAmine on Aug 19, 2009 3:20 PM

    Only one standard mail header field can be influenced: this is indeed "Content-Disposition".
    You have done halve way, the only thing you have missed is to set the additional parameter 'OMail.AddContentDisposition' to false within 'Advanced Mode'.
    Have a look at this WiKi:
    http://wiki.sdn.sap.com/wiki/display/ESOAInfrastructure/Dynamic+Email+Attachment+name+for+Received+Mails+with+ASMA+and+without+using+mail+package

  • Scheduling Communication Channel

    Hi all,
    Please can you help me in two issues:
    1. How do I Schedule the Communication channel to pick a file at a particular time, say only at 10.30 pm daily for 30 minutes?
    2. In my scenario many files are placed in the same FTP location based on slight changes in the name of files based on the system from where they are placed, like 2000 for IB, 3000 for IF, etc. So i need to poll both files with file name starting with 2000 and 3000. Can it be done using a single Communication Channel?
    Expecting your replies soon,
    Thanking you,
    Harikumar. S

    Hi Hari,
    You can give the time schedule in Processing Parameters of Sender communication channel or unix administrator also can schedule the time for interfaces with all (r/w/ex) permeations.
    Your query like 2000 for IB, 3000 for IF, etc. So i need to poll both files with file name starting with 2000 and 3000. Can it be done using a single Communication Channel?
    As per knowledge you have 2 receivers one for 2000 , other for 3000 , this scenario possible to send the data using single communication channel.
    In message mapping using java function get the source file and in Interface Determination using X-path can differentiates and sends to target systems.
    Best Regards,
    Rajkumar

  • Config-time substitution of Communication Channel values

    I apologize in advance if this is explained elsewhere (or it's so blindingly obvious that nobody has asked). I promise I looked.
    NW04 SP17
    Is there a way to do parameter substitution on values defined in a communication channel template, based on the business system that the channel is going to be assigned to at config time?
    In case I got the terminology wrong, here's what I want to do. I have some CC templates defined for some SOAP services. In the template definition, I can add Target URL and SOAP Action attributes and assign a value to them that will be available on the config side later on. I want to use this template against a number of technical systems, each of which is going to have a different host portion of the Target URL.
    What I would like to have is a way for the CC template to have a 'generic' hostname that is substituted for at config time by the actual hostname of the business system that the channel is going to connect to.
    Is there a way to do that? Or is that a stupid question?

    Hi Michael,
    I think there is a way to do this, depending on the XI SP level.
    You might reference the following weblog, which uses the HTTP adapter as an example:
    /people/william.li/blog/2006/04/18/dynamic-configuration-of-some-communication-channel-parameters-using-message-mapping
    Then, in SAP Help, for JMS receiver config:
    http://help.sap.com/saphelp_nw04/helpdata/en/29/5bd93f130f9215e10000000a155106/frameset.htm
    Look under "Adapter-Specific Message Attributes" for JMS-specific parameters. 
    Regards,
    Bill

  • Different message structures on one communication channel

    Hello,
    we've got the situation where on on single communication channel, we will have multiple message structures. We need to discriminate between them and then handle them according to their structure.
    All messages have a header section in which the message type is stored. So I've created a dummy structure:
    <ns0:dummy>
      <header>
        <message_type></message_type>
      </header>
    </ns0:dummy>
    the actual messges will have a different root element, but you can ignore this by using xpath. So, I've created a sender agremeent with this dummy message as the interface. I have a interface determination with conditions:
    /*/header/message_type = MT_A
    and receiving interface MT_A. Same for MT_B and so forth. There's no interface mapping in between.
    The receiving system now has a receiver agreement with MT_A as the interface. This all works. But in the receiver agreement you set up a communication channel where the message is sent to.
    But at this point, MT_A was what the original system sended. All we did was figuring out what message type we're dealing with. Now we need to handle this message as MT_A and using a interface mapping, map it to MT_A_New. We cannot do this in the original receiver determination / interface determination combi, sinse this would mean a message mapping from dummy to something, and we need from MT_A -> MT_A_NEW.
    Does anyone have thoughts on how to do this?
    Thanx in advance!
    Greetings, Walter.

    Hello All,
    thanks for all your input, it gave me quite a few possible directions to look.
    we eventually solved our issue by creating a "generic" structure. It contains the header part (which is the same in structure A and B) and both the A body and B body as optional parts.
    now we can make a mapping which only operates on the A part and ignores the B part and also one which does the B part.
    <root>
      <header>
        <MT></MT>
      </header>
      <MT_A>
      </MT_A>
      <MT_B>
       </MT_B>
    </root>
    we can still define which mapping to use based on the header information. It all seems to work.
    Thanks again for all your input!
    Greetings, Walter.

  • Automating Communication channel and message monitoring

    Hi,
    Right now i am trying to automate communication channel monitoring and message monitoring for  SAP PI. Kingly suggest me how can I go ahead and which language I can use(java or dot net) ?. I will be needing to generate a report for every half an hour about the status of the communication channel and for successfull and failed messages. Kindly assist on what criteria I can use.
    Kindly help on this.
    Thanks and regards
    Nagaraj

    Hi
    As far as i know there is not easy way to acheive it by calling some webservice or chacking DB table. I developed some tool in .net by calling direct webpage using HTTPRequest class
    Regards
    Maciej

  • Dynamic Configuration for two file adapters communication channels

    Hello Experts!!!!!!
         In one of the interface in my landscape, I am using two file adapters for creating two files with different names and at two different destination on F.T.P.
    However the receiver service for both the communication channel are same.
    In message mapping I am using multi mapping to create two files out a single message.
    Now i have a requirement of changing file path and file name using dynamic configuration for both the comm channel.
    When i doing dynamic coniguration for both the comm. channel. My interface is creating two files but with same name and on same destination which is set for second communication channel through dynamic configuration.
    Here, I guess the second dynamic configuration is over writing the first dynamic configuration and hence creating two files with same name and at same destination.    
    Please suggest, if separate dynamic configuration for separate communication channel of same receiver service can be done?
    Thanks & Regards,
    Amol

    Thanks for your prompt responses!!!!!
        Is there any way, By which in dynamic configuration I can find out the communication channel name and then change its parameter.
    I mean if iam using say comm. channel A and B.
    Then in dynamic configuration for A, I will first take communication channel A by calling it and then change its path/file name.
    and then do samething for comm. channel B in its dynamic conf.
    Regards,
    Amol

Maybe you are looking for

  • How to bring JFrame to front?

    Hi everybody, I have a JFrame which contains a button that opens another JFrame. This second JFrame is actually already created, clicking the button will just make it visible. Does anybody know how I can move this second JFrame to the front? I tried

  • Write Off Inventory

    Hi I need To write Off the Inventory Of a entire Plant, which I can do by Movt Type 551. Do I Need To do any other actions after scrapping the Inventory. Is there any follow up required after scrapping within SAP MM. Regards Shilpi

  • Sales Area Data Cannot be Cleared after deletion

    Hi All! We are installing CRM 5.0 by following the SAP Best Practice. However, while creating organizational structure in CRM, we did not replicate the sales area data from R/3. Instead we created the org. structure manually in CRM. So we decided to

  • Alter system set db_2k_cache_size=10m

    Hi All,        I am using 11gR2 and try to create db_2k_cache_size when the execute the below command throwing error like.. alter system set db_2k_cache_size=10m ERROR at line 1: ORA-02097: parameter cannot be modified because specified value is inva

  • Trouble installing InDesign and Illustrator on Windows 8

    Hi, I cannot install almost any of my previoulsy purchased Master Suite 5 Collection on my new Windows 8 computer. The programs installed fine on my old computer which had Vista. Here is the log that I am getting when trying to install InDesign but I