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