88
- - Essential Concepts for

Oneworld_Concepts for Developers

Embed Size (px)

Citation preview

Page 1: Oneworld_Concepts for Developers

--

EssentialConcepts

for

Page 2: Oneworld_Concepts for Developers

Edwards OneWorld: A Developer's Guide

0is a unified enwonment that includes an integrated set of development

tools. Each development tool is built from the ground up to work with the other

tools, and most of them are graphical user interface based to provide

application development. This unique combination provides a

setting for rapid application construction, in which any object or application in OneWorldcan be created and

Because the OneWorld toolset generates the bulk of software code used for defining

objects, developers spend less Lime and effort in programming as compared to text

editor-based environments. In addition, the OneWorld tools support the application

in the environment where it is executed. Therefore, most of the time and effort spent

on application development is focused on creating business logic and functionality,rather than writing the supporting code.

Each OneWorld development tool has one or more built-in Business Activators to further increase your productivity as a developer. Business Activators are part of a

broad product and technology suite called ActivEra that enables OneWorld to easily

adapt itself to existing and future business requirements. The purpose ofan Activator is to automate tasks that you regularly perform. For example, you can

quickly generate a simple report for your company's department by using

an Activator built into the report writing development tool-without writing one line

of code.

D E F I N I T I O N

Business Activators are of One Worid's ActivEra suite. ActivEra is acollection of applications that provide a framework for fastand snap-in functionalitywith low application-development overhead.

What the OneWorld development toolset means to you as a developer is that your

time isn't wasted in to integrate development tools from different vendors. And

your productivity is dramatically increased during application development becauseyour effortsare focused on writing code that supports business operations.

This chapter provides an of OneWorld and its development toolset, including

Enterprise Resource Planning System Fundamentals This section explains the fundamentals of Enterprise Resource Planning ERP systems

Page 3: Oneworld_Concepts for Developers

Chapter 1: Essential OneWorld Concepts for Developers 5

assist corporations in managing their data. Your ability to write effectivesoftware code depends on your knowledge of ERP systems. By understanding

each application's position within a large and complex enterprise, you have the

proper know-how to tackle big development projects in OneWorld.

Network Computing Architecture Understanding the

of network-centric computing and how you can leverage them to

build and modify sophisticated applications allows you to eifectively develop

OneWorld applications, because all OneWorld applications depend on CNC.

CNC Fundamentals The CNC architecture provides three essential

components for your applications: seamless operation, scalability, andapplication partitioning. Your development projects are directly affected by

the components, because they determine the infrastructure how your applications are designed and

CNC Deployment Strategies This section provides you with a description of

all configurations that OneWorld can have for an installation. It will assist you

in understanding how OneWorld applications are impacted by the different

configurations, and what you need to do to prepare your applications for each one.

OneWorld Development Toolset Knowing how each tool is used in a

development project ensures that you will make the use of your time while

developing applications.

Enterprise Planning

ERP systems are business management systems that contain many diverse sets of

These modules work together to manage information that supports a

business's daily operations. A is a set of applications that perform tasks ona specific set of data in the database, such as General Ledger Accounts Payable

Accounts Receivable orSome modules are combined to provide advanced analysis and functionality that a

business needs to manage itself. For example, the Sales and Procurement applications

combine the financial modules GL. AP, and AR, with Inventoly and Transportation Management to optimize the costs and revenues of materials required to meet

Page 4: Oneworld_Concepts for Developers

J.D. Edwards A Developer's Guide

customer and internal demands. Another example is the combination of the Human

Resources and Customer Service modules to optimize costs and personnel required for

management of projects that support the customer base.

Because so many modules are combined within applications, ERP systems are

very large and complex. Therefore, most ERP systems reside on several servers that

contain relational databases for storage and management of corporate information

and applications. This infrastructure supports the configuration and deployment of

ERP and all of the user applications.

This section describes the distributed computing environment that supports ERP.

and the spectrum of users supported by the ERP-based applications.

Distributed Computing EnvironmentAll modern ERP packages use the distributed computing as the

system to support ERP operations. The DCE is a corporate network

infrastructure comprising the network that connects many clients and servers. These

clients and servers communicate through the network to gain access to shared

applications and data.

N

hone machine, but rather are the various machines on the corporatenetwork For example, Accounts Payable server may storeall dataand execute all related to Account module.

Let's take a look at the four components in a DCE: clients, servers, the network,

and user access security.

ClientsA client is a user-centric machine that provides the user interface for anyone using

the DCE. A client generates requests to various servers for information needed by

users. Typically in a DCE, there is a many-to-one relationship of clients to servers.

Client machines on the network can exist in many forms, and they are discussed

in greater detail in the CNC sections of this chapter. A client could be a laptop

computer that interacts with through a web browser, or a tower desktop

Page 5: Oneworld_Concepts for Developers

Chapter 1: Essential OneWorld Concepts for Developers 7

that developers use to build and modify applications. In the OneWorld environment,

client machines are categorized as fat clients, thin clients, and zero clients.

Fat Client client (also called a is usually a desktop system that

contains substantial hard disk space, processing power, and memory. Advanced users

and developers are users of fat clients, because they execute computationally intensive applications and typically manipulate large amounts of data, which they access and

sometimes download from the servers.

Thin Client A client is one in which nearly all applications are viewed a

server over the network a browser. A thin executes applications that add,change, inspect, and delete information from a database on a server. Thin clients cost

less than fat clients because they use less memory and processing power

than their fat client counterparts.

Zero Client A zero does not execute applications; it can display

and capture user input. All of the application execution needed by a zero client occurs

on a server. The advantage of a zero client is that an older computer can easily display

the information and capture even though it cannot execute a OneWorld client

session.One of the main issues of trying to support more than one client type in an

ERP system is that each client type typically requires its own development for

application development. OneWorld is one of the ERP systems that provide

application development for any client type within the same application. Therefore,

you will not have to deal with the overhead of maintaining multiple versions ofapplications each client.

ServersThe server in a DCE provides centralized services to clients, and management functions

for system administrators. Servers furnish central storage for corporate information,

support file and sharing among clients, enforce corporate security, monitor

network activity, manage fax and e-mail communication, and provide networkservices. Typically, one does perform all these functions instead, mulriple

servers are used to ensure reliability and availability of services to clients.

In a distributed environment, many servers perform the same tasks. with each

server strategically positioned to serve a certain group of clients. As a result, the

applications executed by a client experience higher performance. Also, the ERP system

Page 6: Oneworld_Concepts for Developers

J.D. Edwards A Developer's Guide

is more reliable because more than one server is available on the network to serve

client machines.

NetworksAs a developer in a DCE, one of your main concerns is the network. A network is

inherently slower by several orders of magnitude than any single computer. Yourability to provide distributed applications across a network while maintaining a high

degree of performance on the user's computer will always be limited by the network.

The performance of several popular networks is summarized in Table You'll

notice that network speed varies drastically from network to network. Local area

'networks provide the highest speed possible and are substantially faster than

wide area networks Network speed over WANs is slowed by the large distances, measured in miles, that connect the units of the network. comparison,LANs typically measure their maximum distance in feet or meters.

Let's look at an example. Figure is a hypothetical corporate network that

connects offices in Chicago, Atlanta, and Denver through a WAN. Each office has its

own LAN, and each city needs to access computer resources in the other cities. All of

the data and applications are centrally located in Denver. As the Atlanta and Chicagooffices use the applications, the WAN will experience major amounts of message

and the users will experience conspicuous slowdown in application execution

across the WAN. To improve performance across the corporate infrastructure and to

lower message traffic on the WAN, the information and applications used most by a

particular city must reside locally on that city's LAN. By optimizing the applications in

this manner, users in a particular city will have all the resources locally on their LAN,

and the end result will be better application performance.

Network

LANs

WANs

EthernetToken Ring

T3

Frame RelayLeased

AnalogDigital (ISDN)

Speed

Mbps4-16 Mbps

45 Mbps1.544 Mbps

Kbps9.656 Kbps

9.656 Kbps128 Kbps

TABLE Speeds of Common Network Topologies

Page 7: Oneworld_Concepts for Developers

Chapter 1: Essential Concepts for Developers

FIGURE Corporate network example

In the past, many developers embedded network logic into business

applications for them to operate an ERP system. In these circumstances, however,

applications quickly become obsolete whenever new technology is introduced into

network, because the application must to incorporate the new technology.The cure is to build applications in an environment that isolates them from the

technology.

User Access SecurityOnce a DCE is operational, security is the next primary The security

prevents competitors and unauthorized employees from gaining access to proprietary

information and inflicting great damage on a company through global distribution orother subversive measures. User access security is required in most

User access security that individuals who need corporate infbrmation are allowed to view and interact with it. All other individuals are restricted from

viewing it. Typically, users can access information required by their job function.

Basing security on the roles users perform in the company dramatically reducesthe occurrence of security problems. For example, too little security assigned to an

Page 8: Oneworld_Concepts for Developers

J.D. Edwards A Developer's Guide

individual will increase the probability of compromising daily operations. Too much

security assigned to an individual prevents that individual from doing his or her job.

Your development projects may quickly bog down if you have to enforce user

access security in every application. eliminates security concerns for

developers by enforcing it in the CNC architecture. The end result of separating

security from business applications is a dramatic decrease in the time you spend modifying applications for security. It also eliminates security loopholes caused by

developers who forget to incorporate mechanisms in their applications.

User SpectrumEvery employee in a company requires some computing resources to fulfill their

duties within the organization. This is especially for For example, resource

requirements are generally low for secretaries and clerks doing only viewing, preparation,

and editing of data (such as working with data in the company financial or inventory

systems). Managers and executives, on the other hand, need higher levels of resources for

reporting, summarizing, and performing statistical analysis of information located in the

corporate database.

Figure 1-2 shows how the user spectrum determines required computational

resources and security for any individual in a company, based on the tasks he or she

executes every day for the company.

User

FIGURE Security and client computing requires dependency on the userspectrum

Page 9: Oneworld_Concepts for Developers

Chapter 1. Essential Concepts for Developers

As shown in Figure all users in the corporation fit into a range defined by

users at one end, and analytical users at the other end.

Action Usersusers view and update corporate information that is specific to the job they

perform the company. They are typically involved with the operational ofbusiness. Action users require a very limited set of corporate data to fulfill their jobs, and

lor this reason user access security is higher, as shown in Figure or zero client

machines may be sufficient computation resources for action users, since the majority of

the computations required are typically located on the server that contains the database.

Applications built for action users generally contain simple user interfaces and

logic routines. The user interfaces can be simple because action users require a

means of and editing information pulled from a database. Action user-basedapplications employ only simple logic routines because the database operations on the

server execute the bulk of the logic.

Analytical UsersAnalytical users accumulate, analyze, and distribute information for the organization.

They are involved with tactical and strategic decision making for the company.

order to make sound decisions for the company, analytical users require access to

large segments of company data. User access security for analytical users is therefore

low, as shown in Figure Also, for optimum performance, analytical users require

fat client machines to support their tasks of accumulating and analyzing suhstantial

amounts of data at any given time.

Applications built for analytical users can he very complex. These user interfaces may

need plentiful data so that can view, summarize, edit, and transform information

from a majority of tables in the database. Analytical user-based applications support

forecasting, high-level summaries with drill-down and data mining.

ConfigurableNetworkArchitectureCNC architecture is a ino n network-centric computing. The CNC architecture isolates business applications, - . . ,

the configuration and issues the... . , .

Page 10: Oneworld_Concepts for Developers

J.D. Edwards A Developer's Guide

corporate network By technology from

can focus operations, where

In comparison to the CNC architecture, architecture is inefficient

because it focuses on application-centric computing. The paradigm

centers on the application and how it can be supported by the clients and servers on

the network. The result is applications that are highly dependent on the underlying

technology and very sensitive to any changes in the technology. Expert knowledge

of the business applications and the underlying technology is necessary to understand

the functional operation of each application.

With the CNC architecture, applications are independent of the underlying

technology that supports the network. Therefore, applications in the CNC architecture

are easier to maintain because they do not contain technology-dependent logic existing

on the network. The result is that applications are focused on business practices and

are independent of the network that supports OneWorld.

The importance of thoroughly comprehending the CNC architecture is critical and

cannot be overemphasized. Without an understanding of the CNC architecture's affects

on your applications, you are likely to restrict yourself to basic applications that merely

view and update data for users. Sophisticated applications for analytical users, such

as interfacing data that exists outside of OneWorld, will be out of your development

reach if you don't know how the CNC architecture is used.

In upcoming sections, you'll study some strategies for deploying the CNC

architecture.

CNCThe CNC architecture tracks the location of all information and applications on

the corporate network for the OneWorld environment. As shown in Figure all

communication on the network is directed through the CNC architecture

for properly routing requests and enforcing security. the CNC architecture,all OneWorld operations cease to exist, because the CNC

con of OneWorld..

From a developer's perspective, CNC is viewed as a logical server, because it.directs all As

.in the between clients and sewers in

the OneWorld environment to manage all corporate network

Page 11: Oneworld_Concepts for Developers

Chapter 1: Essential Concepts for Developers

13. directs communication between clients and

The CNC logical server is not physically implemented on one machine,

rather is located on every client and server that operates in the

CNC is not really a logic sewer, the logic sewer analogy is a goodfor most developers to understand how it is used in their

The logic sewer analogy for the CNC architecture only applies to it execution of an application.,-

For example, a client machine needs to execute an application that its user is

requesting. The client consults the CNC logic server first, to determine if the user has

the proper user-access security permissions to execute the application. If the user hasthe proper security, the client consults the CNC logic server again to determine the

location of the database on the network, and then issues the request to the server that

contains the database. These steps occur whether the data and application are stored

on the client or the server.

The CNC logic server in Figure is further illustrated in Figure which

shows the components that make up CNC. The CNC layer is responsible for three

major functions: of system components; administrative services; and

system

DeploymentThe deployment component, is further explained in the "CNC Deployment

Strategies" section, later in the chapter, involves configuration of all clients and servers

on the corporate network. Processing modes determine the type of operations, whether

Page 12: Oneworld_Concepts for Developers

J.D. Edwards A Developer's Guide

Client configuration Manager

Server configuration

FIGURE 1-4. Major components of the CNC architecture

direct connection or offline, that occur between clients and Every client and

server in the OneWorld environment can be configured in various ways to enhance

performance and reliability on a daily basis.

D E F I N I T I O N

represents all the and servers on the and the role eachin OneWorldconfiguration, design, development, and execution,

Administrative Services Administrative are management applications that control settings

nd they are fully covered in Chapter The Object Configuration

for example, stores the location of all objects and data on the network.

enforces object and data security for users at runtime to ensure no

one has the ability to access information they are not allowed to see.

System Services System comprise the essential layers of the CNC architecture that support

proper operation across the entire OneWorld environment. This component includes

the definition of data sources, path codes, and environments (Chapter 2). The

middleware, which is covered in Chapter 15, contains all the database communication

Page 13: Oneworld_Concepts for Developers

Chapter 1: Essential OneWorld Concepts for Developers 15

Runtime engines for all clients and servers on the network are also

services.

development projects are directly affected by the CNC architecture. The CNCprovides you with the maximum amount of flexibility for your applications

them to execute in any medium. For example, one application can

for a client on a LAN or for a Web-based client over a WAN.

The CNC architecture provides three essential components that enable

for your applications: seamless operation in a heterogeneous environment,and application partitioning. . .

Seamless Operation in a HeterogeneousEnvironmentThe most powerful feature of the CNC architecture is its ability to integrate

heterogeneous computing platforms and database systems into one homogeneousIncompatible computer platforms such as Windows NT and UNM

and competing database systems such as Oracle and Server, can

mixed and matched with ease. The CNC architecture integrates incompatible

in OneWorld without any impact on business applications.

The biggest benefit of the technology from business applications that developers and technical support personnel can coexist without playing the

blame game when an application does not perform to expectations. Developers can

on the design and development of business applications without worrying

about network environment instability. Technical support personnel can upgrade,

modify, and reorganize the network architecture that supports without

to any business application.

Figure 1-5 is an example of a corporate network that has implemented a CNCarchitecture. All of the between any device on any LAN or WAN is

performed through the CNC logical server. as shown in Figure The clients and

communicate without concern for each other's hardware and operating

i n Figure 1-5, any communicatian between servers (in this case, a mix of

and machines) and clients (a mix of Windows workstations, web

browsers and Windows Terminals) is identical. The CNC architecture provides a

Page 14: Oneworld_Concepts for Developers

J.D. Edwards A Developer's Guide

Fat Fatclients

Sunenterprise remoteserver data

server

serverServer

Webterminals

- -

FIGURE Example of a "homogenized corporate network

heterogeneous network infrastructure, transformed in Figure 1-5 to a homogenous

environment for operations.The CNC architecture isolates technology from business applications in three

major areas: platforms; server configurations; and database systems.

Client and Server PlatformsThe CNC architecture integrates many computer such as HP

9000, Sun Enterprise Server, and Windows NT, for any client and server on the network.

The ability to integrate incompatible computer platforms in a single architecture allows

to implement the user concept for optimal use of corporatecomputing resources. As shown in Figure 1-5, the CNC layer buries the technical details

of operation of the remote server with the Sun enterprise server.

As shown in Figure the CNC architecture isolates the technical details of

computer platform from the business applications. CNC handles the

Page 15: Oneworld_Concepts for Developers

Chapter 1: Essential Concepts for Developers

Business

FIGURE CNC handling of incompatible computer platforms

details of routing data and applications to particular servers, and determines how to

execute the requests for a specific sewer. This architecture also simplifies integration

of new computer-platlorm technology without disrupting business applications.

Server ConfigurationsCNC allows multiple configurations of servers for optimizing network resources.

such as network As illustrated in Figure CNC server configuration ranges from a simple, centralized server to a complex, hierarchical, multiple server

configuration.

For example, the network in Figure shows the being used

to minimize message traffic across the WAN by using CNC. The maintains a

replicated database. The replicated database allows all of the client machines on LAN B

to access data locally without overburdening the WAN with requests for data on LAN A.

Database SystemsThe CNC architecture transforms database systems that are incompatible into a

harmonious operating database system for operations. CNC provides themedium through which the incompatible databases can easily interchange data. As

illustrated in Figure CNC handles the location, storage, and communication ofand data.

A CNC architecture allows SQL Sewer, Oracle, and Access databases to storeand retrieve data interchangeably, as if they were built by the same software company.

The example in Figure depicts data replication between an Oracle database, which

Page 16: Oneworld_Concepts for Developers

J.D.Edwards A Developer's Guide

Business

Centralenterprise

dataservers

FIGURE server configurations

Business applications

Server

FIGURE CNC and incompatible database systems

Page 17: Oneworld_Concepts for Developers

Chapter 1: Essential Concepts for Developers

on a Sun server, and a database, which resides on an without anyor interaction required of the user or developer.

Scalabilityhaving impact on most ERP systems is the ability to scale the system as

company grows. ERP systems quickly become obsolete if they can't easily scalea as the company expands or retracts. A CNC architecture provides a solid

that accommodates network without allccting the supportedDevelopers have often been frustrated by state-of-the-art network

that sometimes renders their applications useless. Applications developed however. execute reliably as network technology changes, providing a

environment for related application evolution. For instance, the network in Figure 1-8 can be changed if the company acquires

business and needs to make a connection to the new business's LAN.another remote server to communicate to more on another IAN

involve minimal effort. Or, if the division that contains IAN Bis sold, the networkcould easily change over to a single-server system with little or no

on ERP system.

Application Partitioning user interaction with an application occurs on a single computer, several

and servers behind the scenes may execute various portions of the application.of an application across many computers exists because most applications

made up of one or more objects. Defining the execution location of each object forapplication is called applicationTypical corporate applications have five layers: the presentation layer,

layer, application logic layer, data logic layer, and database management layer. Each layer one or objects that support the features and functionality ofthe application.

example, the presentation layer is a simple form that is displayed on the monitor lor capturing user interactions. How the behaves in the application is embedded inthe presentation logic layer. The applicationlogic layer contains business logic that is

to enforce business rules. The data logic layer data integrity the data that flows in and out of the database. The database management layer performsadministrative such as replication and exporting of data, on the database.

Page 18: Oneworld_Concepts for Developers

J.D. Edwards A Developer's Guide

With application partioning, each of the objects assigned to an application layer

can exist on different across the network. The advantages to application

partitioning are ability to decrease the amount of network traffic generated by the

application, and to improve the application's overall performance. includes

five modes of application partitioning, illustrated in Figure and discussed in the

sections that follow.

Remote PresentationThe presentation mode is typically a zero client that communicates with a

mainframe. Most of the application execution is located on the mainframe, because the

zero clients only present the information on the screen and capture user input. Zeroclients are useful in in which high reliability is required, and during

terminal failure when a quick turnaround time is critical. An example of a zero client isa dumb terminal that communicates to a mainframe computer on the network.

presentation presentation

FIGURE 1-9. Application partitioning modes in the CNC environment

Page 19: Oneworld_Concepts for Developers

Chapter 1: Essential Concepts for Developers

N O T E

on network resulting in a decreasein application response ,-

Distributed Presentation The distributed presentation mode is normally implemented as a dumb

communicating to a mainframe computer. distributed presentation mode, all of

the objects are centrally located on the server, and the client is used only to display

information on the screen and capture user inputs.

One-Tier SystemThe one-tier system is typically implemented fat clients on the network, that accessdata located on a file server and perform the bulk of applicationexecution and database

management. One-tier systems are only used in the environment for servers

that provide remote storage of data to minimize message across the network.

Two-Tier SystemThe two-tier system is typically implemented with a thin or fat client on the network,

and is typically used by analytical users and developers in an organization. This type of

client shares application execution with a server that handles database management.

Three-Tier SystemThe three-tier system is normally implemented as a thin client communicating to

two servers. The objects are partitioned across the two example, a client

executing web pages that contain Java applets. The thin clients for the three-tier system

are used for

N O T E

Many use a development toolset for each partitioning mode, dramatically increasing the amount of redundant

avoid this by partitioning across the network to implement each --'-

partitioning mode, thereby eliminatingredundant code.

Page 20: Oneworld_Concepts for Developers

You are probably swimming m a sea of confusion at this moment, due to the amount of

condensed information in the preceding pages. In all likelihood, the topic causmg you

the most grief is how the CNC architecture impacts applications in To. .

illustrate what we have been talking about in the previous pages, Figure 1-10 shows a

simple application that embodies most of the principles we have discussed up to now.

The Guest and Client Search and Select shown in the figure is part ofa hotel reservation In particular, the application is used to search for guests or

the clients they represent who have used the hotel of the company in the past.

For example, a reservation clerk uses the application to find a particular guest and

their billing address by their name, the company they represent, or their address.

FIGURE1-10. Guest and Client Search and Select application

Page 21: Oneworld_Concepts for Developers

The you with the to execute the same ofcode on different clients and servers on the network. By one of the threecheck boxes (Local, LAN, or WAN) and the Find button, theexecute on your machine, on a server located on the same LAN, or on another serveslocated across the WAN from your machine. In all three cases, the applicationmanipulates a set tables that reside on the same IAN where it is executing.

The following Event code listing shows the lines of code built into the application. For local execution, yon can see that the lines of code delete all the records in the table and refresh it with data from the

and tables. For IAN and WAN execution, identical code is intotwo different business functions, and each one of the are mapped to a local server on the LAN and to another server across the WAN.

If FC Local is equal to "1'All

While File-10-Status is equal to CO SUCCESS

End WhileAll

While File-10-Status is equal to SUCCESS

WhileIf

If FC LAN is equal to "1"Refresh the Table for LAN

End If If FC WAN is equal to

Refresh the Table for WANEnd If

Local When yon select the Local check box and click the Find button, theapplication executes very slowly. fact, it takes over six minutes For the manipulationof the tables to occur, shown in the output of the debug log This is

Page 22: Oneworld_Concepts for Developers

due to the fact that each record from the database has to be transferred to the client,

and the has to then send the record back to the database.

SELECT . FROM

RESET: INSERT INTO VALUES

LAN Things improve when you execute the same code on the serverthat contains the database by selecting the LAN check box and clicking the Findbutton. Just as with the Local option, during execution the application makes a remote procedure call to the server to execute the business function that manipulates thetables. As shown in code listing, it takes about one second for the entireprocess to execute. The reason for the massive improvement is that all of the calls tothe database reside on the same machine, instead of over the network.

Calling Business function for

RT: <<<Finished ER: Write Grid Line-AfterApp: Form:

WAN When the is physically located across the WAN, the performance ofapplication execution depending on the location of the database to the server.When the database is on the same LAN as the server, the application execution takesabout 15 to 30 seconds. The performance is not as good for the WAN as for the LAN,because the WAN has a smaller bandwidth capacity that results in delaying the amount of time it takes to transmit data.

When the database is on a different LAN than the server, the performance is evenworse than in the first case. The calling machine issues a remote procedure call to the

Page 23: Oneworld_Concepts for Developers

sewer across the WAN to execute the other business function, and the same server hasto retrieve all the data from another database across the WAN. The same requests thatare made by the client machine in the local execution are made by the server in thisexecution, but they are made over a network (WAN) that is substantiallyslower than aLAN. After all of the tables are manipulated over the network, the results are returned in about 30 minutes to the machine that made the original request.

From this example, we can learn some important points:

Spend the time to properly partition an application. Even though the CNCarchitecture provides you with the tools to execute an application orfunction anywhere on the network, it does not tell you the technique for partitioning the execution of the application across the network. The best mleof thumb you can use to help you properly partition an application across thenetwork is to execute the logic that directly manipulates database tables on themachine that contains the database.

Embed as much databasemanipulation logic as you can into ayou do this, you will be able to dynamically partition the execution location ofthe business function at any time, and that will allow you to test for the best execution location on the network. Dynamic application partitioningsaves yourime because you don't to recompile the code for a different server: you just map the execution location of the business function to a different sewer.

Monitor the network trafficyour application creates. Do not sit idly byhoping your applications won't generate excessive messages to support theiroperations. It's important to monitor the network traffic your applicationsgenerate because it can solve a lot of performance and network bandwidth problems. That way, you will never be in a situation in which you have theapplication, the database, and the sewer all located on different points on theWAN, eating up a lot of network bandwidth.

Page 24: Oneworld_Concepts for Developers

Edwards A Developer's Guide

CNC Deployment StrategiesThe C N C deployment strategy, which is one component of the C N C paradigm, is

the foundation for the OneWorld environment. Only when the underlying network

infrastructure is properly designed and will OneWorld operate properly

with its C N C layer.

Understanding the possible ways in which OneWorld can be configured at a

business can make or break your projects. You will save much time and effort on a

project if you are thoroughly familiar with the various configurations in which servers

and clients can be arranged. This section presents a high-level overview of the

configurations available in the C N C architecture.

Processing ModesOneWorld provides several processing modes for interaction. Each

processing rnode provides different methods of communication between a client and

server o n the network to optimize network bandwidth. The more bandwidth that is

available, the more responsive your applications will be. four processing modes are discussed next.

Direct Connect ModeAll interactive and batch applications initiated from the client machine in the direct

connect processing mode are executed immediately by the server, as shown in Figure

1-11 Direct connect provides interaction with a single application to perform editing

and creation of through the application. Also, direct connect is ideally suited for employees who perform their tasks within work sites that are connected to the server

through a LAN.

The direct connect processing mode is highly dependent o n database resources and

results in a high of network traffic. Such volume is intolerable for and

dial-up networks because it eats up network bandwidth and dramatically slows down

application execution.

Store-and-Forward ModeThe store-and-forward processing mode is for users who need to enter transactions

through OneWorld while disconnected from the server. perform their

tasks in OneWorld offline and then new data to the server when a network

connection becomes available. For example, a sales representative o n the road can

Page 25: Oneworld_Concepts for Developers

Chapter 1: Essential OneWorld Concepts for Developers

I I

FIGURE 1-11. connect processing mode

enter orders on a laptop and then forward the orders later when the laptop can be

connected to the server.

Figure 1-12 is a simple diagram of the store-and-forward processing mode. Allthe data integrity checks are performed on the data while the user enters the

information, and this ensures that the user doesn't have to modify the data later. The

data is temporarily stored in Z files.

D E F I N I T I O N

files are standard One World fables are available forexporting data to and from OneWorld. Z files store data that is waiting to beprocessed, or data that failed to be imported

When OneWorld detects that the laptop is to the network by modemor network card, OneWorld then uploads the data from the Z files on laptop to

the same Z files on the server. The server then execures business logic ro validate all

entries that have been deposited into its Z files, ensure data integrity. After

FIGURE 1-12. Store-and-forward processing mode

Page 26: Oneworld_Concepts for Developers

J.D. Edwards OneWorld: A Developer's Guide

validation, sends a status message to the employee's Work Center mailbox

providing the status and success or failure of the upload process. OneWorld is then

notified to execute a batch process, which handles all transactions in the Z files andenters the data into the corporate database.

D E F I N I T I O N

Another advantage of store-and-forward mode is that it allows program execution on networks that have low reliability, such as dial-up networks. The data stored in the

client's Z file is transferred to the server's Z file,and the data is retained in the

Z file until it can verify that the data has been successfully transferred to the server. If

the network connection becomes unreliable, the data stored in the Z tile on the client

machine remains in a hold status until the data can be reliably transferred. This lets

individual users be sure that their data get to its destination properly.

One drawback of the store-and-forward processing mode is that it requires more application interaction than the direct connect mode. Store-and-forward requires a

GUI application for data entry, and another application to store intormation in the

local Z files and reliably transfer the data to a corresponding Z file on the sewer.

Another application on the server imports the Z-file data into the proper application

modules.

Batch-of-One ModeBatch-of-one processing mode combines the performance of the store-and-forward

mode with the real-time transaction updating of direct connect mode. Instead of the

client storing data locally in its own files, the data is stored in Z files on a server.

Therefore, transactions that the client creates are automatically entered into thesystem. The processing of the transaction by the server is performed in one of

ways: subsystem and online.

When the server is set up to execute the batch-of-one processing mode as asubsystem job, the user's entry is processed behind the scenes without the user's

knowledge. Once the subsystem job is launched, no other user input is required. In

this way, users can progress to the next task without waiting for system notification of

the results. Notification of the status is sent to the user's Work Center mailbox.

Page 27: Oneworld_Concepts for Developers

Chapter 1: Essential OneWorld Concepts for Developers

the online method, the user interacts with the batch by providing options

during execution. The results then can be viewed instantaneously or delayed until a

specified time.

Stand-Alone ModeThe stand-alone processing mode is a completely freestanding system that operates on

a single computer (a client on which the entire OneWorld client and server software is

installed). The client does not use OneWorld servers to operate, because those services

are completely installed on the client.

There are only two uses for the stand-alone processing mode: for demonstration

(demo) and for the OneWorld Software Development Kit The OneWorld

demo application allows salespeople to show the OneWorld environment on a singlecomputer without transporting several servers around the country. The demo also

allows potential customers to test-drive OneWorld and decide if they want to install

the product for their businesses.

The SDK version of OneWorld is the demo version augmented with solutions to

the tutorial exercises for developers. sole purpose is for developers to practice

creating applications using the SDK tutorial.

Client-Side Configuration Computing requirements vary across the user spectrum, based on users' roles within a

business. Solutions are provided for the three types of CNC clients: fat. thin, and zero.

Fat ClientFat clients are powerful workstations that are used by analytical users and developers.

As shown earlier in Figure fat clients are used in two-tier systems to share the

workload with the server, and this increases the server's availability for other clients.

Typical OneWorld fat clients use the direct connect processing mode with the

enterprise server, as shown in Figure 1-13.

Fatclient

FIGURE 1-13. Fat client configuration

Page 28: Oneworld_Concepts for Developers

J.D. Edwards OneWorld: A Developer's Guide

Because of the direct connect mode, message traffic is high, impacting network

bandwidth and application execution. Fat clients must be located on the same L4N

where the enterprise server is located to prevent overburdening the network, such

as when used with a WAN or dial-up network. Application execution is fast on a fat

client, hut too many users with fat clients on a LAN will degrade performance because

of all the message traffic generated.

N O T E

OneWorld applications that are configured for fat clients should useconnect processing only, because of the substantial amount of message trafficoccurring between the clients and servers.

Thin ClientThin clients are stripped-down versions of fat clients that are used by action users.

The bulk of application execution is off-loaded to a server, and the client only executes

logic that is related to presentation of the application on screen. As shown earlier in

Figure there are two types of thin clients that are distinguished by the type ofpartition mode they implement (distributed presentation and three-tier).

Configurations of the two thin-client solutions are shown in Figure 1-14.

The distributed presentation mode used on a thin client all application

execution onto the enterprise server. The difference benveen a OneWorld fat client and a

OneWorld thin client with a distributed presentation partitioning mode is that with the

latter, a smaller number of OneWorld applications are on the client. the client needs to execute an application that it does not have installed, the client will perform a

just-in-time installation of the application at the of the request.

One example of a three-tier system with a thin client is a web-based solution that

off-loads the bulk of application execution to a OneWorld web server, which is called

aJava Application Server JAS interprets information flowing to and from the

enterprise server and sends Java applet-enabled pages to the client.

N O T E

In Figure 1-14, the on a thin client is a stripped-downversion of the fat client in Figure 1-13. In contrast, the combinationof and thethin client in Figure 1-14 make up a single fat client,as in Figure 1-13.

Page 29: Oneworld_Concepts for Developers

Chapter 1: Essential Concepts for Developers

Distributed Client

Thinclient

Enterpriseserver

..........................................Webpageswith

Web Java Enterprisebrowser serverclient Server

..........................................Fat client

FIGURE 1-14. Thin-client configurations

For example, if a salesperson enters a sales order through the three-tier mode on a

thin client, the request can be passed to theJAS. TheJAS validates the client and any data

integrity checks. The enterpriseserver then receives the request from JAS, and enters the

sales order into the system. No special logic is required of the enterprise server for the

web-based sales order. so that server processes the order as if it came a fat client.

T I P

This three-tier implementation of a thin client requires developers tofat-client applications so that they operate witha web browser.Design Aid (FDA) can build and web-basedapplications.

Zero ClientZero clients are the leanest type. All application execution is on the server and the

display is exported to the zero clients, as shown in Figure A zero client requires

a monitor to display the information from any application, and a keyboard and mouse

for the user to provide input. Zero clients receive interface control messages that tell

Page 30: Oneworld_Concepts for Developers

J.D. Edwards A Developer's Guide

the monitor how to display information, as shown in Figure 1-15. There are two types

of zero clients: the web browser and Windows Terminal Server.

The web browser-based zero client requires no installed Oneworld-specific code.

This zero client's functionality is through a web browser. This client communicates

to the same web server that the thin client uses, but the zero client receives only web

pages with HTML control codes.

in Windows-based applications. Application development is focused on the.

development of web pages that are passed behveen the web browser anda web server.

Graphical Client

Fat client..........................................

display Applications

: Graphical Windows EnterpriseTerminal

Zero Client

Web

I : and data

Web Enterprise: Application :

Server..........................................Fat client

FIGURE 1-15. Zero-client configurations

Page 31: Oneworld_Concepts for Developers

Chapter 1: Essential OneWorld Concepts for Developers

The other type of zero client communicates with a Windows Terminal Server. Allapplication execution is performed on the Windows Terminal Server, and the

are exported to the client through interface control codes.

N O T E

The web browser-based zero client in Figure 1-15 is the web-based thin clientFigure 1-14, except the zero clientprocesses only web pages with

The graphical terminal-based zero client in Figure 15 iswith all the processing on the Terminal Sewer, and the display exported to

a graphics display.

Server-Side ConfigurationSeveral server-side configuration options are available in OneWorld, but they are not

as clearly defined as on the client side. Each server-side configuration option is not

mutually exclusive of the others. They can be combined in many ways to provide a

highly reliable and available corporate OneWorld system. The four server-side options

are discussed next.

N O T E

There no sewer-side application development in OneWorld. However, applications that are built in OneWorld can be mapped to execute on thesethrough the Object Configuration Manager application.

Multitier Architecture The most common architectures for operation of OneWorld are two tier and

three tier (see Figure and both can exist simultaneously on the same network

in OneWorld. The two-tier architecture is predominantly used by fat clients operating

in the direct connect processing mode, and the three-tier architecture is used by thin

and zero clients. For example, the network in Figure contains two-tier architecture

for fat clients, and three-tier architectures for thin and zero clients (web browsers and

GUI terminals).

Page 32: Oneworld_Concepts for Developers

J.D. Edwards A Developer's Guide

N O T E

the same definitions. Three-tier application partitioning is totally focused onapplications and how they are distributed among machines, whereas three-tierarchitecture is mostly focused on the system that supports the applications.

The reasons using two- and three-tier architectures will depend on the network

infrastructure. As shown in Table slower network connections such as dial-up

networks and require three-tier architecture. Faster networks such as

on the other hand, are best suited for two-tier architecture.

Hierarchical Sewer ConfigurationStrategic use of hierarchical configuration of servers localizes network traffic.Placing

servers for each department and node on a WAN contains most of the network traffic

to the LAN, instead of running it across the entire corporate network. The end results

are applications with high responsiveness and reduced network traffic.

Figure 1-5, the two LANs are connected by a WAN; each LAN contains a server.The hierarchical server configuration in Figure contains a remote server on LAN B

that synchronizes its content with the central server on LAN A. l f the company that

owns the network in Figure added another LAN, the LAN would have its own

server in order to limit message traffic across the WAN to necessary traffic only.

Data Replication Data replication synchronizes content among servers on a corporate network and is

nothing more than copying data from server to server. Data replication does, however,

require significant network bandwidth to keep all the servers synchronized, due to the

amount of data each server needs.

You can avoid saturating the WAN with network traffic required for data replication

by performing data replication periodically at specific times. a good idea to select anoff-peak time of WAN usage, such as midnight, to perform data replication. For example,

the network in Figure synchronizes its servers on LAN A and B at night to

leave network bandwidth available for users during the day.

Page 33: Oneworld_Concepts for Developers

Chapter 1: Essential OneWorld Concepts for Developers 35

TIP

that must be updated ois not used for data replication.The data inconsistency between servers

disrupt business operations when servers do not have up-to-date data.

High-Availability ClusteringFor mission-critical software and hardware operations, a single server will not do.

because is dependent on a single point of reliability. To ensure that

point failures don't exist in corporate mission-critical systems, you should cluster the

hardware and software. Clustering allows OneWorld servers to continue operating if

one server fails.

Typically, you use the enterprise server and JAS servers for clustering. You

need the enterprise server for high availability and reliability-especially for all of

the data and applications on the central enterprise server that supports the business's

CNC architecture. Without the CNC architecture operating properly. all OneWorld

operations will cease. You cluster the JAS servers to ensure that all electronic

storefronts and commerce applications are always available for business. Unavailable

JAS services for business on the Internet equate to lost revenues and opportunities.

Examining in a OneWorldEnvironmentAll clients and servers that operate in the OneWorld environment must he properly

defined and identified for use in the OneWorld environment. The Machine Master

and Detail tables and are used to define all clients and servers on the

network that are used for OneWorld operations.

The and tables provide detailed information for the CNC layer,

about the unit's location and type of computer. Some of the information includes the

machine platform, such as NT or name; primary user; and the unit's installedOneWorld software packages. You use the Deployment Locations application

to add and modify the information in the and tables.

Page 34: Oneworld_Concepts for Developers

J.D. Edwards OneWorld: A Developer's Guide

Here are the steps to use the Machine Identification application to findall servers and clients that are available to the OneWorld environment:

I . At the OneWorld Explorer, type in the Fast Path edit box to access theAdvanced Operations menu

2. Execute the Machine Identification application

3. The Work With Locations and Machines form (Figure 1-16) appears withnothing but the lnformation data item displayed in thewindow. To view all servers and client workstations that are in the OneWorldenvironment, click the Find button at the top of the application.

4. To view the details on each machine, highlight a machine and click the Selectbutton. The relevant information is displayed in the Revisions screen that islinked to the Machine Identification Detail table, as in Figure 1-17.

FIGURE 1-16. Work With Locations and Machines form of Machine Identification application

Page 35: Oneworld_Concepts for Developers

Chapter 1: Essential Concepts for Developers

FIGURE 1-17. Workstation Revisions form of Machine Identification application

OneWorld Development ToolsetOneWorld development toolset is a large set of utilities to any function

required by a development project. The toolset ranges from common tools that you use

to modify and build typical applications, to very specialized programs that perform a

single function, as importing data from outside OneWorld.

This section gives you a high-level of the entire development toolset in

OneWorld. With this you will be able to understand how the tools are used for a particular project.

Base Application Development ToolsAny attempt to develop a OneWorld application must start with the base application

development tools. Any OneWorld developer must know tools well to develop

or modify applications. The base application development tools are discussed next.

Page 36: Oneworld_Concepts for Developers

Edwards A Developer's Guide

N O T E

.,

time without writing a lot of code.

Data Dictionary (DD) The Data Dictionary integrates applications and databases by maintaining a central

repository for all data items used in OneWorld applications. The definition of a data

item determines the item's appearance on any application; the type of data entryvalidation it provides; and the column and row descriptions it uses. Each definition

also includes a glossary definition for field-sensitive help.

N O T E

You must define all fields in any or batch application in theData Dictionary. The Data contains the of every data item, andany application that uses a data item automatically inherits all of its

The Data Dictionary is an Activator for because of the dictionary's

ability to react dynamically to changes in data item definitions. Any change made to

a data item is immediately displayed across all clients. Data Dictionary is covered

in more detail in Chapter 11.

Table Design Aid (TDA) ToolYou use the Table Design Aid tool to create or modify tables for the applications you

build. You add data items to the tables through TDA and then generate the table to a

particular database. TDA also allows you to create new keys for a table as needed, for

performance and increased search capability. TDA is explained in Chapter 11.

N O T E

The most powerful functionality of TDA is ability to assign triggers to tableevents. You use triggers for data integrity and validation when ain a table. You write triggers using Table Event Rules

Page 37: Oneworld_Concepts for Developers

Chapter 1: Essential OneWorld Concepts for Developers

Business View Design Aid ToolTheBusiness View Design Aid tool allows developers to create and modify views of

tables and table joins. Business views provide a consistenr means to access tables from

in OneWorld, whether from interactive or batch applications. The BDA

provides four types of joins: simple, left, right, and outer. For any join, a maximum

of five tables can be combined. The BDA is fully explored in Chapter 11

N O T E

is an Activator that generates the SQL statements based on the table and columns defined for a particular business view. You use business views to ..

the required data items in application, which ensures that onlydata is across the network.

Form Design Aid (FDA) ToolYou use the Form Design Aid tool to create and interactive OneWorld

applications. The FDA, too, is explained in Chapter 5. This tool directly interacts with

the database tables through business views assigned to forms within the application

you create. All of the elements on the form come from the Data Dictionary, way of

the data items defined in the business view, to enforce consistency of Data Dictionary

items from the database to the interactive applications.

Some unique features of Oneworld-based forms are query-by-example

bar, and versions. Grid-based forms offer a powerful means of searching database

tables, using the query-by-example bar built at the top of each grid. Users who haveno knowledge of SQL can type criteria into the QBE bar, and a moment later the grid

contains the results of a search on those criteria.

Users can create many different looks for a form by customizing it and storing it

as a version. The user can change the values for the processing option of an application,

and the logic can be put in place to adjust the application's behavior based on those

values. To ensure that the user's changes will be available next time, and that any

previous changes won't be deleted, the newly modified form can be stored as a versionfor all OneWorld users to execute.

Page 38: Oneworld_Concepts for Developers

Edwards OneWorld: A Developer's Guide

D E F I N I T I O N

Processing options are parameters input to an interactive or batch a For example, the Address Book application in AddressBook module provides a processing option to determine what types ofaddresses (employees, customers, or suppliers) are viewed in the application.

Report Design Aid (RDA) ToolYou use the Report Design Aid tool to build and maintain two types of report applications: Reports, which provide current information on the contents of a database, are designed tobe flexible in aiding OneWorld users. The other type of report is called a batch-aused to database tables. You can also use to administer and automate tasks within OneWorld,

RDA provides a graphical environment for report creation and modificationallows you to see the reports as you construct them. Like FDA. RDA lets you customizeexisting forms for your own needs without overwriting existing reports. RDA is

discussed in Chapter 6.

N O T E

,

functionality embedded into a report.

Advanced Development ToolsFor experienced OneWorld developers, advanced development tools provide features that allow the use of sophisticated techniques. With the advanced development toolsyou can gain access to the lower layers of OneWorld and modify the OneWorld environment enhance application execution and performance. The advanceddevelopment tools are discussed next.

Menu Design ToolThe menu in OneWorld Explorer is the starting point for all OneWorld users anddevelopers, because application execution starts at the menu. To access applicationsin OneWorld, the applications must be available to the users through a menu item in

Page 39: Oneworld_Concepts for Developers

Chapter 1: Essential OneWorld Concepts for Developers

OneWorld Explorer. A good, logical menu layout enable users to quickly find theapplication they need to execute.

The Menu Design tool implements a menu layout for OneWorld, and is covered

in Chapter Developers design a menu layout for the applications develop,

and use the Design tool to implement it in OneWorld. If modification to the

menu is needed later, a system administrator or developer can do this by returningto the Menu Design tool.

T I P

The time you spend on designinga menu layout will go far to users can easily find the applications you build for them. If a user find anapplication, then your effort to build it wasted.

Web Generation Facility The primary benefit of the Web Generation Facility is that it gives you a single

application for performing development and maintenance of applications for use on

and web-based clients. The Web Generation Facility helps you build andmaintain any application using the FDA tool, and then easily generate it to a

application based on one of two types of web pages: Java applets, or HTML.

pages based o n HTML applets provide the thin-client solution,

covered earlier in chapter, for OneWorld. The thin-client solution is

necessary when communication among clients and servers is o n a network

connection, or when the client machine's user requires full computation power at the workstation

Web pages based o n HTML provide one of two zero-client solutions. The

zero-client solution is needed in situations in which a kiosk for public access is

required, or users need only to perform information entry and lookup for their

jobs. A useful place for a kiosk in any company, for example, is in the humanresources department, and in a situation in which employees need easy access

to their information for viewing and editing purposes.

Page 40: Oneworld_Concepts for Developers

Edwards OneWorld: A Developer's Guide

Object Configuration ManagerThe Object Configuration Manager discussed in Chapter 3, is the heart of

the CNC architecture. OCM stores the network location for all objects that execute

in OneWorld; it is the mechanism that gives the CNC architecture its dynamic ability

to change object location at runtime.

OCM maps the application's execution location, whether it'sa server or client.

With OCM, you no longer have to spend time defining the locations for all objects

in architectures. OCM helps you define, at runtime, the location of all

objects in any OneWorld environment. This flexibility lets you store or execute objects

on any client or server machine that exists on the corporate network.

N O T E

The OCM is a Technology Activator that provides dynamic changes to themappingof data and applications the network. With the OCM, you getthe to select a new deployment strategy without impacting thecode for an application.

Security ManagerThe Security Manager provides user security to prevent users from accessing

applications and data that they are not allowed to view or execute. The Security

Manager (Chapter 3) controls user access by individuals and groups of users in

OneWorld. Developers don't need to spend time on building discrete applications

meant for a specific group of users, because the Security Manager provides an efficient

way to control user access to applications and data. Security measures can be placed to limit users from executing an application, specific functions within it,

accessing particular table columns or rows, and accessing database security.

Page 41: Oneworld_Concepts for Developers

Chapter Essential OneWorld Concepts for Developers

Workflow ManagementPaper-based business processes are slow in reacting to business processes thatare inefficient. Businesses that require paper as the medium for communication lose sales to their competitors due to the length of the paper-based business process. Toautomate paper-based processes, OneWorld provides the Workflow Management development tool.

Consider, for example, the typical business process used by most companieswhen a customer exceeds their credit limit. The business process defines all the stepsrequired to either increase the customer's credit limit or reject the customer's order.

You use Workflow Management to automate business processes like this one, toreduce the cycle time of the process.

You build workflow processes by sequencing applications from start to finish.Each step in the sequence is an application that executes a required step in thebusiness process. Workflow processes require very little application coding, and you can easily change them at any time as your business changes its internal operations.

N O T E

One of key tools in architecture is which is an Activatoritself. Many of the applications, such as Composer, are built using .. .

,w.

AutoPilotAutoPilot, is a scripting tool that automates quality assurance testing andautomates applications that require repetitive data A major benefit of Autopilotis that the scripts it creates are small and compact, because all of the logic for datavalidation and program execution is embedded into the application being manipulated

AutoPilot increases the productivity of the advanced developer. AutoPilot can take the mundane verification of proper program execution out of the hands of people,which results in better QA testing. Also, many of the development and administrativetasks that you perform to build and maintain OneWorld applications can easily be automated through Autopilot to save development and data entry time.

Page 42: Oneworld_Concepts for Developers

Edwards OneWorld: A Developer's Guide

Interoperability and Integration ToolsAny business that requires interoperability and integration of OneWorld with any

other ERP systems must use the tools discussed in the following sections, and fully

covered in Part These tools provide all the applications and interfaces toimport and export data to and from OneWorld

Interoperability Tables and Processes tahles, which are called Z tables, and processes, which are called Z

processes, are special tables and hatch applications inside OneWorld that allow you to

import data from outside OneWorld. Z tables are used for temporar). storage of darato and from systems. Z processes verify accuracy of the data in the Z

tables, and then insert the valid data into the main OneWorld environment. When the

Z process is finished, it provides a status for ever). record in the Z tahle it has processed.

For example, the first step in processing data for the General Ledger from

a foreign data source is to import the data into the GL Z table When

importing is complete, the GL Z process creates a report that displays thestatus of each record in the GL Z table. The status indicates whether the GL Z process

successfully processed each record. The GL Z process inserts all of the valid records it

processes as an unposted journal entry into the account ledger table The new

journal entries get posted to the general ledger when their batch is executed.

N O T E

The OneWorld fable-naming convention is whnumber, is the object number within the module. For example, theGeneral Ledgermodulenumber is 09, and the Journal table objectname is

Table Conversion ToolThe Table Conversion tool, covered in Chapter 9, provides high-speed manipulation of

data in OneWorld with minimal application development effort.The tool manipulates

Page 43: Oneworld_Concepts for Developers

Chapter 1: Essential Concepts for Developers

any OneWorld table, or any external table supported by OneWorld. Data conversion,table replication, and batch record deletion are some of the manipulations performed

by this tool.

The Table Conversion tool is the primary development tool for imparting and

exporting data in OneWorld. most cases, imported data will come from files that

store data, and you use the Table Conversion tool to a batch application

imports the data from the file into one of the Z tables (for instance, the GL Z table

. . --

A foreigndata source is

text files, an Access database, and an Oracle database.

Open Data Access (ODA)Open Data Access is a read-only ODBC driver that you use to access OneWorld data

stored in an Access database. ODA converts column names, data and security

to present the data properly the outside world. ODA offers a quick and reliable

method of exporting data to applications, with low programming

overhead.

COM GeneratorThe COM Generator tool gives you access to OneWorld business functions through

interprocess communication standard, the Component Object Model

COM is used in OneWorld to provide a wrapper around a set of OneWorld

objects. letting a application execute the OneWorld objects in the

COM wrapper.

The COM generator produces fully functional COM servers that can be exported

to the outside world. The user executing the COM server code must have a OneWorld License located on the machine, and must log onto the OneWorld environment during

execution of the COM server.

Page 44: Oneworld_Concepts for Developers

Know Your Servers!Probably the most technical for new developers to understand the number of servers needed by a company for suppotting OneWorld,and the each server The schematic shown 1-18

that of a hypothetical corporate OneWorld server that containstype of server supported by OneWorld.

EnThe center of the production is the becauseIS the area for corporate data and All other servers in theProduction environment the server for data and

The Production the environment used byemployees, except lor developers and programmers, for daily tasks.The

Windows

Web

FIGURE Example of a OneWorld a company

Page 45: Oneworld_Concepts for Developers

is physically separated from the Developmentand Testing environments

that any enhancements do not accidentally enter the Production until they are ready.

The enterpnse server also enforces corporate-wide sign-on security. When an logs onto OneWorld, the enterprise server verifies the user's name andIf the employee passes sign-on security, then the OneWorld Explorer is

displayed. If the employee fails sign-on security, a dialog box appears and informs

the user.The enterprise server has minimum requirements for hard disk space, as shown in

Table

N O T E .for the Production environment. Experiencehas shown thaf

the minimum required disk space in case is a good rule of thumb.

For reliability and availability of the colporate entelprise server, the entelprise server in Figure1-18 is configured as a cluster. The cluster of servers or the enterprise

requires more financial overhead and initial investment forsupport, but it provides the mission-critical reliability and availability required by many colporations

their systems.

The deployment server is the one on which OneWorld is installed and configured. Theprocess includes setting up the Machine Identification tables (see the

Deployment Server EnterpriseServer Database Orade

NA

TABLE1-2. Disk Space for OneWorld

Page 46: Oneworld_Concepts for Developers

section earlier in this chapter) to identify all computers on the network. Then the deployment defines the CNC for the particular OneWorld installation. At the end of the installation process, the deploymentbuilds Full software for installation on all client workstations.

As business applications are built and modified, you need to periodicupdates of software packages on all computers in the OneWorld environment. Thedeployment server's primary task after installation is to export partial-update software packages to all servers and software packages to client workstations.

are updated at the same time. massive amounts time debugging that do not because are not . ,

on the server and

and occur the deploymenthas two to help m the OneWorldOne of thesetasks is to enforce license for OneWorld. License security ensures that you never the number of seats or users ate to onto it, and the number of are controlled by how many are allowed to sign ontoat one time. As the sewer enforces user security, the deployment server thatsufficient licenses foran employee to a OneWorld

The other for the deployment server in OneWorldto provide one location for all the source code. As

developers and create objects for their the code for each resides on the deployment server.

for your and deployment licensein and

Due to the number of must store, servermore hard disk space than the sewer (see Table The deployment server

Page 47: Oneworld_Concepts for Developers

builds the packages for all servers and clients on the network, and stores each

package on its bard drive. For each environment, there can be several

packages built in that correspond only to that environment. The benefit of this

approach is that you can maintain the applications for a single environment without

about affecting the other environments. The main drawback of this approach

is that you can saturate all available disk space keeping old packages on the

deployment server.

Probably the most confusing thing about the deployment and enterprise servers

is the various configurations that each one can They each can have their own

hierarchical tier architecture because each one operates independently of the other.

The enterprise server is strictly for production usage, and the server is

for version control, security, and packaging.

For example, a company may have ten enterprise servers configured in a very

complex, hierarchical fashion, and only one deployment server. ratio of enterprise

to deployment servers is possible because the demand for the deployment server is

only during package installation and upgrades--sporadic and transient operations during which performance is not essential.

Development ServerA development server is an enterprise server that has one environment installed on it

and used for development purposes only. The advantage to a development server is

that your application developers construct applications on a different server, which

physically isolates the development and production environments to prevent any conflicts. The downside to this approach is that it requires more hardware and software

to support the development server. Minimum requirements for the development server

are comparable to the amounts presented in Table 1-2 for the deployment server.

Windows Terminal ServerAs stated earlier, the Windows Terminal Server provides the functionality for graphical

terminal-based zero clients, which interact with the enterprise server through the

Server. The Terminal Server requires NT Server of RAM per

user, and of hard drive space per user. The client can be a 486 CPU

with minimal hardware, because all of the processing is performed on the server.

Page 48: Oneworld_Concepts for Developers

WebThe minimum requirements for the server (Java Applicationand the client are shown in Table The web server can be arranged in a cluster, as shown in the earlier schematic, to create a typical web that provides high availability for e-commerce customers. The most important factor to keep in mindwhen installing a corporate web server or web farm is to place the servers on theopposite side of the from the enterprise server. The last thmg a and systems wants to deal with is an attack on the corporate enterprise server due to the loss of protection from the web server.

The server is located across the WAN from the enterprise server and isused to localize unnecessary network and keep it from consuming all the WAN'

Ibandwidth. The department server can be set up in a or two-tier architecture, The one-tier architecture for the server is a simple file Server, a

, ,

that replicated tables the enterprise server to provide read-only privileges for its client. The two-tier architecture is a full enterprise provides more functionality to its clients than just a file server. The two-tier

Machine RAM Hard

WT Server,200MHz 4.0

later,

Any 4.01 or166 MHz supports 1.1 40

TABLE Web Server and Client Requirements

Page 49: Oneworld_Concepts for Developers

more expensive, but i t cuts down on network update traffic because theone-tier architecture department server can't any data to tables.

Although fat clients are not servers, they are machines that power user and developer interaction with OneWorld. We added fat clients to the list of OneWorldserversbecause the sizing requirements for fat clients are quite large. At mostOneWorld installations, the number of fat clients are factored into the total cost of ownership because their cost can drive up the expense of installing andmaintaining OneWorld.

Fat clients are Windows-based machines that are used as clients in OneWorld.The advantage of fat clients is that users have the full capabilities of the computer and all installed software applications that your company uses. However, the costsof providing all employees in your company a fat client is expensive, because theminimum requirements for it, shown in Table 1-4, are expensive.

at least doubled to accommodate of other development

and test

RAM Hard Drive Operating Required

4.0 Access97, Explorer4.01, and120 MHz drivers enterprise server database

TABLE 1-4. Minimum Fat Client Required Configuration

Page 50: Oneworld_Concepts for Developers

Edwards OneWorld: A Developer's Guide

PuttingIt All TogetherOneWorld represents a paradigm shift from other modem ERP systems because of

its CNC architecture. The CNC architecture allows the total integration and operation

of the network and information infrastructures to optimize bit of computingresources for a corporation. The CNC architecture leverages many technologies, such

as state-of-the-art and legacy, by allowing them to mutually exist. The end result of the

CNC paradigm is that you will have applications that are no longer dependent on the

underlying technology.

Knowledge of the entire OneWorld development toolset is required for you to

develop applications efficiently and with confidence. You may not use each tool on a

daily basis, but forcing one development tool to build an application when another toolis better suited for the job is a waste of your time and resources. Spend the time and

effort to get familiar with the entire OneWorld development toolset-in the long run,

you will develop superior applications.

The rest of this book tells you how application development occurs in OneWorld,

and how you can get the from the development toolset. The parts of the book

are based on the experience level of the developer. As you progress throughout your OneWorld application development career, you will find all the and chapters in

this book to be of great value for development projects to which you are assigned.

Page 51: Oneworld_Concepts for Developers

DeveloperQuickTips

OneWorld Modules (UDC =

Frequently Used Fast Path Commands=

Frequently Used Menus

Data Dictionary Types

Data Dictionary Edit Codes =

Object Naming Conventions

Frequently Used Business Functions

Audit Information Fields

Frequently Used Business Views andTheir Tables

Commonly Used OneWorld Acronyms

Page 52: Oneworld_Concepts for Developers

ModulesNumber Module

Foundation Systems

AddressBook

Electronic Mail

Accounts

OneWorldAccounts Receivable

Accounts Payable

Base Human Resource Management and Time Accounting

OneWorldHuman Resource Management and Time

Payroll

Human Resources

General Accounting

FinancialReporting

Multi-Currency

Fixed Assets

Equipment and Plant Management

Modeling, Planning, and Budgeting

Properly Management

Product Data Management

Shop Floor Control

Configuration Management

Requirements Planning

Enterprise Facility Planning

Forecasting

Quality Management

Agreement Management

Advanced Stock Valuation

Inventory Management

Sales Order Processing

Purchase Order Processing

Page 53: Oneworld_Concepts for Developers

Number

44

45

46

47

48

49

51

52

53

5 5 5 9

71

72

74

75

76

81

82

83

98

H93

H94

H96

H97

Contract Management

AdvancedPricing

Warehouse Management

ElectronicData Interchange

WorkOrder Processing

ECS Load and Delivery

Job Cost Accounting

Job Cost Billing

Change Management

for Clients

Resewed for J.D. Edwards Custom

Applications

EMEA Localization

ASEAN Localization

Latin America Localization

Canadian Payroll

Business Intelligence

DREAM Writer

World Writer

Management

Technicai

Design Tools

GraphicalUser Interactive Engine and Object Librarian

Database and Communications

UniversalBatch Engine

Technical Resources and Applications

Deployment

Benchmarkingand Performance

Internet

Product Version Control

Page 54: Oneworld_Concepts for Developers

Frequently Used Fast Path

Command

1K

3K

4K

AAI

BV

DD

DEBUG

EM

MENUS

NN

OCM

OPM

PATH

PKG

PM

PO

RDA

SARS

UDC

USERS

UTB

XREF

Description

Address Book constants

Accounts Receivable constants

Accounts Payable constants

General Accounting constants

Automatic Accounting Instructions

Batch Versions

Data Dictionary

Debug

EmployeeQueue Manager

Interactive Versions

Menus

Next numbers

Object Configuration Manager

Object Librarian

Path Code Master

Environments

Packages

Promotion Manager

ProcessingOptions

Report Design Aid application

SAR

User-Defined Codes

User Profile revisions

Universal Table Browser

Cross-Reference

Page 55: Oneworld_Concepts for Developers

Used MenusMenu Object Name

Application Development Tools

System Administration Tools

Packaging Deployment Tools

Object Management (Promotion Manager)

System InstallationTools

Internet Tools

Application Documentation Tools

Cross-Application Development Tools

Analysis &ModelingTools

Interactive Development Tools

Batch Development Tools

Data-Modeling Programs

Data Dictionary Types =Code

1

2

7

9

11

15

17

18

20

Description

Character

String

Identifier (ID)

Numeric

Date

Integer

Character (BLOB)

Binary (BLOB)

Variable string

Page 56: Oneworld_Concepts for Developers

Data Dictionary CodesCode

A

C

J

K

L

M

N

0

P

sT

U

1

2

3

4

Commas

Yes

Yes

No

No

Yes

Yes

No

No

Yes

Yes

No

Yes

Yes

No

Yes

Yes

No

No

Zero Balance

No

No

No

Ye5

No

Yes

No

Yes

Yes

No

Yes

No

Yes

No

Yes

No

Negative Amount Notations

CR

CR

CR

CR

Trailing minus sign

Trailing minus sign

Trailing minus sign

Trailing minus sign

Preceding minus sign

Preceding minus sign

Preceding minus sign

Preceding minus sign

>

>

>

No notation

No notation

No notation

No notation

Object Naming ConventionsNaming Convention

19 characters

Object Type

Data Dictionary

Tables

Indices

Business views

Applications

Event Rule variables

NER-based business functions

Page 57: Oneworld_Concepts for Developers

Naming Convention Object Type

C-based business functions

Data structures

Media object data structures

Processing option data structures

Reports

Data item NameCharactersof the

hh= Hungarian notation for data typeppp Auto-assignedscope prefix, such as a formor event

SystemNext number

Programmer-suppliedname

Frequently Used FunctionsBusiness Function Object Name

Calculate currency conversion

Get exchange rate

Convert math numeric to string

Convert character to math numeric

Get company currency code

Convert integer to math numeric

Convert string to math numeric

Convert string to JDEDate

Write to

Get decimal trigger by company and currency code

Convert CR and LR to hexadecimal

Convert math numeric to integer

Convert locai time to UTC

Convert UTC to time

Get audit information

Convert JDEDate to Julian date

Convert Juiian date to JDEDate

Convert JDEDate to

to

Page 58: Oneworld_Concepts for Developers

Business Function Object Name Description

BDDVAL Data Dictionary validation

Convert string to math numeric

M and debug

Get number

Audit InformationFieldsData Name

USER

UPMJ

UPMT

JOBN

Description

User

Date updated

Time last updated

Workstation ID

Program ID

Frequently Used Business Viewsand Their Tables

Business ViewModule Business View Title Object Name

Address Book Address Book

Financial AIR Detail Reports

AIR Account Status Summary

AIR CollectionManager

Detail Reports

Account Balances

Account Ledger

Business Units and Accounts

Fixed Assets

Cost Analyzer Balances

Human Employee MasterResources

Distribution Sales Order Detail

P

v t o t t

Tables Defined in theBusiness View

5

Page 59: Oneworld_Concepts for Developers

Module Business View Title

Order Header and Detaii

Shipment Step

Purchase Order Header

Purchase Order Detaii

Purchase Order Receiver

inventory Master, Branch, Location

item Location, Lot Join

Cost, item Master Join

Inventory Journal

item Master, Branch

Manufacturing Equipment Schedule

Equipment Orders

Work Center Master Report

of Material Report

Routing Master Report

Order Variances

Work Order Master

Manufacturing Work Order Header

Transportation Shipment Step

Load Legs

Freight Audit History

Warehouse Location Driver Processing

item Profiles

item Measure Definition

Location Detaii

WarehouseSuggestions

Management Financiai Reponing Reporting

Financial Reponing lor 52-PeriodAccounting

Cost Management System Reporting

Date Financiai Report

Business ViewObject Name

G

AJ

C

A

Tables theBusiness

.

.

.

,..

Page 60: Oneworld_Concepts for Developers

Commonly Used AcronymsAcronym

APPL

BDA

BF or BSFN

CRP

DD

DLL

DS or DSTR

ER

FDA

NER

OCM

PODA

PROCOPTS

QBE

RDA

SAR

SPECS

TAM

TBLE

TC

TDA

TER

UBE

WF

Application

Business View Aid

Business lunction

Business view

Conference Room Pilot

Data Dictionary

Dynamic link library

Data structure

Event Rule

Forms Design Aid

Named Event Rules

Object Configuration Manager

Object Library

Processing Option Design Aid

Processing options

Query By Example

Report Design Aid

Action Request

Specifications

Table Access Method

Table

Table Conversion

Table Design Aid

Table Event Rules

Universal Batch Engine (reports)

Workflow

Page 61: Oneworld_Concepts for Developers

of InteractiveApplication

Properties

by Control

Properties

Page 62: Oneworld_Concepts for Developers
Page 63: Oneworld_Concepts for Developers

Form Controi (FC)

Form lntermnnect

Grid Column

Grid

Hyper Controi (HC)

Processing Option (PO)

Column

System Literal (SL)

System Variables

Tab Page (TP)

Search!Select

F i r l Header Headerlesa inspect Detail Detail

Events by ControlAvailable Forms

Browse

Control Events

Forms Initialized 1

Dialog 2Is Initialized

Clear Screen Beiore Add

Clear Screen Add

Record 3Is Fetched

Write Grid 4Line

Write Grid 5

Last Grid Record 6Has Bean Read

Add Recordto

Addto DB

ContirmatlonChild Message

Search! F i r l Header HeaderlessSelect Detail Child Message

Page 64: Oneworld_Concepts for Developers
Page 65: Oneworld_Concepts for Developers
Page 66: Oneworld_Concepts for Developers
Page 67: Oneworld_Concepts for Developers

(Find)

Hyperltem(Cancel)

Hyperitern

HyperitemDefined)

Hyperitem(Delete)

Hyperitern

Clicked

Post Clicked

Button Clicked

Post Button Clicked

Button Clicked

Post Button Clicked

Button Clicked

Post Button Clicked

Button Clicked

Post Button Clicked

Clicked

Post Button Clicked

Button Clicked

Post Button Clicked

Available

Fix! HeaderSelect Detail Detail Message

Page 68: Oneworld_Concepts for Developers
Page 69: Oneworld_Concepts for Developers

of Propertiesfor Level-One SectionsLevel-one sections are sections in batch A t least one

level-one section mus t exist in a batch in order for i t t o

Components Available for Use by Sections

Processing Options

Report Interconnect Data Structure

Assigneda Business View

Data Selection

Data Sequencing

SubsectionJoin

Fields

Transaction Processing

Available

Report

Table

Business Function

Section Features and Functionality

Free Form Layout

Column Style Layout

Used as a Section

Used as a Subsection Join Section

Used as a Level Break Header

Used as a LevelBreak

Able to Format Headers and Footers

Implicit Totaling on Break

Auto-Generationof Grand

Data Selection at the Column Level

Auto-Population of Descriptions

DrillDown Capability

Group Columnar Tabular

Page 70: Oneworld_Concepts for Developers

Use by Sections

(RI)

(RV)

(SV)

of PropertiesLevel-Two Sections

Level-two sections are dependent sections in batch applications. At least one Level-onesection must exist in a hatch application in order for a level-two section to he used inthe application.

Components Available for Use by Sections

Processing Options

Report interconnect Data Structure

Transaction Processing

Interconnects

Report lnterconnect

Table

Business Function

Runtime Data Structures

Business View

Constant (CO)

Processing Option (PO)

Repolt Constant (RC)

Report Interconnect (RI)

Section (RS)

ReportHeader

PageHeader

PageFooter

ReportFooter

Level-Break Level-BreakHeader

Page 71: Oneworld_Concepts for Developers

Components Available Report Page Page Report Level-Break Level-Breakfor Use by Sections Header Header Footer Footer Header

Variable (RV)

System (SL)

System Variables (SV)

Summary of Events for Level-One SectionsThe following tahle provides you with all of available for use in level-one

sections and their components. The numeric values columns represent

the execution flow of the events for the section Universal Batch Engine.

Object Events

Common Refresh Section

InitializeSection

AdvanceSection

Do Section

Suspend Section

End Section

Clear Space

initialize Break Section

End Break Seclion

lnitializeLevel Break Section

End LevelBreakFooter Section

Initialize LevelBreakHeader Section

Sections

Group Columnar Tabular

End Level Break Header Section

Last Object Printed 5 5 6

Before Level Break 3 3 J

Do Tabular Break 4

Do Balance Auditor

Constant Initialize Constant

End Constant

Page 72: Oneworld_Concepts for Developers

Level-One Sections

Object Events

Suspend Constant

Skip Constant

Do Constant

Do Column Heading

Variable Initialize Variable

End Variable

Suspend Variable

Skip Variable

Do Variable

Column Inclusion

lnitialize Column

End Column

Group Columnar Tabular

3

Summary of Events for Level-Two SectionsThe following table provides you with all of the events available for use in level-two

sections and their supporting components. The numeric values in the columns represent

the execution of the events for the section by the Universal Batch Engine.

Level-Two Sections

Report Page Page Report Level-Break Level-BreakObject Events Header Header Footer Footer Header Footer

Common Refresh Section

lnitialize Section

Advance Section

Do Section

Suspend Section

End Section

Clear Space

lnitializeBreakSection

End Break Section

Level Break

Page 73: Oneworld_Concepts for Developers

Level-Two

Report Page Page Report Level-Break Level-BreakObject Events Header Header Footer Footer Header

End Level BreekFooter Section

lnitializeLevel BreakHeader Section

End Level BreekHeader Section

Last ObjectPrinted

Before Level Break

Do Tabular Break

Do Balance Auditor

Header lnitialize ReportHeader

lnitialize Page Header

End Page Header

End Report Header

Footer lnitialize ReportFooter

lnitialize Page Footer

End Report Footer

Constant lnitialize Constant

End Constant

Suspend Constant

Skip Constant

Do Constant

Do Column Heading

Variable lnitialize Variable

End Variable

Suspend Variable

Page 74: Oneworld_Concepts for Developers

Level-Two

Report Page Page ReportObject Events Header Header Footer Footer

Skip Variable

Do Variable

Column Inclusion

Initialize Column

End Column

Smart FieldsModule Description

52 Period Reporting Account Balance

52 Period Reporting Period Activity

Account Balance

Approved Budget

Create Journal Entry

Current Semester

Final Budget

First Quarter

Fourth Quarter

Inception to Date Through Current Period

Inception to Date Year End

Period Activity

Prior Semester to Date

Prior Year End Balance

Prior Year End Net Postings

Prior Year's Account Balance

Prior to Current Period

Requested Budget

Second Quarter

Third Quarter

Header

Data

WKRPTAB

WKRPTPA

Page 75: Oneworld_Concepts for Developers

Enterprise-Wide

Profitability

Fixed Assets

Description

Year to Date ThroughCurrent Period

Year to Date Through Year End

Cost Analyzer Account Balance

Cost Analyzer Period Activity

Net Balance Account Balance

Net Balance Period Activity

Account Balance

Annual Depreciation

Asset AdditionsCurrent Year

Computation Method - ITD or Rem

Create Fixed Asset Journal Entry

Date - Depreciation Started

Depreciation

Depreciation Method

Disposal Cost

First Quarter

Fourth Quarter

Inception to Date Through Current Period

Inception to Date Year End

Life Months

Method Percent

Period Activity

Prior Year End Balance Forward

Prior Year End Net Postings

Prior Year's Account Balance

Prior Year's Year to Date to Current Period

Retirement Amount

Salvage Value

Schedule 9

Second Quarter

Data

CMSRPTAB

CMSRPTPA

CMSNBAB

CMSNBPA

ASSETAB

ASSETCM

ASSETJE

ASSETDD

ASSETDC

ASSETLM

ASSETMP

ASSETPB

ASSETPY

ASSETPC

ASSETPR

ASSETRT

ASSETSV

ASSETSN

Page 76: Oneworld_Concepts for Developers

Module

Third Quarter

Transfer In Amount

Transfer Out Amount

Year to Date Through Current Period

Year to Date Through Year End

Work Order invoice Summary Alpha

Work Order Master Alpha

Work Order Master Numeric

Data

ASSETYC

ASSETYY

WRKORDA

WRKORDN

Page 77: Oneworld_Concepts for Developers
Page 78: Oneworld_Concepts for Developers

Model

Master Business Function (MBF)

Transaction name

or2 tables

Revision

lnboundprocessor

Flat-file version for inboundprocessor

Flat-filecross-referencetable

Log changeslogic for MBF

Retrieval API

Purge processor

Inbound Inbound Outbound Outbound Inbound Batch Synchronous Batch

of Transactions

Address Book

Customer

Supplier

invoice

Inbound Outbound Purge

Process MBF

WDEWM

Page 79: Oneworld_Concepts for Developers

an

,6

a.

am

m

aa

N

NO

.N

N-

,.

Page 80: Oneworld_Concepts for Developers
Page 81: Oneworld_Concepts for Developers
Page 82: Oneworld_Concepts for Developers

Group System Function

Control Clear control error

Disable control

Disable tab page

control

Enable tab page

Go to URL

Hide control

Hide tab page

Set control error

Set text

Set current tab page

Set tab page text

Set Data Dictionary item

Set Data Dictionary overrides

Set edit control color

Set edit control font

Set status bar text

Show control

Was value entered

Clear grid

Clear grid cell error

Clear column

Clear selection

Clear sequencing

Copy grid row to grid buffer

Delete grid row

Disable grid

Enable grid

Get grid row

Get max grid rows

Get selected grid row count

Get selected grid row number

Grid

Design Tool

FDA RDA NER TER TC

Page 83: Oneworld_Concepts for Developers

Group System Function

Hide column

Hide grid row

Insert grid buffer row

Insert grid

Set Data item

Data Dictionary overrides

Set grid cell error

Set grid color

grid column heading

Set grid font

Set grid row

Set lower limit

Set column compare style

Set selection

Set sequencing

Show grid column

Show grid row

Suppress

grid bufferrow

grid cell value enteredParent Child Clear grid buffer

Clear

Contract tree node

Copy grid row to grid buffer

Delete all tree nodes

Delete grid row

Expand tree node

Get grid row

Gel grid rows

Get node level

selected row count

number

Application Design Tool

RDA NER TER TC

Page 84: Oneworld_Concepts for Developers

Tree

General

Group System Function

Get tree node handle

Hide grid column

Insert grid buffer row

Set Data Dictionary item

Set Data Dictionary overrides

Set drag cursor

Set grid color

Set grid column heading

Set grid lont

Set grid row

Set tree

Set tree node

Set tree node handle

Show grid column

Suppress fetch on node expand

Suppress

Update grid buffer row

Write custom

Contract tree node

Delete grid row

Expand tree node

Get node information

Gel node level

Get tree node handle

tree node

Set scheme

Set node

Set node information

Set pre-expand mode

Set tree node handle

Cancel user transaction

custom data fetch

Application Design Tool

FDA RDA NER TER TC

J

Page 85: Oneworld_Concepts for Developers

System Function

Copy currency information

Press

Run executable

Set control locus

Set form title

Stop processing

Suppress add

Suppress default visual assist form

Suppress delete

Suppress update

Was form record fetched?

Check data

Clear user selection

Clear user sequence

Initialize local printer name

Log message

Set language preference

Set display

Set selectionappend flag

Set sequence append flag

Set error

Set user selection

Set user sequence

Stop batch processing

Stop event processing

Use data selectionand sequencingfrom a section

Delete current input row

Stop conversion processing

Stop event processing

Application Design Tool

FDA RDA NER TER TC

Table copy row

mwmw

Page 86: Oneworld_Concepts for Developers

Group Function

Messaging Delete message

Forward message

Send message

Template substitution

Update messageComplete

Get activity instance for key

Get process instance attribute

instance for key

Start composerprocess

Start process

Update process instance attribute

Update process instance attribute single Administration Change activity action

Change activity status

Copy activity definition

Delete process GUI file

Display process

Higher level override

Process activity definition

Resume process

Suspend process

Terminate process

Validate process

Workflowactivity commitment

Telephony Answer call

Conference

Drop call

Extend call

Get agent state

Get call data

call handle

Application Design Tool

FDA RDA NER TER TC

J

Page 87: Oneworld_Concepts for Developers

Group

Object

Sectlon

System Function

Get cell handle count

Get call number

Hold call

Log agent in

Log agent

Park call

call

Reject call

Retrieve call

Set agent state

Transfer

Media Object Functions item

Hide the viewer icon panel

Lock the viewer splitter bar

Set form indicator

Set grid text indicator

web browser

Combo Box Functions Select item

Get description

Text Control Functions Add segment

Get last clicked segment

Get segment information

Remove segment

Update segment

Hide object

Set object display scale

Show object

Do custom section

Do total

section

running

Application

FDA RDA NER TER TC

Page 88: Oneworld_Concepts for Developers

Group System Function

Set section display scale

Show section

Stop section processing

Suppress section write

Zero running total

Media objects Media object structures

Transaction processing Begin transaction

Commit transaction

Roll back transaction

Copy table Copy table data source

Copy table environment

Application Design Tool

FDA RDA NER TER TC

J

J

J