Monday 6 January 2014

GetService and theApplication() are Not Working In Browser Script In Siebel 8.1.1.11 (SIA)

GetService and theApplication() are Not Working In Browser Script In Siebel 8.1.1.11 (SIA)

SOLUTION

Engineering Team is currently working on fixing these issues. In the mean while you can use the below work around.

The work around requires changing a standard .js file from the Siebel Client framework.

Files to be modified: $siebsrvr_location$\webmaster\siebel_build\scripts\applicationshadow.js

Steps to apply the fix

 1. Replace the function theApplication() implementation in applicationshadow.js with the below change.

Existing implementation of the function theApplication()
function theApplication ()

{

   if ( App() == null )

       return null;

    

   if(SiebelAppFacade != undefined && SiebelAppFacade.InterfaceSI != undefined && SiebelAppFacade.InterfaceSI.App != undefined)

       return App().GetShadow();

   else

       return App().shadow;

 

}



Implementation with Fix

function theApplication ()

{

   if ( App() == null )

       return null;

    

   if (IsOpenUI())

       return App().GetShadow();

   else

       return App().shadow;

 

}

2. Replace the function SWEAlert () implementation in applicationshadow.js with the below change

Existing implementation of the function SWEAlert ()

function JSSApplicationShadow_SWEAlert (text)

{

   if (typeof (top._swescript) != "undefined")

   {

      top._swescript.SWEAlert (text);

   }

}


Implementation with Fix

function JSSApplicationShadow_SWEAlert (text)

{

   if (IsOpenUI())

   {

     window.SWEAlert (text);

   }

   else if (typeof (top._swescript) != "undefined")

   {

      top._swescript.SWEAlert (text);

   }

}


3. Replace the function JSSApplicationShadow () implementation in applicationshadow.js with the below change
Existing implementation of the function JSSApplicationShadow()
function JSSApplicationShadow (application)
{
   if (application != null)
   {
      this._application = application;
      application.shadow = this;
      this._application.SeblTrace(2,"JSSApplicationShadow Initialized");
   }
  
   if(!IsOpenUI())
   {
        this.swescriptFrame = top._swescript;

   }
}

Implementation with Fix
function JSSApplicationShadow (application)
{
   if (application != null)
   {
      this._application = application;
      application.shadow = this;
      this._application.SeblTrace(2,"JSSApplicationShadow Initialized");
   }
   if (IsOpenUI())
   {
      this.swescriptFrame = window;
   }
   else
   {
      this.swescriptFrame = top._swescript;
   }
}
4. Restart the web server after applying the fix

5. Clear the Browser cache and test.

for more info

https://support.oracle.com/epmos/faces/DocumentDisplay?_afrLoop=247346837178836&id=1604411.1&displayIndex=3&_afrWindowMode=0&_adf.ctrl-state=89vqlzbd_61

6 comments :