Troubleshooting JD Edwards Virtual Autopilot

This chapter provides an overview of JD Edwards Virtual Autopilot troubleshooting and discusses how to:

Click to jump to parent topicUnderstanding JD Edwards Virtual Autopilot Troubleshooting

You might encounter a script failure when you play back the script that you created with Oracle's JD Edwards EnterpriseOne Virtual Autopilot. Troubleshooting JD Edwards Virtual Autopilot scripts consists of these tasks.

  1. Locate the source of the script failure, which might be in either JD Edwards Virtual Autopilot or the system.

  2. Run through a short list of script debugging techniques.

    These techniques correct errors in business function and database API calls, transaction timing, and multiple playback sessions. You might also need to debug the system. In some cases, the problem lies in the original JD Edwards Autopilot script or in application source code.

  3. Review the JD Edwards Autopilot script if you created it without first validating it through replay.

You cannot trace all failures of JD Edwards Virtual Autopilot scripts to a single source, nor can you debug all scripts using a single method. In learning tips and techniques for troubleshooting JD Edwards Virtual Autopilot scripts, you also learn the best solution to apply to a particular problem.

Click to jump to parent topicReviewing the JD Edwards Virtual Autopilot Log File to Locate Errors

This section provides an overview of the JD Edwards Virtual Autopilot log file and discusses how to:

Click to jump to top of pageClick to jump to parent topicUnderstanding the JD Edwards Virtual Autopilot Log File

The vap.log file contains messages about each JD Edwards Virtual Autopilot script that you run. Therefore, it is the primary source of information about errors that might cause the script to fail.

The Virtual Script Player sends an error message to the log file when a JD Edwards Virtual Autopilot script fails during processing. If you launched the script from LoadRunner or from JD Edwards Virtual Runner, script failure halts the playback process, sending an instant signal that an error has occurred. However, if you launched the script from the DOS command line, you will not receive an error message.

The message level parameter controls the kind and number of error messages that you receive in the vap.log file when you play back a JD Edwards Virtual Autopilot script. You set the message level in the JD Edwards Virtual Autopilot initialization file. You should generally set the message parameter at 0, 1, 3, or 7 to minimize the number of messages that you collect. Setting the parameter higher causes slower playback performance and at least potentially skew playback results, thereby making performance analysis difficult. However, when you are attempting to find the source of a script failure, increasing the message level parameter temporarily can help you diagnose the problem. You might find very few messages in the log file as a result of setting the debug parameter too low. For example, if you set the parameter to 0 (zero), you will receive only a minimal number of messages.

If you fail to find the source of the script failure in JD Edwards Virtual Autopilot, you can use several procedures to troubleshoot the system.

See Also

Virtual Script Player Initialization File Parameters

Click to jump to top of pageClick to jump to parent topicFinding Error Entries in the JD Edwards Virtual Autopilot Log File

To isolate an error, go to the log file, which contains the test results, select a test, open the text file, and search on the keyword error.

To find entries in the JD Edwards Virtual Autopilot log file:

  1. Locate and open the vap.ini file.

  2. In the vap.ini file, go to the [PATHS] section to determine the location of the LogDirectory.

  3. Follow the path to the LogDirectory.

  4. Open the text file for the failed script using Notepad.

  5. From the Edit menu, select Find.

  6. On the Find form, complete the Find what field with the word error.

  7. Note the line and event in which the error occurred.

  8. Click Find Next to go to the next error.

See Also

Virtual Script Player Initialization File Parameters

Click to jump to top of pageClick to jump to parent topicLocating the Log File in the Event of Early Script Failure

The Virtual Script Player reads the location of the log directory out of the vap.ini text file. However, the script might fail before the Virtual Script Player has a chance to read the location. Therefore, when you go to the location of the log file that you specified as an initialization parameter, you will not find the test log. Despite the early failure, JD Edwards Virtual Autopilot did log the errors.

To locate the JD Edwards Virtual Autopilot log file in the event of early script failure:

  1. Locate and open the vap.ini file.

  2. In the vap.ini file, determine the location of the LogDirectory.

  3. Follow the path to the LogDirectory.

  4. If the log that you are looking for is not in its usual location, go to the root of the drive and look for the log.

    Note. If you do not find a log file in either location, you must examine the JD Edwards Virtual Autopilot setup. Make sure that JD Edwards Virtual Autopilot is installed completely and correctly.

Click to jump to top of pageClick to jump to parent topicSetting the MessageLevel Parameter

To set the MessageLevel parameter:

  1. Locate and open the vap.ini file.

  2. In the vap.ini file, find the [Log] entry.

  3. If the MessageLevel parameter is set lower than you want, change the setting.

  4. Save the change and close the vap.ini file.

    Note. If the Virtual Script Player crashes while you are running a script, you might find very few messages in the log file. This occurs because the Virtual Script Player did not flush the log file buffer, in which messages are stored, before the crash. You can prevent this by setting the message level parameter at 31. This parameter requires that the Virtual Script Player flush the log file buffer after each message. Remember, however, that system performance decreases when you set the message level at 31, so you should not leave it at that level permanently.

Click to jump to parent topicIdentifying Environment Problems

This section provides an overview of environment problems and discusses how to:

Click to jump to top of pageClick to jump to parent topicUnderstanding Environment Problems

If the JD Edwards Virtual Autopilot script fails very early, even before the system completes its initial system logon, you might not be initializing the environment. In this case, you can troubleshoot system operations rather than JD Edwards Virtual Autopilot operations. For example, you can try to log on to Explorer and run it through several sample tasks, such as opening an application. Use the same user ID, password, and environment name when you log onto the system that you used when logging on to the Virtual Script Player. You also can troubleshoot system errors, as these might also prevent you from replaying the JD Edwards Virtual Autopilot script. If you have cleared any problems that might exist in running Explorer, try running the JD Edwards Virtual Autopilot script again.

Click to jump to top of pageClick to jump to parent topicDiagnosing Environment Problems

Because JD Edwards Virtual Autopilot's primary task is to simulate system operations, it must be able to initialize an environment at script playback time. For this to happen, the system itself must be initializing correctly. To exclude the Virtual Script Player as the source of script failure, you might attempt to sign on to the system to make sure that it is opening and running correctly.

To diagnose an environment problem:

  1. Close the Virtual Script Player.

  2. Sign on to Explorer.

  3. Perform several operations, such as accessing an application, changing forms, adding data, and so on.

  4. If you are certain that the system is running correctly, rerun the script.

    Note. Be sure to use the same user ID, password, and environment that you use when you log on to the Virtual Script Player.

Click to jump to top of pageClick to jump to parent topicInvestigating System Errors

Even if the system is initializing correctly, you might find errors that occur when you attempt to enter or edit data in an application. To isolate errors that occur in the system, you can select debugging and attempt to correct the errors.

To investigate system errors:

  1. Click the Windows Start menu and select Run.

  2. In the Open control of the Run form, type JDE.INI.

    The JDE.INI file appears.

  3. In the JDE.INI file, go to the [DEBUG] section.

  4. Enter the Output parameter as File.

  5. Run a JD Edwards Autopilot script or access the system and run applications that are failing in the JD Edwards Virtual Autopilot script.

    Note. If error messages display in the status bar, click the stop sign. Read the error messages that appear. You can right-click error messages to display more troubleshooting information about each one.

  6. Open the jdedebug.log file to evaluate any errors that occur.

    Important! Change the Output parameter in the [DEBUG] section of the JDE.INI file to NONE after you have corrected errors that prevent the JD Edwards Virtual Autopilot script from functioning correctly.

Click to jump to parent topicDebugging JD Edwards Virtual Autopilot Scripts

This section provides an overview of JD Edwards Virtual Autopilot debugging and discusses how to:

Click to jump to top of pageClick to jump to parent topicUnderstanding JD Edwards Virtual Autopilot Debugging

If you have been troubleshooting problems with JD Edwards Virtual Autopilot script playback but are still having trouble running the scripts, a business function call is likely causing the failure. You can review the log file to locate the source of the error, and you can identify the particular business function call that failed. You should have the message level in the vap.ini file set at 15 so that the log file displays parameter values.

You might also encounter problems that complicate your performance characterization efforts. For example, transaction information that you incorrectly or incompletely enter in a JD Edwards Autopilot script might cause irregular transaction times in the JD Edwards Virtual Autopilot script, thus making it difficult to draw accurate conclusions about system performance. In this case, you should troubleshoot the JD Edwards Autopilot script, making sure that you have completely and accurately scripted input commands. If you modify the JD Edwards Autopilot script, remember to run it again, capture the playback results, and re-import the event stream into the Virtual Autopilot Script Editor.

JD Edwards Virtual Autopilot also enables you to play back a script multiple times in succession, another important feature for performance characterization. However, doing so might cause playback to lock, again defeating your efforts to draw clearly and confidently characterize system performance. In this event, check the disk space to make sure you have enough to handle the testing.

If you have exhausted all of the debugging possibilities discussed here, you must turn your attention to debugging Explorer. Remember that if the same errors that appear in the JD Edwards Virtual Autopilot script appear when you run the application in JD Edwards EnterpriseOne, you likely have a system problem that you must debug. Your debugging efforts might include a call to JD Edwards EnterpriseOne System Support.

You can gain additional insight into potential system problems by double-clicking the stop sign that appears in the status bar of a JD Edwards EnterpriseOne form when an error occurs. When you perform this action, the system displays explanatory text, including possible causes and solutions, that helps you diagnose the source of the error. You can get additional troubleshooting information by setting the Output parameter in the JDE.INI file to FILE. Remember that doing so will degrade system performance, so you should return the Output parameter in the JDE.INI file to NONE after you have diagnosed and corrected any problems with the script.

For a JD Edwards Virtual Autopilot script to run correctly, you must value link all required target parameters to the appropriate source parameters using the Virtual Autopilot Script Editor. Failing to do so, or forging value links improperly, could cause the script to fail.

Click to jump to top of pageClick to jump to parent topicDisplaying Business Function Parameters

Displaying the business function call parameters helps you to debug the JD Edwards Virtual Autopilot scripts. To do so, you set the MessageLevel parameter in the vap.ini file at 15 or at 31. At this level, the log file displays all the input and output parameter values of:

To display business function parameters:

  1. Locate and open the vap.ini file.

  2. In the vap.ini file, find the [Log] entry.

  3. Set the Message Level parameter at 15 or 31.

  4. Save the change and close the vap.ini file.

    Important! Remember that you should not set the MessageLevel parameter permanently at 31 as this will cause performance to degrade. Leaving the MessageLevel parameter at 15 does not significantly degrade performance, but it can cause many messages and a great deal of text to accumulate in the log file. You should not leave the message level permanently set at 15, as doing so could consume a significant amount of disk space.

Click to jump to top of pageClick to jump to parent topicDiagnosing Business Function Failures in JD Edwards Solution Explorer

Your scripts must run properly in Solution Explorer before JD Edwards Virtual Autopilot can run them properly. Therefore, you should determine early whether business function API calls are failing in the system when you run a JD Edwards Autopilot script. To do so, you can select JD Edwards EnterpriseOne debugging in the JDE.INI file.

Note. When you run an application, right-click and select View System Log to view the jdedebug.log.

You might set breakpoints in the JD Edwards Autopilot script after commands that initialize a business function API call, which will enable you to check the jdedebug.log at these key points.

By verifying the system's ability to process the commands in the JD Edwards Autopilot script, you either pinpoint or exclude the system as a source of script failure. If it is causing the script failure, you work on debugging the system; conversely, if the business functions process properly when you run the script in the system, concentrate on finding the source of the script failure in the JD Edwards Virtual Autopilot.

To diagnose business function failures:

  1. Locate and open the JDE.INI file.

  2. In the JDE.INI file, go to the [DEBUG] section and set the output parameter to FILE.

  3. In the JD Edwards Autopilot script pane, right-click a command line that follows a command that runs a business function (optional).

  4. Click Toggle Breakpoint (optional).

  5. Play back the JD Edwards Autopilot script, either to the end or to a designated breakpoint.

  6. Right-click inside a JD Edwards EnterpriseOne form.

  7. Select View System Log.

  8. Click File.

  9. In the drop-down menu, select c:\jdedebug.log.

  10. Troubleshoot the jdedebug.log file, searching for business functions.

Click to jump to top of pageClick to jump to parent topicResearching Value-Linking Errors in the Virtual Autopilot Script Editor

A business function API call might fail when you run the JD Edwards Virtual Autopilot script because you incompletely value linked the business function parameters in the event stream to the parameters in the JD Edwards Virtual Autopilot script while you were working in the Virtual Autopilot Script Editor.

To research value linking errors in the Virtual Autopilot Script Editor:

  1. Locate and open the vap.ini file.

  2. Set the MessageLevel parameter at 15.

  3. Run the JD Edwards Virtual Autopilot script.

  4. In the vap.log file, search for business function errors.

  5. In the Virtual Autopilot Script Editor, verify the value linking.

    Remember that you must value link any parameters that do not use constant values during script playback. If you do not value link these parameters, the script fails because, typically, the script playback creates duplicate keys.

    You are required to provide value links for these parameters:

  6. Perform any necessary value linking in the Virtual Autopilot Script Editor.

  7. Rerun the script with the MessageLevel parameter in the [LOG] section of the vap.ini file set at 15.

    This setting enables you to capture parameter values and value substitutions in the log file.

  8. Recheck the vap.log file and look for business function API errors.

Click to jump to top of pageClick to jump to parent topicVerifying That Value Linking Is Functioning

You can verify that JD Edwards Virtual Autopilot is linking parameter values by creating valid values lists in the JD Edwards Autopilot script. In the Virtual Autopilot Script Editor, you value link any parameters that use values from the valid values list. The Virtual Script Player should link the values in the valid values lists to the appropriate parameters in the JD Edwards Virtual Autopilot script during JD Edwards Virtual Autopilot script playback.

To verify that JD Edwards Virtual Autopilot performs the value linking, you can set the MessageLevel parameter at 15 and run the JD Edwards Virtual Autopilot script. After you run the script, you search the log file for valid values list data, identify that data, and change the data in the .atd file, which stores the valid values list data.

To verify that value linking is functioning:

  1. Locate and open the vap.ini file.

  2. In the vap.ini file, set the MessageLevel parameter at 15.

  3. Run the JD Edwards Virtual Autopilot script.

  4. Review the log file for valid values list data.

    Note. You can search for valid values list data using the .atd extension. Verify that the values you expect are present and look for any error messages associated with the data.

  5. In the c:\.atd file, change the valid values list data.

  6. In the Virtual Autopilot Script Editor, make sure that you have value-linked all of the new data in the valid values list to the correct parameters in the JD Edwards Virtual Autopilot script.

  7. Rerun the JD Edwards Virtual Autopilot script.

    When you replay the script, JD Edwards Virtual Autopilot should use the new data from the valid values list.

  8. Review the log file for old valid values list data, to make sure that the Virtual Script Player used the new data rather than any of the old values.

  9. If you find any of the old valid values list data, review the value linking in the Virtual Autopilot Script Editor.

Click to jump to top of pageClick to jump to parent topicIdentifying and Correcting Variable Value-Linking Errors

Another type of value linking related error occurs if you declare a value in a JD Edwards Autopilot script but do not set its value. In this case, if you value link the variable, the Virtual Autopilot Script Editor registers errors in the script log during the virtual script generation process. To correct the errors, you must modify the JD Edwards Autopilot script by setting the value of the variable.

To identify and correct variable value-linking errors:

  1. From the desktop or the appropriate directory, double-click the Virtual Autopilot Script Editor executable.

  2. Select a test and click the Generate button.

  3. Review the Virtual Player Script Log form for validation error messages.

  4. If validation error messages appear in the Virtual Script Log form, reopen the JD Edwards Autopilot script.

  5. Set a value for any declared variables that do not have a value in the Virtual Autopilot Script Editor.

  6. Save and rerun the JD Edwards Autopilot script.

    Important! Be sure that playback remains configured to capture the virtual script event stream.

  7. Re-import the event stream into the Virtual Autopilot Script Editor and regenerate the JD Edwards Virtual Autopilot script.

Click to jump to top of pageClick to jump to parent topicVerifying the Validity of JD Edwards Virtual Autopilot Script Data

Business function errors that occur in the JD Edwards Virtual Autopilot script might be caused by data errors. Data errors occur because the environment against which you wrote the JD Edwards Autopilot script differs from the environment against which you attempt to play back the JD Edwards Virtual Autopilot script.

To verify the validity of data in the JD Edwards Virtual Autopilot script:

  1. Locate and open the vap.ini file.

  2. In the vap.ini file, set the MessageLevel parameter to 15.

  3. Run the JD Edwards Virtual Autopilot script.

  4. Search the log file for business function errors.

  5. Verify that the environment against which you wrote the JD Edwards Autopilot script and against which you ran the JD Edwards Virtual Autopilot script is the same.

  6. If the two environments are different, recreate the valid values lists so that they contain values that are valid for the environment against which you are running the JD Edwards Virtual Autopilot script.

    Note. You can also replay the JD Edwards Autopilot script in the same environment against which you are running the JD Edwards Virtual Autopilot script. In that case, follow the next two steps.

  7. Re-import the event stream into the Virtual Autopilot Script Editor.

  8. Regenerate a JD Edwards Virtual Autopilot script by forging value links between the source and target parameters.

Click to jump to top of pageClick to jump to parent topicIdentifying and Correcting Duplicate Key Errors

JDB Insert and Update API calls might fail in the JD Edwards Virtual Autopilot script because of duplicate key errors. These errors occur when you attempt to enter two records with the same value into a key column.

The duplicate key error prevents you from doing this. Failure to value link all the necessary parameters in the JD Edwards Virtual Autopilot script could cause duplicate key errors. You can view updated and inserted JDB API parameter values in the Virtual Autopilot Script Editor.

Note. Duplicate keys could also result from an application error.

To identify and correct duplicate key errors:

  1. Locate and open the JDE.INI file.

  2. In the JDE.INI file, go to the [DEBUG] section.

  3. Change the Output parameter to FILE.

  4. Play the JD Edwards Autopilot script.

  5. Locate and open the jdedebug.log file.

    If you have duplicate key errors, you will find them in the jdedebug.log file.

  6. Open the script in the Virtual Autopilot Script Editor.

  7. Check value linking for all JDB Insert and Update API calls.

  8. When you are sure that you have value linked all JDB Insert and Update API calls, rerun the script.

  9. If you continue to get duplicate key errors, review the application for errors that might be causing the problem.

Click to jump to top of pageClick to jump to parent topicRectifying Irregular Transaction Times

You measure transaction times by choosing events as start and endpoints in the JD Edwards Autopilot script. For example, you might launch an application, move from one form to another by clicking the Add button, and then make entries to several header controls and grid columns in an active form before closing that form.

You might label that entire sequence of commands, from launching the application to closing the form, as a transaction. To see how efficiently the system manages this transaction, you label launching the application as the start of the transaction and closing the form as the end of the transaction. You also apply a name to the transaction and attach that name to the start and to the end. You use the Wait/Comment command in JD Edwards Autopilot to insert the start and end of the transaction into the script and to apply a name to the transaction.

If you do not include both a start and an end time for the transaction, you might find irregular or inexplicable transaction times in the log, or you might find that the transaction fails. Failing to ensure that the name that you applied to the start of the transaction matches precisely the name that you applied to the end of the transaction, including capital letters and any special characters, might also cause irregular transaction times or transaction failures.

Important! JD Edwards Virtual Autopilot transaction timing accuracy has several limitations that make broad-based performance characterization assertions impossible. Accurate timings can be achieved only on a discrete workstation, while JD Edwards Virtual Autopilot simulates server load.

To rectify irregular transaction times:

  1. From the desktop or the appropriate directory, double-click the JD Edwards Autopilot executable.

  2. In the script pane of the JD Edwards Autopilot form, place the insertion cursor directly above the command line that represents the start of the transaction.

  3. In the menu bar, click Command and then select Wait/Comment.

  4. In the uncompleted Comment list of the JD Edwards Autopilot command pane, enter Start, a space, and a name for the transaction.

  5. Click the Insert button.

    JD Edwards Autopilot inserts a command line marking the start of the transaction.

  6. Place the insertion cursor after the command line that represents the end of the transaction.

  7. In the JD Edwards Autopilot menu bar, click Command and then select Wait/Comment.

  8. In the Comment list of the JD Edwards Autopilot command pane, enter End, a space, and a name for the transaction.

    JD Edwards Autopilot inserts a command line marking the end of the transaction.

    Important! The name that you assign to the end of the transaction must exactly match the name that you assign to the start of the transaction.

  9. Click the Insert button.

Click to jump to top of pageClick to jump to parent topicPreventing Multiple Script Playback Problems

JD Edwards Virtual Autopilot enables you to play back the same script in consecutive sessions or to simulate multiple users playing back scripts simultaneously. In either case, you must make sure that you have sufficient disk space to handle the load created by JD Edwards Virtual Autopilot script playback, particularly if you plan to run a long test involving many playback iterations or simulation of a large number of users. If you do not have sufficient disk space, you might find that JD Edwards Virtual Autopilot script playback locks up after only a few playbacks.

Debugging JD Edwards Virtual Runner

If JD Edwards Virtual Runner fails immediately after you click the Run button, first check the vapplayer.exe path specified in the vap.ini file. The vap.ini [COMMAND] section binname parameter specifies the full path of the VAPPlayer.exe file.

Virtual Script Player should operate the same whether you run under JD Edwards Virtual Runner control or from a command line. If it does not, you might be running two different copies of the vapplayer.exe. This might occur if the vap.ini [COMMAND] binname parameter is pointing to an old version of the Virtual Script Player. Make sure that binname parameter points to the correct drive and directory, and that you discard any old versions of the Virtual Script Player that you might have on the workstation.

If you set Virtual Script Player to run a virtual script multiple times in succession, and the script only runs a few times before locking up, you should review the available disk space. If you have set the JDE.INI error logging settings at a high level, the jde.log and jdedebug.log can fill a disk very quickly. Make sure that enough free space is available on all relevant disk drives before you start a long test.

Debugging LoadRunner

If you have set the JDE.INI or vap.ini error logging settings at a high level, and you run many virtual user sessions, the network might become saturated, communications between LoadRunner controller and the host machines might become scrambled, or both. You can address this problem by setting the MessageLevel parameter in the vap.ini files on all machines lower. This will decrease the volume of log file traffic.

This table summarizes steps that you can take to minimize JD Edwards Virtual Autopilot script playback problems:

Situation Affecting Playback

Possible Solution

jde.log and jdedebug.log messages fill up disk quickly during JD Edwards Virtual Autopilot script playback

In [DEBUG] section of the JDE.INI file, set Output parameter to NONE

JD Edwards Virtual Autopilot log file fills with messages, consuming disk space

In [LOG] section of the vap.ini file, set MessageLevel parameter to 0, 1, 3, or 7

Click to jump to top of pageClick to jump to parent topicCorrecting Uninitialized User Handle Errors

An error labeled Uninitialized User Handle might cause the JD Edwards Virtual Autopilot script to fail. This error occurs when you attempt to create a JD Edwards Virtual Autopilot script using playback results that you obtained from the first run of a JD Edwards EnterpriseOne application when just-in-time installation occurs, or when you have system debugging turned on when you capture the results of JD Edwards Autopilot script playback.

To correct uninitialized user handle errors:

  1. From the desktop or the appropriate directory, double-click the JD Edwards Virtual Autopilot executable.

  2. In JD Edwards Virtual Autopilot, discard the results of the script generation attempt that failed.

  3. In JD Edwards Autopilot, rerun the script in the same environment that you created it.

  4. Use the new results data to generate a new JD Edwards Virtual Autopilot script.