Tree User Exit Changes

Since the XSLT user exits are now callout functions, five tree user exits need to be coded differently. The main purpose of these five user exits is to change a variable's value. The analogous new XSLT user exits return the desired value instead.

The user exits have been renamed to more accurately reflect their new function. Below is a comparison of names and purpose of JSP-based user exits versus XSLT-based user exits.

JSP name

Main purpose

XSLT name

Main purpose

setServiceIndex

Sets the desired serviceIndex variable.

overrideServiceIndex

Returns the desired index of the service.

setNavKey

Sets the desired newNavKey variable.

overrideNavKey

Returns the desired nav key.

setNavKeyIndex

Sets the desired navKeyIndex variable.

overrideNavKeyIndex

Returns the desired index of the nav key.

setImageOpenIndex

Sets the desired imageIndex variable.

overrideImageOpenIndex

Returns the desired index of the open image.

setImageClosedIndex

Sets the desired imageIndex variable.

overrideImageClosedIndex

Returns the desired index of the closed index.

Each user exit is passed the variable's original value. If the user exit does not return a value, the original variable's value will be used.

Below is an example of a JSP user exit and a converted XSLT user exit inside an .xjs file.

Here is the JSP user exit.



// $#BSES SETSERVICE
if (nodeName == 'newtype') {
   var myLetter = pageKeys.FT_TYPE.substr(0,1);
   if (myLetter == 'A') {
     serviceIndex = 1;
   }
   if (myLetter == 'B') {
     serviceIndex = 2;
   }
   if (myLetter == 'C') {
     serviceIndex = 3;
   }
   if (myLetter == 'P') {
     serviceIndex = 4;
   }
 }
// $#BSEE SETSERVICE

Here is the same user exit coded in an .xjs file:


function overrideServiceIndex(nodeName, services, pageKeys, serviceIndex) {
   var overrideIndex;
   if (nodeName == 'newtype') {
      var myLetter = pageKeys.FT_TYPE.substr(0,1);
      if (myLetter == 'A') {
        overrideIndex = 1;
      }
      if (myLetter == 'B') {
        overrideIndex = 2;
      }
      if (myLetter == 'C') {
        overrideIndex = 3;
      }
      if (myLetter == 'P') {
        overrideIndex = 4;
      }
   }
return overrideIndex;
}