Faster Mapping methodology at Runtime

Hi,
Can anyone please tell me which of the XI mapping methodology is faster at runtime in which scenarios?
I mean e.g. converting SAP data extracted using ABAP proxy to HTML, graphical or XSLT or ABAP mapping is faster?
thanks for any help
KP

Hi KP,
Have alook at the following comments and decide...
1)Using the XSLT mapping with Java enhancement, you can implement mappings quicker and more flexibly.
2)Java mapping programs are not permitted to be stateful. You are therefore not permitted to perform actions such as writing data to a database table during a Java mapping. The Integration Server cannot track such side effects. Therefore, if an attempt is made to resend a message that has not been received by the receiver, the data may inadvertently be written to the database twice in a Java mapping.
Note the following points when using static variables in Java mappings:...
1. Mappings can be executed in parallel. Therefore, several instances of a mapping may access a static field for read or write purposes at the same time.
2. If mapping programs are executed more than once, the content of the static field may be lost. The reasons for this are as follows:
i) The content of a static field is lost if the Java class in question is reloaded. This happens after a cache refresh, for example.
ii) If the mapping runtime consists of a cluster, the mapping classes on each node of the cluster are loaded separately. Each node has its own static fields.
Static fields can be used for constants and as a buffer, taking the above-mentioned points into consideration.
http://help.sap.com/saphelp_nw04/helpdata/en/73/f61eea1741453eb8f794e150067930/content.htm
http://help.sap.com/saphelp_nw04/helpdata/en/e2/e13fcd80fe47768df001a558ed10b6/content.htm
http://help.sap.com/saphelp_nw04/helpdata/en/10/5abb2d9df242f6a62e22e027a6c382/content.htm
For your scenario I think you can go for ABAP mapping
Regards
Suraj

Similar Messages

  • Getting processflow and mapping names at runtime

    how can I indenfy at runtime in a generic way the name of my actual process flow or mapping so that I can refer to this (maybe for error logging aspects)?

    Hi,
    within a mapping, use an expression operator. For an output attribute, use the expression get_model_name
    It returns the mapping name at runtime.
    Regards,
    Carsten.

  • Message Mapping : Testing at Runtime

    Hi all,
    I am doing scenario File XI IDoc...
    I was encountering error.. Runtime exception in Mapping...
    So i tried the testing step described by michal.
    if i paste the payload of the data obtained from SXMB_MONI in test tab of message mapping editor i will get error
    <i>Cannot produce target element /WGSREQ02/IDOC/E1WGRK1. Check xml instance is valid for source xsd and target-field mapping fulfills requirements of target xsd </i>
    but for the same paylod in "src" of testing tab if i add namespace the testing is working fine.
    Kindly can anybody give me suggestion
    Regards,
    Ramesh P
    Message was edited by:
            Ramesh Parashivamurthy

    Message Mapping
    http://help.sap.com/saphelp_nw04/helpdata/en/49/1ebc6111ea2f45a9946c702b685299/frameset.htm
    User Defined Functions:
    http://help.sap.com/saphelp_erp2004/helpdata/en/22/e127f28b572243b4324879c6bf05a0/frameset.htm
    Advanced Graphical Mapping:
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/media/uuid/b9af5e71-0701-0010-d0b8-f612fb6593dd
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/be05e290-0201-0010-e997-b6e55f9548dd

  • Mapping Techniques determines Runtime Performance

    What mapping technique offers the best performance at runtime (i.e. graphical, ABAP, Java, XSLT)?  I have the ability to use anyone of these techniques, but I want to ensure I am using the one that offers the best performance at runtime, not the quickest/easiest to implement at design time.

    Hi..
    imo mapping performance does only partially depend on technique used, another important influence is the developer himself. You can develop highly performant graphical mappings, java mappings and also XSLT mappings but you have to focus on performance, know the concepts and maybe have someone else look at the mapping after it is finished I'm not sure about ABAP mapping, but i would say graphical and custom java have the same performance. XSLT is indeed slower, but there are some problems which can not be solved in graphical mapping (e.g. recursion) which can be solved rather easily in XSLT. Also SAP uses XSLT extensively in their standard content (e.g. MDM 3.0) where we have not encountered serious performance problems so far.
    best regards
    Christine

  • Mapping error during runtime

    Hi,
    I have scenario like JDBC sender and file receiver.
    I am able to poll with JDBC sender adapter and message has success in adapter engine.
    but i am getting following error while mapping runtime.In sxmb_moni status error during mapping runtime.
    Below i am giving the trace file:
    <Trace level="1" type="T">Interface Mapping urn:iwaysoftware:adapter:iworacle:tablerequest jdbc_im</Trace>
      <Trace level="1" type="T">RuntimeException during appliction Java mapping com/sap/xi/tf/_jdbc_mp_</Trace>
      <Trace level="1" type="T">com.sap.aii.utilxi.misc.api.BaseRuntimeException: RuntimeException in Message-Mapping transformation: Cannot produce target element /ns0:PO_HEADER/PO_HEADERS_INTERFACE/INTERFACE_HEADER_ID. Check xml instance is valid for source xsd and target-field mapping fulfills requirements of target xsd at com.sap.aii.mappingtool.tf3.AMappingProgram.start(AMappingProgram.java:303) at com.sap.aii.mappingtool.tf3.Transformer.start(Transformer.java:63) at com.sap.aii.mappingtool.tf3.AMappingProgram.execute(AMappingProgram.java:77) at com.sap.aii.ibrun.server.mapping.JavaMapping.executeStep(JavaMapping.java:64) at com.sap.aii.ibrun.server.mapping.Mapping.execute(Mapping.java:91) at com.sap.aii.ibrun.server.mapping.MappingHandler.run(MappingHandler.java:90) at com.sap.aii.ibrun.sbeans.mapping.MappingRequestHandler.handleMappingRequest(MappingRequestHandler.java:94) at com.sap.aii.ibrun.sbeans.mapping.MappingRequestHandler.handleRequest(MappingRequestHandler.java:67) at com.sap.aii.ibrun.sbeans.mapping.MappingServiceImpl.processFunction(MappingServiceImpl.java:79) at com.sap.aii.ibrun.sbeans.mapping.MappingServiceObjectImpl0.processFunction(MappingServiceObjectImpl0.java:131) at sun.reflect.GeneratedMethodAccessor414.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at com.sap.engine.services.ejb.session.stateless_sp5.ObjectStubProxyImpl.invoke(ObjectStubProxyImpl.java:187) at $Proxy153.processFunction(Unknown Source) at sun.reflect.GeneratedMethodAccessor413.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at com.sap.engine.services.rfcengine.RFCDefaultRequestHandler.call(RFCDefaultRequestHandler.java:219) at com.sap.engine.services.rfcengine.RFCDefaultRequestHandler.handleRequest(RFCDefaultRequestHandler.java:169) at com.sap.engine.services.rfcengine.RFCJCOServer.handleRequest(RFCJCOServer.java:156) at com.sap.mw.jco.JCO$Server.dispatchRequest(JCO.java:7650) at com.sap.mw.jco.MiddlewareJRfc$Server.dispatchRequest(MiddlewareJRfc.java:2275) at com.sap.mw.jco.MiddlewareJRfc$Server.listen(MiddlewareJRfc.java:1614) at com.sap.mw.jco.JCO$Server.listen(JCO.java:8009) at com.sap.mw.jco.JCO$Server.work(JCO.java:8129) at com.sap.mw.jco.JCO$Server.loop(JCO.java:8076) at com.sap.mw.jco.JCO$Server.run(JCO.java:7992) at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37) at java.security.AccessController.doPrivileged(Native Method) at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100) at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170) Root Cause: com.sap.aii.mappingtool.tf3.IllegalInstanceException: Cannot produce target element /ns0:PO_HEADER/PO_HEADERS_INTERFACE/INTERFACE_HEADER_ID. Check xml instance is valid for source xsd and target-field mapping fulfills requirements of target xsd at com.sap.aii.mappingtool.tf3.AMappingProgram.processNode(AMappingProgram.java:178) at com.sap.aii.mappingtool.tf3.AMappingProgram.processNode(AMappingProgram.java:204) at com.sap.aii.mappingtool.tf3.AMappingProgram.processNode(AMappingProgram.java:204) at com.sap.aii.mappingtool.tf3.AMappingProgram.start(AMappingProgram.java:298) at com.sap.aii.mappingtool.tf3.Transformer.start(Transformer.java:63) at com.sap.aii.mappingtool.tf3.AMappingProgram.execute(AMappingProgram.java:77) at com.sap.aii.ibrun.server.mapping.JavaMapping.executeStep(JavaMapping.java:64) at com.sap.aii.ibrun.server.mapping.Mapping.execute(Mapping.java:91) at com.sap.aii.ibrun.server.mapping.MappingHandler.run(MappingHandler.java:90) at com.sap.aii.ibrun.sbeans.mapping.MappingRequestHandler.handleMappingRequest(MappingRequestHandler.java:94) at com.sap.aii.ibrun.sbeans.mapping.MappingRequestHandler.handleRequest(MappingRequestHandler.java:67) at com.sap.aii.ibrun.sbeans.mapping.MappingServiceImpl.processFunction(MappingServiceImpl.java:79) at com.sap.aii.ibrun.sbeans.mapping.MappingServiceObjectImpl0.processFunction(MappingServiceObjectImpl0.java:131) at sun.reflect.GeneratedMethodAccessor414.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at com.sap.engine.services.ejb.session.stateless_sp5.ObjectStubProxyImpl.invoke(ObjectStubProxyImpl.java:187) at $Proxy153.processFunction(Unknown Source) at sun.reflect.GeneratedMethodAccessor413.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at com.sap.engine.services.rfcengine.RFCDefaultRequestHandler.call(RFCDefaultRequestHandler.java:219) at com.sap.engine.services.rfcengine.RFCDefaultRequestHandler.handleRequest(RFCDefaultRequestHandler.java:169) at com.sap.engine.services.rfcengine.RFCJCOServer.handleRequest(RFCJCOServer.java:156) at com.sap.mw.jco.JCO$Server.dispatchRequest(JCO.java:7650) at com.sap.mw.jco.MiddlewareJRfc$Server.dispatchRequest(MiddlewareJRfc.java:2275) at com.sap.mw.jco.MiddlewareJRfc$Server.listen(MiddlewareJRfc.java:1614) at com.sap.mw.jco.JCO$Server.listen(JCO.java:8009) at com.sap.mw.jco.JCO$Server.work(JCO.java:8129) at com.sap.mw.jco.JCO$Server.loop(JCO.java:8076) at com.sap.mw.jco.JCO$Server.run(JCO.java:7992) at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37) at java.security.AccessController.doPrivileged(Native Method) at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100) at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170)</Trace>
    I tried with all options using mapping functions.But the same eror is coming.
    When i tested my mapping program its successfully running in map bulider without any errors.
    The error occuring at runtime.
    Source strcture :
    <?xml version="1.0" encoding="UTF-8"?>
    <ns0:resultset xmlns:ns0="urn:iwaysoftware:adapter:iworacle:tablerequest">
       <row>
          <interface_header_id>928822</interface_header_id>
       </row>
    </ns0:resultset>
    Target structure:
    <?xml version="1.0" encoding="UTF-8"?>
    <ns0:PO_HEADER xmlns:ns0="urn:iwaysoftware:adapter:iworacle:tablerequest"><PO_HEADERS_INTERFACE><INTERFACE_HEADER_ID>928822</INTERFACE_HEADER_ID></PO_HEADERS_INTERFACE></ns0:PO_HEADER>
    Can any body suggest what causing the problem.
    Regards
    Usman

    Hi Usman,
    Test your mapping in IR with the payload from SXMB_MONI. You can refer michal's weblog on <a href="/people/michal.krawczyk2/blog/2005/09/16/xi-how-to-test-your-mapping-in-real-life-scenarios to test your mapping (in real life scenarios)</a>
    In other words you copy the XML message from monitoring and exectute the mapping in Integration Builder with maximal trace to get the reason.
    So what you can do is check ur runtime payload in sxmb_moni with,
    IR>message mapping>test tab>give values>test-->source xml
    Also i thought i will give you some details on what ur doing, so maybe you can compare it with what uhave done and see where you have gone wrong.
    A JDBC sender adapter has 2 essential fields,
    1. SQL Statement
    2. Update Statement
    Your SQL statement will contain your SELECT statement and once your SQL statement is executed, UPDATE statement is executed. This is done so that records that have been selected by the SQL statement should not be selected again as the JDBC sender adapter will poll over the database for every poll interval.
    If you want to SELECT something from your Database, then you will have to go for a JDBC sender adapter.
    This is how a SENDER JDBC Adapter works,
    When you are using your JDBC as a sender, then your JDBC will poll over your database and select the rows that satisfy your Select Query.
    In your case, as you are dealing with multiple tables, you can write a stored proceudre for your Database, and call this stored procedure in your Sender JDBC adapter in the SELECT field of your JDBC adapter.
    Go through this blog for stored procedures.
    /people/sriram.vasudevan3/blog/2005/02/14/calling-stored-procs-in-maxdb-using-sap-xi
    For Configuring the Sender JDBC Adapter refer go through <a href="http://help.sap.com/saphelp_nw04/helpdata/en/7e/5df96381ec72468a00815dd80f8b63/content.htm">Configuring the Sender JDBC Adapter</a>
    Also go through this blog and see if it helps you.
    /people/prasadbabu.nemalikanti3/blog/2006/02/27/collecting-and-bundling-vendor-records-from-different-multiple-interfaces-file-systempeoplesoft-and-sending-to-sap-r3-system-part-2
    To access any Database from XI, you will have to install the corresponding Driver on your XI server.
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/3867a582-0401-0010-6cbf-9644e49f1a10
    I hope this helps...
    Regards,
    Abhy
    Message was edited by: Abhy Thomas

  • How to use TopLink's mapping info at runtime

    Can anybody kindly instruct how to do the following:
    1) Once the "JavaSource.java" file or the "ProjectDeployment.xml" file is generated by TopLink from a TopLink project, how can it be included and used in a J2EE project at runtime? I understand that this step may be specific to the type of IDE used, let us say WebLogic, WebSphere or JDeveloper9i.
    2) Can TopLink generate the file "sessions.xml" automatically or it has to be hard-coded? Does this file have also to be included in a J2EE project under the directory of META-INF at runtime?

    Hi John,
    Probably the best way I can explain the process of putting a J2EE app with TopLink into production would be to describe the best practices of doing so.
    Firstly, I recommend using an IDE to develop your Java source code, although it is possible to generate Java source directly from the Mapping Workbench, this is considered more of a rapid prototyping or quick start process. Once the Java source has been compiled, the Meta-Data (project.xml) can be deployed from the Mapping Workbench.
    The next step really depends on the type of application you are creating. Since you are developing a J2EE based application and it will be multi-user, TopLink recommends using a ServerSession architecture. (Consult the documentation for detailed explanations). Configuring the session can be done in a number of ways, the best way would be to use the SessionManager and an external file called sessions.xml. Both the sessions.xml and project.xml must be visible by the J2EE component that will be using it. (Servlet/Session Bean, etc...). This is done through managing your deployment properly using something like an EAR.
    The key to getting the application and TopLink working together is the session, and here's a basic example on how you could set this up:
    sessions.xml code:
    <toplink-configuration>
         <session>
              <name>myProject</name>
              <project-xml>myProject.xml</project-xml>
              <session-type>
                   <server-session/>
              </session-type>
              <connection-pool>
                   <is-read-connection-pool>false</is-read-connection-pool>
                   <name>default</name>
                   <max-connections>10</max-connections>
                   <min-connections>5</min-connections>
              </connection-pool>
              <enable-logging>true</enable-logging>
         </session>
    </toplink-configuration>
    Somewhere in your application code, you might have a login method that makes use of the SessionManager to load and create the session:
    SessionManager sm = SessionManager.getManager();
              Server serverSession = (Server)sm.getSession("myProject", this.getClass().getClassLoader());
    The sessions.xml must be created manually at this point, a future version of the TopLink product will contain an editor which will help out.
    Darren Melanson

  • Catching Mapping error at runtime using a udf

    Hi AlL,
    I read some blog where it was discussed.. we can catch runtime error ? Is it possible?
    how will we be able to catch the runtime error say during the mapping we got an error and we want to catch that error and log it somewhere or throw user defined exception?
    I guess at runtime all the runtime details are stored in SMPPMAP3 table. which is the field which contain the any runtime error?

    Hi,
    you cannot do it using an UDF as a uDF will only work on fields that
    are in the message
    you can throw exceptions from UDF but not catch
    to catch you can use an exception branch of a block stpe in an intgration process BPM
    Regards,
    michal

  • SXMB_MONI: Interface-Mapping not in runtime-cache

    Hi everybody,
    I got the error in SXMB_MONI:
    Interface-Mapping XYZ not in runtime-cache.
    We did a full cache refresh in sxi_cache.
    In integration directory I got the cache-notification:
    >>>  if_http_client receive http_communication_failure <<<
    Does anybody know, what I have to do?
    Thanks regards
    Mario

    Hi
    Pls check, this may help you
    Cache Refresh Errors - New Phenomena
    Ram

  • Identification of Mapping program at runtime

    Hi,
    I have a requirement in which based upon the value in a particular field I need to call the different mapping program.
    I already have the different scenrios with these mapping programs, now that if the value is "A", it needs to call the mapping program "A" in scenario "A" if not it should another mapping program.
    Option 1:
    For this should I create another interface to check the value and route into different interface or
    Option 2:
    Is there anyother way, to check for that value and if value is "A" then route to the entire file as such a target directory "A" from where I can execute the scenario "A" or to anyother directory.
    Regards,
    Nithiyanandam

    HI Nithiyanandam A.U.,
    You need to do this with the help of XPATH expressions in Receiver determination to divart to various interfaces based on the vlaues.
    Either you could use apply the mapping in BPM with the preffered condinal logics. (Prformance problem.!!!!)
    If the sturctures are different then it will not be possible.
    thanks
    Swarup
    Edited by: Swarup Sawant on Feb 15, 2008 8:44 AM

  • ABAP Mapping: No MESSAGE_OUT during runtime. test OK

    Hi everybody,
    I got a ABAP-Mapping.
    During runtime I get noch MESSAGE_OUT (empty!)
    But when I test the ABAP-Mapping, everything is fine!
    Any ideas?
    Regards Mario
    Edited by: Mario Müller on Sep 11, 2008 9:09 AM

    Thanks,
    found it.
    Regards Mario

  • When we wil go for abap mapping ??

    Hi,
    As we know there are graphical, XSLT, JAVA mappings are there apart from ABAP mapping. I have gone through below weblog.
    /people/udo.martens/blog/2006/08/23/comparing-performance-of-mapping-programs
    and also help.
    http://help.sap.com/saphelp_nw04/helpdata/en/12/05731a10264057badc32d3d3957015/frameset.htm
    None of them says ABAP mapping is either faster or stable as compared to other mappings. Even though it is the case, still when we will go for abap mapping ??
    Is it like that it is totally depend on the available resources in hand ??
    thanks
    kumar

    > The SAP XI/PI mapping is the most efficient as it
    > only loads the part of the source message that are
    > used to create the target message(s) at runtime.
    >
    > Java and XSLT have to load the whole message into
    > memory to process the message. This can be
    > inefficient and if dealing with large messages can
    > cause issues.
    About your statement.
    If you consider the field mapping (or UDF) runtime, then you are correct. But if you consider the whole mapping runtime, you also have to "load" the full message in message mapping, obviously. What happens is that it is transparent to the developer, since loading and parsing is done by standard. But message mapping also deals with loading and parsing the whole message (and it is done with Java underneath). Then I don't think message mapping will have a significantly better/worse performance, when compared with Java mappings (performing normal xml processing methods).
    As for XSLT, the performance problems happens because you have a XSLT processor running over Java VM. Then, if you have heavy load on it, the mapping runtime will consume the resources necessary to run the xslt processor (which is, by itself, very resource consuming) and also to treat that heavy input.
    Regards,
    Henrique.

  • Runtime constant (Filename) errors out in BPM

    Hi,
    I have a BPMCollectTime scenario to collect the Source files. The filename (Message Mapping/Transformation) from the files is captured in TRANSFORM STEP(before sending them out from BPM). The file is sent to SEND step one at a time.
    Question : Filename of the source file is captured through user defined function.
    Following is the code.
    ================
    String  v_result_time;          //test Variable
    DynamicConfiguration conf = (DynamicConfiguration) container.getTransformationParameters().get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
    DynamicConfigurationKey key =  DynamicConfigurationKey.create("http://sap.com/xi/XI/System/File","FileName");
    if (key == null) { v_result_time= "Create Key Failed";}
    else
    {v_result_time= "Create Key worked";
    String valueOld = conf.get(key);
    v_result_time = valueOld;
    return v_result_time;
    The Mapping gives a runtime error in the BPM. This is a sporadic error. 
    I have selected the Adapter specific attribute(File name).
    The BPM errors out sometimes? I am not sure if I am missing any setting. If I delete the work item and run the same scenario it works.
    Question 1 : What is the cause of the above error?
    Question 2 : Does BPM support Adapter specific attribute such as filename?
    Kindly Advice.
    Thanks,
    Gowri

    Hi Everyone,
    Thanks for all the help.
    DTN will not change the response filename to source filename. This option cannot be used. The correlation id is defined as response file name. Response filename is fixed for invoice file.
    Here is the example.
    For invoice file name HDTN20070430163110.TXT, response file received is nav1_2b5.rsp file. For HDTN20070430163314.TXT , response file is nav1_2b5.rsp
    So my correlation id is dummy fixed value. I have known the fact that it is not possible to use context object filename.
    Bhavesh -  I have defined transform step for accessing filename using dynamic configuration. Following is the code used in mapping.
    ================
    String v_result_time; //test Variable
    DynamicConfiguration conf = (DynamicConfiguration) container.getTransformationParameters().get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
    DynamicConfigurationKey key = DynamicConfigurationKey.create("http://sap.com/xi/XI/System/File","FileName");
    if (key == null) { v_result_time= "Create Key Failed";}
    else
    {v_result_time= "Create Key worked";
    String valueOld = conf.get(key);
    v_result_time = valueOld;
    return v_result_time;
    ====================================
    BPM errors out sometime with following error
    Component mapping has returned error.
    com/sap/xi/tf/_MM_DTNData_2_DTNFilename_java.lang.NullpointerException.
    Error: Exception CX_MERGE_SPLIT occurred (program: CL_MERGE_SPLIT_SERVICE========CP, include: CL_
    If I delete this workitem and repeat the same scenario, it works. I have still not understood, why the scenario works sometime.
    Kindly Advice.
    Thanks,
    Gowri

  • 8/20/2014 - Beta - AIR 15.0.0.233 Runtime and SDK

    Adobe AIR Beta Channel Update
    This beta release provides access to the latest AIR runtime and SDK (with compiler) for Windows, Mac OS, iOS and Android.  You can download the AIR beta here: Download Adobe AIR 15 Beta - Adobe Labs
    Below are some of the key features and benefits of AIR 15. Please see our release notes for full details.
    New Features:
    Stage3D “Standard” profile support for iOS and Android
    In the Flash Runtime 14 release we introduced the Stage3D “Standard” profile which provided many advanced 3D features.  At that time, the “Standard” profile was only available on desktop platforms.  In the AIR 15 release we are extending this coverage to mobile platforms.  If a device supports OpenGL ES3, it can successfully request the “Standard” profile and use the same advanced features as the desktop platform.
    Relaxing Stage3D Render Target Clear
    In previous versions of Stage3D, after switching the render texture through Context3D::setRenderToTexture, you were required to clear it before drawing. In this release, we're removing this limitation and optimizing the use of render textures. This change will allow you to further optimize and reuse depth and stencil buffers between different render textures.
    StageText.drawViewPortToBitmapData now supports Retina displays
    Currently, AIR will allow a bitmap with the same width/height of the StageText object to be passed into drawViewPortToBitmapData.  While fine for standard resolution displays, this is not sufficient for Apple's Retina HiDPI displays.  Based on customer feedback, we've altered the drawViewPortToBitmapData method to accept a doubled size BitmapData with StageText's view port on a Mac Retina display, and then draw a HiDPI image from the view port.
    Improved Packaging Engine is now default - iOS
    Starting AIR 15, new improved IPA packaging engine is now the default packaging mode when packaging for AOT targets ipa-app-store, ipa-test, ipa-ad-hoc and ipa-debug. If you encounter any packaging or runtime issues, please report at http://bugbase.adobe.com. To use older packaging mode, use "-useLegacyAOT yes" in the ADT command, before the signing options. To learn more about the feature, please follow http://www.adobe.com/devnet/air/articles/ios-packaging-compiled-mode.html
    AIR Gamepad Enhancements
    AIR Gamepad feature enables the app developers to provide a second screen on Android mobile devices for the Flash based browser games. AIR Gamepad API enables Flash based browser apps to connect to a paired Android device running the AIR Runtime app and therefore allowing the Android devices to be used as game controllers or second-screen interfaces. Following enhancements are available starting AIR 15.
    Multiplayer Support
    Gyroscope Events
    Magnetometer Events
    Applying skin as AIR gamepad screen
    To learn more about the feature and usage guidelines, please follow www.adobe.com/devnet/air/articles/android-air-devices-as-gamepads.html
    AIR Cross Promotion
    Adobe AIR 15 now supports cross promotion of AIR games for mobile devices. Cross promotions can be effective in saving some amount of advertising cost. With the right partnership, you gain access to a wider customer base with a demographic similar to that of your application. This cross promotion is free and works on a credit system. All you need is to earn enough credit points by promoting other AIR games to begin your own promotion campaign. The AIR SDK offers the new AdViewer API for promotion campaigns as a SWC, it provides functions to load and show in-game advertisements. You earn credit points for promoting AIR games by other developers based on ad impressions and clicks. To learn more about the feature and usage guidelines, please follow www.adobe.com/devnet/air/articles/cross-promotion-of-air-games-mobile.html
    Fixed Issues:
    Multiple stability fixes
    Failing to call Context3D.clear before drawing on every frame no longer throws a runtime error. (3726980)
    Poor AIR performance while starting app after restarting Windows OS. (3690665)
    ADL crashes when Workers attempt to open local shared object. (3768436)
    StageVideo with camera doesn't work properly, no video is displayed. (3781244)
    [iOS] [Fast Packager] Couple of runtime performance fixes in new fast packager.(3695884)
    Known Issues:
    [AIR] [Android L] Application hangs on playing Mp4 videos.
    [AIR] [Android L] Arabic, Hebrew, Korean, Bengali, thai characters are displayed as boxes.
    [Javascript] Custom cursor failed on the Jscode HTML AIR app, but success on the AS code AIR APP. (3792475)
    [Win]Unable to prevent default when pasting into TextField with AIR 14.(3776183)
    AIR Publish Fails when Including Large Files. (3772815)
    [Win] GPU accelerated video stop playing when screen resolution changes after NetStream.Buffer.Flush event. (3766000)
    Dispatching Sound Complete. (3764974)
    [iOS] [Fast Packager] "Compilation failed while executing: compile-abc" error pops out when packaging some large AS code applications. (3753783)
    [iOS] [Fast Packager] FPS reduces for Feathers Component Explorer app on iPad when packaged with fast packager.(3776055 )
    About the Beta Channel
    If you would like real-time notification for announcements related to the AIR Beta Channel please follow the Flash Runtime Announcements forums by choosing "Follow this forum" from the right-hand menu on the Forums page.
    You can find instructions for getting started with this release here: AIR Labs Page

    I've settled on the following workaround, which fixes the problem consistently, albeit with a slight flicker sometimes:
    Check if you're on Android;
    Add an ENTER_FRAME listener to the stage in the activation handler (called when returning to the app from an overlay displayed by a native extension);
    Use a ticker to have 2 frames delay between the quality switch, anything quicker than that resulted in inconsistent or non-functional behavior for our app;
    Switch from StageQuality.LOW to StageQuality.HIGH and back again. Going to MEDIUM and back did *not* result in a fix.
    In my case, the code for the switch itself looks like this:
    private function OnActivate(event:Event):void
         if (Settings.IS_ANDROID)
              _Ticker = 0;
              stage.addEventListener(Event.ENTER_FRAME, OnEnterFrameFixGPUContextLoss);
    private function OnEnterFrameFixGPUContextLoss(event:Event):void
         _Ticker ++;
         if (stage.quality.toLowerCase() == StageQuality.LOW) // stage.quality returns string in capitals
              stage.quality = StageQuality.HIGH;
         else
              if (_Ticker > 2)
                   stage.quality = StageQuality.LOW;
                   stage.removeEventListener(Event.ENTER_FRAME, OnEnterFrameFixGPUContextLoss);

  • Mapping error in XI

    Hi Gurus,
    I am getting mapping error at runtime. Im getiing this error message'com.sap.engine.lib.xml.parser.ParserException: XMLParser : #0 not allowed in Character data sections(:main:, row:1, col:301)'. When i testing in the design level its executed successfully. That is i have copied the entire xml message and paste it in the test tap of the integration directory. when i execute it , it run successfully. Pl help out to resolve this problem.
    Regards,
    Ramalakshmi.G

    Hi,
    This s the audit log ..
    2008-07-28 16:29:15 Success
    The message was successfully retrieved from the receive queue.
    2008-07-28 16:29:15 Success
    The message status set to DLNG.
    2008-07-28 16:29:15 Success
    Delivering to channel: CC_WARRANTY_receiver
    2008-07-28 16:29:15 Success
    MP: Entering module processor
    2008-07-28 16:29:15 Success
    MP: Processing local module localejbs/CallSapAdapter
    2008-07-28 16:29:15 Success
    Receiver JDBC adapter: processing started; QoS required: ExactlyOnce
    2008-07-28 16:29:21 Error
    JDBC message processing failed; reason Channel has reached maximum concurrency (5,000 concurrent messages) and no free resource found within 5,000 milliseconds; increase the maximum concurrency level
    2008-07-28 16:29:21 Error
    MP: Exception caught with cause com.sap.aii.af.ra.ms.api.RecoverableException: Channel has reached maximum concurrency (5,000 concurrent messages) and no free resource found within 5,000 milliseconds; increase the maximum concurrency level
    2008-07-28 16:29:21 Error
    Exception caught by adapter framework: Channel has reached maximum concurrency (5,000 concurrent messages) and no free resource found within 5,000 milliseconds; increase the maximum concurrency level
    2008-07-28 16:29:21 Error
    Delivery of the message to the application using connection JDBC_http://sap.com/xi/XI/System failed, due to: com.sap.aii.af.ra.ms.api.RecoverableException: Channel has reached maximum concurrency (5,000 concurrent messages) and no free resource found within 5,000 milliseconds; increase the maximum concurrency level.
    Last four lines descripes the error
    Regards,
    Ramalakshmi.G

  • Runtime errors in BPM

    Hi all,
    We have a transformation step that is generating mapping errors at runtime. We do not see alerts generated by default on the alert framework for these errors. Is this expected? Should we be implementing the alert generation specifically inside the BPM using exception block (if it alerts are not generated by default)?
    Thanks

    Hi,
    If you are using BPM, it is prefer to throw an Alert from BPM itself. Anyway if you configure the alert for Message Mapping, if there is any Runtime Mapping Errors it should throw alerts.
    Btw, you can cross check this guide to find more tips:
    /people/michal.krawczyk2/blog/2005/09/09/xi-alerts--troubleshooting-guide
    So It should show alerts for Transformation Error if you configure the Alerts correctly
    Hope this helps,
    Rgds,
    Moorthy

Maybe you are looking for