Skip to Content

SSO between Enterprise Portal and EPM Add-In in the Firefox browser.

May 11, 2017 at 08:54 AM


avatar image
Former Member


I am trying to implement Single Sign-On between our Enterprise Portal and the EPM Add-In, so I followed the instructions in the following documents:

I also downloaded the WAR file (PCNW10_SS_WP.war) from the second document and it worked like a charm. The only problem is that it only works on Internet Explorer!

I unpacked the WAR file so I could read the source code included in it and noticed that on the EPM_AddIn.js file, on the LaunchOffice function, there is this getActivexObjectRef(), which explains why it won't work on browsers other than the IE.

Now that I have the EPM extension installed on Firefox, my question is what do I need to do to make it work on it?

10 |10000 characters needed characters left characters exceeded
Former Member

I found a solution myself. Hacking through SAP's javascript files, I found that all I had to do was change a function and add another on the EPM_AddIn.js file, as follows:

 * This function was changed.
function getActivexObjectRef(sObjectId) {
    return getOfficePlugin(sObjectId);

 * This function was added to the file.
 * Author: Francivan Bezerra
function getOfficePlugin(sObjectId) {
    var supportActiveX = (Object.getOwnPropertyDescriptor && Object.getOwnPropertyDescriptor(window, 'ActiveXObject')) || ('ActiveXObject' in window);
    var plugin = null;

    if (supportActiveX) {
        plugin = new ActiveXObject(sObjectId)
    } else {
        var hasEPMPlugin = false;

        for (var i = 0; i < navigator.plugins.length; i++) {
            if (navigator.plugins[i].name == 'NP EPM Plugin' || navigator.plugins[i].name == 'SAP BusinessObjects EPM Office Client') {
                hasEPMPlugin = true;

        if (hasEPMPlugin) {
            plugin = document.getElementById('NPEPMOfficePlugin');
            if (!plugin) {
                var obj = document.createElement('object');
       = 'NPEPMOfficePlugin';
                obj.type = 'application/x-vnd-sap-epm';
                plugin = document.getElementById('NPEPMOfficePlugin')
    return plugin

* Please Login or Register to Answer, Follow or Comment.

0 Answers