6 Additional Topics

This chapter contains the following topics:

6.1 Understanding Caching

Caching is a process that stores a local copy of frequently accessed content of remote objects. Caching can improve performance. EnterpriseOne software caches information in the following two ways:

  • The system automatically caches some tables, such as those associated with constants, when it reads them from the database at startup. It caches these tables to a user's workstation or to a server for faster data access and retrieval.

  • Individual applications can be enabled to use cache. JDECACHE APIs allow the server or workstation memory to be used as temporary storage.

JDECACHE can hold any type of indexed data that your application needs to store in memory, regardless of the platform on which the application is running; therefore, an entire table can be read from a database and stored in memory. No limitations exist regarding the type of data, size of data, or number of data caches that an application can have, other than the limitations of the computer on which it is running. Both fixed-length and variable-length records are supported. To use JDECACHE on any supported platform, you need to know only a simple set of API calls.

See "Working with JDECACHE " in the JD Edwards EnterpriseOne Tools Development Tools: APIs and Business Functions Guide.

6.2 Understanding Messaging

Use EnterpriseOne messaging features to communicate pertinent information to the end user in the most effective and user-friendly way. When you design an application to use messaging, you must evaluate what information is necessary to enable a user to accomplish a task. You can deliver a message in real time, whereupon the message is displayed in an interactive application, or you can send messages to the Employee Work Center. The method that you use to provide information to the user depends on the situation. For example, you can do the following:

  • Use an interactive error message if the system encounters an error during the entry of a record.

  • Use an informational message that the system sends to the Workflow Center if information needs to be conveyed and responded to.

  • Use an alert message if information is urgent and requires immediate attention.

  • Use a batch error message if the system detects errors in a batch process, such as while a report is running.

The three components of creating system-generated messages are as follows:

  • The message itself.

    Do you require a simple message or a text substitution message? Are all of the text substitution pieces available?

  • The logic that applies to the message.

    Has certain criteria, such as event rule logic, been met so that a message should be sent?

  • The message type.

    Does the message require action by the users? Are all of the required parameters available at the time the message is to be sent?

6.2.1 Batch Error Messages

The error message system gives users a consistent interface to review errors when working with batch programs. When a batch program has finished processing all messages regarding the success or failure of a job, the system sends a message to the user in the Employee Work Center. To enhance the usability of the messages, the system uses a tree structure (or parent/child structure) to group related messages. To provide additional flexibility and functionality, you can use text substitution, and you can make a message active, meaning that the user can open an associated form by clicking within the message.

The Employee Work Center displays the error messages that appear after a batch job has completed. When you create these batch error messages, you need to determine the possible messages EnterpriseOne users will need. For example, you might create a number of different messages that are generated when a journal entry report is run. You can create a message stating that the report completed normally if the report balances. Additionally, you can create multiple levels of messages describing various errors if the report is out of balance. The first level might state that the report completed with errors, and additional levels would explain the specific details about the errors.

See JD Edwards EnterpriseOne Tools Development Tools: Batch Versions Guide.

6.3 Understanding Transaction Processing

A transaction is a logical unit of work (comprised of one or more SQL statements) performed on the database to complete a common task and maintain data consistency. Transaction statements are closely related and perform interdependent actions. Each statement performs part of the task, but all of them are required for the complete task.

Transaction Processing ensures that related data is added to or deleted from the database simultaneously, thus preserving data integrity in your application. In transaction processing, data is not written to the database until a commit command is issued. When this happens, data is permanently written to the database.

For example, if a transaction comprises database operations to update two database tables, either all updates will be made to both tables, or no updates will be made to either table. This condition guarantees that the data remains in a consistent state and the integrity of the data is maintained.

Using the EnterpriseOne development tools, you can enable an application for transaction processing and define which database operations comprise a transaction.

See "Working with Transaction Processing" in the JD Edwards EnterpriseOne Tools Development Tools: Form Design Aid Guide.

6.4 Understanding Currency

Enterprises that do business internationally have additional accounting needs and added complexity. This complexity arises from doing business in different currencies and having to follow different reporting and accounting requirements. Some fundamental requirements for an international enterprise include:

  • Conversion of foreign currencies to the local currency

  • Conversion of the different local currencies into one currency for reporting and comparisons

  • Adhering to regulations defined in the countries of operation

  • Revaluation of currencies due to fluctuation in exchange rates

EnterpriseOne currency implementation is controlled by the developer and includes:

  • Currency retrieval through database triggers and table event rules (TER).

  • Business function event rules.

  • System APIs for accessing cached tables.

See "Using Currency" in the JD Edwards EnterpriseOne Tools Development Guidelines for Application Design Guide.

6.5 Understanding Media Objects

EnterpriseOne media objects and imaging features enable you to attach useful information to an application, including information that might currently exist as a paper-based document. The media objects feature enables you to attach the information to applications, forms and rows, and Object Librarian objects. The imaging feature within media objects gives you flexibility to create a more efficient method of information storage.

This table describes the types of information that you can attach to a grid row or a form:

Type Description
Text Media objects provide a word processor that lets you create a text-only attachment. For example, you can use a text attachment to provide specific instructions for a form or additional information about a record.
Image Images include files such as Windows bitmaps, Graphics Interchange Format (GIF) files, and JPEG files. These files might represent electronically created files, as well as scanned images of paper-based documents.
OLE Media objects can be files that conform to the OLE standard. OLE enables you to create links between different programs. By using these links, you can create and edit an object from one program in a different program. EnterpriseOne provides the links that you need to attach OLE objects.
Shortcuts A shortcut is a link that opens an EnterpriseOne application. Within media objects, you can only attach EnterpriseOne shortcuts; that is, you cannot attach Windows shortcuts to media objects.
Uniform Resource Locations (URL) and files Media objects can be links to web page URLs or other related files.

System administrators can also set up templates. A template might include attachments of its own, such as images and shortcuts. For example, you can create a letterhead and a standard form for a memo. You might create a shortcut in the template to provide access to an application that uses data specific to the information that you add to the template.

See "Media Object Data Structures" in the JD Edwards EnterpriseOne Tools Development Tools: Data Structure Design Guide.

See "Understanding Media Object Processing" in the JD Edwards EnterpriseOne Tools System Administration Guide.

6.6 Understanding Debugging

Debugging is the method you use to determine the state of your program at any point of execution. You can use debugging to help you solve problems and to test and confirm program execution.

You can use a debugger to stop program execution so you can see the state of the program at a specific point. This allows you to view the values of input parameters, output parameters, and variables at the specified point. When program execution is stopped, you can review the code line-byline to check such issues as flow of execution and data integrity.

You can use the following two tools for debugging EnterpriseOne:

  • EnterpriseOne Event Rules Debugger

  • Microsoft Visual C++ Debugger

You use the Event Rules Debugger to debug event rules and the following:

  • Interactive applications

  • Reports

  • Table conversions

You use the Visual C++ Debugger to debug C business functions or NERs that are generated into C.

See "Understanding the Cross Reference Facility" in the JD Edwards EnterpriseOne Tools Development Tools: Data Access Tools Guide.

6.7 Understanding the Cross Reference Facility

You can use the Cross Reference Facility to determine where specific objects are used. You can also view relationships between objects and their components. For example, you can use Cross Reference Facility to:

  • Identify each instance in which a business function is used.

  • View a list of forms within an application.

  • Display all fields within a business view.

  • Cross-reference all applications in which a specific field is used.

Because the cross-reference files are not automatically rebuilt when objects are created and modified, the Cross Reference Facility should be rebuilt periodically. You can regularly schedule cross-reference builds to ensure that the cross-reference information is up-to-date.

See "Using Cross Reference Facility" in the JD Edwards EnterpriseOne Tools Development Tools: Data Access Tools Guide.