## Setting Up and Managing Scripts

This chapter provides an overview of scripting and discusses how to:

- Create script components.

- Create scripts.

- Manage scripts.

### Understanding Scripting

A script is a predefined set of questions or statements that are joined together in a specific order and used to gather information from respondents. When the script is processed, which is known as runtime, a questioner follows the script and records the respondent's answers. Depending on the purpose of the script, the system can use the respondent's answers to score the script.

Before you can create a script, you must define its components in the proper sequence. Script components include:

- Answer sets

- Variables

- Tokens

- Rate sets

- Questions

You do not necessarily use all components in every script; you use only the components that support the features that you want to include in the script. For example, you might choose not to use variables and tokens in a script.

After you have created script components, you can create scripts. Scripts can be either branch scripts, which use conditional logic to determine a sequence of questions, or linear scripts, which contain a fixed set of questions in a fixed order.

In a branch script, a script tree shows hierarchical relationships among questions. Questions are parents of answers, which are in turn parents of follow-up questions. Sibling nodes on the tree represent mutually exclusive paths through the script, so the questions that are asked depend on the answers that are provided.

In a linear script, the script tree hierarchy is flat. Questions are parents of answers, but answers have no children. Instead, all questions appear at the same hierarchical level. All questions are asked, and no branching logic is used. This diagram illustrates the difference between a branch script and a linear script:

Example of a linear and branch script

After you create scripts, you can validate them to verify that you have set them up correctly. When you validate a script, the system compares the script against one or more of three predefined rules to determine whether all nodes in the script tree are valid.

After have created a valid script, you can clone the script. You might find this feature useful if you want to create several similar scripts. Using the cloning feature, you can create one script and clone it as many times as necessary. You can then change the cloned scripts so that they contain the information that is specific to that version of the script.

You can also translate scripts into multiple languages. You might find this feature useful if customer service representatives are working with the same issues in different countries. Using the translation feature, you can create one script and translate it into multiple languages, rather than creating multiple scripts to support each necessary language.

After you have created valid scripts, you can use them to solve work order or case-related issues. You can access scripts directly from work order and case entry forms, or by using Solution Advisor. When you find scripts that pertain to the issue that you are trying to resolve, you can attach an instance of each relevant script to the work order or case. When you attach a script instance to a work order or a case, you can run the script immediately; save the script to run in the future; or run a portion of the script, save the answers that are received from the respondent, and complete the script at a later time.

### Creating Script Components

This section provides an overview of script components and discusses how to:

- Create answer sets.

- Attach answers to answer sets.

- Translate answers.

- Create variables.

- Create tokens.

- Create rate sets.

- Create questions.

- Translate questions.

#### Understanding Script Components

Before you can create a script, you must create the components, or building blocks, that you will use in the script. Script components include:

- Answer sets

- Variables

- Tokens

- Rate sets

- Questions

It is not necessary to create all components for each script. You can choose the components that you want to include in a script based on the purpose for the script. However, at a minimum, a script must contain answer sets and questions.

The components must also be set up in the correct sequence. You must create an answer set before you can create a question. You must also create a variable before you can create a token. This sequence is recommended when creating script components:

1. Answer sets (required)

   An answer set must exist before you can create a single or multiple select question. When you create one of these types of questions, you must attach valid answers from an existing answer set.

2. Variables

   Creating variables is optional. If you create variables, you must also create tokens; however, the variable must exist before you can create the token.

3. Tokens

   Creating tokens is optional, unless you create variables. You must create tokens if you create variables.

4. Rate sets

   Creating rate sets is optional. You create rate sets if you want to score the script each time it is processed. If you choose to create a rate set for a script, you can assign values to both the questions and answers that are associated with a script. The script is then scored, based on these values, and the score is compared to the rate set to determine the meaning of the score. You assign values to questions and answers when you create the questions; therefore, it is not necessary to create rate sets before you create answer sets. However, you must create the rate set before you create the questions.

5. Questions (required)

   Regardless of which components you choose to include in the script, you must include questions. When you create questions, you attach valid answers for the question from existing answer sets. You can also use variables, tokens, and rate sets when creating a question.

Answers and Answer Sets

The first step in building a script is to create answer sets. Answer sets are groups of valid answers that you can associate with questions. You use the Answer Set program (P90CF030) to create answer sets. To create a valid answer set, you first create the answer set header, and then you can attach answers to the answer set. When you create an answer set, the system creates records in these tables:

- F90CF030

- F90CF040

For example, you might create an answer set called Favorite Color, and add these answers to the set:

- Red

- Blue

- Green

- Yellow

You can then use this answer set when building a script. For example, if you insert a question into the script, such as What is your favorite color?, you can attach any or all of the answers from the Favorite Color answer set to the question. When a user runs the script, the user asks the respondent what the respondent's favorite color is and chooses an answer from the answer set.

You can create default answers for an answer set. You might choose to do this if most respondents answer a question with the same answer. By setting an answer as the default, the system automatically selects this answer when the script is processed. Therefore, the user does not have to select this answer before continuing to the next question. However, the user can choose any of the other valid answers for the question before continuing to the next question. Using default answers can help minimize the number of mouse clicks a user must make when running a script. You can have only one default answer in an answer set.

You can also disable answers in an answer set. For example, if the answer set is a list of current products that the service department supports, and one of the existing products is no longer supported, you can disable the answer that corresponds to the product that is no longer supported.

You can also translate each answer in an answer set into multiple languages. If the organization deals with multilingual clients, prospects, or respondents, translating answers enables you to create one set of answers, and translate it into all necessary languages. When a user runs a script, they select the language in which they want the script to appear. If the answer is available in the selected language, the user sees the translated answer. If the answer is not available in the selected language, the system displays the answer in the language in which it was originally created.

When you translate answers, the system creates records in the F90CF03A table.

Lastly, you can assign a score to each answer. If you use a scoring system when you run scripts, you assign each answer a score. The system then calculates the total score of the script, based on the respondent's answers to all of the questions, and compares the total score to the value in the corresponding rate set.

For example, you might create a script that customer service representatives use when they receive a call. The questions and answers in the script are scored and used to determine the priority of the call. One of the questions might be to ask respondents how long they have been having the problem or issue. The answer set might include these answers and corresponding scores:

Time to Resolve (Answer) | Score
One day or less. | 100
One week or less. | 75
One month or less. | 50
More than a month. | 25

When the respondent chooses an answer, the system uses the score that is associated with the answer to calculate an overall score for the question. In this example, the answers with the shortest amount of time are given higher scores. The assumption is that if a problem has existed for a long period of time before the respondent places a call, it is not as critical as a problem that is reported at the time it occurs.

To calculate the script score, the system then adds the scores for each question in the script together. The script score is then compared to the rate set that is associated with the script to determine the meaning of the score.

Variables and Tokens

Variables and tokens are used to customize scripts based on respondents' answers. Variables and tokens enable you to replace generic values with values that are specific to the respondent. If you choose to use variables and tokens, you must use both of them. You cannot use variables without tokens, or tokens without variables.

You use the Variables program (P90CF080) to create variables and the Tokens program (P90CF070) to create tokens. The system updates these tables when you create variables and tokens:

- F90CF080

- F90CF070

If you choose to use variables and tokens, you must first create a variable. For example, you might choose to create the variable Favorite Color. You then create a token, which you might also name Favorite Color. You then associate the variable with the token.

After you have created the variable and token, you can then use them when creating questions. For example, you can associate the Favorite Color variable with the question: What is your favorite color? The answer that the respondent gives is then considered the value of the variable when the script is run. You can then use the Favorite Color token in subsequent questions to personalize the script for the respondent. For example, you might create the next question in the script as follows, using the Favorite Color token:

Would you be interested in purchasing <Favorite Color> widgets?

When a user runs the script, the token in the preceding question is replaced with the value that is associated with the Favorite Color variable. For example, if the respondent chose red as the favorite color, the preceding question appears as follows when the script is run:

Would you be interested in purchasing red widgets?

Rate Sets

Rate sets are used to provide meaning and context to a script score. When you create a script, you can assign values to the questions and answers in that script. As the respondent answers the questions in the script, the system scores the script based on those assigned values.

You use the Rate Set program (P90CF140) to create a rate set. When you create a rate set, the system creates records in these tables:

- F90CF140

- F90CF14A

To understand what the final script score means, you associate a rate set with the script. For example, you might create a script to determine the priority of an incoming call to the support department. When you create the script, you assign values to each question and answer in the script. As the representative completes the script, the system calculates the score using a numeric value. The system then compares the numeric score to the associated rate set to determine what the score means. This rate set might be used for this call priority script:

Script Score | Rate Set Value | Rate Set Score
40 or higher | Critical | 40
25 to 39.9999 | High | 25
10 to 24.9999 | Medium | 10
0 to 9.999 | Low | 0

Therefore, if the final score for the script was 28, the system displays High next to the script score when the script is completed.

Questions

The last step in creating script components is to create script questions. You use the Question program (P90CF060) to create script questions. When you create questions, the system creates records in the F90CF060 table.

You can create these types of questions:

- Single select

  The respondent can choose only one answer to this question. This question has a list of valid answers which are associated with an answer set. An example of a single select question might be Are you calling about an existing issue? Valid answers are Yes or No, and the user can choose only one.

- Multiple select

  The respondent can choose one or more answers to this question. This question has a list of valid answers that are associated with an answer set. An example of a multiple select question might be What are your three favorite colors? Valid answers include a list of different colors, from which the respondent can choose three.

- Value input

  The user can enter free-form text as the answer to the question. This question is not associated with a list of answers from an answer set. An example of a value input question might be What is your address? The user can enter the respondent's address as the answer to the question. You cannot assign scores to value input questions.

- Guide information

  Guide information questions are statements that the user sees, and they do not require any answers. You might insert guide information questions periodically in a script to provide the respondent with information. An example of a guide information question might be Thank you for this information. We're about half way through the survey now. These questions are not associated with a list of answers from an answer set, and you cannot assign scores to them.

After you select the type of question, you can then enter the question and additional information about the question. You can provide a question hint, which helps users to understand the context in which a question should be asked or helps them determine the type of information that they are trying to receive from the respondent. For example, for the question What is your address?, you might include a hint that instructs users to gather the full address, including city, state, and zip code, so that they do not move on to the next question before gathering all of the necessary information.

You then associate the question, if it is a single or multiple select, with an answer set. When you build the script and insert the question, you can specify which answers in the answer set are available for this question in this script. The ability to select specified answers from an answer set enables you to create fewer answers sets. For example, you might create one answer set called Colors. This answer set can be used for any question where a respondent must choose a color, even if each question has a different set of valid colors to choose from. When you build the script, you can choose from the answer set only the colors that are associated with the current question.

You can also associate a variable with a question, or insert a token in the question or question hint text. If you associate a variable with a question, the answer to the question is used as the value for that variable. That value is then used to replace the associated token in subsequent questions. For example, you might create the question What is your favorite color? and associate that question with the Favorite Color variable. If the respondent selects red as the answer, any subsequent questions that have the Favorite Color token display the word Red in place of the token. For example, if the next question is Would you be interested in purchasing <Favorite Color token> widgets?, the system displays the question as follows, replacing the token with the variable value:

Would you be interested in purchasing red widgets?

To insert a token into a question, you click the Display Token link to display a list of available tokens. The tokens are displayed in alphabetical order. You can copy and paste the token from the Display Token area of the form into the question text.

Lastly, you can translate questions into multiple languages. If the organization deals with multilingual clients, prospects, or respondents, translating questions enables you to create one set of answers, and translate it into all necessary languages. When users run a script, they select the language in which they want the script to appear. If the question is available in the selected language, the user sees the translated question. If the question is not available in the selected language, the system displays the question in the language in which it was originally created.

When you translate a question, the system creates a record in the F90CF06A table.

User Defined Codes for Scripting

Before you begin creating scripts, you should familiarize yourself with the user defined code (UDC) tables that are used by the Branch Scripting system. Though many of these UDC tables can be changed to accommodate organizational requirements, these UDC tables contain values that are critical to the Branch Scripting system and should not be modified:

- 90CF/AS — Answer Set.

- 90CF/IS — Script Instance Status.

- 90CF/QT — Question Type.

- 90CF/SC — Script Category.

- 90CF/ST — Status.

- 90CF/VT — Variable Type.

#### Forms Used to Create Script Components

Form Name | FormID | Navigation | Usage
Search for Answer Sets | W90CF030A | Scripting Setup (G90CF), Answer Set Definition | Select existing answer sets, or access forms to create new answer sets.
Add Answer Set | W90CF030C | Click Add on the Search for Answer Set form. | Create an answer set.
Answer Set - Manage <Answer Set Name> | W90CF030D | Click Save and Continue after creating the answer set header. | Attach answers to an answer set, and translate answers.
Search for Variables | W90CF080A | Scripting Setup (G90CF), Variable Setup | Review existing variables, or access forms to create new variables.
Add Variable | W90CF080B | Click Add on the Search for Variables form. | Create a variable.
Search for Tokens | W90CF070C | Scripting Setup (G90CF), Token Setup | Review existing tokens, or access forms to create new tokens.
Add Token | W90CF070B | Click Add on the Search for Tokens form. | Create a token.
Search for Rate Set | W90CF140B | Scripting Setup (G90CF), Rate Set Definition | Review existing rate sets, or access forms to create new rate sets.
Add Rate Set | W90CF140C | Click Add on the Search for Rate Sets form. | Create a rate set.
Search for Questions | W90CF060A | Scripting Setup (G90CF), Question Definition | Select existing questions, or access forms to create new questions.
Add Question | W90CF060B | Click Add on the Search for Questions form. | Create a question.
Question - Manage <Question Name> | W90CF060C | Select a question on the Search for Questions form. | Translate questions.

#### Creating Answer Sets

Access the Add Answer Set form.

After you create the answer set, click Save and Continue, and then proceed to the next task to attach answers to the answer set.

Answer Set ID | Review this field after you save the answer set to see the unique identification number that the system assigns to the answer set using Next Number functionality.
Inactive | Select this option to make the answer set inactive. If you select this option, the answer set will not be available for use for any questions that you create after you select this option and save the answer set. However, selecting this option does not affect questions that already use the answer set.

#### Attaching Answers to Answer Sets

Access the Answer Set - Manage <Answer Set Name> form, Answer Set tab. Click the Detail link.

Set Default | Select an answer and then click this button to mark the answer as the default answer for the answer set. You can have only one default answer per answer set.
Clear Default | Select an answer that is currently marked as the default answer, and then click this button to clear the default option from the answer. It is not necessary to clear the default before changing the default answer. When you select an answer and click the Set Default button, the system automatically clears the default setting from the existing default and sets the new answer as the default. Use this option to clear the default if you no longer want the answer set to have a default answer.
Disable | Select this option if you no longer want this answer to be available to users when building scripts. When you select this option, this answer is no longer displayed as a valid answer during script creation. However, the system continues to display the answer for scripts that currently include this answer. To stop the answer from appearing in any scripts, you must remove the answer from each script that currently uses the answer. You can view a list of questions that currently use the answer set on the Related Objects tab.
Answer Score | Enter the numeric value that the system uses to calculate the score for the corresponding question. The system: Totals the question weight value of each question in a script, and then divides the total by the number of questions that have a question weight in the script to determine the question percentage for each question. Multiplies the question percentage by the answer score of the selected answer to determine the score for the question. Totals the score for each question in the script to determine the script score. Compares the script score to the rate set that is associated with the script to determine the meaning of the script score.

#### Translating Answers

Access the Answer Set - Manage <Answer Set Name> form, Answer Set tab. Click the Translation link.

Language | Select the language into which you want to translate the answer.
Answer Value | Select the answer from the answer set that you want to translate.
Translated Answer Value | Enter the translated text of the answer.
Save Changes | Click this button to save the translated answer. The system creates a record in the detail area that lists the answer, language, and translated value. You can then edit or delete the record if necessary.

#### Creating Variables

Access the Add Variable form.

After you enter the variable, click OK to save the information, and then click Cancel to exit the form.

Type | Enter a value to specify whether the variable is a numeric or text variable. If the variable is a numeric value, enter I (integer). If the variable is a text value, enter S (string). Values are stored in UDC 90CF/VT.

#### Creating Tokens

Access the Add Token form.

After you enter the token, click OK to save the information, and then click Cancel to exit the form.

Token Name | Enter a descriptive name for the token. The name that you choose should be easy to find in an alphabetical search. When you insert tokens into questions, you cannot search for tokens using a query by example (QBE) line. You select tokens from an alphabetical list. Also, because variables and tokens are closely linked, you might want to consider naming tokens and their associated variables with the same name.
Variable Name | Enter the name of the associated variable that is used to hold the value that you want to use to replace the token. For example, if the token that you are creating is used to display the respondent's favorite color, enter the variable that is associated with the question What is your favorite color? in this field.

#### Creating Rate Sets

Access the Add Rate Set form.

After you complete the Rate Set Name and Description fields, click OK, and enter the values that are associated with the rate set in the detail area of the form. After you enter values in the detail area, click OK to save the information, and then click Cancel to exit the form.

Rate Value | Enter the text value that you want to appear in the script when the system scores the script. For example, if you run a script to determine call priorities, you might want a particular script score value, or range of values, to be associated with critical priority calls. Therefore, enter Critical in this field.
Rate Score | Enter the lowest script score that is associated with this rate value in this field. For example, if you want scripts with a score of 0 through 9.999 to be associated with low priority calls, and scripts with a score of 10 or more to be associated with high priority calls, you might create two rate values, Low and High. You then enter 0 for the rate value of Low, and 10 for the rate value of High.

#### Creating Questions

Access the Add Question form.

Question Type | Determine the type of question that you want to create. The question type is determined by the answers the respondent is allowed to give. For example, if the respondent can choose only one answer, create a single select question. Values are stored in UDC 90CF/QT, and include: G: Guide information M: Multiple select S: Single select V: Value input
Question Weight | Enter the value that is associated with the question. This value is used to determine the score of the script in which the question is included. Typically, the most important questions in the script have a higher weight than the least important questions. You can enter question weights for single and multiple select questions only. The system: Totals the question weight value of each question in a script, and then divides the total by the number of questions that have a question weight in the script to determine the question percentage for each question. Multiplies the question percentage by the answer score of the selected answer to determine the score for the question. Totals the score for each question in the script to determine the script score. Compares the script score to the rate set that is associated with the script to determine the meaning of the script score.
Answer Set Name | Select the answer set that contains the valid choices for this question. When you create the script, you can specify which answers from the associated answer set appear to the user when the script is run.
Variable ID | Enter the identification number of the variable that you want to hold the value of the respondent's answer. This value can then be used to replace the token that is associated with this variable in subsequent questions. Using tokens and variables enables you to personalize questions based on the responses that are received.
Display Token | Click this link to display a list of available tokens. Tokens appear in alphabetical order. For a token to be valid, you must have used the associated variable in a question that appears in a script before this question. For example, if you use the <Favorite Color> token in the current question, you must have used the <Favorite Color> variable in a previous question. The variable is used to store the value that the system uses to replace the token. If no variable is used, no value exists to replace the token, and a user will see the token, rather than the variable value, when running the script.

#### Translating Questions

Access the Question – Manage <Question Name> form, Question tab. Click the Translation link.

Language | Select the language into which you want to translate the question.
Translated Question | Enter the translated text of the question in the specified language.
Translated Question Hint | Enter the translated text of the question hint in the specified language.
Save Changes | Click this button to save the translated text. The system creates a record in the detail area that lists the translated question, translated question hint, and language. You can then edit or delete the record if necessary.

### Creating Scripts

This section provides an overview of script creation and discusses how to:

- Create a script header.

- Create a linear script.

- Create a branch script.

- Validate a script.

- Translate a script exit message.

- Clone a script.

#### Understanding Script Creation

After you have created script components, you can use them to build scripts. Scripts are predefined sets of questions or statements that are joined together in a specific order, and used to gather information from respondents. Using the Script program (P90CF160), you first create a script header. After you save the script header, you can create these types of scripts using the Script Related Re-usable Subforms program (P90CFSUB):

- Linear scripts

  Linear scripts are fixed sets of questions or statements that are arranged in a fixed order. Questions are the same for each respondent, regardless of the answers given.

- Branch scripts

  Branch scripts are more complex than linear scripts. They include conditional logic that determines which questions appear, based on the respondent's answers.

When you create a script, the system creates records in these tables:

- F90CF160

- F90CF170

Scripts can be used to:

- Solve problems

- Capture information

- Fulfill requests

- Evaluate potential

Scripts can help an organization streamline and standardize information gathering processes, which in turn facilitate greater accuracy and consistency of data. Scripts provide repeatable processes that can help an organization increase efficiency and lower training time and costs. Scripts can help an organization simplify the diagnoses of complex issues, enabling less experienced employees to mirror the skill level of more experienced employees. You can also use tokens and variables within questions to configure scripts according to a respondent's answers.

You can also translate the exit message for a script into multiple languages. When a user runs the script, the exit message appears in the selected language if a translation in that language is available. If no translation is available in that language, the exit message appears in the language in which it was originally created. When you translate an exit message, the system creates a record in the F90CF16C table.

When you create a script, you can assign it a script type. Script types are used to classify different types of scripts, which can facilitate searching for scripts. You can create as many script type codes as necessary to meet the needs of the organization. Script type codes are stored in UDC 90CF/TY, and include values such as:

- Configure order

- Contact questionnaire

- Product advisor

- Troubleshooting guide

Scoring Scripts

Depending on the purpose of the script, you might choose to score the script based on the respondent's answers. You can score both linear and branch scripts. For a script to be scored, at least one of the questions in the script must contain a question weight, and the answer to that question must have a score value.

You must also associate a rate set with the script. The rate set is used to put the script score in context. For example, a script score of 10 does not necessarily tell a user anything about the respondent's situation. Therefore, the system associates the script score with the corresponding value in the rate set to give the score meaning. For example, the value of 10 might correspond to High Priority in the rate set that is associated with one script, but might correspond to Low Priority in the rate set that is associated with another script.

The system performs these steps to calculate the score of a script:

1. The system totals the question weight value of each question in a script, and then divides the total by the weight of each question in that script that has a question weight, to determine the question percentage for each question.

2. The system multiplies the question percentage by the answer score of the selected answer to determine the score for the question.

3. The system totals the score for each question in the script to determine the script score.

4. The system compares the script score to the rate set that is associated with the script to determine the meaning of the script score.

Scripting Trees and Nodes

When you build a script, the system displays the questions and answers in a hierarchical tree structure to help you identify parent, child, and sibling items, or nodes. A node is any line in the tree. There are four types of nodes:

- Root nodes

  A root node is the first node in a script tree. Root nodes must be followed by a question node. The system automatically creates the root node when you save the script header.

- Question nodes

  Question nodes are the questions in a script. Question nodes must be followed by one or more answer nodes or any nodes, with one exception:

  You do not need to follow a guide information question in a linear script with an any node or an answer node.

  For example, if you insert a single select question into a script, you must follow it with one or more answer nodes. Question nodes can follow an answer node or an any node.

- Answer nodes

  Answer nodes are children of their associated question node. Each answer node represents a valid answer choice for the question. You use answer nodes after single or multiple select questions. You can follow a set of answer nodes with an any node or a question node.

- Any nodes

  Any nodes are used to direct the script when no answer nodes, or multiple answer nodes, are chosen. Any nodes can follow a question or answer node. Any nodes are children of their associated question node. You must include an any node in these situations:

  - In branch or linear scripts, an any node must follow a value input question.

    You cannot put an answer node after this question type, and you cannot follow a question node with another question node. Therefore, you insert an any node to direct the system to the next question in the script.

  - In a branch script, an any node must follow a guide information question, unless that question is the last question in the script.

    You cannot put an answer node or another question node directly after a guide information question node in a branch script.

  - In a branch script, if a question has one or more answers with a follow-up (child) question, but not all of the questions have a follow-up question.

    The any node directs the system to the next question in the script if the user chooses one of the answers that does not have a follow-up question. For example, you might ask respondents what their favorite color is, and allow them to choose from red, blue, yellow, or green. Your organization has bright red and maroon products. Therefore, if the respondent chooses red, you might ask a follow-up question such as Do you prefer bright red or maroon?

    However, if the respondents answered that their favorite color was blue, yellow, or green, and you offer only one type of blue, yellow, or green product, you might not include follow-up questions for those answers. Therefore, in addition to inserting answer nodes for red, yellow, blue, and green, you must insert an any node for this question. The any node directs the system to the next question in the script if an answer with its own path is not chosen. If the respondent chooses red, the system brings the user to the next question under the red path. However, if the respondent chooses yellow, there is no path to follow that is associated with the yellow answer. Therefore, the system uses the any node to direct the user to the next question in the script.

  - In a branch script, an any node must follow a multiple select question.

    If a single answer is selected, the system follows the branch that is associated with that answer node, if one exists. If the answer node does not have its own branch, the system follows the any node. Additionally, if multiple answers are selected, it is possible that each of those questions has a separate branch. Therefore, when multiple answers are selected, the system follows the any node. The any node directs the system to the next valid question in the script. The system disregards the paths of the selected answer nodes if multiple answers are selected, as each path might be different.

When you build scripts, you use the Add Question, Add Answers, Add Any Node, and Delete Node buttons to add nodes to the tree or remove them from the tree. To prevent you from adding nodes in the wrong location, these buttons are enabled and disabled depending on the user's location in the tree. For example, by disabling the Add Question button, the system does not allow you to enter a question node directly after another question node.

Warning! If you delete a node in the tree, the system deletes the selected node and all of its children.Therefore, you should carefully plan the script before you begin entering it to avoid deleting portions of the script. Also, you should validate the script often. When you validate the script, the system runs through the script from the top, and notifies you of any errors in the script. The more often you validate, the more likely it is that you identify and fix an error before it becomes necessary to delete large portions of the script.

Validating Scripts

As you create scripts, or after you have finished creating scripts, you can validate them to ensure that the script does not contain any errors, loops, or dead ends. The system includes these predefined validation rules:

- Rule 1 — Single select questions must be followed by at least one branch node.

- Rule 2 — Multiple select questions must be followed by at least one branch node.

- Rule 3 — Value input questions must be followed by at least one branch node.

You can choose to run any or all of these three rules when you validate the script. If the system finds an invalid node in the script, it displays the node that is in error, along with the rule that the node failed to pass. The system then marks the script as inactive.

Run the validation process often during script creation to identify and fix errors early and to avoid having to delete significant portions of the script.

Tips for Creating Linear Scripts

Linear scripts are used when all respondents are asked the same questions, regardless of their answers. When you create a linear script:

- Be aware of the hierarchy level when inserting nodes into a tree.

  For linear scripts, you cannot insert questions as children of answer nodes. All questions in a linear script must be at the same hierarchical level. Therefore, to add a question node to a linear script, you must select the question node after which you want the new question to appear. Do not select the last answer node of the question under which you want the new question to appear. The system disables the Add Question button when you select an answer node.

- The rules for any nodes are different in linear and branch scripts.

  It is not necessary to insert an any node after a guide information question in a linear script. The system allows you to enter question nodes directly after a guide information question node when you are creating a linear script.

Tips for Creating Branch Scripts

Branch scripts can be complex due to the fact that you can create several different paths within a single script. Be aware of these items when creating branch scripts:

- Be aware of the hierarchy level when inserting nodes into a tree.

  When you select a node, and click one of the Add buttons, the system adds the node as a child of the selected node. To add a question at the end of the script, you select the last node in the tree and click the Add Question button. However, if the last node in the tree is an answer node, the question that you add will be a child of that answer node.

  If you do not want the next question to be a child of one of the answer nodes (and therefore, only asked to respondents who choose that answer), you must insert an any node at the end of the tree, and then insert the question as a child of the any node. The any node directs the system to the next question when the respondent picks multiple answers or picks a single answer that does not have its own path.

- Be aware that when you begin down a specific path, the system continues down that path and does not return to questions that are at higher hierarchical levels.

  For example, you might ask respondents their favorite color at the beginning of the script. The three available answers are red, blue, and yellow. If the respondents pick red, you might ask them whether they prefer bright red or maroon. However, if the respondent picks blue or yellow, there are no follow-up questions that are associated with those answers.

  In this situation, even if the next question for all respondents is the same, you must insert it into the script in two places: once for the respondents who choose blue or yellow, and once for the respondents who chose red and were directed to the follow-up question about the type of red. Because the system branched out into the red path, all subsequent questions for red respondents must be children of the question regarding their preferred type of red. All subsequent questions for respondents who chose yellow or blue are children of an any node that falls under the favorite color question node.

  Given this information, you might try to insert the questions that must be asked to all respondents at the top of the script before you begin creating separate branches.

This graphic illustrates an example of a simple branch script:

Example of a simple branch script

Cloning Scripts

If the organization uses scripts that are similar to each other, you can create one generic script and then clone the script as many times as necessary. You can then make changes to each script so that the scripts are specific to the business needs.

Adding Items to a Script

After you create a script, you can attach items to the script. You might choose to attach an item to a script if that script is used to solve issues that are associated with the item. Users can then search for scripts that are associated with that item when trying to resolve cases or work orders that are associated with the item. When you add an item to a script, the system creates a record in the F90CF16B table.

You add items to a script by using the Related Objects tab on the Script –Manage <Script Name> form.

#### Forms Used to Create Scripts

Form Name | FormID | Navigation | Usage
Search for Scripts | W90CF160E | Scripting Setup (G90CF), Script Entry | Select existing scripts, or access forms to create new scripts.
Add Script | W90CF160C | Click Add on the Search for Scripts form. | Create a script header.
Script - Manage <Script Name> | W90CF160B | Click Save and Continue on the Add Script form, or select the script header on the Search for Scripts form, and then click Select. | Create, validate, clone, or add items to a linear or branch script, and translate the final script message.

#### Creating a Script Header

Access the Add Script form.

After you create the script header, click Save and Continue to begin building the script. Proceed to the tasks in this section for further instructions.

Script Category | Specify whether you are creating a branch script or a linear script. Values are: B: Branch script L: Linear script
Script Type | Enter a value to specify the type of situation in which the script should be used. Use script types to separate scripts into meaningful categories. For example, you might choose to create script type codes for each product area that the service department or call center supports. Values are stored in UDC 90CF/TY and include codes such as: CO: Configure order CQ: Contact questionnaire LQ: Lead qualification PA: Product advisor TG: Troubleshooting guide
Visibility | Enter a value to specify whether you want this script to be available to internal users only or to internal users and self-service users as well. Values are stored in UDC 90CE/VI and include: AL: All users IN: Internal users only
Total Script Weight | Review this field after you add questions to the script to determine the total number of points that are associated with the script. This system populates this field with the total of the question weight of each question in the script.
Rate Set | Enter the rate set that is used to give meaning to the score of the script. When a user runs the script and enters a respondent's answers, the system scores the script instance. The system then compares the numeric score to the rate set to determine what the value means when associated with this script. For example, one rate set might classify a script score of 10 as Low Priority, and another rate set might classify a script score of 10 as High Priority.
Last Question Message | Enter the last question or statement that a user sees and reads when they reach the end of a script.

#### Creating a Linear Script

Access the Script – Manage <Script Name> form, Tree tab. Click the Detail link.

To create a linear script:

1. Select the root node, which contains the name of the script.

2. To add a question to the script, click the Add Question button.

   The Question Information section appears on the form. You might need to scroll down to view this section on the screen.

3. In the Question Information section, select the question that you want to add to the script by populating the Question ID field.

   The system displays the text of the selected question in the Question field.

4. To insert the selected question, click the Insert Selected Question button, or click Cancel, and then select a new question.

   When you insert the question into the script, the system adds a question node to the script tree.

   Note. You can create a new question at this point; click the Create New Question button. If you choose to create a new question here, you must complete steps 3 and 4 after you create the question to add it to the script.

5. In the script tree, select the question that you inserted.

   If you inserted a single or multiple select question, click the Add Answers button, and proceed to the next step.

   If you inserted a value input question, click the Add Any Node button. To add another question to the script, select the question node under which you want to insert a new question, click the Add Question button, and return to step 3 to continue building the script.

   If you created a guide question, return to step 2 to continue building the script.

6. To add answer nodes to the question, scroll down to the Answer Set Information section of the form, select all of the answers that you want to attach to the question, and then click Insert Selected Answers.

   The system inserts answer nodes for each selected answer under the associated question. To add another question to the script, select the question node under which you want to insert a new question, click the Add Question button, and return to step 3 to continue building the script.

   Note. If necessary, you can create an answer set at this point; click the Create Answer Set button and complete the steps to create an answer set.

7. When you have finished adding all question, answer, and any nodes to the script, click Save Changes.

8. To preview the script, click the Preview Runtime button.

   The system creates an instance of the script and runs the user through the script. When you have finished running through the script, click Finish. The system returns to the script tree.

9. Verify that all changes have been saved, and then click Close to exit the program.

#### Creating a Branch Script

Access the Script – Manage <Script Name> form, Tree tab. Click the Detail link.

To create a branch script:

1. Select the root node, which contains the name of the script.

2. To add a question to the script, click the Add Question button.

   The Question Information section appears on the form. You might need to scroll down to view this section on the screen.

3. In the Question Information section, select the question that you want to add to the script by populating the Question ID field.

   The system displays the text of the selected question in the Question field.

4. To insert the selected question, click the Insert Selected Question button, or click Cancel, and then select a new question.

   When you insert the question into the script, the system adds a question node to the script tree.

   Note. You can create a new question at this point; click the Create New Question button. If you choose to create a new question here, you must complete steps 3 and 4 after you create the question to add it to the script.

5. In the script tree, select the question that you inserted.

   If you inserted a single or multiple select question, click the Add Answers button, and proceed to the next step.

   If you inserted a value input or guide information question, click the Add Any Node button. Then, select the answer, question, or any node under which you want to insert a new question, and return to step 3 to continue building the script.

6. To add answer nodes to the question, scroll down to the Answer Set Information section of the form, select all of the answers that you want to attach to the question, and then click Insert Selected Answers.

   The system inserts answer nodes for each selected answer under the associated question. If you added answer nodes under a multiple select question, you must insert an any node at the same level as the answer nodes before you can add any additional questions under that question. It is not necessary to insert an any node after a single select question.

   To add another question to the script, select the answer, question, or any node under which you want to insert a new question, click the Add Question button, and return to step 3 to continue building the script.

   Note. If necessary, you can create an answer set at this point; click the Create Answer Set button and complete the steps to create an answer set.

7. When you have finished adding all question, answer, and any nodes to the script, click Save Changes.

8. To preview the script, click the Preview Runtime button.

   The system creates an instance of the script and runs the user through the script. When you have finished running through the script, click Finish. The system returns to the script tree.

9. Verify that all changes have been saved, and then click Close to exit the program.

#### Validating a Script

Access the Script – Manage <Script Name> form, Tree tab. Click the Validation link.

Rule 1 | Select this option if you want the system to validate that all single select question nodes are followed by at least one answer node.
Rule 2 | Select this option if you want the system to validate that all multiple select question nodes are followed by at least one answer node.
Rule 3 | Select this option if you want the system to validate that all value input question nodes are followed by at least one answer or any node.
Validate Script | Click this button to validate the script against the selected rules. If the validation is successful, the system displays Tree is Valid under this button. If the script is not valid, the system displays a grid, listing all of the nodes that are invalid and the rule that the node failed to pass.

#### Translating a Script Exit Message

Access the Script – Manage <Script Name> form, Script tab. Click the Translation link.

Translated Exit Message | Enter the text of the exit message in the language that appears in the Language field, and then click Save Changes. The system adds the translated record to the detail area of the form. You can create translations in multiple languages, but you can have only one translation per language.

#### Cloning a Script

Access the Script – Manage <Script Name> form, Tree tab. Click the Detail link.

To clone a script:

1. Click the Clone button.

2. On Clone Script, enter the name of the new script in the Script Name field.

   To return to the previous form without cloning the script, click the Return to Define Tree link before you click Clone.

3. To access the script tree of the newly created script, click the Return to Cloned Script link.

   To return to the original script, click the Return to Define Tree link.

4. Update the script as necessary, save changes, and then click Close to exit.

### Managing Scripts

This section provides an overview of script management, lists prerequisites, and discusses how to:

- Run a script for a case or work order using Solution Advisor.

- Run a script for a case or work order using Related Actions.

#### Understanding Script Management

After you have created valid scripts in all of the necessary languages, you can begin using those scripts to gather information and to assist in solving support calls and service work orders.

Scripts, Cases, and Work Orders

You use scripts to help solve open cases and work orders on which the support and service teams are working. Scripts can help support and service representatives diagnose issues by providing a list of questions and possible answers. For example, the script might ask callers what model of a given product they are using. Depending on the model selected, the script can then ask a series of questions that are specific to that product model. This table illustrates how a support representative might use a script to solve a case or work order:

Questions | Responses
What product is causing your issue? | I'm having trouble with the widgets that we purchased.
What model widget are you using? | I'm not sure.
Is it red or black? | Black.
Is it larger or smaller than a golf ball? | Smaller.
I believe you are using widget model 500A. | No response necessary, as this was a guide information question.
Are you using the 500A widgets in refrigerators or in freezers? | Refrigerators.
Does the widget appear to be loose? | Yes.
You'll need to tighten that up using a crescent wrench. That should fix your problem. | No response necessary, as this was a guide information question.

To use scripts to solve cases and work orders, you can use either the Solutions or the Related Actions tab to find and run scripts.

If you are using Solution Advisor, you can search for scripts by accessing the Advanced Search on the Solutions tab of the case or work order. When you find the script that you want to run, click the script ID to run the script. The system creates an instance of the script for the associated case or work order. You can then review all script instances on the Related Actions tab. To search from scripts using JD Edwards EnterpriseOne Solution Advisor, you must set up the Case Management constants.

See Setting Up Case Management Constants.

Alternatively, you can use the QBE search on the Related Actions tab to search for scripts. When you identify a script that you want to use, you can then select it and run it from the Related Actions tab.

Regardless of the method that you use to run the script, the system uses the Script Runtime program (P90CF180) to run the script.

See Entering and Reviewing Related Actions.

Script Instances

When you run a script, the system creates an instance of the script to hold the respondent's answers and comments. Each time you run a script, the system creates a new instance. You can see all of the script instances that are associated with a case or work order by reviewing the Related Actions tab. When you associate and run a script from a case or work order, the system populates these tables:

- F90CF180

- F90CG503

When you run through a script instance, you can save information as you go; click the Save and Continue button. You can also save the instance as it is at the current time, and complete the script at a later time using the Save For Later button. While you are working with the script, you can return to previous answers and make changes. However, be aware that if you change an answer to a question in a branch script, the system deletes all of the information below that change. This is necessary because it is possible that changing an answer causes the script to include different questions than those that were asked before the answer was changed.

When you complete the script instance, you click the Finish button to save the script. After you click the Finish button, you cannot update answers in the script. However, if necessary, you can create another instance of the same script.

Related Objects

When you create a script, you can associate it with items that the organization supports, services, or sells. Items are considered related objects to a script. After you begin creating script instances from cases and work orders, the associated cases and work orders are also considered related objects.

You can review all of a script's related objects directly from the script. This information can be useful in determining how useful a script is. Reviewing the related objects shows you how many times the script has been used.

#### Prerequisites

Before you can run a script from a case or work order, you must complete one of these tasks:

- Create a case.

- Create a work order.

See Also

Entering Cases

Managing Work Orders

#### Forms Used to Manage Scripts

Form Name | FormID | Navigation | Usage
Work With Case Management | W17500A | Daily Support Processing (G90CE01), Case Entry | Access existing cases, or access forms to enter new cases.
Manage Case | W90CG501J | Select a case on the Work With Case Management form, and click Select. | Access the Solution or Related Action tab to enter and review scripts that are associated with cases.
Search For Service Work Orders | W90CD020B | Daily Work Order Processing (G1712), Service Management Workbench | Access existing work orders and forms to enter new work orders.
Service Work Order - Manage <Work Order Name> | W90CD002B | Select a work order on the Search for Service Work Orders form, and click Select. | Access the Solution or Related Action tab to enter and review scripts that are associated with work orders.
Search for Scripts | W90CF160E | Scripting Setup (G90CF), Script Entry | Select an existing script.
Script - Manage <Script Name> | W90CF160B | Select a script on the Search for Scripts form, and then click Select. | Review script instances and related objects by selecting the Instances or Related Objects tab.

#### Running a Script from a Case or Work Order Using Solution Advisor

Access the Case Entry – Manage <Tab Name> form, Solution tab, or the Service Work Order – Manage <Work Order Name> form, Solutions tab. Click the Search link.

To run a script from a case or work order:

1. Click the Advanced Search link.

2. To search for scripts that are associated with the case or work order, select the Script option.

3. Enter key words in the Script Name and Description fields to assist in searching for scripts that are related to the issue, and choose the type of search for each (Match All, Match Any, or Match Exact).

4. If applicable, in the Item field, enter the item number that is associated with the issue to search for scripts that are also associated with that item.

5. Click Search and scroll to the bottom of the form to review a list of scripts that match the search criteria.

6. To create an instance of the script and associate it with the case or work order, click the ID link.

7. On Runtime for <Script Name>, the system prompts the user with the first question in the script.

8. Choose the answer and click Next to move to the next question in the script.

   As the user progresses through the script, the system records the questions and answers on the left side of the form.

9. At any time during the script run, you can save the information; click the Save and Continue button.

   You can also save the script instance to run at a later time; click the Save for Later button.

10. When you reach the end of a script, the Last Question Message appears, and you can click Finish to save the script instance.

#### Running a Script from a Case or Work Order Using Related Actions

Access the Case Entry – Manage <Tab Name> form, Related Actions tab, or the Service Work Order – Manage <Work Order Name> form, Related Actions tab.

To run a script from a case or work order using Related Actions:

1. From a case, select Script from the available options, and then click Add.

   From a work order, click Add.

2. On the Select Script form, locate the scripts that are associated with the issue using the Script ID, Script Category, Script Name, and Visibility search fields.

3. Select the script that you want to run, and then click Select.

4. On Runtime for <Script Name>, the system prompts the user with the first question in the script.

5. Choose the answer, and click Next to move to the next question in the script.

   As the user progresses through the script, the system records the questions and answers on the left side of the form.

6. At any time during the script run, you can save the information; click the Save and Continue button.

   You can also save the script instance to run at a later time; click the Save for Later button.

7. When you reach the end of a script, the Last Question Message appears, and you can click Finish to save the script instance.