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;
}
Parent topic