Accessing runtime constants with XSLT doesn't work

Hi PI-experts,
I'm trying to insert the Message ID from my message in a XSLT Mapping. I followed the description in SAP Help:
First declare a param:
<xsl:param name="MessageId"/>
Later, use it:
<MESSAGE_ID><xsl:value-of select="$MessageId"/></MESSAGE_ID>
But the field MESSAGE_ID is always empty.
Any explanations ?
What do I need to do, to make it work ?

Hi Udo and all,
i have a bpm, where i first collect some messages and then execute a transformation step, which calls a XSLT Mapping to merge multiple messages into one. After this Transformation Step i added another Transformation Step, which calls a Message Mapping. This Message Mapping is a one to one mapping (every field in the source gets mapped to its twin in the target structure, both messages are the same). Only one field is changed, i wrote user-defined function as proposed in Michal's blog, retrieve the MessageID and set it to this field. I tested the BPM and it definitly works, the Message ID is set to the correct value.
Is this a different behaviour than you have experienced in the past?
I'm running on PI 7.0 with SP 16.
Best Regards
Sven

Similar Messages

  • ** Not able to access Runtime Constants in ABAP XSL

    Hi friends,
    We have written one ABAP XSLT program. (XSLT program runs in ABAP Engine). This program is for the interface Mapping in XI. Source Interface occurrence is 1 and target interface occurrence is 0..unbounded. ie. We use Message Split to send source messages to multiple target messages. For this we have written one ABAP XSLT program. To find Value mappings we use 'SenderService' Runtime Constant to determine Sender Service (for Source Agency) at runtime. But the problem is,  inside template the constant $SenderService did not have the value.  I have given below the coding
    <xsl:param name = 'SenderService'/>
    <xsl:template match="/">
         <ns0:Messages xmlns:ns0="http://sap.com/xi/XI/SplitAndMerge">
                 <ns0:Message1>          
                  <ns1:employeeDemographicsRequest xmlns:ns1="http://aprilbiztec.com">
    <!-- here we are $SenderService did not receive the value -->
    Friends, Could you kindly help me to solve this problem ? (ie how to access Runtime Constants in ABAP XSLT when use message Split)
    Thanks in advance.
    Kind Regards
    Jeagthees P.
    Note :
    1) In normal ABAP XSLT, we are able to access Runtime Constant.
    2) For the same scenario, if we use normal XSLT ie. JAVA XSLT, we are able to access Runtime Constant.

    Hi,
    As far as I know you cannot access Runtime constants if there is a message split.
    Regards,
    Kumar

  • Accessing Runtime Constants in PCK

    Hi all
    Anybody tried accessing runtime constants such as message ID  in PCK, successfully?
    I have written a java mapping using StreamTransformationConstants class to retrieve MessageId value. The same java mapping works fine in XI, but not PCK.
    Any idea?
    Many thanks.
    YJ

    to the target  date mapping we have created a userdefined fuction fileName which is failing the error message when we  test the interface mapping is Runtime exception occurred during execution of application mapping program com/sap/xi/tf/_XI_ERP_FI_BAPI_ACC_DOCUMENT_POST_REQ_MM_: com.sap.aii.utilxi.misc.api.BaseRuntimeException; RuntimeException in Message-Mapping transformation: Runtime exception during processing target field mapping /ns1:BAPI_ACC_DOCUMENT_POST/DOCUMENTHEADER/HEADER_TXT. The message is: Exception:[java.lang.NullPointerException] in class com.sap.aii.mappingtool.flib3.TextFunctions method substring[null, com.sap.aii.mappingtool.tf3.rt.Context@0000000000000]
    is this help full
    when it is succesfull the input <HEADER_TXT>Payroll for 01/2008</HEADER_TXT>
    <DOC_DATE>20080131</DOC_DATE> 
                                                    when it is failed the input is
    <HEADER_TXT>Payroll for 20/08.t</HEADER_TXT>
    <DOC_DATE>08.t20</DOC_DATE>
    thanks and regards
    sandeep
    thanks
    sandeep

  • Unable to access Runtime Services with admin user

    Hi all,
    Trying to access runtime services with admin user returns a "Authentication Denied
    The username or password has been refused by Runtime Services. Please try again."
    Credentials are correct. It seems to be some kind of lockout. I´ve copied this admin user entry in ldap and named it admin2, this "new" user can perfectly log.
    As it could be a lockout I have unlocked the user although the proper tab said there was no locked user.
    The realm is in a openldap.
    Any hint would really be appreciated.

    Hi all,
    Trying to access runtime services with admin user returns a "Authentication Denied
    The username or password has been refused by Runtime Services. Please try again."
    Credentials are correct. It seems to be some kind of lockout. I´ve copied this admin user entry in ldap and named it admin2, this "new" user can perfectly log.
    As it could be a lockout I have unlocked the user although the proper tab said there was no locked user.
    The realm is in a openldap.
    Any hint would really be appreciated.

  • Cropping pictures with Viewer doesn't work.

    Cropping pictures with Viewer doesn't work.
    Selecting < or ~ 12 pictures. (picture size are Snapshots with iphone resolution) ->Viewers opens and display them. -> Russian roullette between cmd+k or the little crop button. No indication which one will process a crop or which not. -> Both result in picture selection disappear with no crop.
    Selecting > 12 pictures. (picture size are Snapshots with iphone resolution) -> Viewer opens and display them. I crop them one by one with same Russian roulllette behavior between cmd+k or the little crop button. -> Closing Viewer. -> Pictures remain like they've been before. Not cropped.

    I just tried what you described (although I can't really fathom why you would describe it as Russian roulette (with a variable number of L's). Unless you've been drinking a lot, which is what people are usually doing when they are playing Russian roulette. Your post was hard enough to decipher without that.
    Anyway, my cropping was saved each time. I think there's something wrong with your Preview.app. Have you changed anything about the autosave functions of OSX?
    I would try:
    Boot into your recovery partition (restart, hold down ⌘R until you see the Apple logo), and use Disk Utility to repair your hard drive. Repair permissions too while you're there. OS X: About OS X Recovery
    if that doesn't help, then I'd reinstall Mavericks over your current installation.

  • Runtime Constant in XSLT :-(

    Hi together,
    I have one problem with constant at the runtime.
    The tag <RCVPRN> is empty, but I need this for my IDoc communication.
    In the SAP help stands this:
    Runtime Constants
    $ReceiverService
    Service on the receiver side that receives the message. For example, the name of a business system.
    As of SAP XI 3.0, use this constant instead of the constant RECEIVER_SYSTEM used previously.
    Yes
    See also: Service
    If you want to access one of the constants in the XSLT program, you first have to declare the constant as a parameter, for example:
    <xsl:param name="MessageId" />
    In my XSLT mapping I have this:
    <RCVPOR>empty</RCVPOR>
    <RCVPRT>LS</RCVPRT>
    <xsl:param name="ReceiverService"/>
    <RCVPRN>
    <xsl:value-of select="$ReceiverService"/>
    </RCVPRN>
    </EDI_DC40>
    But during the runtime the constant is empty
      <RCVPOR>empty</RCVPOR>
      <RCVPRT>LS</RCVPRT>
      <RCVPRN />
       </EDI_DC40>
    Have you an idea for my problem?
    Bye
    Stefan

    Hi Udo/all,
    Thank you for your answer.
    Please see in my last post:
    Idoc with XSLT Mapping ALE service error
    I mark in my channel:
    Take Sender from Payload and Take Receiver from Payload
    I must set control field by xslt maping, because the receiver is flexible.
    With your setting I became a converting error to an ALE logical system.
    I need the runtime constant in the xslt mapping.
    Idea?
    bye
    stefan

  • Printing PDDoc with AFExecuteThisScript() doesn't work after an upgrade from SDK 5 to SDK8

    Hello,
    I have made an upgrade of my plug-in which was developed with the Acrobat 5 SDK. I upgrade it to Acrobat 8 SDK and my print function doesn't work anymore.
    Actually I print my document using a javascript trusted function instead the function provided by the C++ library for internal reason.
    Here below is the code used to print my document :
    char szJavaPrint[6000];
    sprintf(szJavaPrint,
    "pp = this.getPrintParams(); \r\n"
    // fill pp with parameters
    "pp.interactive = pp.constants.interactionLevel.silent; \r\n"
    "\r\n"
    "this.trustedPrint(this, pp);"
    PDDoc pdDoc = AVDocGetPDDoc(avDoc);
    AFExecuteThisScript(pdDoc, szJavaPrint, NULL);
    It was working with the Acrobat 5 SDK but the print seems to have no effect using the Acrobat 8 SDK. I know that there is a change between Acrobat 5 and 8 concerning the Character Set (currently I set the Character Set to "Not Set" in the Configuration Properties of the project) but I don't think that my problem comes from the Character Set.
    All ideas to resolve this problem are welcome.
    Kind regards,
    Joe

    See what happens if you remove the "setting of interactive to silent"...
    There is a restriction on silent printing in Acrobat, but I would not have expected that to be passed into this method - but it could have been overlooked and be a bug.
    Also, I don't recall a trustedPrint() method in Acrobat JS - check the documentation for the correct name of this function...

  • Selection dynamic Mapping Runtime Constant with a qualifier

    Hello all,
    i want to access a Mapping Runtime Constant out of a message mapping specified with a qualifier.
    In the Integration Directory i specified in the identifier tab the following Value Pairs:
    Agency               Scheme          Name
    http://Sap.com/xi/XI    XIParty         ABC
    R3D_310                 Partner         111
    R3T_310                 Partner         222
    R3P_310                 Partner         333
    In the message mapping i want to have the Name for the agency "R3T_310".
    I know i can access the Name with:
    constant = (String) map.get(StreamTransformationConstants.SENDER_PARTY);
    But i getting everytime the name "ABC", which i don't want.
    At this point i need your help, to find out how i can dynamically get the correct one??
    many thanks for your help
    ilka

    Ilka,
    You can also access other Mapping Runtime constants. For example, SENDER_PARTY_AGENCY.
    If needed, you can also access SENDER_PARTY_SCHEME and SENDER_SERVICE.
    The SAP Help link for all the Mapping Runtime constants accessible with StreamTransformationConstants is:
    http://help.sap.com/saphelp_nw04/helpdata/en/78/b4ea10263c404599ec6edabf59aa6c/frameset.htm
    Hope this helps,
    Bhanu

  • If i run program via Runtime.getRuntime().exec, UrlConnection doesn't work.

    I have two pograms.
    One GUI which allow us directly runs server application and display output.
    Two server application which operates with http.
    Under Windows XP operation system everything works fine. If i run server application via comand like " java -jar **** " , everything works fine. But if i run server application via GUI under Win2000, server application doesn't work. Application freeze if try to get output stream from Url connection.
    Can you help me please?
    url = new URL("http://neco");
    connection = (HttpURLConnection)url.openConnection();
    connection.setRequestMethod("POST");
    connection.setDoInput(true);
    connection.setDoOutput(true);
    connection.setAllowUserInteraction(true);
    connection.setReadTimeout(10);
    connection.setUseCaches(false);
    // Right There !!!
    output = new DataOutputStream(connection.getOutputStream());

    It is probably because the getOutputStream() or getErrorStream() of Process is blocked waiting for you to read from those streams.
    See http://www.javaworld.com/javaworld/jw-12-2000/jw-1229-traps.htmlIn short read from getOutputStream() from its own thread and also read from getErrorStream in another thread. If you are using 1.5 you can use ProcessBuilder and combine the OutputStream and ErrorStream into one stream and then you just need one thread. For you information, in 1.5 Runtime.exec() just call through to ProcessBuilder.

  • After upgrade to IOS 8.3 sync with iTunes doesn't work

    After upgrade iPhone 6, iPad Air to IOS 8.3, the sync (over wifi, as well) to iTunes doesn't work anymore.
    On iMAC iTunes, the last sync's hour and day appear different from what is recorded on mobile devices (iPhone and iPad); with IOS 8.2 and the previous iTunes' version the sync worked correctly: the dates are the same only for few seconds after syncronization, then the IOS devices show the syncronization's dates related to two weeks ago.
    Thanks

    you'll need to contact your carrier.

  • Fit the window with mouse doesn't work after new update 10.9.2

    Hi, I could fit a windows using my mouse wheel or two finger(on trackpad), doesn't work after I set up new Mavericks update(10.9.2) I'm using Haswell rMBP. Can anyone help me please? Thanks a lot. (Also, minimize with mouse wheel doesn't work too.)

    Doesn't anyone having this issue?

  • PI 7.0 - UDF to access runtime constants

    Hi experts,
    I've created some user-defined functions to use in my Message Mappings. I'm particularly interested in having Message Mappings that allow me to send error e-mails everytime an integration process fails.
    So, in every Message Mapping I've created an UDF with the following code (saw this on SAP Help):
    MappingTrace trace;
    String constant;
    java.util.Map map;
    trace = container.getTrace();
    // get constant map
    map = container.getTransformationParameters();
    constant = (String) map.get(
            StreamTransformationConstants.INTERFACE_NAMESPACE);
    trace.addInfo("INTERFACE_NAMESPACE:" + constant);
    return constant;
    Now, almost everything is working fine. I'm receiving some error e-mails with the correct namespace, but the rest of them comes with a "null" instead of namespace - this is only happening in some Message Mappings - I have MM_A and MM_B of the same interface responsible for sending e-mails on diferent stages of the integration process; The e-mail received from MM_A contains the correct namespace but the other don't (comes with null).
    Can you help me on this?
    Thanks in advance.
    Regards,
    Ricardo Inácio

    PI is available in the options during the install of ECC.

  • Synchronization of tasks and interaction logs with Outlook doesn't work

    Dear SAP Experts,
    I'm workink on CRM 7.0 (release 7.7.06.010).
    We are trying to make the synchronization of activities, contacts and tasks from our CRM system to Microsoft Outlook.
    It's working fine for the contacts and for the Apointment BP visit (transaction type Y020).
    But no synchronization made for others activities (interaction log Y007 and telephone calls PCAL) or BP Tasks (Y030) we created in the system.
    We just applied today SAP Note 1415263 and Groupware Integration 3.057.
    I made the settings in the CRM Calendar tab in Outlook (with synchronization from CRM to Outlook), and checked apointment, contacts and tasks.
    In customizing (CRM > Transactions > Basic settings > Define transaction types), I flagged for the following transaction types the little 'Calendar' box: Y020, Y030, Y007 and PCAL.
    In another entry (CRM > CRM Middleware and related components > Settings for client-based synchronization), I indicated the transaction type Y020 for DEFAULT_APPT_PROC_TYPE and Y030 for DEFAULT_TASK_PROC_TYPE.
    Any idea about what is missing or not already done?
    Any help will be apppreciated.
    Thanks in advance for your help,
    Kind regards,
    Grégory KREMSER
    Edited by: Grégory Kremser on Feb 3, 2010 3:13 PM

    We don't have a CAS array set up.  We want the fail over to be fully manual and only fail over to another server when mb1 is in a completely failed state and won't be back up and running withing a set time frame.  We can get everything working
    on MB3 and only Outlook doesn't work when everything is on MB2.  Outlook also doesn't work if databases are on another server and DNS is pointing Outlook to MB2 (again MB3 works fine).

  • Powerdns with MySQL doesn't work

    I recently switched from ubuntu to Arch and I love it. However I have problems with PowerDNS running with MySQL database. When I set pdns.conf to
    launch=gmysql                                                                                                           
    gmysql-host=127.0.0.1                                                                                                   
    gmysql-user=user                                                                                                 
    gmysql-password=pass                                                                                             
    gmysql-dbname=database_name 
    and restart pdns i get this error:
    Oct 22 22:43:34 Archlinux pdns[3337]: Caught an exception instantiating a backend, cleaning up
    Oct 22 22:43:34 Archlinux pdns[3337]: gmysql Connection failed: Unable to connect to database: Lost connection to MySQL server at 'reading initial communication packet', system error: 0
    Socket connection doesn't work either.
    If someone could help me out of this I would be very happy.
    Best regards!
    Jernej

    It works! Thank you! Thank you! Thank you!
    I wasted so many hours combating this...
    I owe you a beer byte! Thx again!

  • 'Alt' with + or - doesn't work

    The adjustment increment of several of the sliders is supposed to be reduced by holding the Alt key down while the + or - key. This doesn't work on my system. I've tried tested both Alt keys with both + and - keys on my keyboard. No luck. All I get is the Windows error tone. Using the Shift key to increase the adjustment increment works as it should. Any ideas out there? TIA, njb

    I consider it's working OK on Windows
    But it's platform dependent !
    To resume :
    Windows   + and -  give  small  increments , shift and + and - give   big increments
    Mac          + and - give  big increments ,  alt and + and - give small increments.
    And the Martin Evenings book is the best LR book for me, though here he's may be not clear enough.

Maybe you are looking for

  • How can I insert a folder inside another folder

    is it possible to have sub folders I want to create 3 main folder MainFolder 1, mainfolder2, mainfolder3 And I want to have 5 folders inside mainfolder 1 so when the user click on mainfolder 1 , will see 5 folder in it , not next to it sincerely your

  • Programs not responding after 10.3.9 upgrade

    I upgraded my operating system to 10.3.9 combined update and now my iTunes, Quicktime & Final Cut Pro will not open. I have to force quit them because they don't respond. I tried reinstalling iTunes but that didn't work. Short of pulling out my boot-

  • How to find the list of plants that a user has access to

    Hi, Can any one help me pull all the plants that a user has authorization for? Is there any fucntion module that gives this list or any table from where i can pull this? Please let me know. Regards, Kumar.

  • Reading DVD RW dics

    I have an idea to use my samsung component DVD recorder to record shows/movies off cable onto a DVD RW disc. I would then like to put this disc into my mac and download the files (e.g. VOB files and transform then into usable files with mpeg streamcl

  • HT201272 How do I download all my past app purchases onto my computer (assume lost them all - no backup)

    I bought a new MacBook Pro and I do not have a backup. I do not want to search for all my apps and re-download them. Is there an easy way to download all the app purchases that I have?