Skip to Content

Exporting/importing X(P)I mappings as XIM files has been a practice by PI developers since XI3.0 version. But, unfortunately SAP has disabled this feature from PI7.1/3 onwards. During my recent exploration on hidden tools in X(P)I, I found the shortcut (CTRL+SHIFT+ALT 0) for exporting/importing PI7.1 mappings. But however, this shortcut key combination still does not work for PI7.3 🙁

So, is there a way we can change this behavior for PI7.3 without touching any server settings? Well, the answer is Yes to some extent i.e., at least, we can export PI7.3 mappings as XIM files 🙂 (as I do not yet know the procedure to import XIM files in PI7.3 )

The below procedure explains, how to export PI7.3 mappings as XIM files,

  1. First, refer my previous blog to know how to launch repository(ESR)/directory frameworks with a batch file : http://scn.sap.com/community/pi-and-soa-middleware/blog/2013/01/09/hidden-tools-in-xipi-bat-file-to-launch-esrid-frameworks
  2. Assuming, you have access to both PI7.1/PI7.3 systems. Follow, the above blog procedure (CTRL+SHIFT+ALT J) to download PI7.1 and PI7.3 client jars, property and batch files in separate directories. E.g., C:\PI7.1 for 7.1 and C:\PI7.3 for 7.3
  3. Now it is time to perform the trick 😉 to export PI7.3 mappings as XIM files. Copy the com.sap.xpi.ib.mt.gui.lib.jar file from PI7.1 directory to PI7.3 directory
  4. Now, launch the PI7.3 repository/ESR batch file and then open any existing mapping to export it as a XIM file. As usual, press CTRL+SHIFT+ALT 0 to export mappings as a XIM file (The only exception with this procedure is that we cannot import XIM files. Yet to find why import button does not show-up, may be some setting is required in PI7.3 server J to enable import button option)

TechnicalObjInformation.JPG

    5. Also, with CTRL+SHIFT+RIGHT-CLICK (mouse) we can still have local compilation, color schema and JarClassTest options as shown in below snap shot.

CTRLSHIFTRIGHTCLICK.JPG

N’joy.

Note: The above procedure is not recommended for production PI systems.

Update (7:17 PM CET, 9/20/2014): I have tested this trick procedure with latest PO7.4 version as well and it works perfectly, with the PI7.1 jar file @ PI7.1_com.sap.xpi.ib.mt.gui.lib.jar – Box

To report this post you need to login first.

24 Comments

You must be Logged on to comment or reply to a post.

  1. Dinesh Male

    Hi Praveen,

    Really nice blog,i was disappointed after sap disabled the hidden menu of PI mapping.

    Now I can able to export the mappings with this procedure.

    thank you.

    Regards,

    Dinesh Male

    (0) 
  2. Luis E. Ortiz

    Hi. Praveen.

    I can export my MM with Ctrl+Shift+0 without the trick , as exported 7.1.

    I have PI 7.3 , I just see the XIM file on my PC.

    Regards.

    (0) 
    1. Praveen Gujjeti Post author

      Hello Luis,

      Really strange, I tried in couple of PI7.3 systems and for none of them it worked. Can you provide your PI service pack details? Do you also see import button for importing XIM files for your pi version with Ctrl+Shift+0

      Regards,

      Praveen Gujjeti

      (0) 
      1. Luis E. Ortiz

        Hi. Praveen.

        Below you can see the details PI 7.3 and I can see the import button for exporting.

        Untitled.png

        Also I tried with PI 7.3.1 but on this version I can’t export the mapping as .xim

        Regards

        (0) 
          1. M Nagabhushanam Marriboyina

            Hi Praveen,

            We are on PI 7.31 SP 10,i have tried all the steps suggested by you to download the mappings,have copied the jars from PI 7.1 to PI 7.31 folder and modified the batch file and was able to launch ESR with the batch file start.bat,but after opening my message mapping when i try pressing Ctrl+****+Alt+0 no action.I have tried even Ctrl+Shift+0 as well and also tried O instead in 0 for both the combinations,any clues why i am not able to download the mappings with the trick given by you.

            (0) 
  3. Phil Enslin

    Hi Praveen

    I am using a PI7.11 SP10 system and have followed all your steps as detailed. I am however unable to make either of the keyboard shortcuts CTRL+SHIFT+ALT 0 or CTRL + SHIFT + 0 work to export the xim file. I also tried the same shortcuts with O instead of 0 (zero). I do not have access to a pure 7.1 version of com.sap.xpi.ib.mt.gui.lib.jar

    Is there a trick to making it work in PI 7.11, please?

    Thanks

    Phil

    (0) 
  4. André Pier

    Hi,

    We have the problem that we do not have access to a PI 7.1 system anymore. At the moment we are migrating from 7.11 to 7.31 and would like to export and document the .XIM files of our message mappings.  That means we have no possibility to get the needed file:

    com.sap.xpi.ib.mt.gui.lib.jar

    Does anyone know how we could retrieve this single jar file? Maybe somebody could send it to me?

    Regards,

    André.

    (0) 
  5. Rashmi Joshi

    Hi Praveen,

    I have followed your both the blogs and  all steps I have performed but still CTRL+SHIFT+ALT 0 or CTRL + SHIFT + 0 is not working for me. Can you please help me here to identify missing step?

    Thanks & Regards,

    Rashmi

    (0) 
  6. Pushparaju Bollapalli

    Hi Praveen,

    I have followed your blogs and  all steps. start.bat gives below error in the screenshot .
    Can you please help if need to do any additional settings for PO 7.5?

    We are on PO 7.5 single stack and service pack 05

    Thanks & Regards,
    Raju.

     

    (0) 
    1. Praveen Gujjeti Post author

      Hi Pushparaju,

      Have your batch file into your TempIbJars folder and also copy javaws.jar file into this folder.

      Edit the batach file to replace all C:\TempIBJars\ occurences with a BLANK. Save the batch file and then try to execute

      Br,
      Praveen

      (0) 
      1. Pushparaju Bollapalli

        Hi Praveen,

        Thanks for quick help. After I edit the start.bat file webstart worked fine and I am facing below error now. Attaching the log. Did I miss any jar file?

        .

        Log:

        C:\IT_CodeRepo\TempIbJars>java -classpath “javaws.jar;c:\IT_CodeRepo\TempIbJars\com.sap.xpi.ibrep.client.jar;c:\IT_CodeRepo\TempIbJars\com.sap.xpi.ibrep.core.jar;c:\IT_CodeRepo\TempIbJars\com.sap.xpi.ibrep.rb.jar;c:\IT_CodeRepo\TempIbJars\com.sap.xpi.ib.client.jar;c:\IT_CodeRepo\TempIbJars\com.sap.xpi.ib.core.jar;c:\IT_CodeRepo\TempIbJars\com.sap.xpi.ib.rb.jar;c:\IT_CodeRepo\TempIbJars\com.sap.xpi.ib.mt.gui.lib.jar;c:\IT_CodeRepo\TempIbJars\com.sap.xpi.ib.mt.rb.jar;c:\IT_CodeRepo\TempIbJars\com.sap.xpi.ib.mt.util.lib.jar;c:\IT_CodeRepo\TempIbJars\com.sap.xpi.ib.mapping.lib.jar;c:\IT_CodeRepo\TempIbJars\com.sap.xpi.ib.upload.core.jar;c:\IT_CodeRepo\TempIbJars\com.sap.xpi.ib.upload.sap.jar;c:\IT_CodeRepo\TempIbJars\com.sap.xi.mapping.tool.lib_api.jar;c:\IT_CodeRepo\TempIbJars\com.sap.xi.flib.lib_api.jar;c:\IT_CodeRepo\TempIbJars\com.sap.aii.utilxi.core.jar;c:\IT_CodeRepo\TempIbJars\com.sap.aii.utilxi.gui.jar;c:\IT_CodeRepo\TempIbJars\com.sap.xpi.util.rb.jar;c:\IT_CodeRepo\TempIbJars\com.sap.aii.proxy.gen.jar;c:\IT_CodeRepo\TempIbJars\frog.jar;c:\IT_CodeRepo\TempIbJars\com.sap.xpi.ibrep.core.subn.jar;c:\IT_CodeRepo\TempIbJars\jta.jar;c:\IT_CodeRepo\TempIbJars\ejb20.jar;c:\IT_CodeRepo\TempIbJars\sap.com~tc~sapxmltoolkit~sapxmltoolkit.jar;c:\IT_CodeRepo\TempIbJars\sap.com~tc~exception~impl.jar;c:\IT_CodeRepo\TempIbJars\sap.com~tc~logging~java~impl.jar;c:\IT_CodeRepo\TempIbJars\sap.com~tc~bl~guidgenerator~impl.jar;c:\IT_CodeRepo\TempIbJars\jperflib.jar;c:\IT_CodeRepo\TempIbJars\sap.com~tc~bl~ni~impl.jar;c:\IT_CodeRepo\TempIbJars\sap.com~tc~je~clientlib~impl.jar;c:\IT_CodeRepo\TempIbJars\sap.com~tc~bl~jarm~jarm.jar;c:\IT_CodeRepo\TempIbJars\tenComposite.jar;c:\IT_CodeRepo\TempIbJars\tenGraph.jar;c:\IT_CodeRepo\TempIbJars\tenGraphics.jar;c:\IT_CodeRepo\TempIbJars\tenGenerics.jar;c:\IT_CodeRepo\TempIbJars\tenGui.jar;c:\IT_CodeRepo\TempIbJars\tenGuiResource.jar;c:\IT_CodeRepo\TempIbJars\com.sap.xpi.ibrep.maestro.core.jar;c:\IT_CodeRepo\TempIbJars\com.sap.xpi.ibrep.maestro.model.jar;c:\IT_CodeRepo\TempIbJars\tenSkeleton.jar;c:\IT_CodeRepo\TempIbJars\tenLookAndFeel.jar;c:\IT_CodeRepo\TempIbJars\jaxb-api.jar;c:\IT_CodeRepo\TempIbJars\jaxb-impl.jar;c:\IT_CodeRepo\TempIbJars\jaxb-xjc.jar;c:\IT_CodeRepo\TempIbJars\jsr173_1.0_api.jar;c:\IT_CodeRepo\TempIbJars\activation.jar;c:\IT_CodeRepo\TempIbJars\jaxb-api-2.1.jar;c:\IT_CodeRepo\TempIbJars\jide-2.7.5.jar;c:\IT_CodeRepo\TempIbJars\JimiProClasses-1.0.0.jar;c:\IT_CodeRepo\TempIbJars\client.jar;c:\IT_CodeRepo\TempIbJars\jsr-1.7.3.jar;c:\IT_CodeRepo\TempIbJars\jxlayer-1.0.jar;c:\IT_CodeRepo\TempIbJars\filters-2.0.235.jar;c:\IT_CodeRepo\TempIbJars\y-reportdesigner-client-3.3.0-486419.jar;c:\IT_CodeRepo\TempIbJars\y-annotations-1.0.0-346691.jar;c:\IT_CodeRepo\TempIbJars\y-spellchecker-dictionaries-1.0.0-SNAPSHOT.jar;c:\IT_CodeRepo\TempIbJars\y-spellchecker-1.0.0-SNAPSHOT.jar;c:\IT_CodeRepo\TempIbJars\scptlang_en_help.jar;c:\IT_CodeRepo\TempIbJars\commons-digester-1.8.jar;c:\IT_CodeRepo\TempIbJars\commons-collections-commons-collections-3.2.2.jar;c:\IT_CodeRepo\TempIbJars\arismethod.jar;c:\IT_CodeRepo\TempIbJars\cl_locale.jar;c:\IT_CodeRepo\TempIbJars\cl_locale_de.jar;c:\IT_CodeRepo\TempIbJars\cl_locale_en.jar;c:\IT_CodeRepo\TempIbJars\mail-1.4.jar;c:\IT_CodeRepo\TempIbJars\jh-2.0_03.jar;c:\IT_CodeRepo\TempIbJars\js-1.7R2.jar;c:\IT_CodeRepo\TempIbJars\y-6.2.0.1.jar;c:\IT_CodeRepo\TempIbJars\y-reportexecution-3.0.0-474547.jar;c:\IT_CodeRepo\TempIbJars\y-reportdesigner-common-3.3.0-454947.jar;c:\IT_CodeRepo\TempIbJars\y-graphics-3.3.1-471587.jar;c:\IT_CodeRepo\TempIbJars\y-graphlayout-2.8.6-463383.jar;c:\IT_CodeRepo\TempIbJars\y-guiframework-6.21.52-738883.jar;c:\IT_CodeRepo\TempIbJars\y-lipo-1.1.2-416426.jar;c:\IT_CodeRepo\TempIbJars\y-utils-2.2.4-469928.jar;c:\IT_CodeRepo\TempIbJars\jdom-1.1.jar;c:\IT_CodeRepo\TempIbJars\iaik_jsse.jar;c:\IT_CodeRepo\TempIbJars\iaik_smime.jar;c:\IT_CodeRepo\TempIbJars\iaik_ssl.jar;c:\IT_CodeRepo\TempIbJars\w3c_http.jar” com.sap.aii.ibrep.gui.appl.ApplicationImpl webstart
        #0 00:09:05 [main] WARNING com.sap.aii.utilxi.icons.IconFactory: Cannot read icon ICON_MANAGE_SUBSCRIPTION
        #1 00:09:05 [main] WARNING com.sap.aii.utilxi.icons.IconFactory: Cannot read icon ICON_OPEN_SUBSCRIBED_OBJECT
        PerfTimes : loadNativeLayer: loading jperflib failed. no jperflib in java.library.path
        #2 00:09:06 [main] INFO com.sap.aii.ib.core.applcomp.ExplicitApplicationComponents: Construction of EACs: AC implicit type id = REPOSITORY_WSCLIENT, AC alternate type id = null
        #3 00:09:06 [main] INFO com.sap.aii.utilxi.prop.api.PropertySourceFactory: initializing properties for server mode…
        #4 00:09:06 [main] INFO com.sap.aii.utilxi.prop.api.PropertySourceFactory: unable to get ExchangeProfile (could not load class ExchangeProfileR3PropertySource)
        #5 00:09:07 [main] INFO com.sap.aii.utilxi.prop.api.PropertySourceFactory: setting PropertySource for “unknown”
        #6 00:09:07 [main] INFO com.sap.aii.utilxi.prop.api.PropertySourceFactory: main properties source: FilePropertySource(“C:\IT_CodeRepo\TempIbJars\aii.properties”)
        <<< frog.jar: version 7.20.19 03/09/11 sap.theme: null >>>
        #7 00:09:07 [AWT-EventQueue-0] INFO com.sap.aii.utilxi.swing.toolkit.Guitilities: Frog LookAndFeel successfully set
        #8 00:09:07 [AWT-EventQueue-0] ERROR com.sap.aii.utilxi.swing.toolkit.Guitilities: MessageID=IBF.lib_gui.005266#Error in AWT-Event-Thread
        Thrown:
        java.lang.NoClassDefFoundError: javax/jnlp/UnavailableServiceException
        at com.sap.aii.utilxi.swing.framework.personalization.persist.PersonalPersistProvider.<init>(PersonalPersistProvider.java:26)
        at com.sap.aii.utilxi.swing.framework.personalization.persist.PersonalPersistProvider.<clinit>(PersonalPersistProvider.java:21)
        at com.sap.aii.utilxi.swing.framework.personalization.PersonalizationManagerImpl.getResource(PersonalizationManagerImpl.java:118)
        at com.sap.aii.ib.gui.login.SplashLoginFrame.initGUI(SplashLoginFrame.java:236)
        at com.sap.aii.ib.gui.login.SplashLoginFrame.<init>(SplashLoginFrame.java:173)
        at com.sap.aii.ib.gui.misc.ApplicationBase$1.run(ApplicationBase.java:161)
        at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
        at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:756)
        at java.awt.EventQueue.access$500(EventQueue.java:97)
        at java.awt.EventQueue$3.run(EventQueue.java:709)
        at java.awt.EventQueue$3.run(EventQueue.java:703)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:726)
        at com.sap.aii.utilxi.swing.toolkit.Guitilities$EventProcessor.dispatchEvent(Guitilities.java:326)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
        Caused by: java.lang.ClassNotFoundException: javax.jnlp.UnavailableServiceException
        at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
        … 21 more

        Exception in thread “AWT-EventQueue-0” java.lang.NoClassDefFoundError: javax/jnlp/UnavailableServiceException
        at com.sap.aii.utilxi.swing.framework.personalization.persist.PersonalPersistProvider.<init>(PersonalPersistProvider.java:26)
        at com.sap.aii.utilxi.swing.framework.personalization.persist.PersonalPersistProvider.<clinit>(PersonalPersistProvider.java:21)
        at com.sap.aii.utilxi.swing.framework.personalization.PersonalizationManagerImpl.getResource(PersonalizationManagerImpl.java:118)
        at com.sap.aii.ib.gui.login.SplashLoginFrame.initGUI(SplashLoginFrame.java:236)
        at com.sap.aii.ib.gui.login.SplashLoginFrame.<init>(SplashLoginFrame.java:173)
        at com.sap.aii.ib.gui.misc.ApplicationBase$1.run(ApplicationBase.java:161)
        at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
        at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:756)
        at java.awt.EventQueue.access$500(EventQueue.java:97)
        at java.awt.EventQueue$3.run(EventQueue.java:709)
        at java.awt.EventQueue$3.run(EventQueue.java:703)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:726)
        at com.sap.aii.utilxi.swing.toolkit.Guitilities$EventProcessor.dispatchEvent(Guitilities.java:326)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
        Caused by: java.lang.ClassNotFoundException: javax.jnlp.UnavailableServiceException
        at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
        … 21 more
        #9 00:09:08 [AWT-EventQueue-0] ERROR com.sap.aii.utilxi.swing.toolkit.ExceptionDialog: MessageID=IBF.lib_gui.005265#Failed to initialize Exception Dialog
        Thrown:
        java.lang.NoClassDefFoundError: javax/jnlp/UnavailableServiceException
        at com.sap.aii.utilxi.swing.framework.personalization.persist.PersonalPersistProvider.<init>(PersonalPersistProvider.java:26)
        at com.sap.aii.utilxi.swing.framework.personalization.persist.PersonalPersistProvider.<clinit>(PersonalPersistProvider.java:21)
        at com.sap.aii.utilxi.swing.framework.personalization.PersonalizationManagerImpl.getResource(PersonalizationManagerImpl.java:118)
        at com.sap.aii.ib.gui.login.SplashLoginFrame.initGUI(SplashLoginFrame.java:236)
        at com.sap.aii.ib.gui.login.SplashLoginFrame.<init>(SplashLoginFrame.java:173)
        at com.sap.aii.ib.gui.misc.ApplicationBase$1.run(ApplicationBase.java:161)
        at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
        at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:756)
        at java.awt.EventQueue.access$500(EventQueue.java:97)
        at java.awt.EventQueue$3.run(EventQueue.java:709)
        at java.awt.EventQueue$3.run(EventQueue.java:703)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:726)
        at com.sap.aii.utilxi.swing.toolkit.Guitilities$EventProcessor.dispatchEvent(Guitilities.java:326)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
        Caused by: java.lang.ClassNotFoundException: javax.jnlp.UnavailableServiceException
        at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
        … 21 more

        Thanks & Regards,
        Raju.

        (0) 
  7. Pushparaju Bollapalli

    Hi Praveen,

    Thanks for catching the issue quickly. After placing the javaws.jar (following steps 7&8) I am able to get login screen. Once I enter user & pwd I am getting below error.

    Please share the fix, If you see this error before.

    (0) 

Leave a Reply