JD Edwards Enterpriseone Tools: Form Design Aid Guide Release 9.1.X
JD Edwards Enterpriseone Tools: Form Design Aid Guide Release 9.1.X
JD Edwards Enterpriseone Tools: Form Design Aid Guide Release 9.1.X
December 2014
Describes how to use the Form Design Aid in EnterpriseOne
to create or modify EnterpriseOne interactive
applications.
Contents
Preface ............................................................................................................................................................... xix
Audience.....................................................................................................................................................
Documentation Accessibility ...................................................................................................................
Related Documents ...................................................................................................................................
Conventions ...............................................................................................................................................
xix
xix
xix
xx
3.3.2
3.3.3
3.3.4
3.3.5
3.3.6
3.3.7
3.4
3.4.1
3.4.2
3.4.3
3.5
3.5.1
3.5.2
3.6
3.7
3.7.1
3.7.2
3.8
3-25
3-25
3-27
3-27
3-29
3-37
3-40
3-40
3-41
3-41
3-42
3-42
3-42
3-42
3-43
3-43
3-43
3-44
Find/Browse Forms....................................................................................................................
Find/Browse Events...................................................................................................................
Find/Browse Runtime Processing ...........................................................................................
Dialog Initialization.............................................................................................................
Find Button ...........................................................................................................................
Select Button .........................................................................................................................
5-1
5-1
5-1
5-2
5-2
5-3
5.3.4
5.3.5
Fix/Inspect Forms.......................................................................................................................
Fix/Inspect Events......................................................................................................................
Fix/Inspect Runtime Processing...............................................................................................
Dialog Initialization.............................................................................................................
Dialog Clear ..........................................................................................................................
Data Retrieval .......................................................................................................................
OK Button .............................................................................................................................
Cancel Button .......................................................................................................................
Dialog Close..........................................................................................................................
6-1
6-1
6-1
6-1
6-2
6-3
6-3
6-7
6-7
7-1
7-1
7-1
7-2
7-2
7-3
7-4
7-4
7-8
7-8
8-1
8-1
8-1
8-2
8-2
8-3
8-4
8-4
8-8
8-8
8-8
9-1
9-1
9-2
9-3
9-3
9.4
9.4.1
9.4.2
10-1
10-1
10-1
10-1
10-2
10-2
10-2
10-3
11-1
11-1
11-1
11-2
11-2
11-2
11-2
11-3
11-3
11-4
11-4
11-4
11-4
11-5
11-5
11-5
11-5
11-6
vi
12-1
12-1
12-2
12-4
12-4
12-4
12-4
12-5
12-5
12-6
12-6
12.6
13-1
13-1
13-2
13-2
13-2
13-5
13-5
13-9
13-9
16-1
16-2
16-2
16-2
16-3
16-3
16-3
16-3
16-3
16-4
16-4
16-4
vii
18-1
18-2
18-2
18-2
18-3
18-4
18-4
18-4
18-5
18-5
18-7
18-7
18-8
18-8
18-9
18-9
viii
Edit Controls.............................................................................................................................
Edit Control Events..................................................................................................................
Edit Control Runtime Processing ..........................................................................................
Control is Entered.............................................................................................................
Control is Exited ...............................................................................................................
Edit Control System Functions ..............................................................................................
19-1
19-2
19-2
19-2
19-3
19-3
20-1
20-2
20-2
20-3
20-3
20-4
20-4
20-4
20-5
20-5
20-5
20-7
20-8
20-9
20-10
20-11
20-11
20-22
20-23
ix
21-1
21-1
21-1
21-2
24-1
24-2
24-2
24-2
24-3
24-3
24-4
24-4
24-5
24-5
24-7
24-7
24-9
24-9
xi
28-1
28-2
28-3
28-4
28-4
28-4
28-5
28-5
28-5
28-5
28-5
28-6
28-6
28-6
28-6
28-7
28-7
28-7
28-8
28-8
28-8
28-9
28-9
28-9
xiii
29-1
29-1
29-1
29-2
30-1
30-1
30-2
30-2
30-3
30-3
33-1
33-3
33-4
33-4
33-6
33-6
33-7
33-8
33-9
33-11
33-12
33-13
33-13
33-16
33-17
xv
Glossary
Index
xvii
xviii
Preface
Welcome to the JD Edwards EnterpriseOne Tools Form Design Aid Guide.
Note: This guide has been updated for JD Edwards EnterpriseOne
Tools Release 9.1 Update 3 and Tools Release 9.1 Update 4. For details
on documentation updates, refer to theJD Edwards EnterpriseOne Tools
Net Change for Tools Documentation Library.
Audience
This guide is intended for developer and technical consultants who are responsible for
assembling, building, and deploying applications.
This guide assumes you have a working knowledge of the following:
The principles and customary practices of your business area.
Working knowledge of Object Management Workbench.
Documentation Accessibility
For information about Oracle's commitment to accessibility, visit the Oracle
Accessibility Program website at
http://www.oracle.com/pls/topic/lookup?ctx=acc&id=docacc.
Access to Oracle Support
Oracle customers that have purchased support have access to electronic support
through My Oracle Support. For information, visit
http://www.oracle.com/pls/topic/lookup?ctx=acc&id=info or visit
http://www.oracle.com/pls/topic/lookup?ctx=acc&id=trs if you are hearing
impaired.
Related Documents
You can access related documents from the JD Edwards EnterpriseOne Release
Documentation Overview pages on My Oracle Support. Access the main
documentation overview page by searching for the document ID, which is 876932.1, or
by using this link:
https://support.oracle.com/CSP/main/article?cmd=show&type=NOT&id=876932.1
xix
To navigate to this page from the My Oracle Support home page, click the Knowledge
tab, and then click the Tools and Training menu, JD Edwards EnterpriseOne, Welcome
Center, Release Information Overview.
This guide contains references to server configuration settings that JD Edwards
EnterpriseOne stores in configuration files (such as jde.ini, jas.ini, jdbj.ini,
jdelog.properties, and so on). Beginning with the JD Edwards EnterpriseOne Tools
Release 8.97, it is highly recommended that you only access and manage these settings
for the supported server types using the Server Manager program. See the JD Edwards
EnterpriseOne Server Manager Guide.
Conventions
The following text conventions are used in this document:
xx
Convention
Meaning
Bold
Italics
Monospace
1
Introduction to JD Edwards EnterpriseOne
Tools Form Design Aid
1
From OMW, choose an item to open in FDA and click the Design button.
2.
3.
4.
On the toolbar at the bottom of your screen, click the minimized Object
Management Workbench [Interactive Application Design].
5.
6.
From OMW, choose an item to open in FDA and click the Design button.
7.
8.
1-2
2
Working with Forms
2
Form type
The form type establishes the basic purpose of a form. Each form type has default
controls and processes.
Business view
In an application, a business view (BV) links forms and tables efficiently by
providing access only to that data required by the application. For example, if you
have two tables with twenty columns each and the application only needs to
access one column from one table and two columns from the other, you can make
a BV that contains only those three columns. the application is more efficient
because searches are limited only to those three columns, but the application still
updates the actual tables when necessary. You must associate all forms, except the
message form, with a BV.
Controls
All objects on a form are controls. Controls include grids, check boxes, radio
buttons, push buttons, subforms, and more.
Properties
Properties define the appearance and function of the application, the forms in the
application, and each control on each form.
Data structure
A data structure defines the data that can be passed between forms. Data in the
form data structure can be passed in or out of the form.
Event rules
Event rules (ER) can contain processing instructions for specific events. Events are
actions that occur on a form, such as clicking a button or using the Tab key to
move out of a field. Use ER to attach business logic to any event. Events are
triggered either as a result of user interaction with a control, such as clicking a
button, or as a result of a system-controlled process, such as loading a grid.
See JD Edwards EnterpriseOne Tools Event Rules Guide.
JD Edwards ER Compare tool provides a side-by-side, visual comparison of an
application's event rules, and another version of the event rules in another
location. For example, ER Compare lets you compare a modified application to the
original version of that application on the server or in an ESU.
See "JD Edwards EnterpriseOne ER Compare" in the JD Edwards EnterpriseOne
Tools Software Updates Guide.
Modal interconnections enable the user to view only one form at a time. After the
child form begins, the user cannot access the parent form until the child form is
closed.
Additionally, the data connection between the parent and child is usually static.
Input data structure items are populated when the child form is launched, and
output data structure items are populated when the child form closes. Parent form
ER that follows a modal form interconnection call executes after the child form is
closed.
In addition to static data connections, you can create dynamic form
interconnections. A dynamic form interconnection enables you to call a form by
passing the application and form ID. A dynamic form interconnection is always
modal.
Modeless interconnections enable the user to view multiple forms at the same
time. After the child form is started, users can switch back and forth between the
parent form and the child form. Additionally, data changes on a parent or child
form are immediately reflected in all other open forms in the connection.
Modeless interconnections are valuable when the user needs to view or update a series
of data records. Avoid using modeless form interconnections if both the parent and
child forms should be presented to the user at the same time. A power form is more
appropriate in this case.
The parent form in a modeless interconnect must be a find/browse form. The child
form type can be fix/inspect or transaction forms (header and headerless detail).
When the user updates a record on the transaction form, the parent find/browse form
automatically reflects the change.
When the user closes the parent form, the system closes all its modeless children
forms.
Parent form ER that follow a modeless form interconnection call execute immediately
instead of waiting for the child form to return.
Form Type
Description
Find/Browse
Fix/Inspect
Header Detail
Headerless Detail
Search & Select
Parent/Child Browse
Power Edit
Power Browse
Edit Subform
Browse Subform
Edit Portlet
Browse Portlet
Data Structure
Property
Form Type
Description
Find/Browse
Fix/Inspect
Header Detail
Headerless Detail
Search & Select
Message Form
Parent/Child Browse
Power Edit
Power Browse
End Form on Add
Fix/Inspect
Header Detail
Headerless Detail
Entry Point
Find/Browse
Header Detail
Headerless Detail
Search & Select
Message Form
Parent/Child Browse
Power Edit
Power Browse
Find/Browse
Fix/Inspect
Header Detail
Search & Select
Parent/Child Browse
Edit Subform
Browse Subform
Edit Portlet
Browse Portlet
Find/Browse
Headerless Detail
Header Detail
Search & Select
Parent/Child
Power Edit
Power Browse
2-4
Property
Form Type
Description
Form Guide
Find/Browse
Fix/Inspect
Header Detail
Headerless Detail
Search & Select
Message Form
Parent/Child Browse
Power Edit
Power Browse
Form Name
Form Type
Find/Browse
Fix/Inspect
Header Detail
Headerless Detail
Search & Select
Message Form
Parent/Child Browse
Power Edit
Power Browse
Height
Power Edit
Width
Mapping Links
Power Browse
Edit Subform
Browse Subform
Edit Portlet
Browse Portlet
Property
Form Type
Description
Tile Wallpaper
Find/Browse
Fix/Inspect
Header Detail
Headerless Detail
Search & Select
Message Form
Parent/Child Browse
Power Edit
Power Browse
Title
Find/Browse
Fix/Inspect
Header Detail
Headerless Detail
Search & Select
Message Form
Parent/Child Browse
Power Edit
Power Browse
Transaction
Fix/Inspect
Header Detail
Headerless Detail
Power Edit
Power Browse
Edit Subform
Edit Portlet
2-6
Property
Form Type
Description
Fix/Inspect
Header Detail
Power Edit With No Grid
Edit Subform
Edit Portlet
Header Detail
Headerless Detail
Power Edit with Grid
Wallpaper
Find/Browse
Fix/Inspect
Header Detail
Headerless Detail
Search & Select
Message Form
Parent/Child Browse
Power Edit
Power Browse
Wallpaper File
Find/Browse
Fix/Inspect
Header Detail
Headerless Detail
Search & Select
Message Form
Parent/Child Browse
Power Edit
Power Browse
Wallpaper Full File Name
Find/Browse
Fix/Inspect
Header Detail
Headerless Detail
Search & Select
Message Form
Parent/Child Browse
Power Edit
Power Browse
Creating Forms
Create a form.
Display the Main Toolbar, Layout, and Insert Controls tool bars at all times.
Display the Property Browser at all times and use it to set the properties for all
objects.
Display the Tab Sequence Toolbar when working with power forms and subforms.
This table lists the objects, why you would use them, and how to display them:
2-8
Object
Notes
Navigation in FDA
Main Toolbar
View, Toolbars,
Layout
View, Toolbars,
Insert Controls
Status Bar
Creating Forms
Object
Notes
Navigation in FDA
View, Application
Tree View
Property Browser
View, Property
Browser
Data Dictionary
Browser
Business View
Columns Browser
2.
On Form Design Aid, select the type of form you want to create.
3.
4.
If required, attach one or more BVs to the form by selecting Form, Business View,
Add Business View.
Headerless detail forms permit you to attach two BVs to them; all other forms,
except for message forms, permit you to attach only one. You cannot attach a BV to
a message form.
5.
6.
Arrange the controls on the form so that they line up and are equally spaced, and
then resize the form to fit.
Creating Forms
7.
8.
2.
3.
On Work with Applications, select the application to which you are connecting.
Work with Forms displays available forms for the chosen application.
4.
5.
6.
In the Available Objects column, select the object that you want to pass and move
it to the Data Structure-Value Column.
7.
Indicate the direction of data flow between Value and Data Items.
As you click the direction arrow, it toggles through these options:
8.
Data flows from the source to the target and, upon exiting the target, data
flows back to the source.
9.
Structure Notes
Parameter Notes
Event Rules Design displays the form interconnect with this statement:
Call (Application <name> Form <name>)
2-10
1.
2.
Creating Forms
3.
4.
5.
Assign event rules to the input values Application ID, Form ID (both are
required),Version, and DSValue (both are optional).
If you are not using either Version or DSValue, you must include the pipes
around the null values.
6.
On Event Rules Design for the find/browse form that you want to use (the
source), select an event.
2.
3.
On Work with Applications, select the application to which you are connecting.
Work with Forms displays available forms for the chosen application.
4.
5.
Select the version of the fix/inspect form to which you want to connect.
The Data Item column displays data items in the data structure of the target form.
The keys in the primary unique index, for the primary table of the BV, are
automatically set up as the data structure.
6.
7.
In the Available Objects column, select objects that you want to pass and move
them to the Data Structure-Value column.
8.
Indicate the direction of data flow between Value and Data Items.
As you click the direction arrow, it toggles through these options:
9.
Data flows from the source to the target and, upon exiting the target, data
flows back to the source.
No data flow.
Structure Notes
Parameter Notes
10. After you define the data structure, click the OK button.
Event Rules Design displays the form interconnect with this statement:
Call http://ple-mbarrera:8080/PSOL/e1tools896pbr0/eng/psbooks/index.htm
(Application <name> Form <name>)
In FDA, click the View menu, and then select User Options.
2.
3.
Select the Enable Accessibility Violation Check option, as shown in this example:
4.
2-12
Click OK.
The check box for the Enable Accessibility Violation Check is selected by default. If
you want to disable the feature, you must clear the Enable Accessibility Violation
Check option.
Verify that the Accessibility Violation Check option is selected on the User Options
screen.
2.
3.
EnterpriseOne performs a violation check for all the image controls that have an
empty tooltip and generates the Accessibility Violation Check screen.
4.
If all the image controls have tooltips inserted, EnterpriseOne displays the No
Empty Tooltips found message, as shown in this example:
Click Yes on the Accessibility Violation Check screen to view the log files for the
warnings generated.
The log file generated provides information about:
Application Name
Application Title
Form Name
Warning Description
Bitmap Control ID
Bitmap ER Title
Note: If you close any given EnterpriseOne application with empty
tooltips, then the system displays an error message. Click Yes to exit
the application, click No to remain in the application.
2.6.1 Prerequisite
Attach a BV to the form.
2.
On Quick Form layout, select the number of columns of controls you want on the
form and whether you want the columns arranged horizontally or vertically.
3.
Select the data items from the BV that you want to display and move them to the
columns in the form pane.
4.
Use the buttons under the columns in the form pane to order the data items.
5.
2-14
3
Working with Form Controls
3
Insert field controls on forms to display data, enter data, calculate data, store data
permanently or temporarily, or pass data between fields and forms.
Place check boxes on forms to provide for multiple selections, or radio buttons to
indicate mutually exclusive selections.
Each form includes specific default controls, depending on the type of form that you
are creating. However, you might need to add additional controls when you design the
form. Choose from standard Windows graphical controls as well as JD Edwards
EnterpriseOne custom controls.
All form controls are locked by default, this is seen by a "NO" cursor when mouse is
hovered over the controls. The controls can be unlocked by clicking on the Form menu
and selecting Lock Form Controls. This option will unlock the selected form for
modifying controls. An information message box will display when you launch an
application to indicate if the form is in lock mode. (Release 9.1 Update 2)
When controls are hidden they are by default not viewable in FDA. To view the
hidden controls click the Show Hidden Controls in the Form menu. Hidden controls
will be displayed in blue italic text. (Release 9.1 Update 2)
This table lists the controls, the forms on which they can be used, and their purpose:
3-1
Control
Description
Calendar
Check Box
Combo Box
Edit
Grid control
Browse Portlet
Group
Image
Media Object
Parent Child
Browse Portlet
Edit Portlet
Reusable Browse Subform
Reusable Edit Subform
Parent/Child Browse (default
control)
Power Edit
Wizard (page only)
Push Button
3-2
Control
Description
Radio Button
Browse Portlet
Edit Portlet
Find/Browse
Header Detail
Headerless Detail
Parent/Child Browse
Power Edit
Power Browse
Reusable Browse Subform
Reusable Edit Subform
Search & Select
Wizard (page only)
Static Text
Subform
Browse Portlet
Edit Portlet
Reusable Browse Subform
Reusable Edit Subform
Power Edit
Power Browse
Wizard (Wizard control only)
Subform Alias
Browse Portlet
Edit Portlet
Reusable Browse Subform
Reusable Edit Subform
Power Browse
Power Edit
Wizard
Tab Control
Tab Page
3-3
Control
Description
Browse Portlet
Edit Portlet
Find/Browse
Header Detail
Headerless Detail
Parent/Child Browse
Power Edit
Power Browse
Reusable Browse Subform
Reusable Edit Subform
Search & Select
Wizard (page only)
Tree Control
Wizard
3-4
Property
Control
Description
Media Object
An option to permit
image items in the
media object.
Media Object
An option to permit
OLE objects in the
media object.
Media Object
An option to permit
RTF text to be included
in the media object.
Media Object
An option to permit
plain text objects in the
media object. The plain
text in the file is stored
in the database.
Property
Control
Description
Edit
An option to enable
users to include the
control as a filter value
for a saved query. The
property is available for
entry only when a BV
item is associated with
the control.
Grid column
Saved Query Control
Grid
Always Hidden
Parent Child
A property that
indicates whether the
user can see text that
exceeds the width of the
field. If you permit
scrolling, you can
choose to have the
system automatically
scroll ten characters to
the right when the user
types text, or you can
display a horizontal
scroll bar.
3-5
Property
Control
Description
Edit
A property that
indicates whether the
user can see text that
exceeds the height of
the field when the Lines
property is set to
Multiple. If you permit
scrolling, you can
choose to have the
system automatically
scroll down a page
when the user presses
Enter, or you can
display a vertical scroll
bar.
Automatically Find on
Entry
Grid
An option to cause
runtime to populate the
grid automatically when
the form is entered.
Grid
Parent Child
Parent Child
Subform
Subform Alias
3-6
A property that
indicates the BV
underlying the control.
In all cases except one,
the BV for the control is
the same as the one for
the form. On a header
detail form, the grid
control may have a BV
that is different than the
one underlying the
controls that comprise
the header.
Button Type
Push Button
A property that
indicates the button
type: OK, Cancel, Yes,
No, and so forth. For
form types except
Message, the only
option is Other.
Calendar
An option to enable
users to access the view
of the calendar that
shows a single day at a
time.
Calendar
An option to enable
users to access the view
of the calendar that
shows an entire month
at once.
An option to enable
users to access the view
of the calendar that
shows an entire week at
once.
Property
Control
Description
Checked Value
Check Box
Grid column
Clickable
Grid column
Icon grid column
Image
An option to cause
runtime to fire the Text
Clicked event when the
user clicks the control.
Static Text
Client Edge
Group Box
Collapsable
Subform
Grid column
Grid column
Parent Child
Column Order
Grid
An option to enable
users to hide the content
Subform Alias
of the subform or group
Group Box (Release 9.1 Update 3) box (Release 9.1 Update
3), displaying only its
header.
Parent Child
Grid
Parent Child
Control ID
3-7
Property
Control
Description
Check Box
Combo Box
Edit
Grid column
Radio Button
Static Text
Data Structure
Subform
Subform Alias
Edit
Grid column
Media Object
3-8
Disable Copy
Parent Child
An option to prevent
users from using the
copy function in a
cut/copy/paste
operation.
Parent Child
An option to prevent
users from using the
cut/copy/paste
function.
Parent Child
An option to prevent
users from using the
move/cut function in a
cut/copy/paste
operation.
Property
Control
Description
Disable Page-at-a-Time
Process
Grid
An option to disable
page-at-a-time
processing.
Page-at-a-time
processing enables the
runtime engine to fetch
a single page of data
only on the initial search
call. If the user pages
down, then runtime
fetches only enough
data to fill the next
page. When disabled,
runtime fetches and
loads into memory all of
the data at once. The
number of rows that
constitute a page of data
is based on the Grid
Row Count property.
Disable QBE
Grid column
Disabled
Calendar
Parent Child
Check Box
Close button
Combo Box
Delete button
Edit
Find button
Grid
Grid column
Group Box
Media Object
OK button
Parent Child
Push Button
Radio Button
Saved Query Control
Select button
Static Text
Subform
Subform Alias
Text Search Control
Display Customized Grid
Grid
An option to enable
users the option to
customize the grid
through grid formats.
3-9
Property
Control
Description
Grid
An option to enable
users the option to send
the contents of the
control to an Excel
spreadsheet.
Grid
An option to enable
users the option to send
the contents of the
control to a Microsoft
Word file.
Grid
An option to enable
users the option to bring
the contents of an Excel
spreadsheet into the
control.
Display Style
Grid column
Edit
Grid column
Editable
Subform
Subform Alias
3-10
A property that
indicates whether the
subform type can be
edited. Reusable edit
subforms can be edited,
reusable browse
subforms cannot.
Embedded subforms are
editable or not based on
their context within the
parent form.
Parent Child
An option to provide a
button for the user to
expand or collapse the
entire tree.
Fetch on Form/Subform
Businessview
Subform
File Name
Image
Subform Alias
Property
Control
Description
Filter Criteria
Edit
A property that
indicates whether the
control value should be
incorporated into the
database fetch. If you
want to use the value,
then you must also
choose the relational
operator by which the
value should be
evaluated. In some
cases, you can designate
that the relational value
should be chosen by the
user at runtime instead.
Radio Button
Check Box
A property that
indicates whether the
control should be
incorporated in the
database fetch as a filter
criteria when the check
box is selected. If you
want to use this control
as a filter, then you must
also define how the
filter value will be used
by providing a
relational operator or
designate that the
relational value should
be set by the user at
runtime instead.
Check Box
A property that
indicates whether the
control should be
incorporated in the
database fetch as a filter
criteria when the check
box is cleared. If you
want to use this control
as a filter, then you must
also define how the
filter value will be used
by providing a
relational operator or
designate that the
relational value should
be set by the user at
runtime instead.
Flat
Group Box
Property
Control
Description
Form Name
Subform
Subform Alias
Image
Grid
Height
Calendar
Check Box
Close button
Combo Box
Delete button
Edit
Find button
Grid
Group Box
Image
Media Object
OK button
Parent Child
Push Button
Radio Button
Saved Query Control
Select button
Static Text
Subform
Tab Control
Text Box Control
Text Search Control
Tree Control
Wizard
3-12
Property
Control
Description
Grid
Hide in Grid
Parent Child
Grid
Parent Child
Parent Child
Justification
Check Box
A property that
indicates whether the
text of the control will
be left-, center-, or
right-justified.
Edit
Radio Button
Static Text
Key Relations
Parent Child
Property
Control
Description
Left
Calendar
Check Box
Close button
Combo Box
Delete button
Edit
Find button
Grid
Group Box
Image
Media Object
OK button
Parent Child
Push Button
Radio Button
Saved Query Control
Select button
Static Text
Subform
Subform Alias
Tab Control
Text Box Control
Text Search Control
Tree Control
3-14
Lines
Edit
Subform Alias
Property
Control
Description
Parent Child
An option to enable or
disable location
indicator functionality
for the parent child
control. If selected, the
system enables the user
to choose to display a
location indicator for
each tree node.
Image
An option to maintain
the original
width-to-height ratio
when the image is
resized.
Mapping Links
Subform
Subform Alias
Menubar Separator
Close button
Delete button
Find button
An option to display a
line above the name of
the control when
viewed in a menu list.
OK button
Select button
Modal Frame
Group Box
Parent Child
Multi-Line Edit
Grid
Multiple Select
Grid
An option to enable
users to select multiple
lines to affect with a
single operation, such as
cut-and-paste.
Parent Child
Media Object
Property
Control
Description
Grid
An option to prevent
users from adding new
records to the control.
Users can still edit
existing rows, however.
Parent Child
No display if currency is
OFF
Check Box
Edit
Grid column
Radio Button
Static Text
Node ID Column
Parent Child
Grid
Parent Child
Check Box
Combo Box
A button to set DD
overrides for the
control.
Edit
Grid column
Radio Button
Parent
Subform
Subform Alias
3-16
A property that
indicates the form that
acts as the parent to the
current subform.
Password
Edit
Prevent Resizing
Image
An option to prevent
the image from being
resized during design
time.
A property that
indicates where the
saved query links
appear relative to the
main body of the
control itself.
Property
Control
Description
Grid
An option to cause
runtime to apply row
changed and row exited
logic to all rows, no
matter their state.
Parent Child
A property that
indicates how the data
in the column will be
used if the parent child
control on which the
grid resides has the
Product Synch Mode
property enabled.
Parent Child
Progress Indicator
Wizard
An option to display a
progress indicator
during runtime. You
must also indicate its
type, if the indicator is
displayed.
Read Only
Edit
An option to prevent
users from changing the
value in the control.
Media Object
Reclaim Whitespace
Grid
An option to cause
runtime to shrink the
control vertically so it
displays only those
rows which contain data
(HTML only).
Re-entry Save
Wizard
An option to enable
users to save their input,
quit, and then re-launch
the wizard later, starting
at the point where they
saved.
Required field
Combo Box
Edit
Grid column
Property
Control
Description
Reusable
Subform
A property that
indicates whether the
subform is reusable.
Subforms that were
created independently
of a parent (such as,
reusable browse
subform and reusable
edit subform) are
reusable and may be
referenced by an alias
on any number of
power forms. Subforms
that were created as a
control on a parent form
cannot be referenced
with an alias and are
therefore not reusable.
Subform Alias
Parent Child
An option to display
one tree node for each
grid row.
Show Header
Subform
Subform Alias
3-18
Sort Order
Grid column
Grid column
Sorted
Combo Box
Property
Control
Description
Static Edge
Group Box
Subform Alias
Support Multiple
Currencies
Grid column
Wizard
An option to prevent
runtime from validating
and saving the data in
the control.
Tab Stop
Calendar
An option to enable
users to press Tab to
move the focus to the
control.
Check Box
Combo Box
Edit
Grid
Group Box
Media Object
Parent/Child
Push Button
Radio Button
Saved Query Control
Static Text
Text Search Control
Task List
Wizard
Text is Overridden
Check Box
If the control is
associated with a BV
column or DD item, an
option to change the
title (the text that users
can see) in this instance.
Combo Box
Edit
Grid column
Radio Button
Static Text
Property
Control
Description
Title
Calendar
Check Box
Combo Box
Edit
Grid
Group Box
Image
Media Object
Parent Child
Push Button
Radio Button
Saved Query Control
Static Text
Subform
Tab Control
Tab Page
Text Block Control
Text Search Control
Tree Control
Wizard
Tool Tip
Image
Toolbar
Close button
Delete button
Find button
OK button
Select button
Toolbar Separator
Close button
Delete button
Find button
OK button
Select button
3-20
An option to display a
line to the left of the
control button when it
appears on the standard
application tool bar.
Property
Control
Description
Top
Calendar
Check Box
Close button
Combo Box
Delete button
Edit
Find button
Grid
Group Box
Image
Media Object
OK button
Parent Child
Push Button
Radio Button
Saved Query Control
Select button
Static Text
Subform
Subform Alias
Tab Control
Text Search Control
Text Box Control
Tree Control
Transaction
Subform
An option to cause
runtime to commit all
changes at one time
instead of individually.
If the subform makes a
single database change
or a group of unrelated
changes, do not select
Transaction. However, if
the subform has a group
of inserts that rely on
each other and if the
system should revert to
the previously
committed changes if a
change fails or for
another condition, then
select Transaction.
Unchecked Value
Check Box
Grid column
3-22
Property
Control
Description
Push Button
Update Mode
Grid
Update on Form/Subform
Businessview
Subform
Grid
Property
Control
Description
Edit
Grid control
Radio Button
Visible
Calendar
An option to enable
users to see the control.
You can also hide and
show the control during
runtime with the system
functions, Hide Control
and Show Control.
Check Box
Combo Box
Edit
Grid
Grid column
Group Box
Image
Media Object
Parent Child
Push Button
Radio Button
Saved Query Control
Static Text
Subform
Subform Alias
Tab Control
Text Box Control
Text Search Control
Tree Control
Wizard
Property
Control
Description
Width
Calendar
Check Box
Close button
Combo Box
Delete button
Edit
Find button
Grid
Grid column
Group Box
Image
Media Object
OK button
Parent Child
Push Button
Radio Button
Saved Query Control
Select button
Static Text
Subform
Tab Control
Text Box Control
Text Search Control
Tree Control
Wizard
Wildcard
Edit
At option to enable
users to use the asterisk
character as a wildcard
when performing
searches.
Wrap Text
Grid column
3-24
Data XML
The data XML file determines the information that a graph displays. The Chart
Control uses a data XML file that you create to call system functions. You can
create the data XML file using any editor, such as business functions or event
rules. Data XML is required for the Chart Control. See Appendix: A for examples
of data XML.
Graph XML
The graph XML file determines how the information that a graph displays is
formatted, i.e. in a bar or pie format. JD Edwards provides default templates of
graph xml files for you to use to design your charts. You can change or modify the
information in the graph XML to change the appearance of the chart. The graph
XML file is optional for the Chart Control. If the graph XML file is not specified for
the Chart Control, then the graph will be displayed in the format specified by the
graph name attribute in the data XML file. See Appendix: B for examples of graph
XML.
bar_basic
combo_basic
combo_markers
ine_basic
pie_basic
pie_onetime
stacked_bar_basic
stacked_bar_ontime
System Function
Description
Set Footnote Visible(Chart Control, true/false) Call this system function to make a footnote
visible or invisible for the chart.
3-26
Reset(Chart Control)
Description
C side system functions do not exist for the title, footnote, legend, and chart click
properties.
combo_basic
<Graph graphName="combo_basic">
<O1Title text="Week Ending" visible="true" />
<Y1Title text="Days" visible="true" />
<LocalRelationalData>
<Row columnKey="1-Sept 05" rowKey="Actual DSI" dataValue="38" />
<Row columnKey="8-Sept 05" rowKey="Actual DSI" dataValue="25" />
<Row columnKey="15-Sept 05" rowKey="Actual DSI" dataValue="24" />
<Row columnKey="22-Sept 05" rowKey="Actual DSI" dataValue="27" />
<Row columnKey="1-Sept 05" rowKey="Target DSI" dataValue="10" />
<Row columnKey="8-Sept 05" rowKey="Target DSI" dataValue="10" />
</Local
combo_markers.xml
<Graph graphName="combo_markers">
<O1Title text="Week Ending" visible="true" />
<Y1Title text="Days" visible="true" />
<LocalRelationalData>
<Row columnKey="1-Sept 05" rowKey="Actual DSI" dataValue="38" />
<Row columnKey="8-Sept 05" rowKey="Actual DSI" dataValue="25" />
<Row columnKey="15-Sept 05" rowKey="Actual DSI" dataValue="24" />
<Row columnKey="22-Sept 05" rowKey="Actual DSI" dataValue="27" />
LocalRelationalData>
</Graph>
line_basic.xml
<Graph graphName="line_basic">
<O1Title text="Week Ending" visible="true" />
<Y1Title text="Cost Variance (USD)" visible="true" />
<LocalRelationalData>
<Row columnKey="9/1/05" rowKey="Actual Variance" dataValue="1504" />
<Row columnKey="9/8/05" rowKey="Actual Variance" dataValue="980" />
<Row columnKey="9/15/05" rowKey="Actual Variance" dataValue="-675" />
<Row columnKey="9/22/05" rowKey="Actual Variance" dataValue="784" />
<Row columnKey="9/29/05" rowKey="Actual Variance" dataValue="0" />
<Row columnKey="9/1/06" rowKey="Actual Variance" dataValue="1504" />
<Row columnKey="9/8/06" rowKey="Actual Variance" dataValue="980" />
<Row columnKey="9/15/06" rowKey="Actual Variance" dataValue="-675" />
<Row columnKey="9/22/06" rowKey="Actual Variance" dataValue="784" />
<Row columnKey="9/29/06" rowKey="Actual Variance" dataValue="0" />
</LocalRelationalData>
</Graph>
pie_basic.xml
<Graph graphName="pie_basic">
<LocalRelationalData>
<Row columnKey="January 2005"
<Row columnKey="January 2005"
<Row columnKey="January 2005"
<Row columnKey="January 2005"
<Row columnKey="January 2005"
<Row columnKey="January 2005"
<Row columnKey="January 2005"
<Row columnKey="January 2005"
</LocalRelationalData>
</Graph>
pie_ontime.xml
<Graph graphName="pie_ontime">
<LocalRelationalData>
<Row columnKey="January 2005" rowKey="On Time" dataValue=".11" />
<Row columnKey="January 2005" rowKey="Early" dataValue=".21" />
<Row columnKey="January 2005" rowKey="Late" dataValue=".05" />
</LocalRelationalData>
</Graph>
3-28
stacked_bar_basic.xml
<Graph graphName="stacked_bar_basic">
<O1Title text="Week Ending" visible="true" />
<Y1Title text="On Time Production" visible="true" />
<LocalRelationalData>
<Row columnKey="9/1/05" rowKey="On Time" dataValue="95" />
<Row columnKey="9/8/05" rowKey="On Time" dataValue="8" />
<Row columnKey="9/15/05" rowKey="On Time" dataValue="9.2" />
<Row columnKey="9/22/05" rowKey="On Time" dataValue="70" />
<Row columnKey="9/1/05" rowKey="Early" dataValue="1" />
<Row columnKey="9/8/05" rowKey="Early" dataValue="10" />
<Row columnKey="9/15/05" rowKey="Early" dataValue="40" />
<Row columnKey="9/22/05" rowKey="Early" dataValue="18" />
<Row columnKey="9/1/05" rowKey="Late" dataValue="0" />
<Row columnKey="9/8/05" rowKey="Late" dataValue="15" />
<Row columnKey="9/15/05" rowKey="Late" dataValue="4" />
<Row columnKey="9/22/05" rowKey="Late" dataValue="50" />
</LocalRelationalData>
</Graph>
stacked_bar_ontime.xml
<Graph graphName="stacked_bar_ontime">
<O1Title text="Week Ending" visible="true" />
<Y1ReferenceLine>
<ReferenceLine index="0" visible="true" text="Goal" value="95.0" />
</Y1ReferenceLine>
<Y1Title text="On Time Production" visible="true" />
<LocalRelationalData>
<Row columnKey="9/1/05" rowKey="On Time" dataValue=".90" />
<Row columnKey="9/8/05" rowKey="On Time" dataValue=".85" />
<Row columnKey="9/15/05" rowKey="On Time" dataValue=".92" />
<Row columnKey="9/22/05" rowKey="On Time" dataValue=".72" />
<Row columnKey="9/1/05" rowKey="Early" dataValue=".10" />
<Row columnKey="9/8/05" rowKey="Early" dataValue=".10" />
<Row columnKey="9/15/05" rowKey="Early" dataValue=".04" />
<Row columnKey="9/22/05" rowKey="Early" dataValue=".18" />
<Row columnKey="9/1/05" rowKey="Late" dataValue="0" />
<Row columnKey="9/8/05" rowKey="Late" dataValue=".05" />
<Row columnKey="9/15/05" rowKey="Late" dataValue=".04" />
<Row columnKey="9/22/05" rowKey="Late" dataValue=".10" />
</LocalRelationalData>
</Graph>
underline="false"
/> </Footnote>
<LegendArea visible="true" automaticPlacement="AP_NEVER" position="LAP_TOP" fill
Color="#ffffff" />
<LegendText horizontalAlignment="LEFT">
<GraphFont name="SansSerif" size="9" bold="false" italic="false"
underline="false"
/> </LegendText>
<O1TickLabel textRotation="TR_HORIZ" horizontalAlignment="RIGHT" tickLabel
Staggered="false" tickLabelSkipMode="TLS_AUTOMATIC" tickLabelSkipCount="0" tick
LabelSkipFirst="0" automaticRotation="AR_HORIZ_ROTATE_270">
<GraphFont name="SansSerif" size="9" bold="false" italic="false"
underline="false"
/> </O1TickLabel>
<O1Title>
<GraphFont name="SansSerif" size="11" bold="true" italic="false"
underline="false"
/> </O1Title>
<SeriesItems defaultColor="" />
<X1Title wordWrapEnabled="false" />
<Y1MajorTick visible="true" />
<Y1TickLabel horizontalAlignment="RIGHT">
<GraphFont name="SansSerif" size="9" bold="false" italic="false"
underline="false"
/> </Y1TickLabel>
<Y1Title>
<GraphFont name="SansSerif" size="11" bold="true" italic="false"
underline="false"
/> </Y1Title>
<Y2TickLabel horizontalAlignment="RIGHT" />
<Y2Title wordWrapEnabled="false" />
<Y1ReferenceLine>
<ReferenceLine index="0" lineWidth="2" displayedInLegend="true" lineColor=
"#ff0000" /> </Y1ReferenceLine>
</Graph>
combo_basic.xml
<?xml version="1.0" ?>
<Graph version="3.2.0.22" seriesTooltipLabelType="TLT_NONE"
groupTooltipLabelType=
"TLT_NONE" markerTooltipType="MTT_VALUES" markerDisplayed="true" markerShape
InLegend="true" graphicAntialiasing="true" textAntialiasing="true" seriesEffect=
"SE_AUTO_GRADIENT" frameSizeAutomatic="false">
<Background fillColor="#f1f6f0" />
<Footnote horizontalAlignment="RIGHT">
<GraphFont name="SansSerif" size="9" bold="false" italic="false"
underline="false"
/>
</Footnote>
<LegendArea visible="true" automaticPlacement="AP_NEVER" position="LAP_TOP" fill
Color="#ffffff" />
<LegendText horizontalAlignment="LEFT">
<GraphFont name="SansSerif" size="9" bold="false" italic="false"
underline="false"
/>
</LegendText>
<O1TickLabel textRotation="TR_HORIZ" tickLabelSkipMode="TLS_AUTOMATIC" tickLabel
SkipCount="0" tickLabelSkipFirst="0" automaticRotation="AR_HORIZ_ROTATE_270">
<GraphFont name="SansSerif" size="9" bold="false" italic="false"
underline="false"
3-30
/>
</O1TickLabel>
<O1Title>
<GraphFont name="SansSerif" size="11" bold="true" italic="false"
underline="false"
/>
</O1Title>
<SeriesItems defaultMarkerShape="MS_NONE" defaultFitlineType="FT_NONE">
<Series id="0" markerType="MT_BAR" />
<Series id="1" markerType="MT_MARKER" markerShape="MS_DIAMOND" lineWidth="2"
color=
"#ff0000" />
<Series id="2" markerType="MT_MARKER" markerShape="MS_DIAMOND" />
<Series id="3" markerType="MT_MARKER" markerShape="MS_DIAMOND" />
<Series id="4" markerType="MT_MARKER" markerShape="MS_DIAMOND" />
<Series id="5" markerType="MT_MARKER" markerShape="MS_DIAMOND" />
<Series id="6" markerType="MT_MARKER" markerShape="MS_DIAMOND" />
<Series id="7" markerType="MT_MARKER" markerShape="MS_DIAMOND" />
<Series id="8" markerType="MT_MARKER" markerShape="MS_DIAMOND" />
<Series id="9" markerType="MT_MARKER" markerShape="MS_DIAMOND" />
<Series id="10" markerType="MT_MARKER" markerShape="MS_DIAMOND" />
<Series id="11" markerType="MT_MARKER" markerShape="MS_DIAMOND" />
<Series id="12" markerType="MT_MARKER" markerShape="MS_DIAMOND" />
<Series id="13" markerType="MT_MARKER" markerShape="MS_DIAMOND" />
<Series id="14" markerType="MT_MARKER" markerShape="MS_DIAMOND" />
<Series id="15" markerType="MT_MARKER" markerShape="MS_DIAMOND" />
<Series id="16" markerType="MT_MARKER" markerShape="MS_DIAMOND" />
<Series id="17" markerType="MT_MARKER" markerShape="MS_DIAMOND" />
<Series id="18" markerType="MT_MARKER" markerShape="MS_DIAMOND" />
<Series id="19" markerType="MT_MARKER" markerShape="MS_DIAMOND" />
<Series id="20" markerType="MT_MARKER" markerShape="MS_DIAMOND" />
<Series id="21" markerType="MT_MARKER" markerShape="MS_DIAMOND" />
<Series id="22" markerType="MT_MARKER" markerShape="MS_DIAMOND" />
<Series id="23" markerType="MT_MARKER" markerShape="MS_DIAMOND" />
<Series id="24" markerType="MT_MARKER" markerShape="MS_DIAMOND" />
<Series id="25" markerType="MT_MARKER" markerShape="MS_DIAMOND" />
<Series id="26" markerType="MT_MARKER" markerShape="MS_DIAMOND" />
<Series id="27" markerType="MT_MARKER" markerShape="MS_DIAMOND" />
<Series id="28" markerType="MT_MARKER" markerShape="MS_DIAMOND" />
<Series id="29" markerType="MT_MARKER" markerShape="MS_DIAMOND" />
</SeriesItems>
<Y1MajorTick visible="true" />
<Y1TickLabel>
<GraphFont name="SansSerif" size="9" bold="false" italic="false"
underline="false"
/>
</Y1TickLabel>
<Y1Title>
<GraphFont name="SansSerif" size="11" bold="true" italic="false"
underline="false"
/>
</Y1Title>
<Y2MajorTick visible="true" />
<Y1ReferenceLine>
<ReferenceLine index="0" lineWidth="2" lineColor="#ff0000" displayedInLegend=
"false" />
</Y1ReferenceLine>
</Graph>
combo_markers.xml
<?xml version="1.0" ?>
<Graph version="3.2.0.22" seriesTooltipLabelType="TLT_NONE"
groupTooltipLabelType=
"TLT_NONE" markerTooltipType="MTT_VALUES" markerDisplayed="true" markerShape
InLegend="true" graphicAntialiasing="true" textAntialiasing="true" seriesEffect=
"SE_AUTO_GRADIENT" frameSizeAutomatic="false">
<Background fillColor="#f1f6f0" />
<Footnote horizontalAlignment="RIGHT">
<GraphFont name="SansSerif" size="9" bold="false" italic="false"
underline="false"
/>
</Footnote>
<LegendArea visible="true" automaticPlacement="AP_NEVER" position="LAP_TOP" fill
Color="#ffffff"/>
<LegendText horizontalAlignment="LEFT">
<GraphFont name="SansSerif" size="9" bold="false" italic="false"
underline="false"
/>
</LegendText>
<O1TickLabel textRotation="TR_HORIZ" tickLabelSkipMode="TLS_AUTOMATIC" tickLabel
SkipCount="0" tickLabelSkipFirst="0" automaticRotation="AR_HORIZ_ROTATE_270">
<GraphFont name="SansSerif" size="9" bold="false" italic="false"
underline="false"
/>
</O1TickLabel>
<O1Title>
<GraphFont name="SansSerif" size="11" bold="true" italic="false"
underline="false"
/>
</O1Title>
<SeriesItems defaultMarkerShape="MS_NONE" defaultFitlineType="FT_NONE">
<Series id="0" markerType="MT_BAR" />
<Series id="1" markerType="MT_MARKER" markerShape="MS_DIAMOND" lineWidth="2"
color=
"#ff0000" />
<Series id="2" markerType="MT_MARKER" markerShape="MS_DIAMOND" />
<Series id="3" markerType="MT_MARKER" markerShape="MS_DIAMOND" />
<Series id="4" markerType="MT_MARKER" markerShape="MS_DIAMOND" />
<Series id="5" markerType="MT_MARKER" markerShape="MS_DIAMOND" />
<Series id="6" markerType="MT_MARKER" markerShape="MS_DIAMOND" />
3-32
line_basic.xml
<?xml version="1.0" ?>
<Graph version="3.2.0.22" graphType="LINE_VERT_ABS" depthAngle="0"
legendScrollbar
Presence="SP_NEVER" legendSeriesCount="0" graphicAntialiasing="true" text
Antialiasing="true" markerShapeInLegend="true" frameSizeAutomatic="false">
<Background fillColor="#f1f6f0" />
<Footnote horizontalAlignment="RIGHT">
<GraphFont name="SansSerif" size="9" bold="false" italic="false"
underline="false"
/>
</Footnote>
<LegendArea visible="true" automaticPlacement="AP_NEVER" position="LAP_TOP" fill
Color="#ffffff"/>
<LegendText horizontalAlignment="LEFT">
<GraphFont name="SansSerif" size="9" bold="false" italic="false"
underline="false"
/>
Working with Form Controls 3-33
</LegendText>
<O1TickLabel textRotation="TR_HORIZ" tickLabelSkipMode="TLS_AUTOMATIC" tickLabel
SkipCount="0" tickLabelSkipFirst="0" automaticRotation="AR_HORIZ_ROTATE_270">
<GraphFont name="SansSerif" size="9" bold="false" italic="false"
underline="false"
/>
</O1TickLabel>
<O1Title>
<GraphFont name="SansSerif" size="11" bold="true" italic="false"
underline="false"
/>
</O1Title>
<Y1MajorTick visible="true" />
<Y1TickLabel>
<GraphFont name="SansSerif" size="9" bold="false" italic="false"
underline="false"
/>
</Y1TickLabel>
<Y1Title>
<GraphFont name="SansSerif" size="11" bold="true" italic="false"
underline="false"
/>
</Y1Title>
<Y2MajorTick visible="true" />
</Graph>
pie_basic.xml
<?xml version="1.0" ?>
<Graph version="3.2.0.22" autoLayout="AL_ALWAYS" depthAngle="50" depthRadius="0"
pieDepth="0" groupTooltipLabelType="TLT_NONE" graphicAntialiasing="true" text
Antialiasing="true" pieTilt="0" seriesEffect="SE_AUTO_GRADIENT" graphType="PIE">
<Background fillColor="#f1f6f0" />
<Footnote horizontalAlignment="RIGHT">
<GraphFont name="SansSerif" size="9" bold="false" italic="false"
underline="false"
/>
</Footnote>
<LegendArea visible="false" />
<LegendText horizontalAlignment="CENTER" />
<O1TickLabel textRotation="TR_HORIZ" tickLabelSkipMode="TLS_NOSKIP" automatic
Rotation="AR_NO_ROTATE" />
<O1Title wordWrapEnabled="false" />
<PlotArea fillColor="#f1f6f0" />
<PieLabel>
<GraphFont name="SansSerif" size="11" bold="true" italic="false"
underline="false"
/>
</PieLabel>
<Slice labelPosition="LP_OUTSIDE_WITH_FEELER" />
<SliceLabel textType="LD_TEXT_PERCENT">
<GraphFont name="SansSerif" size="9" bold="false" italic="false"
underline="false"
/>
</SliceLabel>
<X1Title wordWrapEnabled="false" />
<Y1TickLabel horizontalAlignment="RIGHT" />
<Y1Title wordWrapEnabled="false" />
<Y2TickLabel horizontalAlignment="RIGHT" />
<Y2Title wordWrapEnabled="false" />
</Graph>
3-34
pie_onetime.xml
<?xml version="1.0" ?>
<Graph version="3.2.0.22" autoLayout="AL_ALWAYS" depthAngle="50" depthRadius="0"
pieDepth="0" groupTooltipLabelType="TLT_NONE" graphicAntialiasing="true" text
Antialiasing="true" pieTilt="0" seriesEffect="SE_AUTO_GRADIENT" graphType="PIE">
<Background fillColor="#f1f6f0" />
<Footnote horizontalAlignment="RIGHT">
<GraphFont name="SansSerif" size="9" bold="false" italic="false"
underline="false"
/>
</Footnote>
<LegendArea visible="false" />
<LegendText horizontalAlignment="CENTER" />
<O1TickLabel textRotation="TR_HORIZ" tickLabelSkipMode="TLS_NOSKIP" automatic
Rotation="AR_NO_ROTATE" />
<O1Title wordWrapEnabled="false" />
<PlotArea fillColor="#f1f6f0" />
<PieLabel>
<GraphFont name="SansSerif" size="11" bold="true" italic="false"
underline="false"
/>
</PieLabel>
<SeriesItems>
<Series id="0" color="#336699" />
<Series id="1" color="#ffff00" />
<Series id="2" color="#ff0000" />
</SeriesItems>
<Slice labelPosition="LP_OUTSIDE_WITH_FEELER" />
<SliceLabel textType="LD_TEXT_PERCENT">
<GraphFont name="SansSerif" size="9" bold="false" italic="false"
underline="false"
/>
</SliceLabel>
<X1Title wordWrapEnabled="false" />
<Y1TickLabel horizontalAlignment="RIGHT" />
<Y1Title wordWrapEnabled="false" />
<Y2TickLabel horizontalAlignment="RIGHT" />
<Y2Title wordWrapEnabled="false" />
</Graph>
stacked_bar_basic.xml
<?xml version="1.0" ?>
<Graph version="3.2.0.22" seriesTooltipLabelType="TLT_NONE"
groupTooltipLabelType=
"TLT_NONE" markerTooltipType="MTT_VALUES" graphicAntialiasing="true" text
Antialiasing="true" seriesEffect="SE_AUTO_GRADIENT" graphType="BAR_VERT_STACK">
<Background fillColor="#f1f6f0" />
<Footnote horizontalAlignment="RIGHT">
<GraphFont name="SansSerif" size="9" bold="false" italic="false"
underline="false"
/>
</Footnote>
<LegendArea automaticPlacement="AP_NEVER" position="LAP_TOP" fillColor="#ffffff"
/> <LegendText horizontalAlignment="LEFT">
<GraphFont name="SansSerif" size="9" bold="false" italic="false"
underline="false"
/>
</LegendText>
stacked_bar_ontime.xml
<?xml version="1.0" ?>
<Graph version="3.2.0.22" seriesTooltipLabelType="TLT_NONE"
groupTooltipLabelType=
"TLT_NONE" markerTooltipType="MTT_PERCENT_VAL" graphicAntialiasing="true"
textAntialiasing="true" seriesEffect="SE_AUTO_GRADIENT" graphType="BAR_VERT_
PERCENT">
<Background fillColor="#f1f6f0" />
<Footnote horizontalAlignment="RIGHT">
<GraphFont name="SansSerif" size="9" bold="false" italic="false"
underline="false"
/>
</Footnote>
<LegendArea automaticPlacement="AP_NEVER" position="LAP_TOP" fillColor="#ffffff"
/>
<LegendText horizontalAlignment="LEFT">
<GraphFont name="SansSerif" size="9" bold="false" italic="false"
underline="false"
/>
</LegendText>
<O1TickLabel textRotation="TR_HORIZ" tickLabelSkipMode="TLS_AUTOMATIC" tickLabel
SkipCount="0" tickLabelSkipFirst="0" automaticRotation="AR_HORIZ_ROTATE_270">
<GraphFont name="SansSerif" size="9" bold="false" italic="false"
underline="false"
/>
</O1TickLabel>
<O1Title>
<GraphFont name="SansSerif" size="11" bold="true" italic="false"
underline="false"
/>
</O1Title>
3-36
<SeriesItems>
<Series id="0" color="#336699" />
<Series id="1" color="#ffff00" />
<Series id="2" color="#ff0000" />
</SeriesItems>
<Y1ReferenceLine>
<ReferenceLine index="0" lineWidth="2" lineColor="#ff0000" displayedInLegend=
"true" />
</Y1ReferenceLine>
<Y1TickLabel>
<GraphFont name="SansSerif" size="9" bold="false" italic="false"
underline="false"
/>
</Y1TickLabel>
<Y1Title>
<GraphFont name="SansSerif" size="11" bold="true" italic="false"
underline="false"
/>
</Y1Title>
</Graph>
3-38
(Row+)
>
<!ELEMENT Row EMPTY>
<!ATTLIST Row
columnKey CDATA #IMPLIED
dataValue CDATA #IMPLIED
rowKey CDATA #IMPLIED
>
<!-- ViewFormat specifies number formatting-->
<!ELEMENT ViewFormat EMPTY >
<!-- ViewFormat attributes
numberType: format numbers as currency or percent?
thousandSeparator: character for separating thousands
decimalSeparator: character for separating whole number from decimal
currencySymbol: currency symbol; numberType must be NUMTYPE_CURRENCY
leadingZero: display leading zeros?
decimalDigit: number of decimal digits to display
posNumFmt: format for positive numbers
negNumFmt: format for negative numbers
posCurFmt: format for positive currency
negCurFmt: format for negative currency
scaleFactor: how much to scale (abbreviate) numbers
scaleDownThousands: character(s) to use when numbers represent thousands
scaleDownMillions: character(s) to use when numbers represent millions
scaleDownBillions: character(s) to use when numbers represent billions
scaleDownTrillions: character(s) to use when numbers represent trillions
scaleDownQuadrillions: character(s) to use when numbers represent
quadrillions
javaDateFormat: Java date format
oracleDateFormat: Oracle date format
"used" attributes specify whether one of the above properties has
been explicitly set; used for merging when using rules
-->
<!ATTLIST ViewFormat
numberType (NUMTYPE_GENERAL | NUMTYPE_CURRENCY | NUMTYPE_PERCENT) #IMPLIED
thousandSeparator CDATA #IMPLIED
decimalSeparator CDATA #IMPLIED
currencySymbol CDATA #IMPLIED
leadingZero (true | false) #IMPLIED
decimalDigit CDATA #IMPLIED
posNumFmt (POS_NUMFMT_NUM | POS_NUMFMT_POS_NUM | POS_NUMFMT_NUM_POS ) #IMPLIED
negNumFmt (NEG_NUMFMT_OP_NUM_CP | NEG_NUMFMT_NEG_NUM | NEG_NUMFMT_NUM_NEG)
#IMPLIED
posCurFmt (POS_CURFMT_CUR_NUM | POS_CURFMT_NUM_CUR |
POS_CURFMT_CUR_SPAC_NUM |POS_CURFMT_NUM_SPAC_CUR |
POS_CURFMT_POS_CUR_NUM | POS_CURFMT_CUR_NUM_POS |
POS_CURFMT_POS_NUM_CUR | POS_CURFMT_NUM_POS_CUR |
POS_CURFMT_NUM_CUR_POS | POS_CURFMT_POS_NUM_SPAC_CUR |
POS_CURFMT_POS_CUR_SPAC_NUM | POS_CURFMT_NUM_SPAC_CUR_POS )
#IMPLIED
negCurFmt (NEG_CURFMT_OP_CUR_NUM_CP | NEG_CURFMT_NEG_CUR_NUM |
NEG_CURFMT_CUR_NEG_NUM | NEG_CURFMT_CUR_NUM_NEG |
NEG_CURFMT_OP_NUM_CUR_CP | NEG_CURFMT_NEG_NUM_CUR |
NEG_CURFMT_NUM_NEG_CUR | NEG_CURFMT_NUM_CUR_NEG |
NEG_CURFMT_NEG_NUM_SPAC_CUR | NEG_CURFMT_NEG_CUR_SPAC_NUM |
NEG_CURFMT_NUM_SPAC_CUR_NEG ) #IMPLIED
scaleFactor (SCALEFACTOR_NONE | SCALEFACTOR_THOUSANDS |
SCALEFACTOR_MILLIONS | SCALEFACTOR_BILLIONS |
SCALEFACTOR_TRILLIONS | SCALEFACTOR_QUADRILLIONS ) #IMPLIED
3.4.1 Understanding the Relationship between Data Dictionary Items and Controls
On a form, you can use any data item that is in the BV and any data item from the DD.
BV items are associated with the database; they are retrieved from and updated to the
database tables. DD items are not connected to the database; their values are not
retrieved from nor updated to the database tables by the system. On a form, BV items
appear with a blue box in the left corner, and DD items appear with a yellow box in
the left corner. Use DD items as work fields for ER or fields that are not directly
connected to the database table.
You can associate data item values with these control types:
3-40
Check boxes.
Edit controls.
Radio buttons.
Radio buttons must be associated with DD items. All radio buttons with the same
DD item are considered to be a group. Selecting one radio button within the group
automatically clears all other radio buttons in the same group.
Combo boxes
The rest of the controls types either cannot be associated with a data item, such as
push buttons, or essentially act as containers for controls, such as subforms and tab
pages, which may in turn be associated with a data item, according to their type.
If you want the user-entered value for a control to update a database record, then the
control must be associated with a BV item. For example, a check box can be associated
with the database field called Taxable. In the check box properties, the Checked value
should be Y and the Unchecked value should be N. You can use these values in ER as
well.
Each DD item has a set of properties (such as Default Value) and behaviors (such as
Format Rules and Edit Rules). When you create a DD item, you define its default
properties and behaviors at that time. You can override previously-defined DD items
at the application level, which enables you to further customize how data items
behave at runtime. You can disable default properties and behaviors for a specific
item, as well as override to use different values and triggers.
Select the control, and then click Data Item Information in the Property Browser
and click the ellipses button that appears in the Data Item Information field.
2.
3.
To attach a data item from the BV attached to the form, click the Business View
Items tab and double-click a data item.
To attach a data item from the DD, click the Data Items tab, search for the data
item you want, and then double-click it.
To override the data item name as it appears on the form, click the General tab,
click Override Text, and then enter the name you want to use in the Event Rules
Title field.
The Text is Overridden property in the Property Browser changes to Yes. To return
the display name to the DD name, change Text is Overridden to No.
2.
On Edit Properties, click the Overrides tab, and then click Data Dictionary
Overrides.
3.
On Data Dictionary Overrides, to disable one or more triggers, select the ones you
want to disable in the Disable box.
Working with Form Controls 3-41
4.
To override a trigger, click the applicable trigger type and complete the form that
appears.
For example, if you click Default Value, the Override Default Value form appears
and you would make your changes there.
3.5.1 Understanding the Relationship between Data Item Descriptions and Fields
When you insert an edit control on the form and associate a data item with it, FDA
does not automatically associate a description with the field. If you want to display the
row description for the data item automatically on the form, you must associate the
data item description with the field.
When you associate a description with an edit control, a description of the value in the
control automatically appears next to it. Associating a description is optional but is
useful as a visual aid on the form.
For example, suppose that the address book number, for example, 1001 appears in an
edit control or in an edit control. When the user presses Tab to move out of the control,
the address book name, XYZ Company, appears next to the control as the associated
description.
2.
Click the approximate location on the form where you want the description to
appear.
3-42
On the form with which you are working, select Layout, and then Tab Sequence.
FDA displays each control so you see its number in the tab sequence instead of its
name.
2.
Click the controls in the order in which you want the cursor to travel.
The first control that you click becomes number one, the second becomes number
two, and so on. To reset the numbers to their original values, right-click anywhere
in the window.
Note: Subforms contain their own sequence orders for objects on the
subform. Therefore, you set the tab sequence on each subform within
the subform itself. The subform, then, becomes a single object in the
tab sequence for the power form.
3.
Click Layout , and then Tab Sequence again to stop selecting the sequence.
OR
1.
2.
3.
Change the number in the field to reflect where you want that field in sequence to
the other fields.
4.
Press Enter.
FDA automatically adjusts the remaining fields in the sequence. For example, if
you change a field sequence from 2 to 4 the remaining fields adjust as follows:
Field 1
Field 1
Field 2
Field 4
Field 3
Field 2
Field 4
Field 3
3-44
4
Working with Transaction Processing
4
Atomic
Either all database changes for an entire transaction are completed or none of the
changes are completed.
Consistent
Database changes transform from one consistent database state to another.
Isolated
Transactions from concurrent applications do not interfere with each other. The
updates from a transaction are not visible to other transactions that execute
concurrently until the transaction commits.
Durable
Complete database operations are permanently written to the database.
Working with Transaction Processing
4-1
4.1.1.1 Commit
A commit is an explicit command to the database to permanently store the results of
operations performed by a statement. This event successfully ends a transaction.
4.1.1.2 Rollback
A rollback is an explicit command to the database to cancel the results of operations
performed by a statement. This event indicates that a transaction ended
unsuccessfully.
Any failure to insert, update, or delete within a transaction boundary causes all record
activity within that transaction to roll back. If no failures have occurred at the end of
the transaction, a commit is done, and the records become available to other processes.
In the case of a catastrophic failure (such as due to network problems), the Database
Management System (DBMS) performs an automatic rollback. Likewise, if the user
clicks Cancel on a form, a rollback command can be issued through a system function.
4-2
2.
3.
4.
5.
To include two connected forms in the same transaction boundary, you must activate
transaction processing for the parent form and designate Include in parent on the
interconnection to the second form. You do not need to activate transaction processing
for the second form because your choice on the originating form overrides your choice
on the called form.
This table outlines the relationship between two forms and the transaction boundaries
that exist in each scenario. Transactions can be started in one form and extended to
more forms through form interconnects and business function calls. In the example,
the OK button on Form 1 invokes Form 2. You can change the transaction boundaries
by specifying TP On or TP Off. The table explains what happens when you define your
transaction boundary in various ways.
Scenario
Forms
TP On
TP Off
Form 1
Form 2
"Include in Parent"
flag On for Form
Interconnect,
BSFN, Table I/O
Comments
All forms use Auto
Commit.
4-3
TP Off
"Include in Parent"
flag On for Form
Interconnect,
BSFN, Table I/O
Form 1
Form 2
Scenario
Forms
TP On
Comments
Because neither form
uses Manual Commit,
the Include in Parent
flag on Form
Interconnect Properties
is ignored.
All forms use Auto
Commit
Form 1
Form 2
Form 1
Form 2
Form 1
Form 2
Form 1
Form 2
An atypical case.
Because transaction
processing is Off on
Form 1 (parent), the
transaction boundary
does not extend to the
child, even though the
Include in Parent flag is
On for Form 2 (child)
Form 2 (child) is in
Manual Commit mode
and the interconnect
flag is ignored.
4-4
Scenario
Forms
TP On
Form 1
Form 2
TP Off
"Include in Parent"
flag On for Form
Interconnect,
BSFN, Table I/O
Comments
Transaction processing
is On for both forms.
Because in Include in
Parent flag is Off, each
form is a transaction
boundary and a
commit is issued for
each.
Form 1
Form 2
Transaction processing
is On for both forms.
However, because the
Include in Parent flag is
On, one transaction
will incorporate both
forms.
The transaction
boundary encompasses
both forms. Form 2 is a
child of Form 1.
4-5
Fix/Inspect
Header detail
Headerless detail
Power Edit
Editable Subforms
Wizard Form
Edit Portlet
Actions that occur outside of these events are not within the transaction boundary.
Note: Transaction processing is also available for reports and batch
applications. You can use the transaction processing system functions
to define transaction boundary. You can also extend transaction
boundaries through business function calls and table I/O calls.
4-6
FormID
Navigation
Usage
N/A
On Solution Explorer,
type OMW in the Fast
Path field. On Object
Management
Workbench, select an
interactive application
and click the Design
Tools button. On the
Interactive
Applications Design
form, select the
Design Tools tab, and
then click Start Form
Design Aid button.
Create and
modify
interactive
applications.
Note:
Double click the form for which you want to access Form Properties.
2.
2.
4-7
3.
4.
From Event Rules Design, select the Button Clicked event, and click the Form
Interconnect button.
5.
On Work with Applications, select the application that you want to use.
6.
On Work with Forms, select the form that you want to include in the transaction
boundary.
7.
On Work with Versions, select the version of the application that you want to use.
8.
2.
3.
4.
From Event Rules Design, select the Button Clicked event, and click the Business
Functions button.
5.
From Business Function Search, select the business function that you want to
include in the transaction boundary.
6.
4-8
1.
2.
3.
4.
From Event Rules Design, select the Button Clicked event, and click the Table I/O
button.
5.
On Insert Table I/O Operation, select the Open option under Advanced
Operations, and then click Next.
6.
7.
On Advanced Options, select the Include in Transaction option, and then click OK.
8.
4-9
4-10
5
Understanding Find/Browse Forms
5
Dialog is Initialized
Call is Alerting
End Dialog
Thread handling
2.
3.
4.
5.
Grid fields
6.
Static text
7.
Helps
8.
This flowchart illustrates the tasks that runtime performs after initializing these objects
to complete dialog initialization:
Figure 51 Find/Browse dialog initialization
Create toolbar
Load form
interconnect data
into BV columns
and filter fields
Fire Post
Dialog is
Initialized
Fire Dialog is
Initialized
Yes
Automatically
Find on Entry =
TRUE?
No
End of
Initialization
5-2
filter fields, runtime performs data selection and sequencing for the grid. After
reloading the grid with the fetched data, runtime fires the Post Button Clicked event.
2.
3.
4.
Terminate helps.
5.
5-4
6
Understanding Fix/Inspect Forms
6
Dialog is Initialized
Post Commit
End Dialog
Thread handling
Understanding Fix/Inspect Forms
6-1
2.
3.
4.
5.
Static text
6.
Helps
7.
This flowchart illustrates the tasks that runtime performs after initializing these objects
to complete dialog initialization:
Figure 61 Fix/Inspect dialog initialization
Create toolbar
Load form
interconnect data
into BV columns
Fetch On
Find BV =
TRUE?
Fire Dialog is
Initialized
No
Fire Post
Dialog is
Initialized
Yes
Switch to add
mode and display
the internal form
control values
No
Begin dialog
clear
Fetch On Find
BV = TRUE?
No
Form in add
mode?
Yes
Yes
Begin data
retrieval
Begin dialog
clear
6-2
1.
If the form was called in Copy mode, clear the key (primary index) controls for
which the Do not clear after add option was enabled.
2.
If the form was not called in Copy mode, clear all FCs for which the Do not clear
after add option has been disabled.
3.
4.
Attempt to fetch
a record
Record
retrieved?
Yes
Is the form in
Copy mode?
No
Fire Post
Dialog is
Initialized
Yes
No
Switch to
Add mode
Display the
internal form
control values
Begin dialog
clear
6.3.4 OK Button
The OK button is a standard button on fix/inspect forms that appears by default. It
causes runtime to validate the information on the form and update or add it to the
database through JDEKRNL function calls.
This flowchart illustrates the initial tasks that constitute runtime processing for the OK
button:
6-3
User clicks
the OK button
Terminate OK
processing
Yes
Errors
or 1st-time warnings
present?
No
Fire Button
Clicked
Yes
Validate all
controls on the
form
Errors
or 1st-time warnings
present?
Fire Clear
Screen After
Add
No
Fire Post
Button Clicked
Form in
Add mode?
Yes
End form on
add enabled?
No
Fire Clear
Screen Before
Add
No
Perform form
close
Yes
This flowchart expands on how runtime populates the grid during OK button
processing:
6-4
User clicks
the OK button
Terminate OK
processing
Yes
Errors
or 1st-time warnings
present?
No
Fire Button
Clicked
Yes
Validate all
controls on the
form
Errors
or 1st-time warnings
present?
No
Fire Post
Button Clicked
This flowchart illustrates how runtime processes any mode changes during OK button
processing:
6-5
Save and
close flag
set?
No
Yes
Save
and clear flag
set?
End
form on add
enabled?
No
Save and
continue flag
set?
No
Yes
No
Yes
Clear form
Switch form to
update mode
Form in Add
mode?
Fire Clear
Screen Before
Add
No
Yes
Modal Form
Interconnect?
Clear the form
Yes
Close form
No
Yes
Form remains open
Fire Clear
Screen After
Add
In add
This flowchart illustrates how runtime completes the form close process during OK
button processing:
6-6
Form in Add
mode?
Yes
No
End
form on add
enabled?
No
Fire Clear
Screen Before
Add
Yes
Modal Form
Interconnect?
Yes
Fire Clear
Screen After
Add
No
2.
3.
Terminate helps.
4.
5.
6-7
6-8
7
Understanding Header Detail Forms
7
The fetch properties are important because of their effect in data display during
runtime. You must select Fetch on Form Businessview to populate the controls in the
header portion of the form. Likewise, you must select Fetch on Grid Businessview to
populate the grid.
Similarly, select Update on Form Businessview if you intend to permit users to commit
their modifications to records in the header controls to the database. Select Update on
Grid Businessview to enable the commitment of modified grid records.
Dialog is Initialized
7-1
Post Commit
End Dialog
Thread handling
2.
3.
BV columns
4.
Form controls
5.
Grid fields
6.
Static text
7.
Helps
8.
This flowchart illustrates the tasks that runtime performs after initializing these objects
to complete dialog initialization:
7-2
Load form
interconnect data
into BV columns
and filter fields
Create
toolbar
Form in Add
mode?
Fire Dialog is
Initialized
Yes
Begin
dialog
clear
No
Fetch
on Form
Businessview
enabled?
Yes
Begin
record
fetch
No
Fetch
detail
data
Yes
Form
in Update
mode?
Fetch
detail
data
Clear
keys
If the form was called in Copy mode, clear the key (primary index) controls for
which the Do not clear after add option was enabled.
2.
If the form was not called in Copy mode, clear all form controls for which the Do
not clear after add option has been disabled.
3.
4.
7-3
7.4.4 OK Button
OK is a standard button on header detail forms that appears by default. It causes
runtime to validate the information on the form and update or add it to the database
through JDEKRNL function calls.
This flowchart illustrates the initial tasks that constitute runtime processing for the OK
button:
7-4
User clicks
the OK button
Terminate OK
processing
Yes
Errors
or 1st-time warnings
present?
No
Fire Button
Clicked
Yes
Validate all
controls on the
form
Errors
or 1st-time warnings
present?
Fire Clear
Screen After
Add
No
Fire Post
Button Clicked
Form in
Add mode?
Yes
End form on
add enabled?
No
Fire Clear
Screen Before
Add
No
Perform form
close
Yes
This flowchart expands on how runtime populates the grid during OK button
processing:
7-5
User clicks
the OK button
Terminate OK
processing
Yes
Errors
or 1st-time warnings
present?
No
Fire Button
Clicked
Yes
Validate all
controls on the
form
Errors
or 1st-time warnings
present?
No
Fire Post
Button Clicked
This flowchart illustrates how runtime processes any mode changes during OK button
processing:
7-6
Save and
close flag
set?
No
Save
and clear flag
set?
Yes
End
form on add
enabled?
No
Save and
continue flag
set?
No
Yes
No
Yes
Clear form
Switch form to
update mode
Form in Add
mode?
Fire Clear
Screen Before
Add
No
Yes
Modal Form
Interconnect?
Clear the form
Yes
Close form
No
Yes
Form remains open
Fire Clear
Screen After
Add
In add
This flowchart illustrates how runtime completes the form close process during OK
button processing:
7-7
Form in Add
mode?
Yes
End
form on add
enabled?
No
No
Yes
Modal Form
Interconnect?
Yes
Fire Clear
Screen Before
Add
Fire Clear
Screen After
Add
No
7-8
1.
2.
3.
Terminate helps.
4.
5.
8
Understanding Headerless Detail Forms
8
The fetch property is important because of its effect in data display during runtime.
You must enable Fetch on Grid Businessview to populate the grid. Similarly, enable
Update on Grid Businessview to enable the commitment of modified grid records.
Dialog is Initialized
Post Commit
End Dialog
Thread handling
2.
3.
4.
5.
Grid fields
6.
Static text
7.
Helps
8.
This flowchart illustrates the tasks that runtime performs after initializing these objects
to complete dialog initialization:
8-2
Load form
interconnect data
into BV columns
and filter fields
Create
toolbar
Form in Add
mode?
Fire Dialog is
Initialized
Yes
Begin
dialog
clear
No
Fetch
on Form
Businessview
enabled?
Yes
Begin
record
fetch
No
Fetch
detail
data
Yes
Form
in Update
mode?
Fetch
detail
data
Clear
keys
If the form was called in Copy mode, clear the key (primary index) controls for
which the Do not clear after add option was enabled.
2.
If the form was not called in Copy mode, clear all FCs for which the Do not clear
after add option has been disabled.
3.
4.
8.4.4 OK Button
OK is a standard button on headerless detail forms that appears by default. It causes
runtime to validate the information on the form and update or add it to the database
through JDEKRNL function calls.
This flowchart illustrates the initial tasks that constitute runtime processing for the OK
button:
8-4
Terminate OK
processing
Yes
Errors
or 1st-time warnings
present?
No
Fire Button
Clicked
Yes
Validate all
controls on the
form
Errors
or 1st-time warnings
present?
Fire Clear
Screen After
Add
No
Fire Post
Button Clicked
Form in
Add mode?
Yes
End form on
add enabled?
No
Fire Clear
Screen Before
Add
No
Perform form
close
Yes
This flowchart expands on how runtime populates the grid during OK button
processing:
User clicks
the OK button
Terminate OK
processing
Yes
Errors
or 1st-time warnings
present?
No
Fire Button
Clicked
Yes
Validate all
controls on the
form
Errors
or 1st-time warnings
present?
No
Fire Post
Button Clicked
This flowchart illustrates how runtime processes any mode changes during OK button
processing:
8-6
Save and
close flag
set?
No
Save
and clear flag
set?
Yes
End
form on add
enabled?
No
Save and
continue flag
set?
No
Yes
No
Yes
Clear form
Switch form to
update mode
Form in Add
mode?
Fire Clear
Screen Before
Add
No
Yes
Modal Form
Interconnect?
Clear the form
Yes
Close form
No
Yes
Form remains open
Fire Clear
Screen After
Add
In add
This flowchart illustrates how runtime completes the form close process during OK
button processing:
Form in Add
mode?
Yes
No
End
form on add
enabled?
No
Fire Clear
Screen Before
Add
Yes
Modal Form
Interconnect?
Yes
Fire Clear
Screen After
Add
No
8-8
1.
2.
3.
Terminate helps.
4.
5.
8-10
9
Understanding Message Forms
9
9-1
Message Forms
This event is provided for hover form supported form controls; grid, and grid
columns. This event is used to associate a hover form using Show Popup system
function on form controls, grid rows or grid cells.
Select Pop Up Form: Use this option to select a specific pop-up form. Once you
click on this option, the system will let you choose the Application Name, Form
Name, Version, and the parameters to pass into the selected hover pop up form.
2.
Default Popup: Use this option to select the default pop-up option for grid
headers. When using the Show Popup (Web Only) system function on the Mouse
is Hovered event on the Grid control itself and you choose the Default Popup
option, the system will display the grid row data in a tabular format on the hover
pop up form. When user hovers on a grid row header, the system will display that
particular row data in a tabular format within the hover form. This way, you can
quickly glance at a row's values without scrolling the row if it has many columns.
Grid :
Input, required. The grid control on which the hover form is associated on a
particular cell.
Row
Output, required. Currently hovered row number - return value from the system
function.
TEXTBLOCKCONTROL
Input, required. FC text block control to effect.
SEGMENT ID
Input, required. Segment of the text block control to effect.
9-2
Address Number
Input, required. The address number for which the contacts have to be fetched
from Who's Who table.
Collaborate Content
Output field. This string field contains the HTML content for the Collaborate tab
with the List of contact names and defined email addresses for the address book
numbers.
Dialog is Initialized
Form controls
2.
Static text
3.
Helps
4.
Terminate helps.
9-3
9-4
2.
3.
10
Understanding Parent/Child Browse Forms
10
Dialog is Initialized
End Dialog
Thread handling
2.
3.
4.
5.
Grid fields
6.
Static text
7.
Helps
8.
This flowchart illustrates the tasks that runtime performs after initializing these objects
to complete dialog initialization:
Figure 101 Parent/Child browse dialog initialization
Create toolbar
Load form
interconnect data
into BV columns
and filter fields
Fire Post
Dialog is
Initialized
Fire Dialog is
Initialized
Yes
Automatically
Find on Entry =
TRUE?
No
End of
Initialization
Data selection and sequencing occurs at the control level and ultimately leads to the
population of the parent/child control, provided runtime encounters no errors.
10-2
events in immediate succession. If no errors occur, runtime attempts to close all of the
modeless child forms, if any exist. If any of these child forms cannot be closed, the
Close button process is terminated. Otherwise, runtime fires the End Dialog event and
initiates the dialog close process.
2.
3.
Terminate helps.
4.
5.
10-4
11
Understanding Portlet Forms
11
Alerts
Menus
Shortcuts
Often, these types of portlets also provide a link to a transactional application that
enables the user to see more detail and then change the situation that has caused the
alert. If you provide such a link, be sure to prepopulate the transactional application
with the data driving the portlet display result. Ideally, the user should not need to
perform any queries for the initial data view when the application launches.
Portlet personalization.
11-2
JD Edwards EnterpriseOne Tools provides two types of portlet forms: browse portlets
and edit portlets. Browse portlets enable the display of and queries for information.
Edit portlets enable user edit functionsadding, changing, and deleting table
information.
If you include a form interconnection in a portlet, the portal containing it will
automatically resize the portlet to its maximum size when the user triggers the
interconnection. When the user closes the application, the portlet returns to its normal
size.
Portlet is Initialized
This event occurs when runtime initializes the portlet form and before it initializes
any forms which the portlet might contain.
Personalization Applied
Generating Portlets
Portlet is Exited
This event occurs when the portlet is unloaded by the container. Typically, this
occurs as the user logs out or the session times out.
In addition to the portlet-specific events, portlets support the general events in this
table:
Event
Browse Portlet
Edit Portlet
Yes
Yes
Yes
Yes
Yes
Yes
Notified By Child
Yes
No
No
Yes
No
Yes
No
Yes
No
Yes
No
Yes
No
Yes
11.4.1 Prerequisites
Before you complete the tasks in this section:
11-4
1.
2.
3.
4.
5.
2.
3.
Clear the check box next to any portlet that you do not want to generate, and click
the Start button.
If multiple versions of an application exist, each version is listed.
4.
2.
3.
Clear the check box next to any portlets that you do not want to generate, and click
the Start button.
You should always select all portlets you want to be deployed to Collaborative
Portal because after installation, the new WebClient_Portal.war replaces any
previous version that exists on Collaborative Portal server.
eGenerator modifies the portlet descriptor file, portlet.xml, in the .war file.
11-6
12
Understanding Power Browse Forms
12
Section 12.6, "Transaction Boundaries for Power Browse Forms and Subforms"
All regular controls except a parent child control can be placed on a power form.
All power form (and subform) errors and warnings are shown from the error
button on the power form.
Power forms contain vertical and horizontal scroll bars.
JD Edwards EnterpriseOne offers two types of power forms: browse and edit. Use a
power browse form to browse data on a form. You cannot use a power browse form to
change data on the form. This form is similar to a find/browse form. A power browse
form with a BV should always have a grid with at least one column. You can hide the
grid.
See Also:
and subform controls. A power form always resides at the top of the hierarchy. It is a
parent form, and can have multiple subform children. Subforms also can function as
parent forms, and they can have multiple children. All subforms must have at least
one parent power form or subform. At most, you can have three levels, including the
initial power form, in a power form hierarchy.
Note: Data flow follows the parenting structure in the logical
hierarchy.
A subform can communicate only with its parent or its children. Logic
from the event rules (ER) on the subform, or its subcontrols, does not
flow to or from the other subforms. Related information does not
appear in the available objects.
This flowchart illustrates the general hierarchy scheme of power forms:
Figure 121 Power form hierarchical scheme example
Form
Hierarchy is
limited to
three tiers deep
Subform A
Subform B
Subform C
Subform D
Subform E
Subform F
Subform G
Object
Power Form
Subforms A, D, and E
Subform A
Subforms B and C
Subform D
Power Form
Subform E
Subforms F and G
12-2
Figure 122
Power Form
(Parent)
Form Interconnect
(FI)
Business Function
(BF)
Logic Flow
This flowchart illustrates the flow of logic between a power form as a parent, two
subforms as children (subforms A and B), and a subform as a parent and a child
(Subform A):
Figure 123
Power Form
(Parent)
Subform A
(Child of Power Form and
Parent of Subform C)
Subform B
(Child)
Subform C
(Grandchild)
Logic Flow
This flowchart illustrates the flow of logic between subform A and subform B. The
flow of logic occurs only between subform A (parent) and subform B (child). The
subforms do not communicate with the power form:
Power Form
(Parent)
Form Interconnect
(FI)
Business Function
(BF)
Logic Flow
Mapping Links
Transaction
Use the Mapping Links property to identify the data to pass between parent and child.
For each data item, specify whether the data is to flow from parent to child, child, to
parent, or both directions. You must set up a mapping for every child of the parent.
Without the mapping, the power browse form probably will not work correctly.
Dialog is Initialized
Notified by Child
End Dialog
12-4
1.
Thread handling
2.
3.
BV columns
4.
5.
Grid fields
6.
Static text
7.
Helps
8.
ER structures
This flowchart illustrates the tasks that runtime performs after initializing these objects
to complete dialog initialization:
Figure 125
Create toolbar
Load form
interconnect data
into BV columns
and filter fields
Fire Post
Dialog is
Initialized
Fire Dialog is
Initialized
Yes
Automatically
Find on Entry =
TRUE?
No
End of
Initialization
Grid data selection and sequencing occurs at the control level and ultimately leads to
the population of the grid, provided runtime encounters no errors.
See How Runtime Processes the Grid Control.
The system creates an internal structure that represents the data selection and data
sequencing requirements specified by the user. The system then passes this to the
database engine to perform the actual database select and sequencing. The data used
for selection is based on values from filter fields and query-by-example (QBE)
columns. The system holds the data until the data is retrieved.
runtime writes the values from the selected row to the BC and fires the Post Button
Clicked event. Then it fires the End Dialog event and initiates the dialog close process.
2.
3.
Terminate helps.
4.
5.
Result
This flowchart illustrates how to include all of the subforms in the form save
transaction. If you rollback data on any one form, the system rolls back the changes on
all of them:
12-6
Figure 126
Power Form
(Parent)
Transaction Processing
Turned On
Save
Subform
(Child)
Include in Parent
Transaction
Turned On
Save
Subform
(Grandchild)
Include in Parent
Transaction
Turned On
Transaction Boundary
Here, the child is not included in the transaction for the form, which means that a
rollback on the parent level will not affect any of the subforms. However, all of the
subforms are included in the same transaction, so any rollback on the subforms will
affect all of the subforms:
Figure 127 Placing parent in a separate transaction boundary from its child and grandchild
Power Form
(Parent)
Subform
(Child)
Subform
(Grandchild)
Transaction Processing
Turned On
Include in Parent
Transaction
Turned On
Transaction Boundary
In all these scenarios, transactions are local and will not affect appear on any other
form:
12-8
Figure 128
Power Form
(Parent)
Subform
(Child)
Subform
(Grandchild)
Transaction Processing
Turned On or Off
Transaction Processing
Turned Off
Include in Parent
Transaction
Turned On
Transaction Processing
Turned Off
Include in Parent
Transaction
Turned Off
Transaction Boundary
12-10
13
Understanding Power Edit Forms
31
All regular controls except a parent child control can be placed on a power form.
All power form (and subform) errors and warnings are shown from the error
button on the power form.
Power forms contain vertical and horizontal scroll bars.
JD Edwards EnterpriseOne offers two types of power forms: browse and edit. A power
edit form with a grid enables users to update and enter multiple records
simultaneously. Similar to a headerless detail form, a power edit form has only one BV.
See Also:
Mapping Links
Transaction
Understanding Power Edit Forms 13-1
Use the Mapping Links property to identify the data to pass between parent and child.
For each data item, specify whether the data is to flow from parent to child, child, to
parent, or both directions. You must set up a mapping for every child of the parent.
Without the mapping, the power edit form probably will not work correctly.
Dialog is Initialized
Post Commit
Notified by Child
End Dialog
These events can occur on the power edit form during runtime if the form does not
contain a grid control:
Dialog is Initialized
Post Commit
Notified by Child
End Dialog
13-2
Thread handling
2.
3.
BV columns
4.
5.
Grid fields
6.
Static text
7.
Helps
8.
This flowchart illustrates the tasks that runtime performs after initializing these objects
to complete dialog initialization, if the form contains a grid control:
Figure 131 Power edit form with grid control dialog initialization
Create
toolbar
Load form
interconnect data
into BV columns
and filter fields
Form in Add
mode?
Fire Dialog is
Initialized
Yes
Begin
dialog
clear
No
Fetch
on Form
Businessview
enabled?
Yes
Begin
record
fetch
No
Fetch
detail
data
Yes
Form
in Update
mode?
Fetch
detail
data
Clear
keys
This flowchart illustrates the tasks that runtime performs after initializing these objects
to complete dialog initialization, if the form does not contain a grid control:
13-4
Figure 132
Create toolbar
Load form
interconnect data
into BV columns
Fetch On
Find BV =
TRUE?
Fire Dialog is
Initialized
No
Fire Post
Dialog is
Initialized
Yes
Switch to add
mode and display
the internal form
control values
No
Begin dialog
clear
Fetch On Find
BV = TRUE?
No
Form in add
mode?
Yes
Yes
Begin data
retrieval
Begin dialog
clear
If the form was called in Copy mode, clear the key (primary index) controls for
which the Do not clear after add option was selected.
2.
If the form was not called in Copy mode, clear all FCs for which the Do not clear
after add option has been selected.
3.
4.
13.4.3 OK Button
OK is a standard button on power edit forms that appears by default. It causes
runtime to validate the information on the form and update or add it to the database
through JDEKRNL function calls.
This flowchart illustrates the tasks that constitute runtime processing for the OK
button, if the form contains a grid control:
Figure 133 Power edit form with grid control OK button processing
User clicks
the OK button
Terminate OK
processing
Yes
Errors
or 1st-time warnings
present?
No
Fire Button
Clicked
Yes
Validate all
controls on the
form
Errors
or 1st-time warnings
present?
Fire Clear
Screen After
Add
No
Fire Post
Button Clicked
Form in
Add mode?
Yes
End form on
add enabled?
No
Fire Clear
Screen Before
Add
No
Perform form
close
Yes
This flowchart illustrates the tasks that constitute runtime processing for the OK
button, if the form does not contain a grid control:
13-6
Figure 134
Yes
Terminate OK
processing
Errors or
1st-time
warnings
present?
No
Fire Button
Clicked
Yes
Validate all
controls on the
form
Errors or
1st-time
warnings
present?
Update
on Form Business
view enabled?
Yes
Fire Update
Record to DB -Before
Form in
Update
mode?
No
Update
the record
Fire Add
Record to DB -Before
Fire Update
Record to DB -After
Insert
the record
No
Fire Add
Record to DB -After
No
Fire
Clear Screen
Before Add
Form in
Add mode?
No
Perform form
close
13-8
Yes
Clear the
form
Fire
Clear Screen
After Add
2.
3.
Terminate helps.
4.
5.
13-10
14
Understanding Search & Select Forms
14
Dialog is Initialized
End Dialog
Thread handling
2.
3.
4.
5.
Grid fields
6.
Static text
7.
Helps
8.
2.
Load form interconnection data into corresponding BC and filter fields, if any.
3.
4.
5.
If the Automatically Find On Entry option is selected, begin detail data selection
and sequencing in the grid control.
If runtime does not encounter errors, this step leads to the population of the grid
control, ultimately.
14-2
2.
3.
Terminate helps.
4.
5.
14-4
15
Understanding Wizard Forms
15
Wizard Forms
15-2
16
Understanding Calendar Controls
61
The calendar control supports Universal Time (UT) and adjusts for user profile time
zone settings. All activities appear based on the user's time zone daylight savings
properties in user profile setting. The control itself does not include a function for
reminders; therefore, reminder functions must be included as a part of the underlying
application itself. The same is true for to-dos and attachments. If the application must
display a to-do list, then it is recommended that you use a grid control to do so. The
calendar control does not support the ability to attach items to an event directly on the
control itself. However, a JD Edwards EnterpriseOne application can associate an
attachment with each calendar activity and then display the attachment in the activity
details form.
The calendar control does not support mobile devices currently.
Understanding Calendar Controls 16-1
The minimum dimensions of the control in FDA are 233 dialogue units high and 428
dialogue units wide. This is to ensure that the control will display correctly on 800 x
600 screen resolution settings. At a 1280 x 960 resolution, you might want a larger
calendar control.
The only calendar control-specific design-time property you can set is which views are
visible to the user. The calendar control has a variety of specialized system functions
and ER.
16-2
16.3.4 Add Activity Button Clicked and Post Activity Button Clicked
The calendar control provides an Add button. When this button is clicked, the system
triggers the Add Activity Button Clicked event and then the Post Add Activity
Button Clicked event. Applications can use these events to open a JD Edwards
EnterpriseOne form for user to create a new activity.
When you add an activity through the system function, Add Calendar Activity, or
modify an activity using the system function, Modify Calendar Activity, you can
affect these aspects of how the activity appears and acts on the calendar:
16-4
Private.
This option causes the system to display a special icon next to the activity. No
other logic is applied automatically, however. If you wish to restrict access to an
event marked private, then you must do so within the application.
Parameters
16
Calendar Control
Input, required. The ID of the activity in the database to be added to the calendar. Set
the parameter to an applicable object from the object list.
Subject
Input, required. The title of the activity as it should appear on the calendar for the user.
Set the parameter to an alphanumeric constant (<Literal>) or an applicable object from
the object list.
Start Date and Time
Input, required if All Day Activity = False. The starting time and date, in UTime, for
the activity. Literal date value in JDEUTime format.
End Date and Time
Input, required if All Day Activity = False. The ending time and date, in UTime, for the
activity. Literal date value in JDEUTime format.
All Day Activity
Input, required. The indicator of whether the activity is to be displayed as an all day
activity instead of having start and end date and times. Any activity that is equal to or
greater than 24 hours automatically becomes an all day activity. All day activities are
displayed in the all day activity area in the interface. Set the parameter to <TRUE>,
<FALSE>, or an applicable object from the object list.
Recurrence
Input, required. The indicator of whether the activity occurs more than once. This
parameter merely sets a flag; the control displays an icon to indicate that the activity
has been flagged as reoccurring, but the system performs no other action in connection
with recurrence. Set the parameter to <TRUE>, <FALSE>, or an applicable object from
the object list.
Type
Input, required. The classification of the activity (meeting, appointment, and so forth).
This parameter does not appear on the calendar. Set the parameter to an alphanumeric
constant (<Literal>) or an applicable object from the object list.
Commitment Level
Input, required. The relative value of the activity. The value assigned affects the icon
displayed and the color of the duration bar for the activity. Set the parameter to <Low
Commitment> (1), <Default> (2), or <High> (3).
Private
Input, required. The indicator of whether to display the "private" icon. Set the
parameter to <TRUE>, <FALSE>, or an applicable object from the object list.
16-6
Location
Input, required. The name of the place where the activity is to occur as it should
appear on the calendar for the user. Set the parameter to an alphanumeric constant
(<Literal>), <N/A>, or an applicable object from the object list.
Organizer
Input, required. The name of the creator of the activity as it should appear on the
calendar for the user. Set the parameter to an alphanumeric constant (<Literal>),
<N/A>, or an applicable object from the object list.
Font
Input, required. The font to use to display the activity to the user. Set the parameter to
a font and related settings from the Font dialog (<Pick Font>) or the default font and
related settings (<Reset Font>).
Bitmap
Input, required. The bitmap of an icon to display to the user on the calendar in
association with the activity. To add an icon to the list, save a GIF-type graphic in both
of these locations: The B9\<pathcode>\res folder on the machine where FDA is
located and the webclient.war/img/res folder on the machine or machines hosting the
Web server. Set the parameter to a bitmap from the system-supplied list (<Choose
Calendar Bitmap>) or the default icon (<Default Calendar Bitmap>).
Background Color
Input, required. The color to appear behind the information on the calendar. Set the
parameter to a color from the color palette (<Pick Color>) or the default color (<Reset
Color>).
Additional Notes
16
When you add an activity through the system function, Add Calendar Activity, you
can affect these aspects of how the activity appears and acts on the calendar:
Private.
This option causes the system to display a special icon next to the activity. No
other logic is applied automatically, however. If you wish to restrict access to an
event marked private, then you must do so within the application.
16-8
Parameters
16
Calendar
Input, required. The ID of the activity to be removed from the calendar. Set the
parameter to a parameter to delete all events currently loaded for the control (<Delete
All Activities>) or an applicable object from the object list.
Additional Notes
16
When you delete an activity using this system function, you remove it from the
calendar control; you do not remove it from the database. You can choose to delete a
single activity or multiple ones. You can also choose to clear the control of all activities.
Parameters
16
Calendar
Input, required. The ID of the activity to be changed on the calendar. Ensure that this
value exactly matches the ID (including padding and so forth) as it appears in the
table. Set the parameter to an applicable object from the object list.
Subject
Input, required. The title of the activity as it should appear on the calendar for the user.
Set the parameter to the current value (<No Change>), an alphanumeric constant
(<Literal>) or an applicable object from the object list.
Start Date and Time
Input, required if All Day Activity = False. The starting time and date, in JDEUTime,
for the activity. Set the parameter to the current value (<No Change>) or a literal date
value in JDEUTime format.
End Date and Time
Input, required if All Day Activity = False. The ending time and date, in JDEUTime,
for the activity. Set the parameter to the current value (<No Change>) or a literal date
value in JDEUTime format.
All Day Activity
Input, required. The indicator of whether the activity is to be displayed as an all day
activity instead of having start and end date and times. Any activity that is equal to or
greater than 24 hours automatically becomes an all day activity. All day activities are
displayed in the all day activity area in the interface. Set the parameter to the current
value (<No Change>), <TRUE>, <FALSE>, or an applicable object from the object list.
Recurrence
Input, required. The indicator of whether the activity occurs more than once. This
parameter merely sets a flag; the control displays an icon to indicate that the activity
has been flagged as reoccurring, but the system performs no other action in connection
with recurrence. Set the parameter to the current value (<No Change>), <TRUE>,
<FALSE>, or an applicable object from the object list.
Type
Input, required. The classification of the activity (meeting, appointment, and so forth).
This parameter does not appear on the calendar. Set the parameter to the current value
(<No Change>), an alphanumeric constant (<Literal>) or an applicable object from the
object list.
Commitment Level
Input, required. The relative value of the activity. The value assigned affects the icon
displayed and the color of the duration bar for the activity. Set the parameter to the
current value (<No Change>), <Low Commitment> (1), <Default> (2), or <High> (3).
16-10
Private
Input, required. The indicator of whether to display the "private" icon. Set the
parameter to the current value (<No Change>), <TRUE>, <FALSE>, or an applicable
object from the object list.
Location
Input, required. The name of the place where the activity is to occur as it should
appear on the calendar for the user. Set the parameter to an alphanumeric constant
(<Literal>), <N/A>, or an applicable object from the object list.
Organizer
Input, required. The name of the creator of the activity as it should appear on the
calendar for the user. Set the parameter to the current value (<No Change>), an
alphanumeric constant (<Literal>), <N/A>, or an applicable object from the object list.
Font
Input, required. The font to use to display the activity to the user. Set the parameter to
the current value (<No Change>), a font and related settings from the Font dialog
(<Pick Font>) or the default font and related settings (<Reset Font>).
Bitmap
Input, required. The bitmap of an icon to display to the user on the calendar in
association with the activity. To add an icon to the list, save a GIF-type graphic in both
of these locations: The B9\<pathcode>\res folder on the machine where FDA is
located and the webclient.war/img/res folder on the machine or machines hosting the
Web server. Set the parameter to he current value (<No Change>), a bitmap from the
system-supplied list (<Choose Calendar Bitmap>) or the default icon (<Default
Calendar Bitmap>).
Background Color
Input, required. The color to appear behind the information on the calendar. Set the
parameter to the current value (<No Change>), a color from the color palette (<Pick
Color>) or the default color (<Reset Color>).
Additional Notes
16
When you modify an activity using the system function, Modify Calendar Activity,
you can affect these aspects of how the activity appears and acts on the calendar:
Private.
This option causes the system to display a special icon next to the activity. No
other logic is applied automatically, however. If you wish to restrict access to an
When modifying an event, ensure that the event's ID value exactly matches the ID as it
appears in the table. For example, if the table column is left-padded, you must prefix
the event ID as it appears in the control with the same number of characters that have
been added to the event ID in the table because of the column formatting.
Whenever you want to load the calendar with events that exist in a given time period,
use this formula:
SELECT from where T2 >= S and T1 <= E
where
16-12
Parameters
16
Calendar
Input, required. The calendar view (day, week, or month) to display to the user. Set the
parameter to <Day View > (0), <Week View > (1), or <Month View> (2).
16-14
17
Understanding Check Box Controls
17
17-2
18
Understanding Combo Box Controls
18
In all cases, runtime checks each item for valid Key and Item parameter pairs. If the
Key is null, or its matching description is null or an empty string, runtime throws an
error and does not load that item. Also, to avoid duplicate items from appearing in the
list, runtime does not load an item if it finds the item's Key parameter value in the
combo box's current item list. This check avoids duplicate list items; however, it does
not prevent two (or more) different list items with the same name (Description
parameter) from appearing in the list.
No matter what method you choose to load the control, ensure that the user has at
least one option to select. As part of the initialization process, if runtime cannot find at
least one value to put in the drop-down list, it disables the combo box control until one
or more values are loaded into the control.
In some cases, the values to load into the combo box might include an item where the
Key is " " (single blank) and the description is "(None)." In fact, in JD Edwards
EnterpriseOne applications, this value has been used as a blank default value,
historically. Although this is a valid item to load into the combo box, it is
recommended that you ascribe a meaningful text string to such an item that makes
sense in the context of the application as opposed to descriptions such as (None), or " ."
Note: As of release 8.94, the practice of the runtime engine
automatically loading a combo box that is configured in Form Design
Aid (FDA) as being not required with a default combo box item of key
= " " (single blank) and description = "(None)" is discontinued. If such
an item must be loaded in the context of the application in question,
that task is now the responsibility of the application developer to
define and insert into the control.
changing the values displayed in a combo box at runtime is to use the Set Data
Dictionary Item or Set Data Dictionary Overrides system functions to load the
correct set of values as needed. You can suppress inappropriate list items within an
existing combo box item list using the Remove Item system function. If you must set
up the combo box based on a non-UDC DD item but translated descriptions still need
to be displayed to the user, you have some options.
You can use the ER system value, SL LanguagePreference, to acquire user's language
preference. Use that value to fetch and load items into the combo box manually from
the appropriate UDC table (F0005 standard UDC table, or F0005D translated UDC
table).
Alternatively, you can define the necessary description items as text variables in the
application and then use these text variables in conjunction with the Add Item system
function to add the items to the combo box.
Runtime always loads from the UDC if one is associated with the combo box's data
dictionary item. If the combo box is loaded from a UDC and you want to load from a
non-UDC source instead, use Set Data Dictionary Item to associated a data dictionary
item that does not have a UDC with the combo box. Then you can load from cache or
use Add Item instead.
The JD Edwards EnterpriseOne cache from which the combo box item data will be
read must have defined a distinct column containing one or more rows of data for each
of these combo box data items:
If the optional filter cache column is not designated or does not contain valid data,
runtime will retrieve and load into the combo box all of the key/description pairs
currently loaded in the specified cache. After the combo box has been loaded from the
cache, you can dynamically remove items from its item list using the Remove Item
system function.
18.2.4 Loading a Combo Box with the Add Item System Function
To load a small number of items into a combo box, you can use the Add Item system
function. If translated description text is needed, you can use text variables for the
item descriptions or fetch the data manually from the appropriate UDC table (F0005,
or F0005D) based on the user's language preference that is accessible through the
system value, SL LanguagePreference.
See Also:
Selection Changed
Control is Entered
Control is Exited
Runtime fires the Selection Changed event when the user or application selects an
item in the combo box list that is different from the item currently selected. In
Microsoft Internet Explorer (IE), this selection can be made using any of these
methods:
User selects an item with the mouse from the combo box's drop-down list.
With the drop-down list displayed, the user can also type the first character of a
matching item, or use the up and down arrow keys.
18-4
User places the focus on the combo box without activating its drop-down list and
types the first character matching that of an item description in the combo box's
list of items (type-ahead feature).
If more than one item that matches this character exists, the user can cycle through
all of the matching items by pressing the same character key multiple times. Each
time a new item is selected, the Selection Changed event fires.
User places focus on the combo box without activating its drop-down list and then
uses the up and down arrow keys to cycle through the combo box's item list until
the desired item is found.
Each time a new item is selected, the Selection Changed event fires.
Combo box is the target of an ER assignment statement and the value assigned to
it is a valid key value matching one of the current item key values loaded in the
control.
Combo box and a valid key value are passed into the combo box system function,
Select Item.
In some explorers other than IE (such as Mozilla), the user might need to tab out of the
combo box to trigger the Selection Changed event, particularly if the selection was
made using the keyboard.
Of course, runtime fires Control is Entered when the user changes the focus to the
check box by any of these means, and fires Control is Exited when the control loses
focus.
key = "" (an empty string) or " " (blank) (depending on SP level)
and
item description = (None)
when the control is marked in FDA as being not required is
discontinued as of JD Edwards EnterpriseOne 8.94.
Additionally, to be functional, a combo box must have a valid DD item associated with
it. Combo boxes that do not have such an associated item are rendered displaying the
text string, "Uninitialized," and are automatically disabled.
If you set a combo box as a string data type (such as string or character), when runtime
initializes the control and loads the -- Select One -- prompt into the combo box, the
prompt's internal key value is "" (an empty string). If you set a combo box as a numeric
data type (such as Integer, ID, or Math Numeric), when runtime initializes the control
and loads the -- Select One -- prompt into the combo box, the prompt's internal key
value is -999999999. It is therefore important, when you are building your application
ERs, to allow for the case when the user leaves the control set selected on the default
prompt item and the key value is sent from the control.
The control initialization process is illustrated in this flowchart:
Figure 181 Combo box control initialization process
Is CB
based on valid DD
item?
Display "Uninitialized"
in CB
No
Yes
Does the
DD have
a UDC?
Disable CB
Fire Dialog
Initialized
Fire Post
Dialog
Initialized
No
Yes
Load the UDC values
into the CB list
Display
"--Select One--" in CB
No
Yes
Display
"--Select One--" or
indicated CB list item
Generally two cases exist where runtime might show an item description other than
the -- Select One -- prompt as the currently selected item in a combo box when a form
appears initially:
18-6
When a given combo box's associated DD item has a default value defined and
you come into the form in Add mode, runtime attempts to match the default value
to the keys of the items currently loaded in the combo box and sets that item as the
selected item.
Dependent on form type, regardless of whether the form was started using form
interconnect, the current form mode (Add/Copy/Update), and whether the
control is mapped to a business view column (Key or otherwise), runtime might
have retrieved a key value also and will try to set this as the current selected item
in the combo box.
If you want to load the combo box from cache or using the Add Item system function,
the event most typically used for such loads is Post Dialog Initialized.
Is current item
"--Select One--"
?
No
Yes
Does DD item
define default
value?
No
Yes
No
Is the control a
required entry
field?
Does
default value
match one key in
CB list?
Yes
Yes
No
Validation
complete
Go to first row
in cache
Retrieve all
records from
cache
Is cache empty?
No
Yes
Yes
Is filter
parameter null?
Yes
Are
Key or Item
parameters
null?
No
Is
key parameter value
in CB list?
No
No
Does column
match filter?
Yes
Yes
Throw an
exception and
clear the CB list
No
Yes
Display "Initialized"
in
CB and disable
the control
No
Display
"--Select One--" or
indicated CB list item
18-8
default -- Select One -- prompt. If this action results in a new set of UDC values, then
runtime loads those values into every current embedded combo box control for all of
the rows in the grid or Parent Child control.
Add Item
Add Item
Use this system function to add an item to the combo box if it is not displaying a list
that is based on a UDC.
Parameters
18
ComboBox Control
Input, required. The key of the item to add (string or math-numeric). Set the parameter
to an alphanumeric constant (<Literal>) or applicable object from the object list.
Item
Input, required. The name of the item to add (string). Set the parameter to an
alphanumeric constant (<Literal>) or applicable object from the object list.
Index
Input, optional. The zero-based index position where the item is to be added (integer).
If you do not specify this parameter, runtime appends the item to the bottom of the
list. The default -- Select One -- prompt always occupies index position zero. If an
invalid index is specified, the addition of the new item fails and an error message is
logged. Set the parameter to an alphanumeric constant (<Literal>) or applicable object
from the object list.
Additional Notes
18
Use this system function to add an item to the combo box. Runtime verifies that the
Key and Item parameter values are both specified. If either is missing, the addition of
the new item fails and an error is logged. If you try to insert an item having a key
value that already exists in the list, runtime will not add the item and will log an error.
The combo box control must reside on the form (as opposed to being embedded in a
grid). The control must have a valid data dictionary item associated with it.
If the key value of the key/description pair specified in the Add Item system function
call to be added to the control corresponds to a valid key value in the associated UDC
set and that key value is currently not loaded in the control (in other words, it was
removed after the control was initialized), the runtime engine allows the item to be
added back into the control. Runtime recognizes the fact that it currently does not exist
in the control's item list and that it is a valid key value in the UDC's set. Otherwise, the
attempt to add the new item will fail.
18-10
Get Description
Get Description
Use this system function to get the displayed description of the current selected item
of a specified combo box.
Parameters
18
ComboBox
Input, required. The object to which to assign the return value that designates the
description text of the current selected item (string). Set the parameter to an applicable
object from the object list.
Returns
18
This system function returns the name of a combo box item to the object identified by
Item.
18-11
Parameters
18
ComboBox Control
Input, required. The key of the target item (string or math-numeric). Set the parameter
to an alphanumeric constant (<Literal>) or applicable object from the object list.
Index
Input, required. The object to which to assign the return value that designates the
zero-based index position of the target item (integer). Set the parameter to an
alphanumeric constant (<Literal>) or applicable object from the object list.
Returns
18
This system function returns the zero-based index position of a combo box item to the
object identified by Index.
18-12
Parameters
18
ComboBox Control
Input, required. The zero-based index position of the target item (integer). Set the
parameter to an alphanumeric constant (<Literal>) or applicable object from the object
list.
Item Description
Input, required. The object to which to assign the return value that designates the
displayed description text of the target item (string). Set the parameter to an applicable
object from the object list.
Returns
18
This system function returns the name of a combo box item to the object defined by
Item Description.
18-13
Parameters
18
ComboBox Control
Input, required. The object to which to assign the return value that designates the
number of list items. Set the parameter to an applicable object from the object list.
Returns
18
This system function returns the number of items in the combo box list to the object
identified by Number.
18-14
Parameters
18
ComboBox Control
Input, required. The zero-based index position of the target item (integer). Set the
parameter to an alphanumeric constant (<Literal>) or applicable object from the object
list.
Key
Input, required. The object to which to assign the return value that designates the key
of the target item (string or math-numeric). Set the parameter to an alphanumeric
constant (<Literal>) or applicable object from the object list.
Returns
18
This system function returns the key of a combo box item to the object defined by Key.
18-15
Parameters
18
ComboBox Control
Input, required. The name of the prepopulated JD Edwards EnterpriseOne cache from
which to load combo box items (string). Set the parameter to an applicable object from
the object list.
Data Structure
Input, required. The name of the predefined JD Edwards EnterpriseOne data structure
to use to load the combo box items from cache (string). This must be the same data
structure as the one used to initialize and load the cache. Set the parameter to an
applicable object from the object list.
Key Column
Input, required. The cache column containing the key values for the items to be loaded
into the combo box (type defined by data structure). Set the parameter to an applicable
object from the object list (the list is empty until you select a data structure).
Item Description Column
Input, required. The cache column containing the text descriptions for the items to be
loaded into the combo box (type defined by data structure). Set the parameter to an
applicable object from the object list (the list is empty until you select a data structure).
Filter Column
Input, optional. The cache column containing the values against which to filter items
to be loaded into the combo box (type defined by data structure). The data type must
match that of the Key Column parameter. Set the parameter to an applicable object
from the object list (the list is empty until you select a data structure).
Filter Value
Input, optional. A value used by runtime to compare against values specified in the
Filter Column parameter (string or numeric). The data type must match that of the
Filter Column parameter itself. After it retrieves all of the cache records, runtime loads
a key/description pair into the combo box only if its Filter Value matches the Filter
Column value for that record. Otherwise the retrieved record is ignored and runtime
proceeds to process the next retrieved record. Set the parameter to <N/A> or an
applicable object from the object list.
Additional Notes
18
The Load From Cache mechanism always retrieves all of the records currently loaded
in the cache from the enterprise server to the Web server when the call is made
regardless of whether the optional Filter Column and Filter Value parameters are
specified. If you include several combo boxes on a form, you might decide to create a
single data structure that loads the cache for all of them. However, you must use
18-16
discretion in balancing how many records are loaded simultaneously in the cache
versus the performance penalties that might result when loading a single combo box
with a relatively small subset of the cache.
18-17
Parameters
18
ComboBox Control
Input, required. The zero-based index position of the item to remove (integer). Set the
parameter to an alphanumeric constant (<Literal>) or applicable object from the object
list.
Optional
Input, required. A special value indicating whether to remove all items. Set the
parameter to <Remove All> or <N/A>.
Additional Notes
18
You can also clear all items from the list. If the index value specified is invalid and the
Optional parameter equals <N/A>, no item is removed from the control and an error
message is logged.
18-18
Parameters
18
ComboBox Control
Input, required. The key of the item to remove (string or math-numeric). Set the
parameter to an alphanumeric constant (<Literal>) or applicable object from the object
list.
Optional
Input, required. A flag indicating whether to remove all items. Set the parameter to
<Remove All> or <N/A>.
Additional Notes
18
You can also clear all items from the list. If the key value specified is invalid and the
Optional parameter equals <N/A>, no item is removed from the control and an error
message is logged.
18-19
Select Item
Select Item
Use this system function to set one of the items in the combo box as the currently
selected item programmatically. The item's description appears in the control just as if
the user had chosen it.
Parameter
18
ComboBox Control
Input, required. The key of the item to set (string or numeric). Set the parameter to an
alphanumeric constant (<Literal>), <Null>, or an applicable object from the object list.
Additional Notes
18
If the key value specified is invalid, the combo box's selection remains unchanged.
18-20
18-21
Add Item
Add Item
Use this system function to add an item to the combo box list embedded in a grid that
is not displaying a list based on a UDC.
Parameters
18
Grid Control
Input, required. The grid column to affect. Set the parameter to an applicable object
from the object list.
Grid Row
Input, required. The grid row to affect (integer). Set the parameter to an alphanumeric
constant (<Literal>), <Currently Selected Row>, or an applicable object from the
object list.
Key
Input, required. The key of the item to add (string or numeric). Set the parameter to an
alphanumeric constant (<Literal>) or applicable object from the object list.
Item
Input, required. The name of the item to add (string). Set the parameter to an
alphanumeric constant (<Literal>) or applicable object from the object list.
Index
Input, optional. The zero-based index position where the item is to added (integer). If
you do not specify this parameter, runtime appends the item to the bottom of the list.
The default -- Select One -- prompt always occupies index position zero. If an invalid
index is specified, the addition of the new item fails and an error message is logged.
Set the parameter to an alphanumeric constant (<Literal>), <Null>, or an applicable
object from the object list.
Additional Notes
18
Use this system function to add an item to the combo box if it is not displaying a list
that is based on a UDC (however, the control itself must be based on a valid DD item).
Runtime verifies that the Key and Item parameter values are both specified. If either is
missing, the addition of the new item fails and an error is logged. If you try to insert an
item having a key value that already exists in the list, runtime will not add the item
and will log an error.
18-22
Get Description
Get Description
Use this system function to get the name of an item in a combo box list by specifying
its row number.
Parameters
18
Grid Control
Input, required. The grid column to affect. Set the parameter to an applicable object
from the object list.
Grid Row
Input, required. The grid row to affect (integer). Set the parameter to an alphanumeric
constant (<Literal>), <Currently Selected Row>, or an applicable object from the
object list.
Item
Input, required. The object to which to assign the return value that designates the
description text of the current selected item (string). Set the parameter to an applicable
object from the object list.
Returns
18
This system function returns the name of a combo box item to the object identified by
Item.
18-23
Parameters
18
Grid Control
Input, required. The grid column to affect. Set the parameter to an applicable object
from the object list.
Grid Row
Input, required. The grid row to affect (integer). Set the parameter to an alphanumeric
constant (<Literal>), <Currently Selected Row>, or an applicable object from the
object list.
Key
Input, required. The key of the target item (string or math-numeric). Set the parameter
to an alphanumeric constant (<Literal>) or applicable object from the object list.
Index
Input, required. The object to which to assign the return value that designates the
zero-based index position of the target item (integer). Set the parameter to an
alphanumeric constant (<Literal>) or applicable object from the object list.
Returns
18
This system function returns the zero-based index position of a combo box item to the
object identified by Index.
18-24
Parameters
18
Grid Control
Input, required. The grid column to affect. Set the parameter to an applicable object
from the object list.
Grid Row
Input, required. The grid row to affect (integer). Set the parameter to an alphanumeric
constant (<Literal>), <Currently Selected Row>, or an applicable object from the
object list.
Index
Input, required. The zero-based index position of the target item (integer). Set the
parameter to an alphanumeric constant (<Literal>) or applicable object from the object
list.
Item Description
Input, required. The object to which to assign the return value that designates the
displayed description text of the target item (string). Set the parameter to an applicable
object from the object list.
Returns
18
This system function returns the name of a combo box item to the object defined by
Item Description.
18-25
Paremeters
18
Grid Control
Input, required. The grid column to affect. Set the parameter to an applicable object
from the object list.
Grid Row
Input, required. The grid row to affect (integer). Set the parameter to an alphanumeric
constant (<Literal>), <Currently Selected Row>, or an applicable object from the
object list.
Number
Input, required. The object to which to assign the return value that designates the
number of list items. Set the parameter to an applicable object from the object list.
Returns
18
This system function returns the number of items in the combo box list to the object
identified by Number.
18-26
Parameters
18
Grid Control
Input, required. The grid column to affect. Set the parameter to an applicable object
from the object list.
Grid Row
Input, required. The grid row to affect (integer). Set the parameter to an alphanumeric
constant (<Literal>), <Currently Selected Row>, or an applicable object from the
object list.
Index
Input, required. The zero-based index position of the target item (integer). Set the
parameter to an alphanumeric constant (<Literal>) or applicable object from the object
list.
Key
Input, required. The object to which to assign the return value that designates the key
of the target item (string or math-numeric). Set the parameter to an alphanumeric
constant (<Literal>) or applicable object from the object list.
Returns
18
This system function returns the key of a combo box item to the object defined by Key.
18-27
Parameters
18
Grid Control
Input, required. The grid column to affect. Set the parameter to an applicable object
from the object list.
Grid Row
Input, required. The grid row to affect (integer). Set the parameter to an alphanumeric
constant (<Literal>), <Currently Selected Row>, or an applicable object from the
object list.
Cache Name
Input, required. The name of the prepopulated JD Edwards EnterpriseOne cache from
which to load combo box items (string). Set the parameter to an applicable object from
the object list.
Data Structure
Input, required. The name of the predefined JD Edwards EnterpriseOne data structure
to use to load the combo box items from cache (string). This must be the same data
structure as the one used to initialize and load the cache. Set the parameter to an
applicable object from the object list.
Key Column
Input, required. The cache column containing the key values for the items to be loaded
into the combo box (type defined by data structure). Set the parameter to an applicable
object from the object list (the list is empty until you select a data structure).
Item Description Column
Input, required. The cache column containing the text descriptions for the items to be
loaded into the combo box (type defined by data structure). Set the parameter to an
applicable object from the object list (the list is empty until you select a data structure).
Filter Column
Input, optional. The cache column containing the values against which to filter items
to be loaded into the combo box (type defined by data structure). The data type must
match that of the Key Column parameter. Set the parameter to an applicable object
from the object list (the list is empty until you select a data structure).
Filter Value
Input, optional. A value used by runtime to compare against values specified in the
Filter Column parameter (string or numeric). The data type must match that of the
Filter Column parameter itself. After it retrieves all of the cache records, runtime loads
a key/description pair into the combo box only if its Filter Value matches the Filter
Column value for that record. Otherwise the retrieved record is ignored and runtime
proceeds to process the next retrieved record. Set the parameter to <N/A> or an
applicable object from the object list.
18-28
Additional Notes
18
The Load From Cache mechanism always retrieves all of the records currently loaded
in the cache from the enterprise server to the Web server when the call is made
regardless of whether the optional Filter Column and Filter Value parameters are
specified. If you include several combo boxes on a form, you might decide to create a
single data structure that loads the cache for all of them. However, you must use
discretion in balancing how many records are loaded simultaneously in the cache
versus the performance penalties that might result when loading a single combo box
with a relatively small subset of the cache.
18-29
Parameters
18
Grid Control
Input, required. The grid column to affect. Set the parameter to an applicable object
from the object list.
Grid Row
Input, required. The grid row to affect (integer). Set the parameter to an alphanumeric
constant (<Literal>), <Currently Selected Row>, or an applicable object from the
object list.
Index
Input, required. The zero-based index position of the item to remove (integer). Set the
parameter to an alphanumeric constant (<Literal>) or applicable object from the object
list.
Optional
Input, required. A special value indicating whether to remove all items. Set the
parameter to <Remove All> or <N/A>.
Additional Notes
18
You can also clear all items from the list. If the index value specified is invalid and the
Optional parameter equals <N/A>, no item is removed from the control and an error
message is logged.
18-30
Parameters
18
Grid Control
Input, required. The grid column to affect. Set the parameter to an applicable object
from the object list.
Grid Row
Input, required. The grid row to affect (integer). Set the parameter to an alphanumeric
constant (<Literal>), <Currently Selected Row>, or an applicable object from the
object list.
Key
Input, required. The key of the item to remove (string or math-numeric). Set the
parameter to an alphanumeric constant (<Literal>) or applicable object from the object
list.
Optional
Input, required. A flag indicating whether to remove all items. Set the parameter to
<Remove All> or <N/A>.
Additional Notes
18
You can also clear all items from the list. If the key value specified is invalid and the
Optional parameter equals <N/A>, no item is removed from the control and an error
message is logged.
18-31
Select Item
Select Item
Use this system function to set one of the items in the combo box as the currently
selected item programmatically. The item's description appears in the control just as if
the user had chosen it.
Parameters
18
Grid Control
Input, required. The grid column to affect. Set the parameter to an applicable object
from the object list.
Grid Row
Input, required. The grid row to affect (integer). Set the parameter to an alphanumeric
constant (<Literal>), <Currently Selected Row>, or an applicable object from the
object list.
Key
Input, required. The key of the item to set (string or numeric). Set the parameter to an
alphanumeric constant (<Literal>), <Null>, or an applicable object from the object list.
Additional Notes
18
If the key value specified is invalid, the combo box's selection remains unchanged.
18-32
19
Understanding Edit Controls
19
You might also want to apply filters to edit controls when records need to fall between
two values. In this case, you use a range filter. For example, in distribution, a status is
assigned to each line of the order. One status is the current status and the other status
is the next status. In this example, you filter records that are greater than or equal to
the present status and less than or equal to the next status. You drop one value, filter
the value, and then drop the next value.
A consideration when using the Required Field flag with edit fields is that, if the
required field indicator should be displayed in the application, you must check the
Required Field property for the edit field and then connect static text to it. Be sure to
size the connected static text box appropriately to allow for the "required" indicator to
be appended to the end of the text, and also to allow for translations. If you do not
connect static text to the edit field, runtime does not display the required field
indicator in the application.
To connect static text to the edit field, select the edit field and the label. Then select
Edit, Reconnect. To disconnect the static text from the edit field, select them and then
select Edit, Disconnect.
Control is Entered
Control is Exited
Control is Exited/Changed-Inline
Control is Exited/Changed-Asynch
19-2
Parameters
19
Control
Input, required. The color to which to set the control. Double-click <Pick Color> to
select a specific color. Otherwise, set the parameter to <Pick Color> or the default
color (<Reset Color>).
19-4
Parameters
19
Control
Input, required. The font and font characteristics to apply. Double-click <Pick Font> to
select specific settings. Otherwise, set the parameter to <Pick Font> or the system
default settings (<Reset Font>).
19-6
20
Understanding Grid Controls
20
Database column or
A database column is associated with an item in the business view (BV) and through
that connection to a DD item. Database columns represent a field in a database record.
Although only one type of column is referred to as a DD column, both types have a
connection to a specific DD item. The difference is that a database column has the
additional connection to a BV field. A grid column is affected by the properties of the
associated dictionary item. For example, if a grid column is associated with a
dictionary item of type string with a length of 30, that grid column will not permit
more than 30 characters to be typed into the cell.
Grid controls can also have a query-by-example (QBE) line. The QBE columns have a
one-to-one correspondence with the grid columns. You use a QBE value to change the
selection criteria of a database fetch. Only database columns enable entry in the QBE
Understanding Grid Controls 20-1
columns because the purpose of the QBE is to affect the selection and only database
columns are in the BV. A QBE column can have one of these comparison types:
Equal.
Not equal.
Less than.
Greater than.
The comparison type is equal unless you specify otherwise. You can specify the
comparison type in the QBE column or by using system functions. You can use
wildcards (* or %) for an inexact search on a string field.
Grid values can be retrieved on a cell-by-cell basis or on a row-by-row basis. Internal
storage for the grid columns exists in the runtime engine. The way the grid column
value is stored is based on the type of the associated dictionary item (for example,
math numeric, string, character), and it is distinct from the screen representation of the
value. Only one row of data can be acted upon at any given time. Each event executes
in the context of a specific row.
Create a form.
Find/Browse, header detail, headerless detail, and search & select forms have a
grid control on them automatically.
20-2
Power edit, power browse, reusable and embedded edit subforms, reusable and
embedded browse subforms, edit portlet, and browse portlet forms will accept a
grid control.
2.
On the form level, attach a BV for the engine to use to populate the grid or use
values assigned in ER and system functions to insert grid rows.
3.
4.
5.
6.
7.
Add logic.
To add a data item to the grid from the BV associated with the form,
double-click a data item in the Business View Columns Browser.
To add a data item to the grid that is not in the BV associated with the form,
search for a data item in the Data Dictionary Browser, and then double-click it.
Each time you double-click an item, Form Design Aid (FDA) adds it as a
column to the grid control.
2.
Repeat step one until you have added all of the columns you need.
3.
4.
On Grid Properties, click the Columns tab and arrange the column order by
selecting a column and then using the Up and Down buttons to shift its position in
the list.
5.
Click the Sort Order tab and set the order in which the system will sort returned
records by performing these steps:
a.
Select a data item in the Unsorted Columns list and click the right arrow.
Repeat for each data item on which you want to sort.
The data item moves to the Sorted Columns list.
b.
c.
Arrange the column sort order by choosing a column in the Sorted Columns
list and then using the Up and Down buttons to shift its position in the list.
value of a flag is not directly meaningful to a user. The ability to display grid data as
icons enables you to associate values or ranges of values with an icon image, and then
display that image in a grid, instead of the underlying data value.
You can optionally make icons clickable so that a behavior is associated with them.
You can also optionally create tooltip popups to display supplementary information
about the data. These tooltips are displayed when the user hovers the mouse pointer
over the icon image.
Filename Suffix
Example
Normal (non-clickable)
None
status_ok.gif
Clickable
_cl
status_ok_cl.gif
Clickable mouseover
_mo
status_ok_mo.gif
Clickable disabled
_di
status_ok_di.gif
The graphic image types can be in gif, bmp, jpg and png formats. For each new icon
you want to use, you must create four images (one for each state), and then store those
images in system\OC4J\j2ee\home\applications\webclient.ear\webclient\img
directory.
Reusability. The NER can be used from any icon column. An example is that you
use a NER to capture the decision process associated with each icon data item and
then use the same NER in all columns displaying that same data item.
Consistency. The same type of data is represented with the same set of icons on
multiple grids, over multiple applications.
Flexibility. When you need a one-off or non-standard icon representation, you can
create special NERs. Alternately, you can use data structures to pass more
information than the current value of that single data column to the icon
decision-making process. This enables more flexible icon representation.
20-4
Tooltips enable you to augment the icon with detailed information. When the user's
mouse pointer hovers over an icon, the extended information about that grid cell is
displayed. The information that displays is specific to the form and the grid column,
but can include any or all of:
Identify data values or ranges of values that you want to represent as icons, and
then decide which icons to use to represent them. Ensure that all required images
for all icons are in the designated location.
2.
3.
a.
b.
c.
Provide at least one call to the Set Grid Cell Icon system function. Each call to
this system function enables you to select the icon's base (normal) image using
the Image Picker and then to optionally set icon-specific tooltip text to apply
under that specific data
Associate the NER function that sets the icon with the grid columns:
a.
b.
Optionally, to make an icon clickable, select Clickable, and then update the ER
for the Grid Column Clicked event
Consider carefully the design-time settings you make because you may not be able to
change them during runtime.
Desired Result
To Implement
Notes
Runtime fires the Grid
Column Clicked event when
the user selects the column
value.
20-6
Desired Result
To Implement
Notes
In addition to these property settings, use these system functions to affect grid
appearance:
Desired Result
Navigation
Notes
Enable users to select multiple Select the grid control and set
Multiple Select to Yes.
rows.
Change the sort order.
Load data automatically upon Select the grid control and set Use this option only on forms
changes in a related (child)
Auto Find On Changes to Yes. that have no modeless form
form.
interconnections.
Prevent users from importing
or exporting files.
20-8
Desired Result
Navigation
Notes
Desired Result
Navigation
Notes
When assigning values using conventions such as target = source, if the source
object does not have any currency information (currency code = null or empty
string), then the target object keeps its own currency.
When a GB object is cleared, the currency code and currency decimal information
for that column is not cleared.
Understanding Grid Controls 20-9
The pattern for deleting a row is similar except that runtime notifies you before and
after the user action as well as the commits:
Finally, runtime signals as the user works through the grid, starting when the grid
gets focus and ending when the grid loses focus.
20-10
Row is Entered
Row is Exited
This event fires whenever a row is exited.
20-11
Form triggers
initialization of grid
control
No
Disable QBE
Is currency
turned off?
Yes
Is
"No Display if
Currency is OFF"
enabled?
No
Hide column
No
Apply column
security
Grid population occurs immediately after the initialization process if the option,
Automatically Find On Entry is selected. The grid population process is also triggered
when the user clicks the Find button or if you apply logic on an event to do so. If the
fetch requires access to the form's BV only, then you can probably enable the engine to
perform the fetch on its own. However, if you want to access other tables, you must set
up and execute a custom fetch programmatically.
This flowchart illustrates the steps that occur when find is initiated:
20-12
Figure 202
Fire Button
Clicked
Delete all
grid rows
Disconnect
from modeless
children
Execute Button
Clicked ER logic,
if any exists
Clear errors
Find ER on
Get Custom Grid
Row?
Yes
Perform custom
fetch
No
Perform engine
fetch
20-13
Create a SQL
statement and
execute it
Is the row
suppressed?
Yes
Get the
next row
no
Write GC to the
grid by appending
the data in the last
line
No
Write BC to GC
Process attached
media objects
Does Append
= FALSE?
Yes
Write GC to the
grid by replacing
the data in the grid
This flowchart illustrates how the system creates the SQL statement:
20-14
Figure 204
Filter field
values exist?
Yes
Build WHERE
clause using filter
field values
Yes
Set
Selection
Append Flag =
Yes?
No
Was Set
Selection
called?
Yes
Build WHERE
clause using Set
Selection values
appended to form
filter values
No
Build WHERE
clause using Set
Selection values
instead of form
filter values
No
Was Set
Sequencing
called?
Yes
Build SORT BY
clause using Set
Sequencing values
No
Did
the user define
sequencing?
Yes
Build SORT BY
clause using userdefined values
Yes
Build SORT BY
clause using grid
format values
No
Do not perform
sorting
No
Custom fetches are executed based exclusively on the ER associated with the Get
Custom Grid Row event. The ER provides instructions for how to load a row, and
runtime repeats the ER until you tell it to stop or it reaches the end of a page if
page-at-a-time processing is enabled. To tell the engine to continue looping or not,
Understanding Grid Controls
20-15
include a call to Continue Custom Fetch in the ER. Set Continue Custom Fetch to
True to run another loop; set it to False to exit the custom fetch loop. (Not calling
Continue Custom Fetch is equivalent to setting it to false.)
Grid controls are used to display information. In some instances, information display
is all the grid does, in which case, no more grid control processing occurs.
Grids can also be used to enable users to delete, edit, and add data as well. To enable
any of these functions, the grid (and therefore the form) must be in Add or Update
mode (Update mode is the default mode; add mode occurs either when the user clicks
Add or a fetch fails to retrieve data). Furthermore for add and update capabilities, the
grid must not be disabled; that is, the Disable Input option was not set at design time.
Finally, to add data, the user must have an entry row (that is, a blank row) as well.
Runtime automatically adds an entry row to update grids in the add and update
modes as long as the No Adds on Update Grid option was not set at design time.
When the user tabs out of an entry row, runtime performs these functions in this order:
1.
2.
3.
Get the value from the GC and copy the contents into a new entry row.
This three-part flowchart illustrates how runtime processes the act of writing data
from the grid and committing the change to the database:
20-16
Figure 205
User or
application
logic clicks
OK
Clear errors
Is 21
CFR Part 11
enabled?
Yes
Perform 21
CFR Part 11
validation
No
Was
validation
successful?
No
Terminate entire
commit process
No
Fire OK Button
Clicked
Yes
Validate header
data, if it exists
Validate
grid data
Process errors
Are manual
transactions
enabled?
Yes
Initialize manual
transaction
No
20-17
Yes
Wrtie from
GC to BC
Clear the
suppress
delete flag
Is the
suppress delete
flag set?
No
Delete the
record from the
database
Fire Delete
Grid Rec from
DB After
20-18
Figure 207
Is that
flag set where
engine updates
the view?
Write GC to BC
Yes
No
Write saved
nonfilter fields and
filter fileds with a
comparison value
of equals (=) to BC
OR
Fire All Recs
Inserted to DB
OR
Fire Post Button
Clicked
Write from BC
to database
OR
Commit the
transactions
20-19
Assign all
transactions a
GUID
Is signature
authority required
to commit the
transaction?
Yes
Is the
transaction
approved?
Display an
approval form
No
Continue with the
normal commit
process
Yes
20-20
No
Terminate the
commit process
Figure 209
Has the
next cell value
changed?
No
Arrow
down or tab out
of last cell in
row?
Yes
Yes
Is the
cell empty?
Yes
Perform row
validation
Yes
Is the
cell empty?
No
Clear any "required
entry" errors
No
Is the
cell in a required
entry column?
Yes
Queue the
required entry
field error
No
Clear any data type
mismatch errors
Is the
value allowed
by the unlying
DD item?
No
No
Queue
the invalid entry
error
Yes
Fire Column is
Exited
20-21
Figure 2010
Fire Column is
Exited
Was the
column
changed?
Yes
Fire Column is
Exited & Changed Inline
Yes
Perform row
validation
Fire Column is
Exited & Changed Asynch
No
Arrow
down or tab out
of last cell in
row?
20-22
Grid Type
Interactivity
Effect
Non-editable
Low
Non-editable
High
Non-editable
Windows
Grid Type
Interactivity
Effect
Editable
Low
Editable
High
Editable
Windows
For high interactive editable grid, post asynchronously for each cell change.
20-23
control. Use Set Grid Font to change the type, style, size, effects, and color of the font
in a cell, row, column, or the entire control. Alternatively you can use Set Grid Row
Format to use HTML formatting commands to control the appearance of the grid, not
only for color and font, but for other factors as well. Use Set Grid Cell Icon within a
client-side, icon-setting NER to set an icon for a grid cell. Use Set Grid Cell Icon
Visibility within normal form-based ER to control an icon's visibility dynamically.
To enable or prevent a user from customizing the grid, use Display Customize Grid
Option.
Use Hide Grid Column and Show Grid Column to hide and display columns in the
grid. Although a user cannot affect a hidden column, you can still work with and
change values in it programmatically.
If the column is based on a DD item, use Set Data Dictionary Overrides to change the
DD attributes of the column, or Set Data Dictionary Item to substitute another DD
item altogether. To change the heading for the column, use Set Grid Column Heading.
Use Hide Grid Row and Show Grid Row to hide and display rows in the grid. As
with columns, you can still affect hidden grid rows programmatically.
You can also control the bitmap icon that appears next to a given row with Set Grid
Row Bitmap.
You can enable or prevent users from changing an existing cell, row, column, or the
entire control. Use Enable Grid to enable user edits (assuming that the current mode
permits such actions) and Disable Grid to prevent them. Although users cannot alter
a disabled grid object, you can change it programmatically.
You can enable or prevent users from importing from Excel or from importing or
exporting to Excel or Word with Display Import from Excel Option, Display Export
to Excel Option, and Display Export to Word Option.
You can determine if a grid cell has been updated since the last check with Was Grid
Cell Value Entered.
Use Get Max Grid Rows to count the number of rows currently loaded into the grid
control. Use Get Selected Grid Row Count to count the number of rows in the current
selection. The selected area need not consist of contiguous rows.
Use Set QBE Column Compare Style to set the comparison value (=, >, <=, and so
forth) for a QBE column. Clear QBE Column clears an entry in a QBE column.
Runtime always fetches all records for all columns defined by the BV. However, you
can impact how runtime builds the WHERE and ORDER BY clauses of the SQL SELECT
statement it executes to perform a fetch. (Use the various Hide system functions to
filter what the user sees even more, if necessary.) Use Set Selection to input the
specific values you want to use in the WHERE clause. For example, assume that you
want a list of accounts that are greater than 1000 USD. The SQL WHERE statement might
look like this (literal values are used to simplify the examples):
WHERE F0902.GBAN01 > 1000
The Set Selection statement that builds this code would look like this:
Set Selection(FC Grid, F0902, GBAN01, <Greater Than>, '1000', <None>)
That is: (grid control, table, alias, comparison type, comparison value, and/or).
The values you input with Set Selection persist until form close. Consequently,
subsequent calls to Set Selection enable you to build a complex WHERE clause. For
example, say you wanted a list of document types for Foundation. In the F0005 table,
20-24
system code and object type are in two different columns, so you must call Set
Selection twice. First:
Set Selection(FC Grid, F0005, DRSY, <Equal To>, '00', <None>)
Then:
Set Selection(FC Grid, F0005, DRRT, <Equal To>, 'DT', <AND>)
By setting the and/or parameter to <AND>, the system knows to append the WHERE
clause with the values from a subsequent call to Set Selection with an AND. Therefore,
runtime will build this WHERE clause:
WHERE F0005.DRSY = '00' AND F0005.DRRT = 'DT'
Use Set Selection Append Flag to indicate whether the criteria from the Set Selection
system function should replace the criteria from existing filter fields and QBE or be
appended to it.
You can alter the sort order of the returned values by using Set Sequencing. Set
Sequencing builds the ORDER BY clause of the SQL statement. The Set Sequencing
parameters are: Set Sequencing (grid control, table, alias, sort order), so if
we wanted to sort the preceding example by the document type code (DRKY) in
ascending order, you would code:
Set Selection(FC Grid, F0005, DRKY, <ASCENDING>)
If you need to build a WHERE clause and do not want to use values that may already
exist because of previous uses of Set Selection, use Clear Selection to delete all
existing selection (but not sequencing) values from memory. To remove sequencing
values, use Clear Sequencing.
When you fetch data, you can populate GB and then use system functions to write GB
values to the grid control. You can also write from the grid control to the GB and
manipulate the GB and grid data in other ways.
To write from the GB to the grid, use either Insert Grid Buffer Row or Update Grid
Buffer Row, depending on whether you want to add a new row to the grid (insert) or
overwrite an existing row (update). In either case, when you write a new row, you
have a variety of configuration options. You can make the new row selectable,
editable, updatable, and deletable, assuming that the current conditions permit such
actions. You can also clear the GB automatically after insert so that you do not need to
make repeated calls to Clear Grid Buffer, which is the system function that removes
all values from the GB.
Insert Grid Buffer Row and Update Grid Buffer Row both require a row number that
is based on the model grid as input so that runtime knows where to place the new row.
One way to determine a grid row number is with the system function, Get Selected
Grid Row Number.
To activate a specific grid row during an event, use Get Grid Row. After identifying a
row with Get Grid Row, all subsequent ER that normally references GCs will
reference the identified row instead. The alternate reference lasts for the duration of
the event.
To prevent a row from being written to the grid during the runtime fetch, use
Suppress Grid Line.
To copy or populate a grid row to the GB, use Copy Grid Row to Grid Buffer. To
remove a grid row from the grid control, use Delete Grid Row.
You can set or clear an error on a cell, row, column, or the entire control. Use Set Grid
Cell Error to set errors and Clear Grid Cell Error to clear them.
20-25
Parameters
20
Grid
Input, required. The row to affect. Set the parameter to <All Rows>, <Currently
Selected Row>, or an applicable object from the object list.
Select State
Input, required. The state (selected or deselected) in which to put the indicated row or
rows. Set the parameter to <Selected (1)>, <Unselected (0)>, or an applicable object
from the object list.
20-26
Parameter
20
Grid
20-27
Parameters
20
Grid
Input, required. The row in which to clear the error. Set the parameter to an
alphanumeric constant (<Literal>), <All Rows>, or <Currently Selected Row>.
Column
Input, required. The column in which to clear the error. Set the parameter to an
applicable object (GC grid column) from the object list or <All Columns>.
"Understanding Report Printing Administration
Technologies" in the JD Edwards EnterpriseOne Tools Report Printing
Administration Technologies Guide.
See Also:
20-28
Parameters
20
Grid
Input, required. The QBE column to clear. Set the parameter to an applicable object
(GC grid column) from the object list or <All Columns>.
Additional Notes
20
You might use this function when the QBE column had a value forced into it, such as
the current date on a purchase order find/browse form. Then, after the user performs
a Find, you could clear the QBE column in case you want to use another date.
20-29
Clear Selection
Clear Selection
Use this system function to clear all system-function-defined selection information that
was used to build previous SQL statements during the current session.
Parameter
20
Grid
20-30
Set Selection
Clear Sequencing
Clear Sequencing
Use this system function to clear all system-function-defined sequencing information
that was used to build previous SQL statements during the current session.
Parameter
20
Grid
20-31
Parameters
20
Grid
Input, required. The row to copy to GC. Set the parameter to an alphanumeric constant
(<Literal>), <All Rows>, or <Currently Selected Row>, or applicable object from the
object list.
20-32
Parameters
20
Grid
Input, required. The row to delete. Set the parameter to an alphanumeric constant
(<Literal>), <All Rows>, or <Currently Selected Row>, or applicable object from the
object list.
20-33
Disable Grid
Disable Grid
Use this system function to protect a cell, a row, a column, or the entire control from
being edited.
Parameters
20
Grid
Input, required. The relative row to disable. The first row is 0. Set the parameter to an
alphanumeric constant (<Literal>), <All Rows>, or <Currently Selected Row>.
Column
Input, required. The column to disable. Set the parameter to an applicable object (GC
grid column) from the object list or <All Columns>.
Additional Notes
20
This function is useful when you need to complete more information in the header
before you can add individual rows or when you want to use information in the
header as default information in the grid. Also, this system function does not take
hidden rows into account when deleting a row based on an absolute row number
value.
See Also:
20-34
Enable Grid
Parameters
20
Grid
20-35
Parameters
20
Grid
20-36
Parameters
20
Grid
20-37
Parameters
20
Grid
20-38
Enable Grid
Enable Grid
Use this system function to enable a user to edit a cell, a row, a column, or the entire
grid. Also, this system function does not take hidden rows into account when enabling
a row based on an absolute row number value.
Parameters
20
Grid
Input, required. The relative row to enable. The first row is 0. Set the parameter to an
alphanumeric constant (<Literal>), <All Rows>, or <Currently Selected Row>.
Column
Input, required. The column to enable. Set the parameter to an applicable object (GC
grid column) from the object list or <All Columns>.
See Also:
Disable Grid
20-39
Parameters
20
Grid
Input, required. The relative row to acquire. Set the parameter to an alphanumeric
constant (<Literal>), <Blank>, <Zero>, or applicable object from the object list.
Additional Notes
20
If the row specified is greater than the total number of rows, the last row is used. If the
row specified is invalid, the active row becomes zero.
20-40
Parameters
20
Grid
Input, required. The object to which to assign the return value. Set the parameter to an
applicable object from the object list.
Returns
20
This system function returns the number of rows in the model grid to the object
identified by Row.
See Also:
Disable Grid
20-41
Parameters
20
Grid
Input, required. The row from which to start searching for a selected row. In other
words, runtime will return the first row it finds, after this row, that has been selected.
To include the first row of the grid in the search, select the special parameter, <Before
First Row>. Set the parameter to <Before First Row> or an applicable object from the
object list.
Row
Output, required. The object to which to assign the return value. Set the parameter to
an applicable object from the object list.
Returns
20
This system function returns the index of the first selected row the system encounters
beneath the indicated row. Runtime writes the index to the object specified by Row.
20-42
Parameters
20
Grid
Output, required. The object to which to assign the return value. Set the parameter to
an applicable object from the object list.
Returns
20
This system function returns the number of rows in the current selection to the object
identified by Row.
See Also:
20-43
Parameters
20
Grid
Output, required. The object to which to assign the return value. Set the parameter to
an applicable object from the object list.
Additional Notes
20
If multiple rows are selected, the function returns the index value for the first row.
Typically, you use this function only when you need to save the row as a variable for
future processing.
Returns
20
This system function returns the index position of the selected row to the object
identified by Row.
20-44
Parameters
20
Grid
Input, required. The column to hide. Set the parameter to an applicable object (GC grid
column) from the object list or <All Columns>.
See Also:
20-45
Parameters
20
Grid
Input, required. The relative row to hide. Set the parameter to an alphanumeric
constant (<Literal>), <All Rows>, <Currently Selected Row>, an applicable object
from the object list.
Additional Notes
20
This is an example of how to use this system function. If you create a form with a grid
and you want to summarize rows, add together several rows to determine a total and
show the total row. If you use this system function, you might include a check box for
the detail information and then display the row instead of repopulating the grid.
If no row is selected when it is invoked, then the system function hides the last row.
See Also:
20-46
Parameters
20
Grid
Input, required. The relative row to insert the row. Set the parameter to an
alphanumeric constant (<Literal>), <After Current Row>, or <After Last Row>.
Selectable?
Input, required. An indicator of whether the Select button processes for the inserted
row. Set the parameter to <Yes> or <No>.
Protected?
Input, required. An indicator of whether the user can edit the inserted row. Set the
parameter to <Yes> or <No>.
Updateable?
Input, required. An indicator of whether runtime will attempt to update or insert the
underlying table if the user edits the data and clicks the OK button. Set the parameter
to <Yes> or <No>.
Deleteable?
Input, required. An indicator of whether the user can delete the inserted row. Set the
parameter to <Yes> or <No>.
Clear After?
20-47
20-48
Parameters
20
Grid
Input, required. The column to change. Set the parameter to an applicable object (GC
grid column) from the object list or <All Columns>.
DD Alias
Input, required. The alias of the DD item that you want to use. Set the parameter to a
specific DD alias (<Pick DD Item>) or an applicable object from the object list.
System Code
Additional Notes
20
This system function makes a complete change; you substitute a different DD item for
the existing one. You can also create a new data item that is not the same type as the
old item. The new DD item must be the same data type as the previous DD item or the
system function call does not make any changes.
20-49
Parameters
20
Grid
Input, required. The column to override. Set the parameter to an applicable object (GC
grid column) from the object list or <All Columns>.
Overrides
Input, required. The override to apply. Set the parameter to the specific type of
override to apply.
20-50
Parameters
20
Grid
Input, required. The relative row on which to set the error. Set the parameter to an
alphanumeric constant (<Literal>), <All Rows>, <Currently Selected Row>, or
applicable object from the object list.
Column
Input, required. The column on which to set the error. Set the parameter to an
applicable object (GC grid column) from the object list or <All Columns>.
Error Code
Input, required. The alias of the error to be set on the row and column. Set the
parameter to an alphanumeric constant (<Literal>), <Blank>, <Zero>, or applicable
object from the object list.
See Also:
20-51
Parameters
20
Image File
Input, required. The name of the reference image to be rendered in the calling grid cell.
Set the parameter to None, or use the Image Picker to see and select the available icon
reference images in the current H4A (or OH4A) installation.
Icon Tooltip
Input, required. The tooltip text associated with selection of this icon. Set the
parameter to an applicable object (such as a NER variable), to None, or Define Message
using the template Text Substitution mechanism.
20-52
Parameters
20
Grid
20-53
Parameters
20
Grid
Input, required. The relative row on which to set the color. Set the parameter to an
alphanumeric constant (<Literal>), <All Rows>, <Currently Selected Row>, or
applicable object from the object list.
Column
Input, required. The column on which to set the color. Set the parameter to an
applicable object (GC grid column) from the object list or <All Columns>.
Color
Input, required. The color to be set on the row and column. A color from the color
palette (<Pick Color>) or the default color value (<Reset Color>).
20-54
Parameters
20
Grid
Input, required. The column for which to change the header. Set the parameter to an
applicable object (GC grid column) from the object list or <All Columns>.
Text
Input, required. The text to use for the column header. Set the parameter to an
alphanumeric constant (<Literal>), <Blank>, <Zero>, or applicable object from the
object list
See Also:
20-55
Parameters
20
Grid
Input, required. The relative row for which to set the font. Set the parameter to an
alphanumeric constant (<Literal>), <All Rows>, <Currently Selected Row>, or
applicable object from the object list.
Column
Input, required. The column on which to set the font. Set the parameter to an
applicable object (GC grid column) from the object list or <All Columns>.
Font
Input, required. The font to be set on the row and column. Set the parameter to a font
and related settings from the Font dialog (<Pick Font>) or the default font settings
(<Reset Font>).
20-56
Parameters
20
Grid
Input, required. The relative row for which to set the bitmap. Set the parameter to an
alphanumeric constant (<Literal>), <All Rows>, <Currently Selected Row>, or
applicable object from the object list.
Bitmap
Input, required. The bitmap to be set on the row. Set the parameter to the specific
bitmap that you want to apply (<Checkbox>, <X Mark>, and so forth).
20-57
Parameters
20
Grid
Input, required. The format to apply. You can apply the default format, or you can use
the alternate HTML formatting string you entered into the Alternate Grid Row Format
String parameter for the gird at design-time. Set the parameter to <Default> or
<Alternate>.
20-58
Parameters
20
Grid
Input, required. The source from which to acquire comparison data. Set the parameter
to an alphanumeric constant (<Literal>), <Null>, or an applicable object from the
object list.
Alias
Input, required. The column of the table from which to acquire comparison data. Set
the parameter to an alphanumeric constant (<Literal>), <Null>, or an applicable object
from the object list.
Comparison Type
Input, required. The comparison operator to use. Set the parameter to the comparison
operator to use (<Equal To>, <Not Equal To>, and so forth).
Comparison Value
Input, required. The comparison value to use. Set the parameter to an alphanumeric
constant (<Literal>), <Blank>, <Zero>, or applicable object from the object list.
And/Or
Input, required. Indicates whether to append another WHERE clause to the SQL
statement and how the new statement relates to the one before it (AND or OR). Set the
parameter to <And>, <Or> or <None>.
Additional Notes
20
In some cases, referencing an item just by table and column (as you do with Set
Selection) is insufficient. For example, in JD Edwards EnterpriseOne, some tables,
especially in Financials, are structured using ragged hierarchies. A ragged hierarchy is
one in which the parent attribute of one or more child attributes is not at the level
immediately above the child. In short, some attributes in the hierarchy effectively have
an empty parent-level attribute and descend from a grandparent attribute instead.
This table illustrates how information might appear in a ragged hierarchy:
Segment
Family
Class
Commodity
Base Metals
Base Metals
Titanium
20-59
Segment
Family
Class
Precious Metals
Precious Metals
Commodity
Gold
Gemstone
Gemstone
Timepiece
Timepiece
Pearls
Watches
If you searched at the commodity level, the system would return only titanium and
gold because at that level, watches and pearls are technically null values. To
compensate, use the system function, Set Lower Limit, instead of Set Selection to
build the WHERE clause of the SQL statement in this situation. With Set Lower Limit,
you can have the grid display all records starting from the Titanium line down. With
conventional filter fields it is impossible to display all the subsequent records because
none of the other "class" fields are greater than or equal to Titanium. Set Lower Limit
not only includes the most restrictive field (in this case Class - Titanium), but also
includes each step in the hierarchy to determine if a record is actually "greater than"
the lower limit record.
In general, this system function should not be used in cases where the user can affect
the select. For example, QBE and filter fields are ways the user can affect the select. If
the user can affect the select, then the user's select information should always be taken
into consideration. This system function can be used in conjunction with Set Selection
Append Flag to either append or replace the QBE or filter selection with the system
function selection.
See Also:
20-60
Set Selection
Parameters
20
Grid
Input, required. The column on which to set the QBE comparison operator. Set the
parameter to an applicable object (GC grid column) from the object list or <All
Columns>.
Compare Style
Input, required. The comparison operator to use. Set the parameter to <Equal To>,
<Not Equal To>, <Greater Than>, <Less Than>, <Greater Than or Equal To>, or
<Less Than or Equal To>.
20-61
Set Selection
Set Selection
Use this system function to create the WHERE clause of a SQL search statement for use in
a succeeding fetch.
Parameters
20
Grid
Input, required. The source from which to acquire comparison data. Set the parameter
to an alphanumeric constant (<Literal>), <Null>, or an applicable object from the
object list.
Alias
Input, required. The column of the table from which to acquire comparison data. Set
the parameter to an alphanumeric constant (<Literal>), <Null>, or an applicable object
from the object list.
Comparison Type
Input, required. The comparison operator to use. Set the parameter to the comparison
operator to use (<Equal To>, <Not Equal To>, and so forth).
Comparison Value
Input, required. The comparison value to use. Set the parameter to an alphanumeric
constant (<Literal>), <Blank>, <Zero>, or applicable object from the object list.
And/Or
Input, required. Indicates whether to append another WHERE clause to the SQL
statement and how the new statement relates to the one before it (AND or OR). Set the
parameter to <And>, <Or> or <None>.
Additional Notes
20
In general, this system function should not be used in cases where the user can affect
the select. For example, QBE and filter fields are ways the user can affect the select. If
the user can affect the select, then the user's select information should always be taken
into consideration. This system function can be used in conjunction with Set Selection
Append Flag to either append or replace the QBE or filter selection with the system
function selection.
See Also:
20-62
Clear Selection
Set Sequencing
Examples
20
AT1 is the Search Type column in table F0101. Value 'E' is for Employee and value 'C' is
for Customer.
When a user enters ABC in the filter field and then clicks the Find button, the
following conceptual WHERE clause is created:
WHERE ALPH=ABC AND AT1=E OR AT1=C
Example 2 Set Selection Group
A form has a filter field called Alpha Name (ALPH), which is associated with the
Alpha Name column in the F0101 table. In addition, there are two Set Selection Group
system functions under the Find Button Clicked event. These two system functions are
as follows:
AT1 is the Search Type column in the F0101 table. Value 'E' is for Employee and value
'C' is for Customer.
When a user enters ABC in the filter field and then clicks the Find button, the
following conceptual WHERE clause is created:
WHERE ALPH=ABC AND (AT1=E OR AT1=C)
The result is that all employee and all customer records with the name ABC are
fetched.
Example 3 Set Selection and Set Selection Group
A form has a filter field called Alpha Name (ALPH), which is associated with the
Alpha Name column in the F0101 table. In addition, there are two Set Selection system
20-63
functions and two Set Selection Group system functions under the Find Button Clicked
event. These four system functions are as follows:
AN8 is the Address Number column in the F0101 table; AT1 is the Search Type column
in the F0101 table. Value 'E' is for Employee and value 'C' is for Customer.
When a user enters ABC in the filter field and then clicks the Find button, the
following conceptual WHERE clause is created:
WHERE ALPH=ABC AND AN8>100 AND AN8<200 AND (AT1=E OR AT1=C)
The result is that all employee and all customer records with the name ABC and
address number in the range of 100 to 200 are fetched.
Although shown in this example, the usage of mixed Set Selection and Set Selection
Group is not a good practice. The purpose of this example is to show the runtime
behavior - Set Selection Group system functions are grouped and appended to the
WHERE clause at the end.
20-64
Parameters
20
Grid
Input, required. Indicates whether to append or replace. Set the parameter to append
(<Yes>) or replace (<No>).
See Also:
Set Selection
20-65
Set Sequencing
Set Sequencing
Use this system function to create the ORDER BY clause of a SQL search statement for
use in a succeeding fetch.
Note: Use of this system function implies that grid formats that
include sequencing will not be used in the SQL.
Parameters
20
Grid
Input, required. The source from which to acquire comparison data. Set the parameter
to an alphanumeric constant (<Literal>), <Null>, or an applicable object from the
object list.
Alias
Input, required. The column of the table from which to acquire comparison data. Set
the parameter to an alphanumeric constant (<Literal>), <Null>, or an applicable object
from the object list.
Sort Order
Input, required. Whether to sort in ascending or descending order. Set the parameter
to <Ascending> or <Descending>.
Additional Notes
20
In general, this system function should not be used in cases where the user can affect
the select. For example, QBE and filter fields are ways the user can affect the select. If
the user can affect the select, then the user's select information should always be taken
into consideration.
See Also:
20-66
Clear Sequencing
Clear Sequencing
Set Selection
Parameters
20
Grid
Input, required. The column to show. Set the parameter to an applicable object (GC
grid column) from the object list or <All Columns>.
See Also:
20-67
Parameters
20
Grid
Input, required. The relative row to show. Set the parameter to an alphanumeric
constant (<Literal>), <All Rows>, or applicable object from the object list.
See Also:
20-68
Parameter
20
Grid
20-69
Parameters
20
Grid
Input, required. The relative row to affect. Set the parameter to an alphanumeric
constant (<Literal>), <Currently Selected Row>, or applicable object from the object
list.
Selectable?
Input, required. An indicator of whether the Select button processes for the inserted
row. Set the parameter to <Yes> or <No>.
Protected?
Input, required. An indicator of whether the user can edit the inserted row. Set the
parameter to <Yes> or <No>.
Updateable?
Input, required. An indicator of whether runtime will attempt to update or insert the
underlying table if the user edits the data and clicks the OK button. Set the parameter
to <Yes> or <No>.
Deleteable?
Input, required. An indicator of whether the user can delete the inserted row. Set the
parameter to <Yes> or <No>.
Clear After?
Grid
Input, required. The relative row to affect. Set the parameter to an alphanumeric
constant (<Literal>), <Currently Selected Row>, or applicable object from the object
list.
Selectable?
Input, required. An indicator of whether the Select button processes for the inserted
row. Set the parameter to <Yes> or <No>.
Protected?
Input, required. An indicator of whether the user can edit the inserted row. Set the
parameter to <Yes> or <No>.
20-70
Updateable?
Input, required. An indicator of whether runtime will attempt to update or insert the
underlying table if the user edits the data and clicks the OK button. Set the parameter
to <Yes> or <No>.
Deleteable?
Input, required. An indicator of whether the user can delete the inserted row. Set the
parameter to <Yes> or <No>.
Clear After?
20-71
Parameters
20
Grid
Input, required. The column containing the grid cell to check. Set the parameter to an
applicable object (GC grid column) from the object list or <All Columns>.
Return To
Input, required. The object to which to assign the return value that designates whether
the cell or node has changed. Set the parameter to an applicable object from the object
list.
This system function returns one of these values to the object identified by Row:
0
20-72
21
Understanding Hot Keys
21
Hot keys are key stroke combinations, such as CTRL+ALT+V to save, that users can
use instead of a mouse click to perform a Button Clicked event. In a JD Edwards
EnterpriseOne application, most hot keys are reserved for system use.
This chapter contains the following topics:
CTRL+SHIFT+B
CTRL+SHIFT+D
CTRL+SHIFT+L
CTRL+SHIFT+M
CTRL+SHIFT+N
CTRL+SHIFT+P
CTRL+SHIFT+Q
Understanding Hot Keys 21-1
CTRL+SHIFT+U
CTRL+SHIFT+X
CTRL+SHIFT+Y
When you use the properties dialog to define the hot key and violate one of these
rules, the system displays an error message and does not save the definition. However,
when you use the properties panel to define the hot key, and violate a rule, no error
message box is displayed. FDA ignores your definition (it is not saved).
21-2
22
Understanding Image Controls
22
Clickable
If you want to make the image control act as a button (that is, fire the Button
Clicked event when the user clicks it), enable this option. The option does not
automate the image, however. Hence, the user receives no feedback when he or
she clicks the control unless you add logic on the Button Clicked event to that
end.
Prevent Resizing
Select this option to prevent your accidentally resizing the image during
design-time.
Tool Tip
To display text when the user hovers over the control, enter the text you want to
show in this property field.
22-2
23
Understanding Media Object Controls
23
Additionally, you can opt to cause a new text item to be created every time the control
is opened by selecting the New Text Item on Open option.
Media object system functions enforce media object security in the web client. When
applications that have media object security applied to them are running , the system
logs the security information for the system functions in the web client debug log file.
23-2
Parameters
23
Input, required. The media object data structure to use. Set the parameter to an
alphanumeric constant (<Literal>), a user prompt (<Choose GTName>), or an
applicable object from the object list.
Key String
Input, required. The key string of the media object to access. Set the parameter to an
alphanumeric constant (<Literal>), <Blank>, <Zero>, or an applicable object from the
object list.
Action
Input, required. The display mode for the media object. You can show the media object
as a read-only object, or you can enable users to edit the media object. Set the
parameter to <Edit> or <Display>.
Status
Input, optional. The item to activate (that is, bring to the forefront of the control). A
media object can have more than one item associated with it. If you want an item of a
certain type to be displayed initially, specify it with this parameter. You can also
choose to enable the user to select the initial display item type as well. Set the
parameter to <First Image Item>, <First OLE Item>, <First Text Item>, or <Specify
Item#>.
Parameters
23
GTName
Input, required. The media object data structure to use. Set the parameter to an
alphanumeric constant (<Literal>), a user prompt (<Choose GTName>), or an
applicable object from the object list.
GT Key
Input, required. The key string of the media object to access. Set the parameter to an
alphanumeric constant (<Literal>), <Blank>, <Zero>, or an applicable object from the
object list.
Delete
Input optional. If user wants the Delete option for the Media Objects uploaded, need
to pass this
parameter as<yes>.
Upload
Input, optional. If user wants the Upload option, pass this parameter as <yes>.
Download
Input, optional. If user wants the Download option for the Media Objects uploaded,
pass this parameter as<yes>.
View
Input required. User has to pass the view as<yes> to view the Media Object files
uploaded. If the User passed any of the Delete (OR) download parameters, the View
parameter is taken as true since View is implicit by default.
23-4
Activate Item
Activate Item
Use this system function to activate (that is, bring forward) a specific item in a given
media object. You must first access the media object itself before activating its items.
Parameters
23
Input, required. The ID of the item to activate. Set the parameter to <First Image
Item>, <First OLE Item>, <First Text Item>, or <Specify Item#>.Access Media Object
Parameters
23
Input, required. The media object data structure to clear. Set the parameter to an
alphanumeric constant (<Literal>), a user prompt (<Choose GTName>), or an
applicable object from the object list.Disable Characterization CacheSet
Characterization Cache
23-6
Delete Item
Delete Item
Use this system function to delete a specified item from a given media object. You
must first access the media object itself before deleting its items.
Parameters
23
Input, required. The ID of the item to delete. Set the parameter to <First Image Item>,
<First OLE Item>, <First Text Item>, or <Specify Item#>.Access Media
ObjectActivate Item
Parameters
23
23-8
Parameters
23
Input, required. The ID of the item containing the OLE object to be fetched. Set the
parameter to <First Image Item>, <First OLE Item>, <First Text Item>, or <Specify
Item#>.
ObjectRef
Output, required. The object to which to return the ActiveX/COM interface variable.
Set the parameter to an applicable object from the object list.
Returns
23
This system function returns the handle of the referenced OLE item to the object
specified by ObjectRef. It also returns one of these two values:
NOERROR
Parameters
23
Output, required. The object to which to return the name of the item. Set the parameter
to an alphanumeric constant (<Literal>), <Blank>, <Zero>, or an applicable object
from the object list.
Item
Input, required. The object to which to return the next available ID. Set the parameter
to an alphanumeric constant (<Literal>) or <Null>.
ObjectRef
Returns
23
This system function returns the name of the inserted object, as well as the next
available ID value to the objects indicated by Item Name and Item, respectively. It also
returns one of these two values:
NOERROR
23-10
Insert Text
Insert Text
Use this system function to add text object to a given media object.
Parameters
23
Input, required. The ID to assign to the item being inserted. Set the parameter to
<Default Text Object> or an alphanumeric constant (<Literal>).
Text
Input (EVDT_STRING ), required. The actual text to be inserted. Set the parameter to
an alphanumeric constant (<Literal>), <Null>, or an applicable object from the object
list.
23-11
Insert URL
Insert URL
Use this system function to place an HTML page in a media object. You must pass in
the media object queue name where the HTML file resides and the name of the file.
Parameters
23
Input, required. The media object queue in which HTML files reside. Set the parameter
to an alphanumeric constant (<Literal>), <Blank>, <Zero>, or an applicable object
from the object list.
HTML File Name
Input, required. The name of the HTML file to be attached. Set the parameter to an
alphanumeric constant (<Literal>), <Blank>, <Zero>, or an applicable object from the
object list.
Returns
23
Indicates that the system function failed.Get OLE ItemInsert OLE Object
23-12
Parameters
23
Input, required. Indicates whether to hide the icon panel. Set the parameter to <Yes>
or <No>.
23-13
23-14
Parameters
23
Input, required. The media object data structure to use. Set the parameter to an
alphanumeric constant (<Literal>), a user prompt (<Choose GTName>), or an
applicable object from the object list.
Categories
23-15
Parameters
23
Input, required. The ID fo the text item that you want to affect. You can select a specific
item, or you can choose to affect the default text item if you have configured the
control at runtime so that a default text item launches each time the user opens the
control. Set the parameter to <Default Text Object> or an alphanumeric constant
(<Literal>).
Position
Input, required. The position at which to place the cursor. Set the parameter to
<HOME>.
23-16
Parameters
23
Grid
Input, required. The row to check. Set the parameter to an alphanumeric constant
(<Literal>), <All Rows>, <Currently Selected Row>, or an applicable object from the
object list.
Set Indicator?
Input, required. Indicates whether runtime should display the paperclip icon for the
user if a media object is associated with the row. Set the parameter to <Yes> or <No>.
23-17
Parameters
23
Input, required. The ID of the text item you want to affect. You can select a specific
item, or you can choose to affect the default text item if you have configured the
control at runtime so that a default text item launches each time the user opens the
control. Set the parameter to <Default Text Object> or an alphanumeric constant
(<Literal>).
Color
Input, required. The color to be set. Set the parameter to a color from the color palette
(<Pick Color>) or the default color value (<Reset Color>).
23-18
24
Understanding Parent Child Controls
24
Tree Nodes
24-2
Impact
Multiple Select
Both tree columns and the grid columns (except for parent child relationship
columns) are editable unless they have been rendered read-only by application
logic.
Columns that define the parent/child key relationship are not editable.
Runtime provides format and validation for grid cells and tree nodes, similar to
the one provided for regular grid.
The column events, Column Is Exited, Column Is Exited and Changed In-Line,
and Column Is Exited and Changed - Asynchronous, are supported for the tree
column and all grid columns.
The Trigger Parallel Event system function is available for the Column Is Exited
and Changed and Column Is Exited and Changed In-Line events. This system
function will enable a parallel event to run on a separate thread and will not
interfere with existing Event Rules. (Release 9.1 Update 5)
The row events, Row Is Exited, Row Is Exited and Changed In-Line, Row Is
Exited and Changed - Asynchronous, are supported for parent child controls.
The Trigger Parallel Event system function is available for the Row Is Exited and
Changed and Row Is Exited and Changed In-Line events. This system function
will enable a parallel event to run on a separate thread and will not interfere with
existing Event Rules. (Release 9.1 Update 5)
At most, a power form or a subform can contain a single parent child control directly.
However, a power form can contain multiple subforms, and each subform can contain
a parent child control. Similarly, while you cannot place a parent child control on a tab
page, you can create a subform as a tab page and that subform can contain a parent
child control.
Set Action
Parameter 2 has no special values. Parameter 3 special values are <Enabled (1)>
and <Disabled (0)>.
24-4
Row is Entered
Node is Moved Up
Row is Exited
Many of these events are unique to parent child controls and can be categorized for
discussion:
Clicking bitmaps.
Copy.
Cut-copy-paste (drag-and-drop).
You can disable these options at design time. When an option is enabled and a user
attempts the operation, the cursor indicates that the function is not permitted, and
none of the associated events execute. You can control operations to the database using
these events:
If you enable any of the three operations, the Begin Drag event fires, and the drag
mode is set to Move for the first two operations (cut or copy). The mode is set to
Copy for the third operation (cut-copy-paste).
Node Is Moved Up
When a node has been moved up by one position (if permitted on the event, Node
Move Up Verify Before), then the event, Node is Moved Up, is fired for that
node. Its child nodes are still parented to the moved node. You cannot move a
node that is the first node on its level up.
24-6
F0006.Open
If VA frm_AllCompanies is equal to "1"
VA frm_CurCompany = GC Co
F0006.Select
Else
VA frm_CurCompany = BC Company
F0006.Select
End If
//
// While Loop which fetches the business units for a specific company.
// If the company changes we get out of the loop.
While VA frm_OutOfLoop is equal to <Zero>
// Fetch the records from the F0006 Table.
F0006.FetchNext
GB BusinessUnit = GB Companies
If SV File_IO_Status
is equal to CO SUCCESS
GB Co = BC Company
VA frm_PreCompany = BC Company
VA frm_ConcateBuDesc = " "
VA frm_ConcateBuDesc = concat([VA frm_ConcateBuDesc],[VA frm_NameOfBU])
GB CompanyStructure = concat([GB Companies],[VA frm_ConcateBuDesc])
GB Companies = concat([GB Companies],[VA frm_ConcateBuDesc])
//
// Tells the Level of the Tree Structure.
GB LevelOfTreeInt = "1"
//
Insert Grid Buffer Row(FC parent/child, <After Last Row>, <Yes>, <No>,
<No>, <No>, <No>, <Yes>)
Set Tree Node Bitmap(FC parent/child, <Last Grid Row>, BussUnit.bmp, <Yes>)
//
//
If VA frm_PreCompany is not equal to VA frm_CurCompany
VA frm_OutOfLoop = "1"
End If
Else
VA frm_OutOfLoop = "1"
End If
End While
F0006.Close
Else
// Loop thru the F0901 to get the corresponding accounts.
//
VA frm_CURBU = GC BusinessUnit
F0901.Open
F0901.Select
If SV File_IO_Status
is equal to CO ERROR
//
End If
//
// While Loop to pick up the accounts till the Fetch Fails.
While VA frm_ExistAcctLoop is equal to <Zero>
F0901.FetchNext
GB Sub = VA frm_DBSUB
GB ObjAcct = VA frm_DBOBJ
GB Name = VA frm_AcctDesc
GB BusinessUnit = VA frm_CURBU
VA frm_AcctDesc = concat([VA frm_BLANKS],[VA frm_AcctDesc])
GB AccountID = VA frm_AIDF0901
GC AccountID = VA frm_AIDF0901
If SV File_IO_Status
is equal to CO ERROR
24-8
VA frm_ExistAcctLoop = "1"
Else
GC Companies = " "
GB Companies = " "
Business Unit, Object, Subsidiary Merge
GB Companies = concat([VA frm_DBANI],[VA frm_AcctDesc])
GB CompanyStructure = concat([VA frm_DBANI],[VA frm_AcctDesc])
GC Companies = VA frm_AIDF0901
//
// Tells the level of the Tree Structure '2'
GB LevelOfTreeInt = "2"
//
Insert Grid Buffer Row(FC parent/child, <After Last Row>, <Yes>, <No>, <No>,
<No>, <No>, <No>)
Set Tree Node Bitmap(FC parent/child, <Last Grid Row>, accounts.bmp, <Yes>)
End If
End While
End If
FC BUFrom = " "
Users have the ability to change the tree's hierarchical structure by moving nodes up
and down. Users can also increase the indent or outdent of a node as well. To prevent
vertical changes to the tree structure, use Suppress Node Move Up/Down. To prevent
horizontal changes, use Suppress Node Indent/Outdent. Typically, you will call these
system functions inside the events, Node Indent Verify Before, Node Outdent Verify
Before, Node Move Up Verify Before, or Node Move Down Verify Before, to prevent
the user from performing the action (move up/down or indent/outdent).
Under most conditions, each node in the tree has a bitmap next to it for display
purposes only. You can use Set Tree Node Clickable Bitmap to provide an additional
bitmap which is clickable; that is, clicking the bitmap causes the event, Tree Node
Bitmap is Clicked, to fire.
You can use system functions to acquire this information about any node in the tree:
Given its ID, the node row number (Get Row Number).
Given its ID, the node parent, siblings, and child IDs (Get Related Node ID).
When application logic is used to load the tree instead of the runtime logic, the
application must often insert a tree node at a specific location based on data column
values. To achieve this, at design time, select a column to be the node ID column. An
application can specify a column as the node ID column. The value in this column will
be used as a unique identifier for that row. The node ID column can be any data type,
but must be unique. Use the system functions, Insert Grid Buffer Row By Node ID
and Get Related Node ID, to specify a node ID column. Node ID column and these
system functions work together: Node ID column needs to exist for these system
functions to work. If none of these system functions is called, you do not need to
specify a node ID column.
After you specify a node ID column, use the Insert Grid Buffer Row By Node ID
system function to insert a row at any location, based on its node ID value and Insert
As parameter. Use this method to permit an application to insert tree nodes at any
position of the tree. Calling the Insert Grid Buffer Row By Node ID system function
is the only way to add an entry row in the parent child control.
The parent child control provides some default bitmaps for tree nodes that are
displayed to indicate the current status of that node (expanded, collapsed, and so
forth). You can substitute your own bitmap to display for a node, however, with Set
Tree Node Bitmap.
For each node, the parent child control can automatically generate and update
hierarchical numbers called location indicators. If you enable the feature at design
time, then users will see the location indicators button at runtime. By default, the
numbering schema is 1, 1.1, 1.2, 1.3, 2, 2.1, and so on. You cannot modify the location
indicator in any other way.
To insert an entry row in an empty parent child control, you must first call the system
function, Set Root Node ID, to assign an ID to the hidden root node. By default, the
root node in an empty tree is hidden, and therefore has no ID. After assigning an ID to
the root node, then call the system function, Insert Grid Buffer Row By Node ID, and
pass in the root node ID. If the control does not have a node ID column, runtime
produces an error.
24-10
Add Action
Add Action
Use this system function to add a context-based action to the parent child control in
Product Sync mode.
Parameters
24
Parent/Child
Input, required. The name of the action to add. Set the parameter to <Separator> or an
applicable object from the object list.
Action ID
Input, required. The ID of the action to add. Set the parameter to <Separator> or an
applicable object from the object list.
Parent Action ID
Input, required. The icon to display. Set the parameter to <Choose Action Bitmap>,
<Default>, or <Separator>.
Additional Notes
24
If Action Name, Action ID, or Icon are specified as <Separator> then the entire action
is a separator, and the values of the other parameters are to be ignored.
24-11
Parameters
24
Parent/Child
Input, required. The PSYNCH node to add the path. Set the parameter to < Currently
Selected Row> or an applicable object from the object list.
Path ID
Input, required. The path to add to the segment. Set the parameter to an applicable
object from the object list.
Error Code
Input, required. The object to which to assign the return value that indicates whether
the function executed without error. Set the parameter to an applicable object from the
object list.
Returns
24
This system function returns one of these values to the object identified by Error Code:
0
No error
1
Recursive
2
Other error
24-12
Parameters
24
Parent/Child
Input, required. The row to affect. Set the parameter to <All Rows>, <Currently
Selected Row>, or applicable object from the object list.
Select State
24-13
Parameter
24
Parent/Child - Grid
Input, required. The parent child FC to affect.Copy Grid Row To Grid BufferUpdate
Grid Buffer Row
24-14
Parameters
24
Parent Child
Input, required. The row in which to clear the error. Set the parameter to an
alphanumeric constant (<Literal>), <All Rows>, or <Currently Selected Row>.
Column
Input, required. The column in which to clear the error. Set to <All Columns>.
24-15
Parameters
24
Parent Child
24-16
Parameters
24
Parent/Child
Input, required. The target node to affect. Set the parameter to <Currently Selected
Node>, <Last Inserted Node>, or <Currently Expanding/Collapsing Node>.
24-17
Parameters
24
Parent/Child - Grid
Input, required. The row to copy. Set the parameter to an alphanumeric constant
(<Literal>), <Currently Selected Row>, <Currently Expanding/Collapsing Node>, or
an applicable object from the object list.Clear Grid BufferUpdate Grid Buffer Row
24-18
Parameter
24
Parent/Child
24-19
Parameter
24
Parent/Child
24-20
Parameters
24
Parent/Child - Grid
Input, required. The relative location to insert the row. Set the parameter to an
alphanumeric constant (<Literal>), <All Rows>, <All Child Nodes Under the
Current Node>, <Drag Node Row>, <Currently Selected Row>, or an applicable
object from the object list.
24-21
Disable Grid
Disable Grid
Use this system function to disable a cell, a tree node, a row, the column or the entire
parent child control. This system function does not take hidden rows into account
when deleting a row based on an absolute row number value.
Parameters
24
Parent Child
Input, required. The column to be disabled. Set to <All Columns>.Update Grid Buffer
Row
24-22
Enable Grid
Enable Grid
Use this system function to enable a grid cell, a tree node cell, a row, a column or the
entire parent child control. This system function does not take hidden rows into
account when deleting a row based on an absolute row number value.
Parameters
24
Parent Child
Input, required. The row to be enabled. Set the parameter to an alphanumeric constant
(<Literal>), <All Rows>, or <Currently Selected Row>.
Column
24-23
Parameters
24
Parent/Child
Input, required. The target node to expand. Set the parameter to <Currently Selected
Node>, <Last Inserted Node>, or <Currently Expanding/Collapsing Node>.
24-24
Parameters
24
Parent/Child - Grid
Input, required. The relative row to target. Set the parameter to an alphanumeric
constant (<Literal>), <Blank>, <Zero>, or an applicable object from the object list.
24-25
Parameters
24
Parent/Child - Grid
Input, required. The relative row to target. Set the parameter to an applicable object
from the object list.
24-26
Parameters
24
Parent/Child
Input, required. The row under which to find the next selected row. Typically, you pass
<Before First Row> on the first row and then the value of the current row on
subsequent calls. Set the parameter to <Before First Row> or an applicable object from
the object list.
Selected Row
Output, required. The object to which to assign the value indicating the next selected
row. Set the parameter to an applicable object from the object list.
Returns
24
This system function returns a value to the object identified by Selected Row. If no
rows are selected after the start row, then the system function returns a value of 1.
24-27
Get Node ID
Get Node ID
This system function returns the ID of a node at a given location. You can use this
system function only if the control has a node ID column.
Parameters
24
Parent Child
Input, required. The location of the node for which you want an ID. Set the parameter
to <Root Node>, <Currently Selected Node>, <Last Inserted Node>, <Currently
Expanding/Collapsing Node>, <Currently Deleted Node>, <Drag Over Node>, or an
applicable object from the object list.
Node ID
Output, required. The object to which you want to assign the return value that
designates the node ID. The value must be a variable or control with the same data
type as the node ID column; a type mismatch will be checked by the runtime engine.
Set the parameter to an applicable object from the object list.
Error Code
Output, required. The object to which you want to assign the return value that
designates the error code for the transaction.
Returns
24
This system code returns two values. The node ID itself is returned to the object
identified by Node ID. A value indicating whether the node was actually found is sent
to the object identified by Error Code and can have one of two values:
0
The node ID was not found.Get Related Node IDInsert Grid Buffer Row By Node ID
24-28
Parameters
24
Parent/Child
Output, required. The object to which you want to assign the return value that
designates the node ID. The value must be a variable or control with the same data
type as the node ID column; a type mismatch will be checked the runtime engine. Set
the parameter to <Currently Selected Node>, <Drag Over Node>, <Currently
Expanding/Collapsing Node>, or <Currently Deleted Node>.
Return to
Output, required. The object to which you want to assign the return value that
designates the node level. Set the parameter to an applicable object from object list.
Returns
24
This system function returns the hierarchical level of a given node to the object
identified by Return to. If this system function fails (for example, the node ID does not
exists), then the system function returns a value of 1.
24-29
Parameters
24
Parent Child
Input, required. The relationship of the target node to the reference node. Set the
parameter to <Parent Node>, <First Child Node>, <Next Sibling Node>, <Previous
Sibling Node>.
Node ID
Output, required. The object to which you want to assign the return value that
designates the node ID. The value must be a variable or control with the same data
type as the node ID column; a type mismatch will be checked by the runtime engine.
Set the parameter to an applicable object from the object list.
Error Code
Output, required. The object to which you want to assign the return value that
designates the error code for the transaction. The value must be integer type variable
or control. Set the parameter to an applicable object from the object list.
Returns
24
This system code returns two values. The node ID itself is returned to the object
identified by Node ID. A value indicating whether the node was actually found is sent
to the object identified by Error Code and can have one of two values:
0
24-30
Parameters
24
Parent Child
Input, required. The ID of the target node. Set the parameter to an applicable object
from the object list.
Row Number
Output, required. The object to which you want to assign the return value that
designates the row number.
Returns
24
This system function returns the next selected row number to the object identified by
Row Number. If this system function fails (for example, the node ID does not exists),
row number is 1.Get Node ID
24-31
Parameters
24
Parent/Child
Output, required. The object to which to assign the value that indicates the action ID of
the action that triggered the OnAction event. Set the parameter to an applicable object
from the object list.
Returns
24
This system function returns the ID of the action that triggered the OnAction event to
the object specified by Action ID.
24-32
Parameters
24
Parent/Child - Grid
Output, required. The object to which to assign the return value that designates the
number of rows. Set the parameter to an applicable object from the object list.
Returns
24
This system function returns the number of rows in the current selection to the object
specified by Row.
24-33
Parameters
24
Parent/Child - Grid
Output, required. The object to which to assign the return value that designates the
row number. Set the parameter to an applicable object from the object list.
Returns
24
This system function returns the row number for the selected row to the object
specified by Row.
24-34
Parameters
24
Parent/Child
Input, optional. The ID of the node for which to get the handle. Leave this parameter
blank if you want to identify the node by its position (Index parameter). Set the
parameter to <Currently Selected Node>, <Last Inserted Node>, <Root Node>,
<Currently Expanding/Collapsing Node>, or <Currently Deleted Node>.
Index
Input, optional. The position of the node for which to get the handle. Leave this
parameter blank if you want to identify the node by its condition, such as currently
selected, last insert, and so forth (Node parameter). Set the parameter to an
alphanumeric constant (<Literal>), <Blank>, <Zero>, or an applicable object from the
object list.
Handle
Output, required. The object to which to assign the return value that designates the
handle of the target node (numeric). Set the parameter to an applicable object from the
object list.
Returns
24
This system function returns the handle for a tree node to the object specified by
Handle.
24-35
Parameters
24
Parent/Child - Grid
Input, required. The column to hide. Set this variable to <All Columns>.Get Node ID
24-36
Parameters
24
Parent/Child - Grid
Input, required. The relative location where to insert the data. Set the parameter to an
alphanumeric constant (<Literal>), <After Current Row>, <After Last Row>, <Under
Currently Expanding Node>, <Under Drop Node>, <Under Drop Node as First
Child>.
Selectable?
Input, required. An indicator of whether the user can select the inserted row. Set the
parameter to <Yes> or <No>.
Protectable?
Input, required. An indicator of whether the user can edit the inserted row. Set the
parameter to <Yes> or <No>.
Updateable?
Input, required. An indicator of whether the user can delete the inserted row. Set the
parameter to <Yes> or <No>.
Clear After?
Input, required. An indicator of whether the user can expand the inserted row. Set the
parameter to <Yes> or <No>.Insert Grid Buffer Row By Node ID
24-37
Parameters
24
Parent Child
Input, required. The ID of the target node. Set the parameter to an applicable object
from the object list.
Insert As
Input, required. The position to insert the GB row, relative to the target node. Set the
parameter to insert the row immediately under the target node and make it a child of
the target <First Child Node>, make the row a child of the target node and insert it at
the bottom of the target's children <Last Child Node>, insert the row immediately
after the target node <Next Sibling Node>, or insert the row immediately before the
target node <Previous Sibling Node>.
Selectable
Input, required. An indicator of whether the user can select the inserted row. Set the
parameter to <Yes> or <No>.
Protectable
Input, required. An indicator of whether the user can edit the inserted row. Set the
parameter to <Yes> or <No>.
Updateable
Input, required. An indicator of whether the user can delete the inserted row. Set the
parameter to <Yes> or <No>.
Clear After?
Input, required. An indicator of whether the user can expand the inserted row. Set the
parameter to <Yes> or <No>.
Insert Mode
Input, required. An indicator of whether the new row is to be inserted into the
database or to be updated into the database (assuming such a row already exist in the
database), if the parent child control has a business view. If the insert mode is Update
and no such row exists in the database, the system will fail to process this row. If the
insert mode is Insert and a row already exists in the database, the system will fail to
process the row in the database. Set the parameter to <Insert> or <Update>.
24-38
Additional Notes
24
You can insert the row before or after the target node. Alternatively, you can insert the
row as a child of the target node. In that case, you can choose to insert it as the first or
the last child.Insert Grid Buffer Row
24-39
Set Action
Set Action
Use this system function to enable or disable a specific context-based action in Product
Synch mode.
Parameters
24
Parent/Child
Input, required. The ID of the action to enable or disable. Set the parameter to
<Enabled>, <Disabled>, or an applicable object from the object list.
State
Additional Notes
24
Note that State can be enabled, disabled, or you can pass in an EVDT_INT variable
which will be interpreted to provide the value for the selection state. This makes it
possible to reduce if/then logic because one system function can be used to update the
enabled state for a context based action.
24-40
Parameters
24
Parent/Child - Grid
Input, optional. The column to hide. Because parent child controls have only one
column, you do not need to enter a value into this parameter. Set to <All Columns>.
DD Alias
Input, required. The alias of the DD item that you want to use. Set the parameter to a
specific DD alias (<Pick DD Item>) or an applicable object from the object list
System Code
Input, required. The system code to use when checking for textual overrides to apply
to the DD item. Set to <default>.
24-41
Parameters
24
Parent/Child - Grid
Input, optional. The column to hide. Because parent child controls have only one
column, you do not need to enter a value into this parameter. Set to <All Columns>.
Overrides
Input, required. The override to apply. Set the parameter to the specific type of
override to apply (<Data Dictionary Overrides>).
24-42
Parameters
24
Parent/Child
Input, required. The cursor to apply. Set the parameter to <Default> or <No Drag
Cursor>.
24-43
Parameters
24
Parent Child
Input, required. The row on which to set the error. Set the parameter to an
alphanumeric constant (<Literal>), <All Rows>, or <Currently Selected Row>.
Column
Input, required. The column on which to set the error. Set to <All Columns>.
Error Code
Input, required. The error to set. Set the parameter to an alphanumeric constant
(<Literal>), <Blank>, <Zero>, or an applicable object from the object list
24-44
Parameters
24
Parent/Child - Grid
Input, required. The relative row on which to set the color. Set the parameter to an
alphanumeric constant (<Literal>), <All Rows>, <Currently Selected Row>,
applicable object from the object list.
Column
Input, required. The column on which to set the color. Set to <All Columns>.
Color
Input, required. The color to display. Set the parameter to a color from the color palette
(<Pick Color>) or the default color <Reset Color>.
24-45
Paramters
24
Parent/Child - Grid
Input, required. The column for which to change the header. Set to <All Columns>.
Text
Input, required. The text to use for the column header. Set the parameter to
alphanumeric constant (<Literal>), <Blank>, <Zero>, or applicable object from the
object list.
24-46
Parameters
24
Parent/Child - Grid
Input, required. The relative row for which to set the font. Set the parameter to an
alphanumeric constant (<Literal>), <All Rows>, <Currently Selected Row>,
applicable object from the object list.
Column
Input, required. The column on which to set the font. Set to <All Columns>.
Font
Input, required. The font to be set on the row and column. Set the parameter to a font
and related settings from the Font dialog (<Pick Font>) or the default font <Reset
Color>.Insert Grid Buffer Row
24-47
Parameters
24
Parent/Child - Grid
Input, required. The relative row for which to set the bitmap. Set the parameter to an
alphanumeric constant (<Literal>), <All Rows>, <Currently Selected Row>,
applicable object from the object list.
Bitmap
Input, required. The bitmap to be set on the row. Set the parameter to the specific
bitmap that you want to apply (<Checkbox>, <X Mark>, and so forth).
24-48
Parameters
24
Parent Child
Input, required. The column on which to set the QBE comparison operator. Set to <All
Columns>.
Compare Style
Input, required. The comparison operator to use. Set the parameter to <Equal To>,
<Not Equal To>, <Greater Than>, <Less Than>, <Greater Than or Equal To>, or
<Less Than or Equal To>.
24-49
Parameters
24
Parent/Child
Input, required. The icon to use when the node is in an expanded state; that is, all of its
children are displayed. Set the parameter to <Choose Tree Bitmap> or <Default>.
Closed Bitmap
Input, required. The icon to use when the node is in a collapsed state; that is, all of its
children are hidden. Set the parameter to <Choose Tree Bitmap> or <Default>.
Leaf Bitmap
Input, required. The icon to use when the node has no children and therefore cannot
be expanded or collapsed. Set the parameter to <Choose Tree Bitmap> or <Default>.
24-50
Parameters
24
Parent/Child
Input, required. The node or row for which to replace the bitmap. This value cannot be
0. Set the parameter to <Currently Selected Node>, <Last Inserted Node>,
<Currently Expanding/Collapsing Node>.
Bitmap
Input, required. The bitmap image to display. Set the parameter to <Choose Tree
Bitmap> or <None>.
Overlay?
Input, required. A flag that indicates whether to superimpose the image on the base
bitmap image. Overlays are displayed on Windows clients only. Set the parameter to
<Yes> or <No>.Set Tree Node Clickable Bitmap
24-51
Parameters
24
Parent/Child
Input, required. The tree node to affect. Set the parameter to <Currently Selected
Node>, <Last Inserted Node>, <Currently Expanding/Collapsing Node>.
Bold
Input, required. A flag that indicates whether to apply or remove bold type face
formatting to the text of the indicated node. Set the parameter to <Yes> or <No>.
24-52
Parameters
24
Parent/Child
Input, required. The node or row to which to add the clickable bitmap. This value
cannot be 0. Set the parameter to <Current Selected Node>, <Last Inserted Node>, or
an applicable object from the object list
Bitmap
Input, required. The bitmap image to display. Set the parameter to <Choose Tree
Bitmap> or <None>.Set Tree Node Bitmap
24-53
Parameters
24
Parent/Child
Input, optional. The ID of the node for which to get the handle. Leave this parameter
blank if you want to identify the node by its position (Index parameter). Set the
parameter to <Current Selected Node>, <Last Inserted Node>, <Root Node>, or
<Currently Expanding/Collapsing Node>.
Index
Input, optional. The position of the node for which to get the handle. Leave this
parameter blank if you want to identify the node by its condition, such as currently
selected, last insert, and so forth (Node parameter). Set the parameter to an
alphanumeric constant (<Literal>), <Blank>, <Zero>, or an applicable object from the
object list
Handle
Input, required. The value to use for the handle for the target node. Set the parameter
to an applicable object from the object list.
24-54
Parameters
24
Parent Child
Input, required. A variable/control with compatible data type (same type as the node
ID column) that holds a value. A type mismatch will be checked by the runtime
engine. Set the parameter to an applicable object from the object list.
24-55
Parameters
24
Parent/Child - Grid
Input, required. The column to show. Set to <All Columns>.Hide Grid Column
24-56
Show N Levels
Show N Levels
Use this system function to expand or collapse a tree branch or the entire tree to a
uniform hierarchical level.
Parameters
24
Parent Child
Input, required. The ID of the node or row under which you want to affect. Select
<Root Node> if you want to affect the entire tree. Set the parameter to <Root Node>
or an applicable object from the object list.
Level
Input, required. The hierarchical level to which to expand or collapse the target node
or row's children. Set the parameter to an applicable object from the object list.
24-57
Parameter
24
Parent Child
24-58
Parameter
24
Parent/Child - Grid
24-59
Parameter
24
Parent Child
24-60
Parameter
24
Parent Child
24-61
Parameters
24
Parent/Child - Grid
Input, required. The relative row to affect. Set the parameter to an alphanumeric
constant (<Literal>), <Currently Selected Row>, <Currently Expanding/Collapsing
Node>, or an applicable object from the object list.
Selectable?
Input, required. An indicator of whether the user can select the updated row. Set the
parameter to <Yes> or <No>.
Protected?
Input, required. An indicator of whether the user can edit the updated row. Set the
parameter to <Yes> or <No>.
Updateable?
Input, required. An indicator of whether the user can delete the updated row. Set the
parameter to <Yes> or <No>.
Clear After?
24-62
Parameters
24
Parent Child
Input, required. The column containing the grid cell to check. Set to <All Columns>.
Return To
Input, required. The object to which to assign the return value that designates whether
the cell or node has changed. Set the parameter to an applicable object from the object
list.
24-63
24-64
25
Understanding Push Button Controls
25
Button Clicked
The first two always fire when a user clicks a button, and they fire in succession. That
is, Post Button Clicked fires after runtime executes any logic that might exist on
Button Clicked. Post Button Clicked - Asynch fires only when the button is an OK
button.
25-2
26
Understanding Radio Button Controls
26
26-2
27
Understanding Static Text Controls
27
27-2
28
Using Subforms and Subform Aliases
28
BVs that can communicate with each other, and even react to selection and data
changes that occur in other views on the form.
When you place subforms on a power form or subform, the system treats the
interactions among them as parent/child relationships, with the power form or
subform as the parent and the subforms as the children of the power form and siblings
to each other. This hierarchical relationship governs logical relationships. It is also
represented visually in the Form Design Aid (FDA) Application Tree View as a
hierarchy to help you understand the relationships.
Similarly to a form, a subform owns the data flows between the interface view and the
database, including browse, insert, update, or delete. In fact, you create a subform as if
it were a form, and then place it as a control. Do not let its appearance fool you,
however. A subform is really a control and the FDA interface treats it accordingly. For
example, if subform B is contained in power form A, when you select B, the FDA
control bar still displays the title of A. Additionally, if you view the data structure, you
will see the data structure for A and not for B.
Subforms have their own BVs (only one per subform), grids, and filters that pass
logic between other subforms.
Subforms can be used as tab pages, or they can be placed on a tab page.
Multiple tab controls are permitted unless the subform is inside a tab page.
If the subform is inside a tab page, it cannot have tab controls. However, this
restriction cannot be enforced programmatically when you reuse subforms.
Therefore, when developing reusable subforms, carefully consider the context in
which you expect to use them to prevent poor user interface design.
Subforms do not contain scroll bars; you must display all controls within the form.
You can add action buttons (Cancel, OK, and so forth) to a subform.
No default action buttons are defined by FDA. Default actions can be placed
anywhere on the subform. For example, the default action, Save, can be placed
beneath the grid. Use the dotted lines at the top and bottom of a subform during
design time as guides for where to place more common default actions. For
example, buttons such as Select or Find belong at the top of the form while buttons
such as Save or Cancel belong at the bottom.
You can define ER that fires when the user sets or removes focus from the
subform, using the Enter Focus and Leave Focus subform events.
After designing the subform, you must return to the parent form and map the parent
data fields to the child so that the two can share data as you intend. After associating a
data structure with the parent, use the Mapping Links property to establish the data
mapping between the parent and subform.
Note: Because subforms can act as parents, they have the Mapping
Links property. However, you can only create mappings on the parent
level. If you cannot find the child subform in the Link To field, then
you might have mistakenly entered the data mapping property for the
child instead of the parent.
28-2
Collapsable
This property determines whether the user can choose to view just the title bar
(header) of the subform. The ability to collapse subforms is useful on forms that
contain a large number of subforms. You must show the header (with the Show
Header property) if you want to make the subform collapsible.
Transaction
This property determines where the subform falls within the transaction boundary
for the form as a whole.
Notified by Child
Notified by Parent
Enter Focus
Leave Focus
Row Is Selected
Row Is Unselected
Post Commit
Notified by Child and Notified by Parent fire when the child sends data to the parent
and vice versa, respectively. Use the Notified by Parent event to run any business
logic that you want the application to execute after the parent of the subform calls the
Notify Child system function. This logic is usually based on the information passed to
this subform from its parent. Use the Notified by Child event to run any business
logic that you want the application to execute after its child calls the Notify Parent
system function. This logic is usually based on the information returned from its child.
Enter Focus enables you to run ER when the user sets the focus to a subform by
entering that subform with a tab or a mouse click. You can useLeave Focus to run ER
when the user sets the focus outside of a subform by leaving that subform with a tab
or a mouse click.
In addition, a number of events that start with WIZARD can fire on this control as
well, but only when on a wizard form.
See Also:
Subform controls.
Static text.
Helps.
Runtime begins detail data selection and sequencing if the grid option Automatically
Find On Entry is enabled.
Select
Find
28-4
Clear
Find
Delete
Save
28.4.2.1 Find
Find is a standard push button that is available on all subforms. When the user clicks
it, runtime fires the Button Clicked event. If no errors exist in the filter fields, runtime
performs data selection and sequencing for the grid or other control if no grid is
present. If one or more records are fetched, then runtime loads the control, and sets the
mode to Update. If no records were fetched and a grid is present, runtime sets the
mode to Add. Then runtime fires the Post Button Clicked event.
28.4.2.2 Select
Select is a standard push button that is available on subforms placed on power browse
forms. When clicked, runtime performs these actions:
1.
2.
3.
28.4.2.3 Clear
Clear is a standard push button that is available on subforms placed on power edit
forms. When clicked, runtime performs these actions:
1.
2.
3.
4.
28.4.2.4 Delete
Delete is a standard push button that is available on all subforms placed on power edit
forms. The actual delete from the database does not occur at this point. Runtime
verifies the intention to delete when the user clicks the Delete button, and then
commits the deletion when the user clicks the Save button. Consequently, if the user
clicks the Cancel button, the records are not purged from the database.
28.4.2.5 Save
Save is a standard push button that is available on all subforms placed on power edit
forms. It validates the information on the subform and updates or adds to the
database.
Note: If the subform contains a grid control, the save button
processing behaves similarly to the OK button on a headerless/detail
form. If the subform does not contain a grid, the Save button
processing behaves similarly to the OK button on a fix/inspect form.
See Also:
Creating Subforms
In FDA, select a subform type (reusable browse or reusable edit) from the Form
menu under Create.
2.
28-6
1.
In FDA, open the power form that you want to use to contain the subform.
2.
If you want to insert the subform on a tab page, click the tab control to insert into.
3.
4.
Reusing Subforms
5.
If you are inserting the subform directly on the power form (and not on a tab
page), click to place the subform where you want it on the power form (as you
would any other control).
If you later change your mind, you can always drag the subform from a tab page
to the main power form or vice versa.
In FDA, open the form to which you want to add tab pages.
2.
3.
Select the tab page and select Subform or Subform Alias from the Insert menu.
Alternatively, drag a subform from another position on the parent form and drop
it on the tab page.
Knowing that any subform can be reused, you must be careful when changing a
subform, even just resizing it. Anyone who is currently pointing to the subform will
see the changes you make. It is possible that if you make the subform a little larger that
it will no longer fit on someone else's form. Even worse, if you change the data
structure by removing elements from it, you might break someone else's application.
Note: Always determine the full effect of changing a subform,
especially its data structure. If you reuse subforms in the applications,
check them occasionally to ensure that the subforms have not been
altered in such a way as to negatively affect the applications.
In FDA, open the power form that you want to use to contain the subform.
2.
If you want to insert the subform on a tab page, click the tab control to insert into.
3.
4.
On Work with Applications, select the application containing the subform you
want to insert.
5.
Note:
Select the parent and select Form Properties from the Form menu.
2.
3.
In the Link To field, select the child subform to which you want to map data.
You cannot map to a grandchild.
4.
28-8
Click the subform to which you want to add the function and select Form, Create,
Function .
The Application Tree View browser switches to the Logical Hierarchy view, and
the function appears in the tree as a child object of the subform. (Functions do not
appear in the tree if set to the Physical Hierarchy view.)
2.
3.
Create the logic for the function as you would for an ER.
Call Function
Call Function
This system function enables the parent to invoke any of the functions on any of its
children.
Parameters
28
Subform
Input, required. The function to invoke. Set the parameter to an applicable object from
the object list.Working with Functions and Subforms
28-10
Enable Subform
Enable Subform
This system function makes the subform available for user entry and system use.
Parameter
28
Subform
Input, required. The subform FC to affect. If the subform has children, you can enable
all of its children as well.
Disable Subform
Disable Subform
This system function makes the subform unavailable for user entry and system use.
You cannot invoke functions on a disabled subform.
Parameter
28
Subform
Input, required. The subform FC to affect. If the subform has children, you can disable
all of its children as well.
28-12
Hide Subform
Hide Subform
This system function hides the subform from the user, although the system can still
access it. For example, you can invoke functions on a hidden subform.
Parameter
28
Subform
Input, required. The subform FC to affect. If the subform has children, you can hide all
of its children as well.
Show Subform
Show Subform
This system function displays a previously-hidden form to the user.
Parameter
28
Subform
Input, required. The subform FC to affect. If the subform has children, you can show
all of its children as well.
28-14
Update Parent
Update Parent
This system function causes the data in the data structure to be distributed
appropriately. It has no parameters.
Notify Parent
Notify Parent
This system function triggers the Notified by Child event. It has no parameters.
28-16
Parameters
28
Subform
Input, required. The subform FC to affect. If the subform has children, you can include
the errors set on them in the count as well.
Number
Input, required. The object to which to assign the return value. Set the parameter to an
applicable object from the object list.
Returns
28
This system function returns the total number of errors set on the objects indicated.
Runtime returns the value to the object indicated by Number.
Parameters
28
Subform
Input, required. The subform FC to affect. If the subform has children, you can include
the warnings set on them in the count as well.
Number
Input, required. The object to which to assign the return value. Set the parameter to an
applicable object from the object list.
Returns
28
This system function returns the total number of warnings set on the objects indicated.
Runtime returns the value to the object indicated by Number.
28-18
Get Subform ID
Get Subform ID
This system function acquires the ID of the child subform relative to the current form.
Parameter
28
Subform ID
Input, required. The object to which to assign the return value. Set the parameter to an
applicable object from the object list.
Returns
28
This system function returns the ID of the child subform to the object specified by
Subform ID.
Notify Child
Notify Child
This system function triggers the Notified by Parent event.
Parameter
28
Subform
Input, required. The child that you want to contact. Set the parameter to <All
Children> or an applicable object from the object list.
28-20
Parameters
28
Subform
Input required. The "button" to "push." Set the parameter to <Subform Save>,
<Subform Delete>, <Subform Find>, <Subform Clear>, <Subform Select>.
Expand Subform
Expand Subform
This system function expands a subform if it is currently collapsed. It has no effect if
the Collapsable property is disabled.
Parameter
28
Subform
Input, required. The subform FC to affect. Set the parameter to <Current Subform>,
<All Children>, or an applicable object from the object list.
28-22
Collapse Subform
Collapse Subform
This system function collapses a subform if it is currently expanded. It has no effect if
the Collapsable property is cleared.
Parameter
28
Subform
Input, required. The subform FC to affect. Set the parameter to <Current Subform>,
<All Children>, or an applicable object from the object list.
Collapse Subform
28-24
29
Understanding Tab and Tab Page Controls
92
This chapter provides an overview of tab and tab page controls, and discusses how to
create tab controls.
On the form with which you are working, select Tab Control from the Insert
Controls tool bar.
Page Properties appears. It indicates which page of information you are on.
2.
3.
4.
Select Tab Page from the Insert Controls tool bar to add additional tab pages, as
necessary.
The size of each page in the tab control is equal to the size of the entire tab control.
You cannot resize an individual page to be bigger or smaller than the others.
All tab pages appear as children of the tab control in the Application Tree View.
5.
29-2
Parameters
29
Tab Control
Input, required. The tab page to disable. Set the parameter to a tab page from the list of
objects.Enable Tab Page
Parameters
29
Tab Control
Input, required. The tab page to enable. Set the parameter to a tab page from the list of
objects.Disable Tab Page
29-4
Parameters
29
Tab Control
Input, required. The tab page to hide. Set the parameter to a tab page from the list of
objects.
Additional Notes
29
This function can only be called on Post Dialog is Initialized. At all other times, use
Disable Tab Page instead.Disable Tab Page
Parameters
29
Tab Control
Input, required. The tab page to display. Set the parameter to a tab page from the list of
objects.
29-6
Parameters
29
Tab Control
Input, required. The tab page for which to change the title. Set the parameter to a tab
page from the list of objects.
Text
Input, required. The text to show as the label for the control. Set the parameter to an
alphanumeric constant (<Literal>), <Blank>, <Zero>, or an applicable object from the
object list.
29-8
30
Understanding Text Block Controls
03
Bar
Combo
Line
Pie
Pie_ontime
Stacked_bar
Stacked_bar_ontime
The format, fonts and color choices for each chart type are defined by their templates.
You cannot change these values.
bar_basic.xml
combo_basic.xml
line_basic.xml
pie_basic.xml
pie_ontime.xml
stacked_bar_basic.xml
stacked_bar_ontime.xml
You define the template you want to use in an XML file. You then insert the XML file
into a text block control, and runtime uses that file to create the graph. This is an
example XML file:
<?xml version="1.0" encoding="utf-16"?> <Graph graphName="bar_basic">
<O1Title text="Week Ending" visible="true"/>
<Y1Title text="Production Cost Variance (USD)" visible="true"/>
<LocalRelationalData>
<Row columnKey="1-Sept 05" rowKey="Actual Variance" dataValue="1504" />
<Row columnKey="8-Sept 05" rowKey="Actual Variance" dataValue="980" />
<Row columnKey="15-Sept 05" rowKey="Actual Variance" dataValue="-675" />
<Row columnKey="22-Sept 05" rowKey="Actual Variance" dataValue="784" />
<Row columnKey="20-Sept 05" rowKey="Actual Variance" dataValue="0" />
</LocalRelationalData>
</Graph>
The graphName attribute defines the type of chart you are displaying in your
application.
To create the XML file, can write a business function that performs any calculations
and then writes the XML to an array variable. You can also use write hard-coded
strings within ER. In both of these cases, the encoding of the resulting XML file is
UTF-16.
If, however, you write C code business functions and use a tool outside of the JD
Edwards EnterpriseOne system to create the XML file, it is likely that the encoding
will not be UTF-16. This creates problems when the chart is displayed in the browser.
It is recommended that you do not create XML files using any tool or operating that
does not use UTF-16 encoding. If you do, you must be sure to set the encoding in the
XML file to be the same as your application.
30-2
Add Segment
Add Segment
Use this system function to add a text segment (clickable or not) to the text block.
Parameters
30
Text Control
Input, required. The content of the text segment to add. Set the parameter to an
alphanumeric constant (<Literal>), <Blank>, <Zero>, or an applicable object from the
object list.
Font
Input, required. The font (including type, style, color, and so forth) to apply to the text
segment. Set the parameter to select a font and its properties (<Pick Font>), or to
revert to the default font and property settings (<Reset Font>).
Clickable
Input, required. An indicator of whether the text segment is clickable. Set the
parameter to <Yes> or <No>.
SegmentID
Output, required. The variable to which to assign the return value. Set the parameter
to an applicable object from the object list.
Returns
30
This system function returns the ID of the segment you added to the object indicated
by SegmentID.
30-4
Parameters
30
Text Control
Output, required. The variable to which to assign the return value. Set the parameter
to an applicable object from the object list.
Returns
30
This system function returns the ID of the segment just clicked to the object indicated
by SegmentID.
Parameters
30
Text Control
Output, required. The variable to which to return the textual content of the text
segment. Set the parameter to an applicable object from the object list.
Clickable
Output, required. The variable to which to assign the return value. Set the parameter
to an applicable object from the object list.
SegmentID
Input, required. The ID of the segment to affect. Set the parameter to an applicable
object from the object list.
Returns
30
This system function returns the text of the segment and an indicator of whether it is
clickable to the objects indicated by Text and Clickable, respectively.
30-6
Remove Segment
Remove Segment
Use this system function to delete a text segment from a given text block control.
Parameters
30
Text Control
Input, required. The ID of the segment to affect. Set the parameter to an applicable
object from the object list.
Update Segment
Update Segment
Use this system function to change text, font, color, and clickability of a given text
segment in a text block control.
Parameters
30
Text Control
Input, required. The text that you want to display in the text segment. Set the
parameter to an alphanumeric constant (<Literal>), <Blank>, <Zero>, or an applicable
object from the object list.
Font
Input, required. The font (including type, style, color, and so forth) to apply to the text
segment. Set the parameter to select a font and its properties (<Pick Font>), or to
revert to the default font and property settings (<Reset Font>).
Clickable
Input, required. An indicator of whether the text segment is clickable. Set the
parameter to <Yes> or <No>.
SegmentID
Input, required. The ID of the segment to affect. Set the parameter to an applicable
object from the object list.
30-8
31
Understanding Secured Enterprise Search
31
Case Sensitive
When you build the business view for the form containing the text search control, you
might consider including the data dictionary items, sesscr and txtsum. The sesscr data
item displays the score for each match returned; that is, the extent to which the result
matches that for which the user originally searched. Txtsum displays the summary for
the returned value; that is, the context in which the match occurred. When placed in a
grid, the system populates the column automatically when the user executes a find.
Note: You must enable the business view attached to the form for
text searches using Object Management Workbench (OMW), or the
text search function will not work properly on the form.
Operators
String/Var String
Contains
Equals
!=
Character
Equals
!=
Number/Date
<
>
<=
>=
=
!=
Incremental Build
A full build results in the generation of the RSS feed for all records in the view. When a
small set of records are modified (added/updated) as part of the business logic, it is
not desirable to request a full build frequently. In such scenarios, an incremental build
invocation can be embedded in the business function logic.
Note: The full and clear builds are generally invoked from the Index
build Definition (P95800A) application.
31-2
printf("JDB_InitUser Failed\n");
JDB_FreeEnv(hEnv);
return 0;
}
JDB_TextSearchOpenView(hUser,_J("V0101C"),_J("Business Data TEST"),&hRequest);
lpKeyInfo = (LPKEYINFO) jdeAlloc(COMM_POOL,sizeof(KEYINFO)*1,MEM_ZEROINIT);
jdeNIDcpy(lpKeyInfo[0].szTable,_J("F0101"));
jdeNIDcpy(lpKeyInfo[0].szDict,_J("AN8"));
lpKeyInfo[0].idInstance = 0;
ParseNumericStringEx (&mnSelect, _J("1"),DEFAULT_SEPARATOR);
lpKeyInfo[0].lpJDEValue = &mnSelect;
SesTextSearchIncrementIndexing(hUser,_J("V0101C"),_J("Business Data TEST"),TEXTSEARCH_INDEX_INSERT,lpKeyInfo,1);
jdeFree(lpKeyInfo);
JDB_FreeUser(hUser);
JDB_FreeEnv(hEnv);
}
The SES Text Search Increment Indexing elements are described in the table below.
Value
Direction
Element
hUser
->
User Handle
_J("V0101C")
->
->
TEXTSEARCH_
INDEX_INSERT
->
Index Mode
lpKeyInfo
->
Key Info
->
Number of Keys
TEXTSEARCH_INDEX_INSERT
TEXTSEARCH_INDEX_UPDATE
31-4
32
Understanding Tree Controls
32
Node Value
This value is used primarily for placing the row as a node in the tree. Every node
in the tree requires a value which corresponds to its position in the tree, based on
parent node value. The secondary purpose of node value is for identification.
Node Description
This value is used to label each node in the tree for the benefit of the users.
Parent Value
This value is used to indicate which row is its parent. The value corresponds to
Node Value. Runtime adds this row as a child node of its parent in the tree.
Based on this data, and given which node value is to be used as the parent, runtime
can construct a tree. For example, consider this table of data:
Node Value
Node Description
Parent Value
Alpha Manufacturing
Branch A
Branch B
Plant x
Plant y
Plant z
Given that the root node value is 1, runtime could assemble a tree with this structure:
Alpha Manufacturing
Branch A
Plant x
Plant y
Branch B
Plant z
Consequently, you must ensure that the data in the node value and parent value
columns correspond such that runtime can derive the hierarchy. Additionally, many of
the system functions that you can use to manipulate the tree rely on node value as an
identifier. Therefore, you might want to ensure that those values are unique.
You can also use table I/O to provide node data by associating a given node with a
particular table handle using the Set Tree Node Handle system function.
Tree controls have no control-specific properties in Form Design Aid (FDA).
Additionally, no automatic runtime processing occurs for the control. Tree controls are
manipulated by system functions exclusively.
32-2
Parameters
32
Tree Control
Input, required. The name of the cache from which to acquire data for the contents of
the tree. Set the parameter to an applicable object from the object list.
Data Structure
Input, required. The name of the data structure used to organize the cache.
Double-click <Get Structure Name> to select the structure to use.
Node Value Column
Input, required. The data to use for identification. This value is not a true ID in the
traditional sense; in this system function, it is used primarily for matching with values
in the Parent Value Column to determine parent/child relationships. If you want to
use node value as a true identifier, ensure that each row will have a unique value in
this column (many tree control system functions use node value as an ID). Set the
parameter to an applicable object from the object list.
Node Description Column
Input, required. The label to display for each node. Set the parameter to an applicable
object from the object list.
Parent Value Column
Input, required. The data to use to determine parent/child relationships. This value
indicates which row is the parent of the current row. When runtime constructs the tree,
it will place the current row as a child of the row with the corresponding value in
Node Value Column. Set the parameter to an applicable object from the object list.
Root Node Value
Input, required. The value that indicates the root node. Ultimately, the uppermost
node of the tree, the root node, has no parent. Runtime compares this value with the
values in the Node Column Value parameter. The row with the matching value
becomes the root node.
Parameters
32
Tree Control
Input, required. The node to collapse. Set the parameter to: <Currently Selected
Node>, <Last Inserted Node>, or <Currently Expanding/Collapsing Node>.Expand
Tree Node
32-4
Parameters
32
Tree Control
Input, required. The node to delete. Set the parameter to: <Currently Selected Node>,
<Last Inserted Node>, <All Child Nodes Under the Current Node>, <All Nodes>,
<With Specified Node Value>. Use the last option in conjunction with the Node Value
parameter.
Node Value
Input, optional. The node to delete. This parameter is required only if you set Node to
<With Specified Node Value>. Set the parameter to an applicable object from the
object list.
Parameters
32
Tree Control
Input, required. The node to expand. Set the parameter to: <Currently Selected
Node>, or <Last Inserted Node>.Contract Tree Node
32-6
Parameters
32
Tree Control
Input, required. The node about which to acquire information. Set the parameter to:
<Currently Selected Node>, <Last Inserted Node>, or <Currently
Expanding/Collapsing Node>.
Node Text
Output, required. The object to which to return the text displayed with the node. The
data type of this parameter should be the same as that is displayed by the node. For
example, if the node is displaying a numeric value, this parameter should be a
numeric value. Set the parameter to an applicable object from the object list.
Node Value
Output, required. The object to which to return the value of the node. The data type of
this parameter should be the same as that of the value currently stored in the node. For
example, if the node currently has a numeric value, this parameter should be a
numeric value. Set the parameter to an applicable object from the object list.
Additional Notes
32
Store the node value while inserting the node or by using the Set Node Information
system function. A typical use is to store a key value associated with the tree node.
Data of any type can be stored in the node value as long as you maintain consistency
in storing and retrieving the value.
Returns
32
This system function returns the text associated with the node to the object indicated
by Node Text, and the node value to the object indicated by Node Value.
Parameters
32
Tree Control
Input, required. The node about which to acquire information. Set the parameter to:
<Currently Selected Node>, <Currently Expanding/Collapsing Node>, or
<Currently Deleted Node>.
Return To
Output (numeric), required. The object to which to return the node level. Set the
parameter to an applicable object from the object list.
Returns
32
This system function returns the level of the node to the object indicated by Return To.
32-8
Parameters
32
Tree Control
Input, required. The node for which to acquire the handle. Set the parameter to:
<Currently Selected Node>, <Last Inserted Node>, <Root Node>, <Currently
Expanding/Collapsing Node>, or <Currently Deleted Node>.
Index
Input, required. The index of the handle. Applications can associate more than one
handle to one tree node. Use this parameter to differentiate multiple handles for the
same node. Set the parameter to an alphanumeric constant (<Literal>), <Blank>,
<Zero>, or an applicable object from the object list.
Handle
Output, required. The object to which to return the handle associated with the node.
Set the parameter to an applicable object from the object list.
Returns
32
This system function returns the handle associated with the identified tree node to the
object specified by Handle.
Parameters
32
Tree Control
Input, required. The position in the tree where you want to insert the node, relative to
this node. Set the parameter to insert the node as a child of the current node (<Under
Currently Selected Node>), to insert the node as a sibling of the current node (<After
Currently Selected Node>), <After Last Inserted Node>, <Under Root Node>,
<Under Currently Expanding Node>, or <Under Specified Parent Value>. Use the
last option in conjunction with the Parent Value parameter.
Node Text
Input, required. The object to which to return the text displayed with the node. The
data type of this parameter should be the same as that is displayed by the node. For
example, if the node is displaying a numeric value, this parameter should be a
numeric value. Set the parameter to an applicable object from the object list.
Node Value
Input, required. The object to which to return the value of the node. The data type of
this parameter should be the same as that of the value currently stored in the node. For
example, if the node currently has a numeric value, this parameter should be a
numeric value. Set the parameter to an applicable object from the object list.
Expandable?
Input, required. An indicator of whether the user can expand and collapse the node.
Set the parameter to <Yes> or <No>.
Parent Value
Input, optional. The ID of the node you want to become the parent of the node you are
inserting. Use this parameter if you set Node to <Under Specified Parent Value>. Set
the parameter to an applicable object from the object list.
32-10
Parameters
32
Tree Control
Input, required. The bitmap to display for a node when it has been expanded. Set the
parameter to a particular bitmap (double-click <Choose Tree Bitmap> to browse for
one) or the standard bitmap (<Default>).
Closed Bitmap
Input, required. The bitmap to display for a node when it has been collapsed. Set the
parameter to a particular bitmap (double-click <Choose Tree Bitmap> to browse for
one) or the standard bitmap (<Default>).
Leaf Bitmap
Input, required. The bitmap to display for a leaf node with no children. Set the
parameter to a particular bitmap (double-click <Choose Tree Bitmap> to browse for
one) or the standard bitmap (<Default>).
Additional Notes
32
The bitmaps must be of size 16 x 16 and should reside in the treebmps subdirectory of
the resource directory (for example: d:\b7\appl_pgf\res\treebmps). If a bitmap fails
to load, the application uses the corresponding standard bitmap. The ideal place for
using this system function is during on event, Dialog Is Initialized.
Parameters
32
Tree Control
Input, required. The node for which to set the bitmap. Set the parameter to:
<Currently Selected Node>, <Last Inserted Node>, or <Currently
Expanding/Collapsing Node>.
Bitmap
Input, required. The bitmap to display for the node. Set the parameter to a particular
bitmap (double-click <Choose Tree Bitmap> to browse for one) or the standard
bitmap (<Default>).
Additional Notes
32
After the bitmap for a tree node is set using this system function, the default scheme
changes for that node. The system does not apply the expanded and collapsed bitmaps
to the node.
The bitmaps must be of size 16 x 16 and should reside in the treebmps subdirectory of
the resource directory (for example: d:\b7\appl_pgf\res\treebmps). If a bitmap fails
to load, the application uses the corresponding standard bitmap. The ideal place for
using this system function is on the event Dialog Is Initialized.
32-12
Parameters
32
Tree Control
Input, required. The node to affect. Set the parameter to: <Currently Selected Node>,
<Last Inserted Node>, or <Currently Expanding/Collapsing Node>.
Node Text
Input, required. The text to display for the node. Set the parameter to an applicable
object from the object list.
Node Value
Input, required. The value to apply to the node. This value is often used for
identification purposes, so you might want to ensure that it is unique. Set the
parameter to an applicable object from the object list.
Additional Notes
32
A typical use of a node value is to store a key value associated with the tree node. Data
of any type can be stored in the node value as long as you maintain consistency in
storing and retrieving the value.
Parameters
32
Tree Control
Input, required. The text to apply to the node for display. Set the parameter to an
applicable object from the object list.
Node Value
Input, required. The value of the node to affect. Set the parameter to <Root Node> or
an applicable object from the object list.
32-14
Parameters
32
Tree Control
Input, required. The node to which to associate the handle. Set the parameter to:
<Currently Selected Node>, <Last Inserted Node>, <Root Node>, or <Currently
Expanding/Collapsing Node>.
Index
Input, required. The index of the handle. Applications can associate more than one
handle to one tree node. Use this parameter to differentiate multiple handles for the
same node. Set the parameter to an alphanumeric constant (<Literal>), <Blank>,
<Zero>, or an applicable object from the object list.
Handle
Input, required. The object to which to return the handle associated with the node. Set
the parameter to an applicable object from the object list.
32-16
33
Understanding Wizard Controls
33
Wizard Controls
Each subform is parented to the wizard form which means that subforms cannot
communicate with each other directly; they must share data using the wizard form.
Data can be passed in one of three ways: from page to wizard form (child to parent),
from wizard form to page (parent to child), or in both directions. Only data in the child
page data structure can be passed to the parent wizard form. Consequently, you must
plan the data structures carefully. In general, objects in the data structure will fall into
one of two categories: items which the page will want to share with other pages, and
items which the page will require such as input from other pages or the wizard form
itself.
You can embed subforms and use an alias to a reusable subform. You can
programmatically reorder the pages (therefore reordering the tasks). You can also
indicate a starting page other than the first one in the list. As the user progresses
through the wizard, tasks that the user has completed are referred to as upstream tasks.
Those which the user has yet to complete are referred to as downstream tasks.
You are not limited to forms inside the wizard. You can use form interconnections to
link to forms outside of the wizard. If you use an interconnection, the forms that
appear are called satellite pages. Like the wizard itself, satellite pages expand to fill the
entire frame; the standard JD Edwards EnterpriseOne navigation menu is hidden.
When the user clicks OK on the satellite page, the wizard reappears displaying the
page containing the object that triggered the interconnection.
Forms have different statuses including indeterminate (no state), complete, and
incomplete (but continue). No state is the initial, pristine state of a page and it
indicates that the page has been initialized but not yet visited. Complete indicates that
the page has been visited, finished successfully, and validated. Incomplete indicates
that the page has been visited but not yet finished or validated. All pages in the wizard
must be at a status of complete before runtime can commit data.
Runtime validates all wizard pages when the user clicks Finish, even hidden and
disabled pages. To prevent a page from being validated and saved, enable the Form
Design Aid (FDA) property, Suppress Validation and Save. During runtime, use the
system function, Suppress Wizard Page Validation and Save. As a rule of thumb, call
the Suppress Wizard Page Validation and Save system function for all hidden and
disabled pages in the wizard to prevent Finish button processing on them.
When a wizard application is launched, runtime sets the status of all pages to no state
as part of the initialization process. When the user enters a page of indeterminate
status, runtime changes its status to incomplete to reflect the fact that the user has
visited the page. These are the only times that runtime sets the page status.
Application logic is expected to manage page status otherwise. However, runtime will
not permit the application to assign a complete status to a page until all its errors have
been resolved.
All pages must be at a status of complete for the Finish button process to succeed, even
hidden and disabled pages, unless validation is suppressed for those pages. If any
page is not set to complete, the Finish button process will fail and no data will be
saved. To set page status, use the Set Wizard Page Status system function.
See Also:
33-2
Progress Indicator
If you want to show how much of the wizard has been completed, you can choose
to do so as a percentage value or as the number of tasks completed out of the
whole (X of Y).
2.
On the Wizard:Save For Reentry event of each wizard page, save the data into the
working tables.
3.
This list describes a method for implementing re-entry save when each wizard page
shares the same business view or has no business view:
1.
Have the wizard control collect data from each page and store it in event rule (ER)
variables.
The mapping links between the wizard pages and the wizard form must be
bidirectional so that the wizard form can push data into each page.
2.
On the Wizard is Finished event, have the wizard control save the data using
table I/O or business functions.
3.
4.
On the Wizard:Save For Reentry event of each wizard page, pass the data from
the child subform so the parent wizard form can save the data into the working
table using table I/O or business functions.
5.
When the user reenters, on the Post Wizard is Initialized event, have the wizard
control load data from the working table and into ER variables.
Setting ER variables on this event enables you to override the next numbers
applied by the system.
6.
Wizard is Initialized
This form-level event indicates that the form and control have been created,
security has been applied, system variables have been initialized, and form data
structures have been loaded. It is the only event on which you should use the Set
Wizard Form Mode system function (to change the form mode to add, update, or
copy), and the only one of two events on which you should use Set Selected
Wizard Page (to start at a page other than the first visible, enabled page in the
33-4
index).
Wizard is Initialized is also where you should hide, show, disable, or enable a
page, or suppress page processing for a page, as appropriate. Finally, this is also
when you should rearrange the page order if necessary (Set Wizard Page Index).
WIZARD:Subform is Initialized
This subform-level event indicates that a subform has been initialized (including
the standard processing for subforms in add mode). The event fires for each
subform in the wizard control, in order. This event is called only once during the
life cycle of a wizard form per session. If the user worked on the wizard
previously and saved (that is, if this is a reentry), this event can be used to load
previous session data and then assign the data to form controls and ER variables.
WIZARD:Subform is Entered
This subform-level event indicates that the page status is incomplete, that parent
mapping links have been reestablished, and that the SI values have been updated.
The event fires every time a user visits a page by accessing it from a previous page.
The SI values should contain all current information. Assign SI values to form
controls and grid rows if necessary. Set filter values and QBEs at this point if the
Automatically Find On Entry option is enabled.
WIZARD:Validate Subform
This subform-level event occurs before runtime conducts customized validation of
the form controls and grid rows. Runtime always performs the data dictionary
validations unless the Suppress Validation and Save option is enabled for the
page. At this point, the application code should set the page status to complete by
calling he system function Set Wizard Page Status.
WIZARD:Subform is Exited
This subform-level event fires once for each subform in the control after the
transactions have been processed and runtime is preparing to close the wizard
form. It is the last subform-level event to fire for each subform before the wizard
closes. On this event, the application should copy form controls or grid rows to SI
variables, then call the Update Parent subform system function to update the
wizard form. You can perform this call conditionally, such as when the user clicks
Understanding Wizard Controls 33-5
Next or Finish.
Wizard is Exited
This form-level event fires before form close; it is the last event to fire. This is the
point at which you should add code to clean up caches and other resources used
by the wizard. If you require a form interconnect (such as for a confirmation form),
this event occurs outside the transaction boundary and is therefore safe to use to
trigger the interconnection.
Note: Even though wizard control may resemble a tab control, none
of the tab page events are fired for wizard pages. Wizard pages are not
tab pages.
33.4.1 Initialization
Form initialization is the only point at which you can change the form mode (add, edit,
or update), and you should do so with Set Wizard Form Mode on the Wizard is
Initialized event because runtime checks the form mode immediately after firing
Wizard is Initialized.
This flowchart illustrates how runtime initializes the wizard form:
33-6
Figure 331
Create wizard
control and all
pages
SV Current_
Wizard_Action =
Action_None
Apply data/control
security
Yes
(Repeat for all subforms
in order.)
Fire WIZARD:
Subform is
Initialized
Is there
another page?
No
Wizard in
add mode?
No
Yes
Clear controls,
apply defaults and
next numbers
Yes
(Repeat for all pages
in no particular order.)
No
Fire Wizard is
Initialized
Is there
another page?
Reload mapping
links from parent
Fire WIZARD:
Post Subform is
Entered
Fire WIZARD:
Subform is Entered
No
Find on
Entry = TRUE?
Yes
Perform the
standard find
process
33-8
Figure 333
Set SV
Curr_Wizard_Action =
CO WIZ_NEXT
Page Val./Save
Suppressed?
No
Errors/1st-Time
Warnings?
No
Fire WIZARD:
Validate Subform
Yes
Validate all controls
and grid rows
Yes
Fire WIZARD:
Subform is Exited
Show
errors/warnings
and stop
Fire Page is
Exited - After
Yes
Errors/1st-Time
Warnings?
No
Yes
Perform the enter
page process
No
Errors/1st-Time
Warnings?
the data from being cleared, runtime does not run the enter page process. If errors
occur during validation, runtime marks the pages with errors in the progress list (if
visible), but it always displays the previous page, nonetheless.
If the user wants to change previously entered data, he or she may do so, but must
click Next to save the changes.
This flowchart illustrates the runtime processing that occurs when the user clicks the
Previous button:
Figure 334 Wizard control Previous button processing
Set SV
Curr_Wizard_Action =
CO WIZ_PREVIOUS
Page Val./Save
Suppressed?
Yes
Fire WIZARD:
Subform is Exited
No
Fire WIZARD:
Validate Subform
Fire Page is
Exited - Before
33-10
Fire Page is
Existed-After
User clicks a
downstream page in the
progress list
Set SV
Curr_Wizard_Action =
CO WIZ_DIRECT_JUMP
Perform Next
button procesing for
current page
Did errors
occur?
Yes
Stop on the
current page and
show errors
No
No
Is page the
target page?
Yes
Stop and
display page
When a user jumps upstream, runtime performs Previous button processing on the
current page and then displays the target page as long as that page is visible and
Understanding Wizard Controls 33-11
enabled. If the processing produces errors, runtime displays them, but it does not
prevent the display of the target page. Runtime does not process the pages between
the current page and the destination page because it is assumed that upstream pages
should not be affected by downstream pages. Furthermore, runtime does not run the
page entry process because nothing should change on the destination page.
If the user wants to change previously entered data, he or she may do so, but must
click Next to save the changes.
This flowchart illustrates the runtime processing that occurs when the user tries to
jump to an upstream page:
Figure 336 Wizard control upstream jump processing
User clicks an
upstream page in the
progress list
Set SV
Curr_Wizard_Action =
CO WIZ_DIRECT_JUMP
Perform Previous
button procesing
for current page
Target visible
and enabled?
Yes
No
Remain on
current page
33-12
This flowchart illustrates the runtime processing that occurs when the user clicks the
Save for Re-entry button:
Figure 337
User clicks
the Save for
Re-entry button
Set SV
Curr_Wizard_Action =
CO WIZ_RENTRY_SAVE
No
Page Val./Save
Suppressed?
Yes
Fire WIZARD:
Subform is Exited
All pages
processed?
No
Yes
Fire WIZARD:
Save For Rentry
Fire Wizard is
Exited
This three-part flowchart illustrates the runtime processing that occurs after the
successful validation of all pages in the wizard:
Figure 338 Wizard form Finish button processing, part 1 of 3
Set SV
Curr_Wizard_Action =
CO WIZ_FINISH
Page Val./Save
Suppressed?
No
Errors/1st-Time
Warnings?
No
Fire WIZARD:
Validate Subform
Yes
Validate all controls
and grid rows
Yes
Perform itteritive
page validation
Show
errors/warnings
and stop
Yes
Errors/1st-Time
Warnings?
No
Fire Page is
Exited - Before
Yes
Errors/1st-Time
Warnings?
No
33-14
Figure 339
Page Val./Save
Suppressed?
No
Errors/1st-Time
Warnings?
Yes
Show
errors/warnings
and stop
Yes
Fire Button
Clicked
No
Page has
Save button?
No;
go to next
page
Yes
No
All pages
processed?
No
Errors/1st-Time
Warnings or Page
incomplete?
Yes
Show errors/warnings or
go to incomplete page
and stop
Yes
Figure 3310
Fire Wizard is
Finished - Before
Start
transaction
Page Val./Save
Suppressed?
No;
go to next
page
No
Save the
page to BV
Page has
Save button?
Yes
Fire Post
Button Clicked
Yes
All pages
processed?
Fire Post
Save Asynch
No
Yes
(Repeat for all
subforms in order.)
Yes
Fire Wizard is
Finished - After
Commit
transaction
Fire WIZARD :
Subform is Exited
Is there
another page?
No
Close
wizard form
Fire Wizard
is Exited
33-16
1.
2.
3.
Runtime fires the Post Button Clicked event if it encounters a Save button on a
page (the event fires for each button encountered).
4.
Runtime fires the Post Button Async event for each Save button instance in a
separate thread.
5.
6.
Do not call form interconnects during any of the events inside the transaction
boundary. Opening a new form will prolong the transaction and severely impact
system performance.
For this reason, do not launch a separate "confirmation form" from any of these events.
Instead, it is recommended that you use the last page of the wizard as the confirmation
page. If it must be a separate form, then launch a confirmation form in the Wizard is
Exited event. You can use the system variable SV Curr_Wizard_Action and launch
only the confirmation form when the user clicks the Finish button.
Parameters
33
Wizard Control
Input (integer), required. The object to which to assign the return value that indicates
the ID of the current page. Set the parameter to an applicable object from the object list
Returns
33
The system function returns the ID of the current wizard page to the object indicated
by Wizard Page ID.
33-18
Parameters
33
Wizard Control
Input, required. The page for which you want the index value. Set the parameter to an
applicable object from the object list.
Index
Input (integer), required. The object to which to assign the return value that indicates
the point in the list where the subform resides. This parameter is 1-based. Set the
parameter to an applicable object from the object list.
Returns
33
The system function returns he index value of the subform to the object defined by
Index.
Parameters
33
Wizard Control
Input, required. The page you want to make active. Set the parameter to an applicable
object from the object list.
Additional Notes
33
This function is specifically designed to enable the user to change the initial page that
will be displayed on a wizard control. If the Enable Re-entry Save option is selected,
you can use this system function to display the page where the user left off when he or
she restarts the wizard, for example.
Set Selected Wizard Page should not be called outside of the initialization of a wizard
control (Wizard is Initialized or Wizard Post-Initialized events). Calling this function
outside of the initialization of a wizard control might cause the wizard to malfunction
and so is unsupported.
If a page is visible and enabled, this function enables you to skip it only if it has a
status of complete or incomplete.
33-20
Parameter
33
Mode
Input, required. The runtime mode to which to set the wizard form. Set the parameter
to <Update Mode> (1), <Add Mode> (2), or <Copy Mode> (3).
Parameters
33
Wizard Control
Input, required. The page for which you want to change the index value. Set the
parameter to an applicable object from the object list.
Index
Input (integer), required. The index value to assign to the page. This parameter is
1-based. Set the parameter to an applicable object from the object list.
33-22
Parameters
33
Subform
Input (integer), required. The status to which to set the page. Set the parameter to
<Complete> (1), <Incomplete> (2), or applicable object from the object list.
Additional Notes
33
The default status of a wizard page is to have no status. An enabled and visible page
with no status will not permit the user to move the next page. Changing the status to
either complete or incomplete will permit the user to move to the next page.
All enabled and visible pages must be set to a complete status in order for completion
processing to take place and permit the user to complete the wizard.
Parameters
33
Subform
Input (integer), required. A flag indicating whether to validate and save the page. Set
the parameter to <Yes> (1) or <No> (2).
33-24
A
System Functions in Form Design Aid
This appendix discusses most of the system functions that you can access through
Form Design Aid (FDA).
A-1
Control
Control
These system functions are applied on the control level and work for most control
types. System functions that apply to a specific control type do not appear here; they
are described in the chapter dedicated to that control type.Edit Control System
FunctionsTab Control System Functions
A-2
Parameter
A
Control
A-3
Disable Control
Disable Control
Use this system function to render a control unavailable for entry both by the user and
programmatically. A disabled control is still visible.
Parameter
A
Control
A-4
Enable Control
Enable Control
Use this system function to render a control available for entry both to the end user
and programmatically.
Parameter
A
Control
A-5
Go to Url
Go to Url
Use this system function to insert a functional URL into the application.
Parameter
A
URL
Input, required. The fully-qualified URL to which to link. Set the parameter to an
alphanumeric constant (<Literal>), <Blank>, <Zero>, or an applicable object from the
object list.
A-6
Hide Control
Hide Control
Use this system function to prevent the user from seeing (and therefore interacting
with) a control. Hidden controls can be manipulated programmatically.
Parameter
A
Control
A-7
Parameters
A
Control
Input, required. The error to set on the control. Set the parameter to an alphanumeric
constant (<Literal>), <Blank>, <Zero>, or an applicable object from the object
list.Clear Control Error
A-8
Parameters
A
Control
Input, required. The text to show as the label for the control. Set the parameter to an
alphanumeric constant (<Literal>), <Blank>, <Zero>, or an applicable object from the
object list.Clear Control Error
A-9
Parameters
A
Control
Input, required. The DD item to which to apply to the control. Set the parameter to
select a DD item from the Data Dictionary dialog (<Pick DD Item>) or an applicable
object from the object list.
System Code
Input, required. The system code to use when determining whether to apply system
code-based jargon to the DD item text fields. Set the parameter to match the current
system code (<Default>) or an applicable object from the object list.
Additional Notes
A
The control must be a DD item, not database item. When changing them, the DD items
to be switched must be of the same type except for one case: You can change a string to
a character but not vice versa. If you make a change between string types, the
maximum size of the new string item will be the smaller size of the two switched
items.
A-10
Parameters
A
Control
Input, required. The override to apply. Set the value to <Data Dictionary Overrides>,
or double-click <Data Dictionary Overrides> to select specific overrides to set.Set
Control Text
A-11
Parameter
A
DD Alias
Input, required. The DD item to affect. Set the parameter to an alphanumeric constant
(<Literal>), <Blank>, or <Zero>.
Additional Notes
A
To clear the status bar text, use this system function with a DD Alias parameter of
<Blank> or <Zero>.
A-12
Show Control
Show Control
Use this system function to enable the user to see (and therefore interact with) a
hidden control.
Parameter
A
Control
A-13
Parameters
A
Control
Input, required. The object to which to return the Boolean. Set the parameter to an
applicable object from the object list.
Additional Notes
A
Two flags track the changes: the form flag and the control flag. When a control is
changed, both flags are set to one. When Was Value Entered is called and a specific
control is selected for the control parameter, the current value of the control flag is
returned. The control value is then set to zero. The form flag remains the same. When
<All Controls> is selected for the control parameter, the current value of the form flag
is returned. The form flag value is then set to zero, but the control flag remains the
same.
Returns
A
0
The control did not change.
1
The control changed.
A-14
Parameter
A
GroupBox
Note:
A-15
Parameter
A
GroupBox
Note:
A-16
General
General
These system functions affect applications in a variety of ways. They reside in the
General folder in FDA.
A-17
A-18
A-19
Parameters
A
To Control
Input (math numeric), required. The control to which to copy the currency data. Set
the parameter to an applicable object from the object list.
From Control
Input (math numeric), required. The control from which to copy the currency data. Set
the parameter to an applicable object from the object list.
A-20
Parameters
A
Application ID
Input (string), required. The identifier of the called form data structure.
Version
Input (string), optional. Contains all the data structure values needed to be passed to
the form in the format id|value|id|value... and so on.
A-21
Parameters
A
Report Name
Input (string), required. The report to launch. Set the parameter to an alphanumeric
constant (<Literal>), <Null>, or an applicable object from the object list.
Version Name
Input (string), required. The version of the report to launch. Set the parameter to an
alphanumeric constant (<Literal>), <Null>, or an applicable object from the object list.
Print Preview?
Input (character: Y/N), required. An indicator of whether to provide the user the
opportunity to override the default data selection for the report. Set the parameter to
an alphanumeric constant (<Literal>), <Null>, or an applicable object from the object
list.
Data Sequencing?
Input (character: Y/N), required. An indicator of whether to provide the user the
opportunity to override the default data sequencing for the report. Set the parameter
to an alphanumeric constant (<Literal>), <Null>, or an applicable object from the
object list.
Push Specs Only?
Input (string), required. The processing option data structure to use. Set the parameter
to an alphanumeric constant (<Literal>), <Null>, or an applicable object from the
object list.
Prompt for Values?
Input (character: Y/N), required. An indicator of whether to prompt the user for
processing option values. Set the parameter to an alphanumeric constant (<Literal>),
<Null>, or an applicable object from the object list.
Date Last Executed
Input (JDEDATE), required. The source for the date indicating when the report was
run. Set the parameter to an alphanumeric constant (<Literal>), <Null>, or an
applicable object from the object list.
A-22
Input (string), required. The source for the data upon which to base the report. Set the
parameter to an alphanumeric constant (<Literal>), <Null>, or an applicable object
from the object list.
JDE Log?
Input (integer), required. The level of detail to apply when compiling Jdedebug.log.
Set the parameter to an alphanumeric constant (<Literal>), <Null>, or an applicable
object from the object list.
Jargon Code
Input (string), required. The system code corresponding to the jargon values you want
to apply. Set the parameter to an alphanumeric constant (<Literal>), <Null>, or an
applicable object from the object list.
Cover Page?
Input (character: Y/N), required. An indicator of whether to print a cover page for the
report. Set the parameter to an alphanumeric constant (<Literal>), <Null>, or an
applicable object from the object list.
Job Queue Name
Input (string), required. The name to use to identify the job after it has been submitted
to the job queue. Set the parameter to an alphanumeric constant (<Literal>), <Null>,
or an applicable object from the object list.
TC Prompting?
Input (character: Y/N), required. An indicator of whether to prompt the user for table
conversion option values. Set the parameter to an alphanumeric constant (<Literal>),
<Null>, or an applicable object from the object list.
Process Type
Input (character), required. The type of process to run. Set the parameter to an
alphanumeric constant (<Literal>), <Null>, or an applicable object from the object list.
A-23
Parameters
A
Object Name
Input, required. The report being launched. Set the parameter to an alphanumeric
constant (<Literal>), <Null>, or an applicable object from the object list.
Version Name
Input, required. The version of the report being launched. Set the parameter to an
alphanumeric constant (<Literal>), <Null>, or an applicable object from the object list.
A-24
Press Button
Press Button
Use this system function to "click" a button in the current application
programmatically.
Parameter
A
Control
Input, required. The button to "click." Set the parameter to an applicable object from
the object list.
Additional Notes
A
This is applicable for enabled (but not necessarily visible) form controls and HCs. The
event, Button Clicked, fires for the control that is pushed. Note that this system
function moves the focus to the control that was activated.
A-25
Run Executable
Run Executable
Use this system function to launch an executable program outside of JD Edwards
EnterpriseOne.
Parameters
A
EXE Directory
Input (string), required. The location of the executable. Set the parameter to an
alphanumeric constant (<Literal>), <Blank>, <Zero>, or an applicable object from the
object list.
EXE Name
Input (string), required. The name of the executable. Set the parameter to an
alphanumeric constant (<Literal>), <Blank>, <Zero>, or an applicable object from the
object list.
Parameters #1
Input (string), required. The first input parameter to pass to the executable. Set the
parameter to an alphanumeric constant (<Literal>), <Blank>, <Zero>, or an applicable
object from the object list.
Parameters #2
Input (string), required. The second input parameter to pass to the executable. Set the
parameter to an alphanumeric constant (<Literal>), <Blank>, <Zero>, or an applicable
object from the object list.
Parameters #3
Input (string), required. The third input parameter to pass to the executable. Set the
parameter to an alphanumeric constant (<Literal>), <Blank>, <Zero>, or an applicable
object from the object list.
Working Directory
Input (string), required. The location where the executable should place its temporary
files. Set the parameter to an alphanumeric constant (<Literal>), <Blank>, <Zero>, or
an applicable object from the object list.
A-26
Parameter
A
Control
Input, required. The control to receive the focus. Set the parameter to an applicable
object from the object list.
Additional Notes
A
This is applicable for form controls and HCs. The event, Control Is Entered, fires on
the control that receives focus.
A-27
Parameter
A
New Title
Input, required. The title to display on the form. Set the parameter to an alphanumeric
constant (<Literal>), <Blank>, <Zero>, or an applicable object from the object list.
A-28
Parameters
A
Behavior
Note: The End Form on Add property has no effect when you use
this system function. The system function sets the property to No if it
is set to Yes.
A-29
Parameter
A
Time Zone
Input, required. The time zone to use for the current form. Set the parameter to an
applicable object from the object list.
A-30
Stop Processing
Stop Processing
Use this system function to stop runtime from processing the ER on the current event.
No parameters are necessary.
A-31
Suppress Add
Suppress Add
Use this system function to prevent the runtime engine from executing a database add.
No parameters are required. Call this system function on the Add Rec to DB - Before
or Add Grid Rec to DB - Before event rule, as appropriate.
A-32
A-33
Suppress Delete
Suppress Delete
Use this system function to prevent the runtime engine from executing a database
delete. No parameters are required. Call this system function on the Delete Rec to DB
- Before or Delete Grid Rec to DB - Before event rule, as appropriate.
A-34
Suppress Find
Suppress Find
Use this system function to prevent the runtime engine from executing a database
fetch. No parameters are required.
A-35
Suppress Update
Suppress Update
Use this system function to prevent the runtime engine from executing a database
update. No parameters are required. Call this system function on the Update Rec to
DB - Before or Update Grid Rec to DB - Before event rule, as appropriate.
A-36
Time Between
Time Between
Use this system function to calculate the amount of time that passed between two
dates.
Parameters
A
Start UTC
Input (JDEUTime), required. The first date in Universal Time Code (UTC). Set the
parameter to an alphanumeric constant (<Literal>) or an applicable object from the
object list.
End UTC
Input (JDEUTime), required. The second date in Universal Time Code (UTC). Set the
parameter to an alphanumeric constant (<Literal>) or an applicable object from the
object list.
Days
Input, required. The object to which to assign the number of days that have passed. Set
the parameter to an applicable object from the object list.
Hours
Input, required. The object to which to assign the number of hours that have passed.
Set the parameter to an applicable object from the object list.
Minutes
Input, required. The object to which to assign the number of minutes that have passed.
Set the parameter to an applicable object from the object list.
Seconds
Input, required. The object to which to assign the number of seconds that have passed.
Set the parameter to an applicable object from the object list.
Returns
A
This system function returns the difference in days, hours, minutes, and seconds
between two dates to the objects identified by Days, Hours, Minutes, and Seconds,
respectively.
A-37
Parameter
A
Return To
Input, required. The object to which to return the value. Set the parameter to an
applicable object from the object list.
Returns
A
0
Either no fetch attempt was made, or a fetch attempt failed.
1
A record was fetched successfully.
A-38
Messaging
Messaging
You should use only one of the system functions in this group: Send Message
Extended. The other system functions in the Messaging folder are intended for
internal JD Edwards development use only.
A-39
Parameters
A
To recipient
Input, optional. The account or accounts to which to send a courtesy copy of the email.
Bcc recipient
Input, optional. The account or accounts to which to send a blind courtesy copy of the
email.
Mailbox
Input, required. The mailbox name to which to deliver the email. The mailbox is used
only if the mail is delivered to Work Center. For mail delivered externally (such as
SMTP mail), this parameter is ignored. Set the parameter to a specific mailbox or to an
applicable object from the object list.
Subject
Input, required. The text to display in the subject line of the email. If the value is
<Blank> or<Zero>, and you are basing the email on a DD item using the Message
parameter, then the system sets the subject line to the DD item description, if one
exists.
Set the parameter to an alphanumeric constant (<Literal>), <Blank>, <Zero>, or an
applicable object from the object list.
Text
Input, required. The text to display in the body of the email. Set the parameter to an
alphanumeric constant (<Literal>), <Blank>, <Zero>, or an applicable object from the
object list.
Shortcut
Input, optional. The text to display in the body of the email, based on a DD item
glossary. The recipient formatting preferences (for dates, times, and numeric values) as
well as language preference (should a translation for this DD item be available) are
used when composing the text that represents the message. Set the parameter to the
DD item you want to use, or to <None>.
Media Object Name
Input, optional. The name of the media object to include in the email. Set the
parameter to an applicable object from the object list, or to <None>.
Media Object Key
Input, optional. The key of the media object to include in the email. Set the parameter
to an applicable object from the object list, or to <None>.
A-40
Additional Notes
A
The Send Message Extended system function supports multiple ways to define the
recipient of a mail. You can dictate that the message is for a limited group (such as
individuals, distribution lists, and so forth), or you can make the recipients dynamic.
The delivery method is based on each user's email preferences. You must send the
message using at least one of the recipient parameters, although which one you use is
immaterial to the system.
When mapping a recipient parameter, these options are available:
AB Number
To send a message to a single user, enter the address book number of a user as the
recipient. The mail will be sent to the default contact (contact number 0) for this
address book number. Set the parameter to an applicable object from the object list.
Note: JD Edwards EnterpriseOne version 8.10 applications do not
employ contacts; therefore, email is sent directly to a user based on the
address book number.
Contact
To send a message to an individual in a user's contact list, enter the address book
number of a user and then the number of the contact. Set the parameters to an
applicable object from the object list.
Note: JD Edwards EnterpriseOne version 8.10 applications do not
employ contacts; therefore, this parameter has no effect.
SMTP Address
To send a message to a single user, enter the SMTP address of the user as the
recipient. Set the parameter to an applicable object from the object list.
A-41
All the parameters must be mapped to objects from the available object list. At
runtime, the recipient is chosen dynamically based on the value of the Recipient
Type:
Other values
Do not use other values, as they are reserved for future use. The list of
supported recipient types is defined by the UDC 98/SM.
None
To not specify a recipient (use None when a recipient is optional).
The body of the email can be preset text (Text), or can be based on a DD item
(<Message>). In either case, you can include a media object (<Media Object Name>
and <Media Object Key>) and or a link directly to a JD Edwards EnterpriseOne
application (<Shortcut>) as well.
Attachments can be sent with the mail, by providing the Media Object Name and
Media Object Key parameters.
The system function will retrieve the attachments stored within the Media Object
specified, and add the data to the mail sent. Only the Media Object 'RTF Text' and
'URL File' attachment types are supported.
A-42
2.
3.
Call the Get XML Data Model system function to process the template.
Among other files, the system function creates an XML file to populate with data
for the merge.
4.
Create a business function to populate the XML file and then run it.
5.
A-43
Delete Document
Delete Document
Use this system function to delete a generated document.
Parameters
A
Document ID
Input, required. The document to affect. Set the parameter to an applicable object from
the object list.
Return Code
Output (string), required. The object to which to assign the code that indicates the
success of the delete. Set the parameter to an applicable object from the object list.
Returns
A
FAILED
Indicates the process was unsuccessful.
SUCCESS
Indicates the process completed normally.
A-44
Display Document
Display Document
Use this system function to display a generated document to the user.
Parameters
A
Document ID
Input, required. The document to affect. Set the parameter to an applicable object from
the object list.
Return Code
Output (string), required. The object to which to assign the code that indicates the
success of the display. Set the parameter to an applicable object from the object list.
Returns
A
FAILED
Indicates the process was unsuccessful.
SUCCESS
Indicates the process completed normally.
A-45
Download Template
Download Template
Use this system function to download a mail merge template in RTF format so you can
edit it. To enable users to save the RTF template from the browser, the template name
must not contain spaces.
Parameters
A
Template ID
Input, required. The template to affect. Set the parameter to an applicable object from
the object list.
Return Code
Output (string), required. The object to which to assign the code that indicates the
success of the download. Set the parameter to an applicable object from the object list.
Returns
A
FAILED
Indicates the process was unsuccessful.
SUCCESS
Indicates the process completed normally.
A-46
Parameters
A
Template ID
Input, required. The template to affect. Set the parameter to an applicable object from
the object list.
Return Code
Output (string), required. The object to which to assign the code that indicates the
success of the download. Set the parameter to an applicable object from the object list.
Version
Input, required. The version of the template to download. Set the parameter to an
applicable object from the object list.
Returns
A
FAILED
Indicates the process was unsuccessful.
SUCCESS
Indicates the process completed normally.
A-47
Parameters
A
Template ID
Input, required. The template to affect. Set the parameter to an applicable object from
the object list.
XML Data ID
Input, required. The ID to assign to the XML file. Set the parameter to an applicable
object from the object list.
Data Type
Input, required. The template type. Set the parameter to <Mail Merge> or <Doc Gen>.
Status
Output (string), required. The object to which to assign the code that indicates the
success of the acquire. Set the parameter to an applicable object from the object list.
Returns
A
FAILED
Indicates the process was unsuccessful.
SUCCESS
Indicates the process completed normally.
A-48
Parameters
A
Template ID
Input, required. The document generation template to use. Set the parameter to an
applicable object from the object list.
Save
Input, required. The ID to assign to the document, should you choose to save it. Set the
parameter to an applicable object from the object list.
Status
Output (string), required. The object to which to assign the code that indicates the
success of the operation. Set the parameter to an applicable object from the object list.
Returns
A
FAILED
Indicates the process was unsuccessful.
SUCCESS
Indicates the process completed normally.Download Template for Doc GenGet
XML Data Model
A-49
Parameters
A
Template ID
Input, required. The mail merge template to use. Set the parameter to an applicable
object from the object list.
Save
Input, required. The ID to assign to the resulting document. Set the parameter to an
applicable object from the object list.
Status
Output (string), required. The object to which to assign the code that indicates the
success of the operation. Set the parameter to an applicable object from the object list.
Returns
A
FAILED
Indicates the process was unsuccessful.
SUCCESS
Indicates the process completed normally.Download TemplateGet XML Data
Model
A-50
Parameters
A
Template ID
Input, required. The mail merge template to use. Set the parameter to an applicable
object from the object list.
Document ID
Input, required. The ID to assign to the resulting document. Set the parameter to an
applicable object from the object list.
Additional Notes
A
This system function launches an operation that merges all of the data sets in the XML
file with the template to create a .pdf. The process runs asynchronously, so it will not
overtax the web server. Before running a system function such as Display Document,
ensure that the operation has completed. To do so, perform a table I/O on column
FNDFUF1 in table F980042. If the return string is PENDING, the operation is still
running. If the return string is SUCCESS, then the operation is complete.Download
TemplateGet XML Data Model
A-51
Upload Template
Upload Template
After designing it, use this system function to upload a mail merge template.
Parameters
A
Template ID
Input, required. The template to affect. Set the parameter to an applicable object from
the object list.
Return Code
Output (string), required. The object to which to assign the code that indicates the
success of the upload. Set the parameter to an applicable object from the object list.
File (full path)
Output (string), required. The object to which to assign the full path name of the
uploaded file. Set the parameter to an applicable object from the object list.
Returns
A
FAILED
Indicates the process was unsuccessful.
SUCCESS
Indicates the process completed normally.
A-52
Parameters
A
Template ID
Input, required. The template to affect. Set the parameter to an applicable object from
the object list.
Return Code
Output (string), required. The object to which to assign the code that indicates the
success of the upload. Set the parameter to an applicable object from the object list.
File (full path)
Output (string), required. The object to which to assign the full path name of the
uploaded file. Set the parameter to an applicable object from the object list.
Version
Input, required. The version of the template to upload. Set the parameter to an
applicable object from the object list.
Returns
A
FAILED
Indicates the process was unsuccessful.
SUCCESS
Indicates the process completed normally.
A-53
A-54
Glossary
add mode
A condition of a form that enables users to input data.
business function
A named set of user-created, reusable business rules and logs that can be called
through event rules. Business functions can run a transaction or a subset of a
transaction (check inventory, issue work orders, and so on). Business functions also
contain the application programming interfaces (APIs) that enable them to be called
from a form, a database trigger, or a non-JD Edwards EnterpriseOne application.
Business functions can be combined with other business functions, forms, event rules,
and other components to make up an application. Business functions can be created
through event rules or third-generation languages, such as C. Examples of business
functions include Credit Check and Item Availability.
charts
Tables of information in JD Edwards EnterpriseOne that appear on forms in the
software.
edit mode
A condition of a form that enables users to change data.
in-your-face error
In JD Edwards EnterpriseOne, a form-level property which, when enabled, causes the
text of application errors to appear on the form.
jde.ini
A JD Edwards EnterpriseOne file (or member for IBM i) that provides the runtime
settings required for JD Edwards EnterpriseOne initialization. Specific versions of the
file or member must reside on every machine running JD Edwards EnterpriseOne.
This includes workstations and servers.
jde.log
The main diagnostic log file of JD Edwards EnterpriseOne. This file is always located
in the root directory on the primary drive and contains status and error messages from
the startup and operation of JD Edwards EnterpriseOne.
power form
Web-only application forms that enable users to view multiple, interrelated views of
data, grids, and tab pages on one form and to pass logic between them.
Glossary-1
subform
subform
A subform is a control designed for use on a power form or another subform. Power
forms can contain several subforms, so a single power form with multiple subforms
enables users to see multiple data views.
workbench
A program that enables users to access a group of related programs from a single entry
point. Typically, the programs that you access from a workbench are used to complete
a large business process. For example, you use the JD Edwards EnterpriseOne Payroll
Cycle Workbench (P07210) to access all of the programs that the system uses to process
payroll, print payments, create payroll reports, create journal entries, and update
payroll history. Examples of JD Edwards EnterpriseOne workbenches include Service
Management Workbench (P90CD020), Line Scheduling Workbench (P3153), Planning
Workbench (P13700), Auditor's Workbench (P09E115), and Payroll Cycle Workbench.
Glossary-2
Index
2-3
C
A
Access Media Object system function, 23-3
Activate Item system function, 23-5
Add Action system function, 24-11
Add Activity Button Clicked event, 16-3
add calendar activities
calendar controls, 16-4
Add Calendar Activity system function, 16-3, 16-4,
16-6
Add Item system function, 18-2, 18-7
loading combo box controls using, 18-4
Add Last Entry Row to Grid event, 20-10
Add mode
designating a default cursor field, 3-8
preventing form clear, 3-10
alerts, using portlet forms, 11-1
Allow Image Items control property, 3-4
Allow OLE Items control property, 3-4
Allow RTF Text control property, 3-4
Allow Text Items control property, 3-4
Allowed in Saved Query control property, 3-5
Alternate Grid Format control property, 20-6
Alternate Grid Row Format String control
property, 3-5
Always Hidden control property, 3-5
Application Tree View, 2-9
Attach Path To Segment system function, 24-12
Automatic Scroll Horizontal control property, 3-5
Automatic Scroll Vertical control property, 3-6
Automatically Find on Entry control property, 3-6,
7-4
B
business functions
using in transaction processing, 4-5
using remote in transaction processing, 4-5
using to extend transaction boundaries, 4-8
Business View Columns Browser, 2-9
Business View Name control property, 3-6
-1
Index-2
D
dashboards, 11-1
data
importing into a grid, 18-9
Data Dictionary Browser, 2-9
data dictionary items
attaching to controls, 3-41
displaying the title associated with a field, 3-42
understanding relationship with controls, 3-40
data dictionary overrides, 3-41
data dictionary overrides, setting for a control, 3-16,
20-49, 20-50
property, 3-8
Disable Grid grid control system function, 20-24,
20-34
Disable Grid parent child control system
function, 24-22
Disable Move (Cut) control property, 3-8
Disable Page-at-a-Time Process control property, 3-9
Disable QBE control property, 3-9
Disable Subform system function, 28-12
Disabled control property, 3-9
Display Customize Grid Option system
function, 20-24
Display Customized Grid control property, 3-9
Display Customized Grid Option system
function, 20-35
Display Export to Excel control property, 3-10
Display Export to Excel Option system
function, 20-24, 20-36
Display Export to Word control property, 3-10
Display Export to Word Option system
function, 20-24, 20-37
Display Import from Excel control property, 3-10
Display Import from Excel Option system
function, 20-24, 20-38
Display Style control property, 3-10
Do Not Clear After Add control property, 3-10
Double Click on Row Header event, 20-10
Drill Into Calendar Activity event, 16-3
Drill Into Time Span event, 16-3
dynamic form interconnections, 2-2, 2-10
E
edit controls
applying filters, 19-2
events fired at runtime, 19-2
filtering on, 19-2
hiding password entries, 3-16
processing at runtime, 19-2
showing its data dictionary title on the form, 3-42
showing multiple lines, 3-14
type ahead feature in, 19-2
understanding, 19-1
using system functions with, 19-3
Editable control property, 3-10
embedded combo box controls
using system functions with, 18-21
embedded combo boxes, 18-9
Enable Grid grid control system function, 20-24,
20-39
Enable Grid parent child control system
function, 24-23
Enable In-Your-Face-Error Display form
property, 2-4
Enable Progress List control property, 33-3
Enable Re-entry Save control property, 33-3
Enable Subform system function, 28-11
End Form on Add form property, 2-4
Enter Focus event, 28-4
Entry Point form property, 2-4
Index-3
Index-4
F
FDA best practices, 2-8
Fetch on Business View form property, 11-3
Fetch on Form Business View form property, 2-4
Fetch on Form Businessview control property, 3-10,
7-1, 7-4
Fetch on Grid Business View form property, 2-4
Fetch on Grid Businessview control property, 7-1,
7-4, 8-1
fields
displaying title of the data item associated, 3-42
understanding relationship with data item
descriptions, 3-42
File Name control property, 3-10
Filter Criteria - Checked control property, 3-11
Filter Criteria - Unchecked control property, 3-11
Filter Criteria control property, 3-11, 26-1
filter fields, 19-1
filters, applying to edit controls, 19-2
Find button
find/browse forms, 5-2
headerless detail forms, 8-4
parent/child forms, 10-2
power browse forms, 12-5
search & select forms, 14-2
find/browse forms
Close button, 5-3
closing dialog, 5-3
establishing modeless interconnections, 2-3
events, 5-1
Find button, 5-2
initializing dialog, 5-2
processing at runtime, 5-1
Select button, 5-3
fix/inspect forms
G
generate
portlet forms, 11-4
Get Current Wizard Page ID system function, 33-18
Get Custom Grid Row event, 20-16
Get Custom Grid Row system function, 20-10
Get Error Count system function, 28-17
Get Grid Row grid control system function, 20-25,
20-40
Get Grid Row parent child control system
function, 24-25
Get Item Count
using to with combo boxes, 18-14
using to with embedded combo boxes, 18-26
Get Key at Index
using to with combo boxes, 18-15
using to with embedded combo boxes, 18-27
Get Max Grid Rows grid control system
function, 20-24, 20-41
Get Max Grid Rows parent child control system
function, 24-26
Get Next Selected Row system function, 20-42, 24-27
Get Node ID system function, 24-9, 24-28
Get Node Level system function, 24-29
Get OLE Item system function, 23-9
Get Related Node ID system function, 24-9, 24-10,
24-30
Get Row Number system function, 24-9, 24-31
Get Selected Context Action system function, 24-32
Get Selected Grid Row Count grid control system
function, 20-24, 20-43
Get Selected Grid Row Number grid control system
function, 20-25, 20-44
Get Selected Grid Row Number system
function, 24-34
Get Subform ID, 28-19
Get Tree Node Handle system function, 24-35
Get Warning Count system function, 28-18
Get Wizard Page Index system function, 33-19
graphical display, using for calendar, 16-1
grid buffers
clearing, 20-25, 20-27, 24-14
inserting rows, 20-25, 20-47
populating from grid, 20-25, 20-32
updating rows, 20-25, 20-70
Grid Cell Display Changed event, 20-11
Grid Column Clicked event, 20-6, 20-10
grid columns
arranging, 20-7
changing text in headings, 20-55
changing the heading, 20-7, 20-24, 20-49, 20-50,
20-55
changing the sort order, 20-8
clearing and setting errors, 20-25, 20-28
disabling and enabling, 20-9, 20-24, 20-34, 20-39
hiding and setting errors, 20-51
hiding and showing, 20-6, 20-24, 20-45, 20-67
making clickable, 20-6
overriding, 20-49
wrapping text, 20-7
grid controls
adding columns, 20-3
changing the appearance of, 20-24, 20-54, 20-56,
20-57, 20-58
clearing and setting errors, 20-25, 20-28
considerations at design time, 20-2
controlling grid appearance, 20-5
customizing, 20-7, 20-24, 20-35
Index-5
H
header detail forms
Cancel button, 7-8
closing dialog, 7-8
considerations at design time, 7-1
data retrieval, 7-4
dialog clear, 7-3
events, 7-1
initializing dialog, 7-2
OK button, 7-4
processing at runtime, 7-2
headerless detail forms
Cancel button, 8-8
closing dialog, 8-8
considerations at design time, 8-1
Delete button, 8-8
dialog clear, 8-3
events, 8-1
Find button, 8-4
initializing dialog, 8-2
OK button, 8-4
processing at runtime, 8-2
Height control property, 3-12
Height form property, 2-5
Hide Grid Column grid control system
function, 20-24, 20-45
Hide Grid Column parent child control system
function, 24-36
Hide Grid Row system function, 20-24, 20-46
Hide HTML Row Selector control property, 3-13
Hide in Grid control property, 3-13
Hide Query By Example control property, 3-13
Hide Subform system function, 28-13
Hide the Viewer Icon Panel system function, 23-13
hierarchical structures, power browse forms, 12-1
Index-6
hot keys
defining, 21-2
HTML, enhancing performance using
page-at-a-time, 20-7
I
image controls, 22-1
import into grid
using with combo box controls, 18-9
importing data, 20-24
Indent and Outdent control property, 3-13
index position
using to get descriptions of items for combo
boxes, 18-13
using to get descriptions of items for embedded
combo boxes, 18-25
using with combo boxes, 18-12
using with embedded combo boxes, 18-24
initialize the control
calendar controls, 16-3
combo box controls, 18-5
Insert Controls tool bar, 2-8
Insert Grid Buffer Row By Node ID system
function, 24-10, 24-38
Insert Grid Buffer Row system function, 20-25,
20-47, 24-2, 24-37
Insert OLE Object, 23-10
Insert Text system function, 23-11
Insert URL system function, 23-12
interactivity levels, describe effect of runtime
processing, 20-22
items
getting the index positions for items for combo
boxes, 18-12
getting the index positions for items for embedded
combo boxes, 18-24
parameters for adding to combo boxes, 18-10
parameters for adding to embedded combo
boxes, 18-22
parameters for getting descriptions for combo
boxes, 18-11
parameters for getting descriptions for combo
boxes using index position, 18-13
parameters for getting descriptions for embedded
combo boxes, 18-23
parameters for getting descriptions for embedded
combo boxes using index position, 18-25
J
Justification control property, 3-13
K
Key Relations control property, 3-13
Kill Focus on Grid event, 20-11
L
Layout tool bar,
2-8
M
Main Toolbar, 2-8
Maintain Aspect Ratio control property, 3-15
Mapping Links control property, 3-15, 12-4, 13-1,
28-2
Mapping Links form property, 2-5
media object controls, 23-1
Menubar Separator control property, 3-15
menus, using portlet forms, 11-2
message forms, 3-6
closing dialog, 9-3
considerations at design time, 9-3
events, 9-3
initializing dialog, 9-3
processing at runtime, 9-3
modal form interconnections, 2-2, 2-10
Modal Frame control property, 3-15
modeless form interconnections, 2-2, 2-11
Modify Calendar Activity system function, 16-4,
16-10
Move Up and Down control property, 3-15
Multi-Line Edit control property, 3-15
Multiple Select control property, 3-15, 24-3
N
New Text Item on Open control property, 3-15
No Adds On Update Grid control property, 3-16
No display if currency is OFF control property, 3-16
node ID column, 24-10
Node ID Column control property, 3-16
Node Indent Verify Before event, 24-6, 24-9
Node is Moved Down event, 24-6
Node is Moved Up event, 24-6
Node Move Down Verify Before event, 24-6, 24-9
Node Move Up Verify Before event, 24-6, 24-9
Node Outdent Verify Before event, 24-7, 24-9
nonfilter fields, 19-1
Notified by Child event, 28-4
Notified by Parent event, 28-4
Notify Child system function, 28-20
Notify Parent system function, 28-16
O
OK button
fix/inspect forms, 6-3
header detail forms, 7-4
headerless detail forms, 8-4
power edit forms, 13-5
Overrides Button control property, 3-16
P
Page is Exited - After event, 33-6
Page is Exited - Before event, 33-6
page-at-a-time processing, 24-1
disabling, 3-9
disabling using grid control, 20-8
enhancing performance in HTML
environments, 20-7
executing custom fetches, 20-16
parameters
adding items to combo boxes, 18-10
adding items to embedded combo boxes, 18-22
changing a DD item property, 20-50
changing text in grid column headings, 20-55
clearing errors on cells, rows, columns, and
controls, 20-28
clearing system-function-defined
selections, 20-30
clearing system-function-defined
sequencing, 20-31
clearing text from QBE columns, 20-29
clearing the grid buffer manually, 20-27
counting number of grid rows in selection, 20-43
counting number of rows in model grid, 20-41
deleting grid rows from the model grid, 20-33
descriptions for adding calendar activities, 16-6
descriptions for deleting calendar activities, 16-9
descriptions for modifying calendar
activities, 16-10
descriptions for selecting calendar view, 16-13
determining grid row selection, 20-42
enabling users to edit cells, rows, columns, and
grids, 20-39
getting descriptions of items for combo
boxes, 18-11
getting descriptions of items for combo boxes
using index position, 18-13
getting descriptions of items for embedded combo
boxes, 18-23
getting descriptions of items for embedded combo
boxes using index position, 18-25
getting the index position of items for combo
boxes, 18-12
getting the index position of items for embedded
combo boxes, 18-24
hiding and displaying the option for customizing
the grid, 20-35
Index-7
Index-8
Q
QBEquery-by-example (QBE), 3-9
query-by-example (QBE)
clearing, 20-24, 20-29
configuring for a grid, 20-2, 20-61
disabling, 3-9, 20-6
hiding, 3-13, 20-6
Quick Form, using, 2-14
R
radio buttons
using in lists, 3-42
Read Only control property, 3-17, 19-1
Reclaim Whitespace control property, 3-17
Re-entry Save control property, 3-17
refresh the control
calendar controls, 16-4
Remove Item by Index
using to remove items from the combo box
list, 18-18
using to remove items from the embedded combo
box list, 18-30
Remove Item by Key
using to remove items from the combo box
list, 18-19
using to remove items from the embedded combo
box list, 18-31
reports, defining transaction processing for, 4-9
Required field control property, 3-17
Required Field flag
considerations when using with combo
boxes, 18-4
considerations when using with edit
controls, 19-2
Reusable control property, 3-18
rollbacks, 4-2
Row Exit & Changed - Inline event, 20-11
Row is Exited & Changed - Asynch event, 20-11
Row is Exited event, 20-11
Row is Selected (Web Only) event, 20-11
rows
clearing errors on, 20-28
determining row number, 20-44
enabling users to edit, 20-39
inserting from GB to grid control, 20-47
manipulating the bitmap icon, 20-57
preventing from appearing on form, 20-46
protecting, 20-34
setting colors on, 20-54
setting errors on, 20-51
setting fonts on, 20-56
runtime
processing calendar controls, 16-3
processing combo box controls, 18-5
processing edit controls, 19-2
processing find/browse forms, 5-1
processing fix/inspect forms, 6-1
processing header detail forms, 7-2
processing headerless detail forms, 8-2
processing message forms, 9-3
processing parent/child forms, 10-1
processing power browse forms, 12-4
processing power edit forms, 13-2
processing search & select forms, 14-1
S
scrolling, 3-5, 3-6
search & select forms
Index-9
Index-10
T
Tab Sequence Toolbar, 2-9
tab sequences
changing on forms, 3-43
understanding, 3-43
Tab Stop control property, 3-19
table I/O, using to extend transaction
boundaries, 4-8
tables, 2-7
Task List control property, 3-19
Text Clicked event, 3-7, 27-1
Text is Overridden control property, 3-19
Tile Wallpaper form property, 2-6
time zones, adjusting for user profile, 16-1
Title control property, 3-20
Title form property, 2-6
Tool Tip control property, 3-20
Toolbar control property, 3-20
Toolbar Separator control property, 3-20
Top control property, 3-21
Total Controls on a Form form property, 2-6
transaction boundaries
extending, 4-7
extending between forms, 4-7
extending using business functions, 4-8
extending using table I/O, 4-8
using with power browse forms and
subforms, 12-6
Transaction control property, 3-21, 12-4, 13-1, 28-3
Transaction form property, 2-6
transaction processing
commits and rollbacks, 4-2
defining for a form, 4-7
defining for a report, 4-9
events available during OK processing, 4-6
form types, 4-6
overview, 4-2
typical flow, 4-3
understanding, 4-1
understanding boundaries, 4-3
using business functions, 4-5
using in remote business functions, 4-5
Tree - Begin Drag/Cut/Copy event, 24-6
Tree - Cancel Drag Drop/Paste event, 24-6
Tree - Drag Over Node event, 24-6
Tree - End Drag Drop/Paste event, 24-6
Tree Node Bitmap is Clicked event, 24-7, 24-9
Tree Node Is Collapsing event, 24-7
Index-11
U
UDCs, loading combo box controls, 18-2
Unchecked Value control property, 3-21, 17-1
Universal Time (UT), using for calendar
control, 16-1
Update Grid Buffer Row system function, 20-25,
20-70, 24-62
Update Mapping Link control property, 3-22
Update Mode control property, 3-22
Update mode, designating a default cursor field, 3-8
Update on Business View form property, 11-3
Update on Form Business View form property, 2-7
Update on Form Businessview control
property, 3-22
Update on Grid Business View form property, 2-7
Update on Grid Businessview control property, 7-1,
8-1
Update Parent system function, 28-15, 33-6, 33-8
updatesdatabase commits, 2-7
Use Alternate Grid Row Format control
property, 3-22
UTC Display Format control property, 3-23
V
validate the control
combo box controls, 18-7
Value control property, 3-23, 26-1
Visible control property, 3-23
Visual Assist Button Clicked event,
20-10
W
Wallpaper File form property, 2-7
Wallpaper form property, 2-7
Wallpaper Full File Name form property, 2-7
Was Grid Cell Value Entered system function, 20-24,
20-72, 24-63
Width control property, 3-24
Width form property, 2-5
Wildcard control property, 3-24
WIZARD
Post Subform is Entered event, 33-5
Save for Re-entry event, 33-1, 33-5
Subform is Entered event, 33-5
Subform is Exited event, 33-6, 33-8
Subform is Initialized event, 33-5
Validate Subform event, 33-5
wizard controls
Index-12