Developer Title
Developer Title
J Walk Developer
Release 3
Information in this document is subject to change without notice and does not
represent a commitment on the part of SEAGULL. This manual could contain
technical inaccuracies or typographical errors. The software described in this
document is furnished under a license agreement. The software may be used only
in accordance with the license agreement. It is against the law to copy the
software on any medium except as specifically allowed in the license agreement.
No part of this document may be reproduced or transmitted in any form or by
any means, electronic or mechanical, for any purpose, without the express written
consent of SEAGULL.
1993 - 1999 Seagull Business Software, B.V.
All Rights Reserved.
SEAGULL, J Walk, GUI/400 and Collector are trademarks of Seagull Business
Software B.V. and Seagull Software Systems, Inc. All other trademarks and
tradenames are the property of their respective owners.
WorldWide Headquarters
Americas Headquarters
SEAGULL
Korte Parallelweg 1
3311 JN Dordrecht
The Netherlands
Tel:
+31 78 632 28 00
Fax:
+31 78 613 81 34
Email:
[email protected]
Web:
seagull.nl
SEAGULL
2520 Northwinds Parkway
Suite 250
Alpharetta, GA 30004
Tel:
770 521 1445
Fax:
770 521 6772
Email:
[email protected]
Web:
seagullsw.com
Contents i
Welcome to J Walk
Introduction to J Walk
J Walk Features
J Walk Developer Package
Using this Guide
Contacting Customer Service
1
1
2
3
5
5
10
12
13
13
13
14
Change Management
National Language Support (NLS)
Code Pages and Fonts on Different J Walk OS Environments
Interpreting National Characters
Choosing and Displaying Fonts
Translating Your Panels Using TTT/PC
Translating System Texts
NLS Development Issues
14
15
16
20
20
21
21
22
22
24
25
27
30
33
33
34
35
38
38
42
45
47
47
47
48
ii
Panel Editor
49
49
50
50
51
51
53
54
55
57
58
59
60
60
62
62
62
63
63
65
65
66
66
68
69
69
70
70
73
Text File
Translation Table
Hidden Screens
Scripts
Developer OIS objects
Package File Licenses
Package File Compilation Process
74
75
75
75
76
76
76
76
77
78
80
Contents iii
Data Organizer
Working with the Data Organizer
Filters
Find and Action
Developer Project
Developer Project Requirements
Developer Project Settings
Preparing Images
Referencing an Image to a Push Button
Referencing an Image to a Title Bar
Using Image DLL Utility to Embed Bitmaps into a DLL
Convert Bitmaps to Java Enabled Format (HTTP)
Maintenance Phase
Launching the Change Management Wizard
99
99
101
101
101
102
103
105
106
106
111
113
115
115
116
117
117
117
121
122
123
124
126
126
129
129
130
130
130
131
132
132
133
133
134
135
135
135
136
136
iv
137
OIS Requirements
OIS API Processing Requirements
OIS General API Server Process
Linking to ActiveX Programming Environments
138
138
138
140
147
150
151
153
Replacing the J Walk Windows Client Signature with Your Own 153
Create J Walk Diskette Images
Standard J Walk Windows Client Images
Selecting Package Files for Distribution
Customizing Your Installation
Testing a Package File with J Walk Windows Client
154
154
157
159
166
167
167
169
189
189
190
192
192
193
193
195
195
197
197
198
199
199
200
200
201
201
202
203
203
203
Contents v
Evaluating Created Picture Album from Collected AWHOST
204
205
205
206
213
214
215
215
216
221
227
227
230
231
232
AWHOST - Layout
Collector Error/Diagnostic Messages
Collector Prepare Phase Messages
Collector Extract Phase Messages
233
238
238
242
249
249
251
251
255
257
259
260
264
266
266
266
266
266
267
268
268
268
269
269
269
270
vi
270
270
271
271
271
271
272
272
272
273
274
274
281
283
284
285
285
286
DdeInitiate
DdeExecute
DdePoke
DdeRequest
DdeTerminate
EventNameGet
286
287
288
288
289
290
291
HostCursorGet
HostCursorPut
HostDimensionsGet
HostFieldGetData
HostFieldGetProp
HostFieldPutData
HostScreenGetLine
HostScreenGetRaw
HostScreenGetRect
HostScreenGetString
HostScreenPutString
HostSessionQueryStatus
291
292
293
294
295
296
297
298
299
301
302
303
304
MainSessionConnect
MainSessionDisconnect
MainSessionGetId
MainSessionGetWinHand
MainSessionTerminate
304
305
306
306
307
Contents vii
MainWindowSetMode
Messagebox
308
308
310
MmPause
MmPlay
MmSkipNext
MmSkipPrev
MmStop
310
311
312
313
314
314
MsgEventRequest
MsgWinmsgSend
314
315
316
PanelButtonClick
PanelFieldGetData
PanelFieldGetProp
PanelFieldlistGetData
PanelFieldPutData
PanelNameGet
PcCommand
Panel Field Types Script Constants
316
317
319
320
321
322
324
325
325
326
326
327
327
328
329
329
331
331
332
333
334
334
336
336
337
339
340
340
341
viii
Index
342
342
343
345
347
349
350
350
351
352
354
Welcome to J Walk
Welcome to J Walk
Thank you for choosing J Walk. You now have the opportunity to ignite AS/400
applications with the power of contemporary desktop technologies.
This short section provides highlights and overview information about the J Walk
product line, including:
An Introduction
Features
Components Overview.
Use of this guide and on-line documentation provide information about using
these products including interactive "Roadmaps."
And for suggestions and when you have determined there is a problem, please see
the suggested steps in contacting our Customer Service organization.
Introduction to J Walk
J Walk is a suite of development tools and enduser products for adding a
Graphical User Interface (GUI) client to existing AS/400 applications. This
solution can be implemented on a variety of desktops over various networking
environments, including Internet/Intranet implementation. The same solution
can also be delivered to a Local Area Network (LAN) environments and local PC
configurations.
The components of J Walk include:
SEAGULL Collector runs on the AS/400 and collects all screen sources from
your host application to a single file which can be read by the Developer.
J Walk Developer (also referred to as "Developer") is a tool set that runs on
your PC and helps you build, customize, and enhance GUI panels for all screens
identified by the Collector.
Once you have built your panels and compiled them, the following components
are used to deploy and manage the J Walk enhanced AS/400 application.
J Walk Server for NT is the centralized engine that serves the J Walk enhanced
AS/400 applications on demand to clients over your internal network or via the
internet using the Windows NT Server platform.
J Walk Native Server is the centralized engine that serves the J Walk enhanced
AS/400 applications on demand to clients over your internal network or via the
internet using your AS/400 to do it all.
J Walk Features
By adding a J Walk Solution to your AS/400 application, you extend the
application's life cycle.
Using J Walk products, you can:
Welcome to J Walk
Automatically collect DSPF and MNU DDS source members and objects
of your host application, using the Collector.
Program to and operate over industry standard Java and ActiveX interfaces
for extensive integration possibilities.
Easily migrate from GUI/400 to J Walk using one of two approaches. You
can either directly transpile a GUI/400 package file to a J Walk package file
or you can convert an entire GUI/400 project to a J Walk project. The
choice is yours.
Add Business Graphs to your panels to display a chart based on your host
screen data. Or convert these images into Advanced Chart types and apply
real-time visualization including Data Access integration using the
Advanced Chart Editor for Developer and Windows Clients!
J Walk and GUI/400 are the only products that are 100% compatible with
Graphical Access, IBM's standard solution for providing OS/400 screens
with graphical panels.
Clients also have facilities for Keyboard Mapping. Apply these settings as
administrator (for all to use) or enable the local storage of Keystrokes and
special "5250" keyboard messages for all your users.
And for those screens that are not covered by your package file or
Graphical Access, J Walk can provide dynamically transformed panels.
J Walk CD-ROM
J Walk Dongle
The J Walk CD-ROM contains the following components that pertain to building
your package files using J Walk Developer:
J Walk Developer
SEAGULL Collector
Your license rights for those components are described in the enclosed J Walk
Developer License Agreement.
The J Walk CD-ROM also contains the software components deployed when
using J Walk Server and Clients:
J Walk Java Client (CAB and JAR files cotaining the Java classes are
included in J Walk Server install)
As a J Walk Developer you may use these components for Testing and Demo
Use only. Once you are ready to deploy Server and/or Clients for productive use,
you must purchase additional licenses for these components.
Welcome to J Walk
Review sections of this guide early (especially the "Planning" sections), and
please remember refer to this guide whenever you are doing something
new with the J Walk product.
Use on-line help to view contextual Overviews and Related topics; simply
press a Help button. Refer to the product "Using" sections, for a basic
introduction to use and initial activities to perform.
Note: This book is intended for your use with the J Walk Product. To achieve
faster and higher quality results, you should consider participating in formalized
J Walk training. To find out more, contact a J Walk Product supplier.
2.
Using Windows Client, left-click on the upper left titlebar icon and
choose the System | About menu entry.
3.
Press the Troubleshoot button. This will start the Troubleshoot Assistant.
4.
5.
This opens the Notepad with the Troubleshoot report. Save this report as a
text file.
6.
Will you plan the production of additional files in parallel? Will you
implement Help? DDE? Images?
Will you plan to add your own package signature (look and feel) with your
own distributor icons and bitmaps?
Do you plan to execute a Package file over a Java Client versus and a
Windows Client?
Do you envision your solution using automated Client and Package file
updating?
Follow-up with the additional questions provided with the Developer Planning
Questionnaire.
Planning a project also involves considering strategic questions toward
establishing your "preferred look and feel" as to how you want to define and style
your J Walk GUI, and how to extend it (applying additional files and applications).
With so many tools and options, planning your project will take some time, but
will save you much more time and rework!
It is important to realize that you will need to refine your panels to meet your
needs.
Remember: Best Guess Templates, Template Field Maps and Template Schemes
provide much power toward customizing and re-using your work!
Developer Planning Questionnaire
Begin by defining the market to use the application you intend to build. Secondly,
determine on what platforms you intend to run your Package file(s). Gather the
specific requirements from these decisions.
So after considering your host application and your implementation goals,
consider the following planning questions:
How do you want the Graphical User Interface (GUI) to appear? Are you
familiar with Microsoft Windows or Graphical Access look and feel?
What specific host-to-GUI mappings for new GUI control fields have you
considered?
A good GUI includes on-line help information to assist your users. What
help requirements exist?
What "rules of thumb" can you establish for the functionality as well as the
"look and feel" of new toolbars and menu bars?
Do you envision adding icons to your menu "actions" as many new user
interfaces now do?
What details do you require for the standard "Help | About" box (which
typically displays version numbers, etc.)?
Dynamic transformation is the J Walk process for presenting a GUI panel over
a host application in real time. Mastering selective use of dynamic transformation
can reduce the actual number of panels you will need to build!
The SEAGULL Collector requires knowledge about your host application. If
you want to improve on the collection of your display files, you may be required
to customize and apply proposals. These proposals are "templates" for actual
programs. Description of the proposals specify the functionality provided for
each. Review these descriptions with persons familiar with the host application.
If they know RPG, they can use these proposals to improve the results of the
Collector run.
For each of these planning issues, consider your requirements as you proceed
through this section.
10
Package files can provide Data Access interactive references to host data.
Package files can be used in combination and updated using various client
scenarios.
11
Roadmap Resources
Preparation and use of roadmap components are described within the following
sections, while detailed deployment information for J Walk Server and Clients is
contained in the J Walk Server and Client Guide and on-line help.
For An Overview of the Developer Tool User Interface, see "Exploring the
J Walk Developer" where by the end you are ready to explore the supplied Car
Demo package.
We recommend investigating the "Planning " sections early in order to better
understand the Developer development process as well as establish your project
requirements. Included in this area are all project setup activities.
A review of installation, configuration and upgrading activities is presented in the
"Using Developer" section.
If you want to go immediately to using Developer, then it is recommended to
review "Getting Started Building Your Package File."
For the complete description, see "Preparation phase" concerning working with
the Picture Album and Best Guess screen and panel templates as well as
"Building phase" covering refinement of the exact (final) implementation of your
Graphical User Interface field controls (resulting from Best Guess).
"Providing Data Access" as well as "Interfacing with Package Files" begin the
discussion of extending the interfaces to the desktop and/or programming
environments.
Distributing your solution is the final major activity. Replacing product signatures
with your own identification can be of great interest as well as Deployment of
your solution(s). All deployment information for J Walk Server and Clients is
provided in the J Walk Server and Client Guide.
12
First, if you have an already GUI/400 compiled package file (.AWR), all
you need to do to use this file with J Walk is to transpile. Transpiling is
provided from the Tools menu (with the compile option). The transpile
process will try to convert all found references to text, images and
additional files (like scripts). You receive a message for unfound files
during this process. Open the .AWR file and go! In minutes you will have
a new J Walk Package file (.JWR). The resulting .JWR file is not
compatible with your previous GUI/400 environment. The additional
referenced text files (.AWX and .AWM) are renamed to .JWX and .JWM.
Note: Referenced images must be converted if you plan to use the new
.JWR within the Java Client environment.
Image conversion is performed using the JWIMG utility provided on the
Tools menu. Your previous images are not affected, hence the J Walk
Windows Client is ready to go after transpiling.
The direct method for converting an entire GUI/400 project file (.AWD)
provides a complete conversion by inspecting the previous project
definition and project paths, prompting you with the selection of the
related components for conversion into a new J Walk project.
The original .AWD (and associated files such as scripts, templates and
external text files) are not changed. In any case, you are prompted for a
new project path and new project name.
Additionally, if you have created a new J Walk project definition, then you
can (manually import) selecting each type of component into your new
project using the Advanced Data Organizer. If you wish to import an entire
project (with all associated components), it is recommended to use the
direct method beginning with the .AWD file.
Otherwise, you are responsible to select all templates, scripts and other
important project files for importing into your already existing J Walk
project.
13
2.
Specify the AWR file name (and full path using the requester). If the file
cannot be found (after pressing OK), a message states this and the process
will be terminated.
3.
4.
If the JWR file already exists, you can slelect to replace the file. If the file
does not exist, it is created.
2.
3.
4.
In this panel, all the paths used in the older project will be shown. Specify
paths for all files to be converted.
5.
14
2.
Select the File | Project | Import to call the Advanced Data Organizer.
3.
4.
5.
The items of the chosen file type will be shown listed in the right hand list
box.
6.
7.
The items will be copied to the new project. Nothing is done to your
originals.
All text strings must be externalized (maximize this requirement, else limits
to use of localized text will exist).
JW9TTT is a utility to capture embedded text and format it for use with
SEAGULL TTT/PC text translation product.
15
Overriding the Date Window (.INI setting) for conversion of 2 digit (hostbased Year values) to 4 digit (client presented Year values)
Script date values using Cdate function (4 digit date- Date function
supports 2 digit value)
Field formatting specifies the exact layout on your client panel (as well as how to
"return" the entered value back to a host).
16
Field Formatting
Field formats can identify both the host use of a date (or amount) as well as client
presentation (appearance) for the field.
A "Field Format" specifies the layout of the information. It is often called a
"format mask." You may specify a format mask directly at the "Appearance" tab
for a selected field. "Standard" formats are provided which work for many uses.
Additionally, because the mask expression is a textual expression, you may also
use dynamic Host Field Breakdown techniques to refer to externalized text
file(s) containing "mask expression(s)" or to refer to host fields to be used
as the format mask. In either case, a host field breakdown expression results in
a string expression which can be used to express a field formatting mask.
Note: Please be aware that when you apply field formats, you should not also
apply Host Field Breakdown techniques to portions of the field as any portion of
the field no longer holds the "context" (field format mask) to identify the day,
month and year layouts for the date value.
You can specify your own field format in the following way:
[Incoming/Outgoing AS/400 Information] Information Format Shown on Graphical
Panel
17
In order to specify a field format, you must specify the host data layout (incoming
and outgoing) and the format to apply when showing information on client panel.
You can specify field formatting directly within a selected panel field (Appearance
tab) at the "Field Format" attribute. Here, you can directly specify incoming and
outgoing formats for the host (if needed) and your resulting panel. Else, when
you are scripting, or applying external text(s) as
Refer to examples included within this topic for more details.
When specifying your own field format, you can apply host field breakdown
techniques to specify text strings to be displayed.
Note: Applying a field format does not control the way the actual host field is
represented (back on the host).
[Specifying Incoming/Outgoing AS/400 Information]
Data coming from the host can contain characters like for instance - or /.
When data is received from the host, all non-numeric characters are stripped.
Therefore data coming from the host can be seen as purely numeric.
The way data comes from and goes to the AS/400 is controlled by a formatting
string specified between square brackets. This specification can be made by
selection or typed as syntax into the field format definition.
This formatted string contains the following information:
When the field is a date, the order of the D,M and Y in the formatted
string tells you how the data, coming from the host, must be interpreted
(only numerical characters are interpreted). This information is very
important. Without it, the panel has no way to know how a date should be
interpreted.
Data will be formatted using the formatting string before being sent back
to the host.
With dates it is also assumed, that the order of day, month and year coming from
the host is the same as the data going back.
Note: When a 2-digit year is coming from the host, which has to be display
formatted to a 4-digit year, the INI file setting DateWindow=xx is used to set
the yearbase to 19xx. This will result in years to be selected between the values
19xx and 20xx - 1. The default for this setting is DateWindow=40, which is the
AS/400 default. It will also be used when the INI file entry is absent.
Characters can be used to format data going to the AS/400. In this
representation the following syntax applies:
18
If data is keyed in by the user, the program will try to recognize it as best as
it can.
If the program can recognize it, this data will be converted to the format
string.
If numbers or amounts become too large to fit the format string, the digits
that would not fit the format will be placed immediately before the leftmost
digit that can be shown.
Format
Formatted text
010364
[DMYY]dddd_d_mmmm_yy
Sunday 1 March 64
010364
[YYMD]dddd_d_mmmm_yy
Sunday 64 March 01
01-03-1964
[DMYY]the_d_of_mmmm
the 1 of March
f 100,00
f_#####0.00
f ___100.00
f 100,00
f_000000.00
f 000100.00
f 0.01
f_##0.00
f __0.01
f 105.90
$_000,00
$ 105,90
19
20
On-line help
Images
Presentation media
Review the following associated topics in order to prepare for your planning:
21
HTML
22
Users can resize panels (and this may affect the look of your images).
When providing images, please be aware that special attributes for the image can
make them "transparent" over a background, indicate the button is "Clickable"
(and therefore, a "Hotspot") and even present the "Hover hand" prior to
selection. See the presented attributes when performing the reference to specify
these types of effects.
23
When deploying Data Access packages to your Java Clients, there are two tabs
(during configuration) which enable you to specify how Data Access is provided.
The Data Access tab specifies the actual Data Access settings including "how
you want to present" the DA icon (indicator/ data pool refresh button) in your
Java Client (located in the upper right corner next to the "running man").
To provide Data Access services, it must be installed and configured.
This diagram presents Data Access services and where they are being used. It is
an overview.
The following configuration activities must be completed. See those product
components for details.
24
The Data Access Server manages file and field authorization for each
session (and known user).
25
Style is your combined uses of text fonts, icons and colors to enhance a user's
knowledge of a procedure, etc. as well as, use of images. When you are
referencing textual controls, these objects include a "Style" tab for selection of
your style attributes.
Additionally, Client data values can be presented within Business graphics or
enhanced in the Advanced Chart Editor.
Referencing Images
Design the use of image-rich panels in terms of potential panel re-sizing effect.
Perhaps a National color or company logo should be placed on all panels.
Software vendors often display a logo, etc. bearing a company or application
image. The Developer provides for packaging the Clients with your marks.
Additionally, SEAGULL supplies an installation file (SETUP.DEF and
CUSTOM.DEF example) for you to customize for installation of all your
materials for a Windows Client and package file set.
Remember that some image file types remain platform-specific; so utilities are
provided to prepare your project images for the format you require.
26
A number of icons are supplied with the Developer. These are stored as panel
templates and begin with the name JWICON*. You can also create your own.
Within J Walk, images can be referenced by the following GUI controls by
entering the image file or reference in the Image ID prompt of each controls
definition dialog.
Push button
When pressed, a push button performs an action. The "push" represents a trigger
which can also be represented by changing the image reference when depressed
(display states). Push buttons are also used to just display bitmaps on panels for
decoration.
Push buttons are defined as "clickable" or "non-clickable." A non-clickable push
button can not hold focus. No trigger can be attached to the field and its use is
primarily for holding a static image.
Check box
Images within check boxes are used to indicate the state of the check box,
checked, unchecked, grayed (invalid value), or if the check box is disabled.
Radio button
Images within radio buttons are used to indicate if the value is selected,
unselected, or if the button is disabled.
27
Note: Push button, check box, and radio buttons also provide a level of control
based on their display state.
Subwindow
Notebook tabs can also refer to an image.
Title bar
You can place a product (or company) logo in the title bar of the panel. This
image is displayed on all panels of your application.
28
29
Push button
Check box
Radio
button
Title bar
ID
No focus
Unchecked
Unselected
Only state
ID+1
Focus
Checked
Selected
N/A
ID+2
N/A
Unchecked,
pressed
Unselected,
pressed
N/A
ID+3
Pressed
Checked,
pressed
Selected,
pressed
N/A
ID+4
Disabled
Disabled
Disabled
N/A
ID+5
N/A
Grayed
N/A
N/A
30
256 color mode means just what is described: you may manage a color
palette of 256 colors (minus the current desktop colors).
True and High color modes provide from thousands to millions of color
values.
Using color can be impressive, but you must consider the impact of such "special"
color resolutions.
What happens when a Client runs at 256 colors and you provided True color?
The answer is a desktop color effect called dithering. Dithering is a method of
"creating" colors from "known palette" colors. In this case, the known desktop
colors are used to create an alternative color combination. This combination
often results in an abnormal "flash" or strange color effects. When users run at
higher color resolutions and you have provided only 256 color images, etc, no
particular abnormal effects are encountered.
Recommendation: If possible, select one of the 16 primary colors from the
desktop palette, or select a color from the standard 256 color desktop palette. If
you must capture images beyond 256 color resolution, be aware that dithering
effects may occur when running the Client under 256 color display modes.
Reduce the color resolution in such images when running in 256 mode.
31
Color Conversion
On the AS/400, text on a screen is assigned a foreground and background color
combination from a set of pre-assigned 32 color combinations.
Since there are only 16 colors available within the J Walk internal emulator, and
there are several million colors available now for GUI controls within a graphical
environment, there is a color conversion table that lets you map a host color
combination to either desktop colors or user defined colors.
Defining the color conversion for all of the possible host field colors can be
considered one color conversion table. There are 8 such tables that can be defined
per project. This gives you the capability to set different color conversions for
different types of panel fields. For example, you could make one color conversion
table for panel fields that display data. And you could use a second color
conversion table for panel fields that group data (like group boxes, frames and
rectangles).
By using different color conversion tables for the different kinds of panel fields,
all of the panel fields could have their color based on the same host field. So that
if an error occurs and the host field changes from Green/Black to Red/Black.
The grouping panel fields could change to a highlighting color while the data
panel fields remain the same for example.
Standard (Desktop) Color Mapping
When you choose your panel objects to have Normal color, J Walk applies the
operating system colors for that type of graphic control. The table below denotes
mapping of the J Walk panel object to the operating system's color scheme class
objects (native client environments).
GUI control
Windows 95/NT
Windows 3.x
Panel
background
3D objects
Button
Title bar
Title bar
Push button
3D objects
Button
Entry field
Window
Window
Multiple-line
entry field
Window
Window
Spin box
Window
Window
Combo box
Window
Window
Hover help
Tooltip
Tooltip
32
Windows 95/NT
Windows 3.x
Menu bar
Menu
Menu
Message box
Message box
Message box
Radio button
3D objects
Button
Check box
3D objects
Button
List box
header
Window
Window
List box
column
Graph
N/A
N/A
Group box
Blue / Gray
Blue / Gray
Frame
3D objects
Button
Rectangle
3D objects
Button
Notebook
3D objects
Button
Subwindow
3D objects
Button
Text field
Blue
Blue
Output field
Black
Black
User window
Blue
Blue
User-defined Colors
By default, J Walk assigns operating system colors to all of the GUI controls. You
can pre-define up to 40 colors in your GUI development project. These colors are
meant to be used to assign colors to GUI controls other than the standard
operating system colors.
The pre-defined 40 colors can contain your own fixed colors or reference
operating system colors. In this way, you can map (for example) push buttons to
the Window object instead of the 3D object. When you compile your panel files,
the resulting package file will store these user-defined colors and display them in
the client environment.
Then, when the enduser changes their desktop colors to their own preferences,
J Walk Windows Clients will follow these preferences.
In general, we recommend that you use these operating system colors for your
GUI controls. However, we understand that you will also want to assign some
fixed colors within your panels as well.
33
A common use for user-defined colors is to apply your company colors to the
application.
Change Management
The Developer provides tools to effectively manage changes based on changes to
the host application. Developer provides you with the ability to maintain an
existing project by offering several utilities that identify and process differences
between an existing project and a new AWHOST file or Picture Album. All of
these utilities can be operated using the Migration wizard.
Recommendations when beginning a Change Management cycle are:
Retain a copy of your original AWHOST file for use when performing a
Change Management cycle
Carefully ensure that all backup paths (and files copied) are correctly
identified prior to launching the Change Management Wizard.
Before starting the Migration wizard, you need to run the Collector over the new
host application. You can choose to run the Collector over all of the DDS
sources or just the changed sources. In most cases, you would just want to run the
Collector over DDS sources that have changed.
After downloading the AWHOST file, you can run the Migration wizard to
manage making the changes required for your existing development project.
This process invokes the Smart Build to rebuild/adjust panel objects (based on
detected differences between new and previous Picture Albums).
34
2.
3.
Display J Walk system texts (menus and messages) in a language other than
English.
Please review the Related Topic(s): Translating System Texts and
Translating Your Panels Using TTT/PC.
4.
OS/400 only has one limitation, the locale is either enabled for double-byte
languages (e.g. Japanese, Chinese and Korean) or not.
Windows limits the international settings to the ANSI code page of the
locale.
35
JVM (1.1) supports most Single Byte Character Set (SBCS) languages. No
DBCS, nor BIDI support exists within J Walk.
Some international settings require a system reboot after a change has been
applied. This also depends on the operating system.
The following table summarizes those NLS aspects that depend upon operating
system.
Operating
system
OS/400
Windows 3.x
(16 bit)
Windows
95/NT (32
bit)
Java
Standard code
page set
EBCDIC
ANSI
ANSI
ANSI
J Walk system
texts language
module
ANSI
Unicode
Unicode
Unicode
Fonts used
Not
applicable
Supplied
J Walk or
Windows
Supplied
J Walk or
Windows
Supplied
J Walk or
JVM
36
37
This second table is the 'follow-up' byte that makes the code point represent a
unique double-byte character. The 'follow-up' byte can have a hexadecimal value
between x'40 and x'FC.
The above diagram indicates the follow-up byte and resulting character from leadbyte 0x82.
Unicode Description
Unicode is a double-byte table that contains code points for virtually all printed
characters of any language. Unicode simplifies character handling by eliminating
the need for different code pages for different languages. Around 35,000 code
points (of a possible 65,000) have already been assigned and there are 6,500 points
available for your own customization.
38
Windows 95
J Walk Developer
39
2.
Do not start translating a J Walk project until all panels are designed. You
should use this utility for finished J Walk project applications.
Always make a copy of the application file (JWA) and panel files (JWW)
before beginning the translation. Otherwise you will update the sources
with the translated texts and lose your original texts.
40
41
TC Working copy if GUIMSG. Make this equal to TF except add the extension
".DAT".
TN File to contain notes you make
WD Name of the word dictionary, including full path name.
TD Name of the phrase dictionary, including full path name.
VW, LC, UC and WT Word characters, case conversion, and sort sequence for
code page 437(English)
Export Panel Files (JWW) to TTT
After completing these steps, you will be able to start translating the texts in your
panels using TTT.
Follow these steps to perform this activity.
1.
Open a command line to make a copy of the J Walk panels and application
file and place it within the JWALK\JW9TTT (backup) directory. For
example:
MKDIR \JWALK\JW9TTT
MKDIR \JWALK\JW9TTT\APP
MKDIR \JWALK\JW9TTT\APP\CAR
COPY \JWALK\APP\CAR\CAR.JWA
\JWALK\JW9TTT\APP\CAR\CAR.JWA
COPY \JWALK0\APP\CAR\*.JWW
\JWALK\JW9TTT\APP\CAR\*.JWW
COPY \JWALK\APP\CAR\CAR.JWM
\JWALK\JW9TTT\APP\CAR\CAR.JWM
2.
3.
Check the logfile (JWTTT.LOG) for possible error messages and correct
the errors if necessary.
42
2.
Make the current directory the directory where the application file (JWA)
and GUITXT and GUIMSG files are located.
CD\JWALK\JW9TTT\APP\CAR
3.
Error messages
Graphical Access
These J Walk specific texts are stored in a special Dynamic Link Library (DLL),
which we also refer to as a language module. During installation you can select
one or more language modules. If you do not select any of the listed languages,
you fall back to the default language which is English for the International version
of J Walk.
All the different language modules (DLL files) have the same name, constructed
with the name of the product's executable as '<EXE name>R.DLL'. Therefore
these language modules cannot be stored in the same directory.
For each installed language module a subdirectory is created under the J Walk
program directory. The name of these subdirectories read the language code, a 4
digit number, used by IBM as 'MRI<language code>'. For example, the French
module for the J Walk Windows Client is (default) installed on Windows 95 as:
C:\Program Files\Seagull\J Walk Windows
Client\MRI2928\JW9CR.DLL
Platform configuration
When you want to activate a secondary language on the AS/400 you must add the
library 'QSYS<language code>' to your library list (use the CHGSYSLIBL
command). For French this would be QSYS2928.
43
When you start a J Walk product, it looks for the native language environment
variable called "EHNL". If it finds this setting with a language code value, J Walk
will look for the 'MRI<language code>' directory under the J Walk program
directory.
If it cannot find this setting, it looks for the first MRI subdirectory under the
J Walk program directory. If it finds more than one, it loads the DLL of the first
directory it finds. The search order used depends on the PC operating system.
If no language module is detected, English is used.
J Walk command line parameter
To Control what language should be loaded you can specify a language code using
the command line parameter /M<language code>. In that case you force
J Walk to take the language subdirectory of the language code you entered in the
command line.
For example, to force French you should specify in the command line:
/M2928
The directory that is selected according to the above algorithm should contain a
valid language module. If the expected DLL file is not found in the language
subdirectory, and also not present in the J Walk directory, you will fall back to the
default language which is English for the International version of J Walk.
In Windows 95 you can specify a different language per J Walk session. On all
other PC platforms, the first session started sets the language for all sessions
following.
Creating Your Own Language Module
J Walk Windows Client is supplied with English, French, Italian, German, Dutch
and Japanese language modules. Which means that the J Walk Windows Client
system texts can be displayed in any of these languages. J Walk Developer is
supplied with English and Japanese language modules.
If you want the J Walk software system texts to be translated to another language,
then contact your SEAGULL representative and inform them that you wish to
make another language module. Your SEAGULL representative will provide you
with the J Walk system texts as an untranslated source file. It is up to you to
translate the texts.
Translating the J Walk Windows Client system texts requires about one week.
Translating the Developer system texts also requires about one week to translate.
44
Graphical OfficeVision
If you start OfficeVision text assist in a different national language than what is
supported on the PC, the following functions will not operate (they will be
disabled).
Calendar function codes: e.g. "VW" (View Weekly) and "VD" (View Daily)
45
The calendar menu items in the View pulldown menu send character codes
to the host. If the host is operating in a different national language than the
client environment, selecting these menu items will result in an error
message because the two character will be unknown to the host.
In the host application, do not use static texts in the DDS sources.
46
A lead attribute byte. This overlaps the trailing attribute of the 'window'
border so it may be an attribute byte in either picture. Attribute values are
never tested (for their meaning), only the presence of the attribute is
detected (note that the presence of a "default" attribute may vary based on
emulator and usage) .
A field character. This may be empty in the other picture, but an output
field can contain any value, including an empty (binary zero) value. "Entry
capable" means testing the value of a attribute byte which is not performed.
A trailing attribute byte. This can overlap the start of the next output
field, so it can be an attribute byte in either picture.
If you can only detect characters between two attribute bytes, there is not enough
to recognize (and uniquely identify) the screen. In such a case you may need to
use Screen Identification Utility parameters to better detect the attributes, or
manually edit the identified screen containing the sub-file region to be "excluded
as a field."
Externalizing Text Files Considerations
Text files, like message files (JWM) and translation tables (JWX) acquire the code
page of the related package file (JWR). If you are moving an existing development
project from one code page to another, it will be necessary for you to use the
JW9XLATE.EXE utility to convert the code pages of these files.
Keep in mind that:
These text files cannot contain lines longer than 255 characters
Size corresponding panel fields as large as possible for translations that are
longer than the original text
47
OIS
Image types
On-line Help
Upon compilation, you may select to verify conditions for both Windows and
Java Clients. Inspect the additional information logged after the compile
completes.
48
49
Configuring
Starting
Licensing
Upgrading.
Following the "Using" section, "Exploring the J Walk Developer" provides you
with a quick tour about the Developer interface. You can explore the Developer
while exploring the supplied Car Demo application.
50
When you are using this product, always remember this guide has been
created for you! It contains step-by-step instructions, planning
recommendations and reference materials to assist you throughout the
development process. On-line help also is provided for your assistance.
Finally, each product has an associated Readme file containing any late
breaking details as well as installation and configuration details.
Following this section, the "Using J Walk Developer" section reviews the tools
and options when installing and starting the Developer. Included, are the step-bystep instructions for using the J Walk Dongle.
51
52
2.
3.
Continue pressing the Next button until you are at the end of the Wizard.
You will be asked to name your configuration and you have a chance to
test your connectivity with the AS/400.
2.
Open the Data Access tab and select a Data Access connection mode. If
you expect to "see" the repository prompter and all Data Access services,
you must select to Use ONLine mode.
3.
4.
53
none
Loads the image file JWALK.IMG. The image file is primarily used when
debugging a Client environment.
/Lfile none
Opens the file as the project's Picture Album.
/Mxxxx none
54
none
WideScreen
Indicates if the emulator screen is 28x132 (wide screen). The normal screen size is
24x80.
/Z
SwapEnter
55
The driver is registered in the registration database under
HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services.
Note: Since this program is a driver, you must have supervisory rights in
Windows NT in order to install and enable this driver.
Enter Your Company Name
Your company name appears in all of your package files (JWR). The company
name is part of the key for your package files security code.
During initial authorization, you are given the opportunity to enter your Company
name without requiring an authorization code.
Notice the Company name displays "**********" indicating no company name
has been specified.
After you replace the "**********" with your own company name, it remains
stored in the dongle and cannot be changed without requesting a new
authorization code.
Specify your company name before you begin using the Developer.
57
The Terminal Editor provides the interface for creating and refining your
Picture Album and manually created Screens.
The Panel Editor provides the interface for creating and refining your
graphical panels and panel objects.
58
Best Guess sets the Screen Identification for pictures from the Picture
Album and automatically makes the graphical panels based upon those
pictures. Best Guess templates hold your specifications and influence all
panels built.
The Terminal Editor and Panel Editor Tools Menus each provide access
to powerful Developer processes that add functionality through
completion of your final graphical user interface.
The View menus (for both editors) provides access to a live session
(emulator) as well as Data Access information.
The supplied Car Demo package provides excellent examples and useful
project components. Explore the Car Demo!
Let's start with the primary frames where you perform your work: the Panel
Editor and Terminal Editor. To use these editors, you should first specify editor
settings that facilitate your work plans. For example, you could choose to use an
external editor for scripts. Select File | Editor settings to get to these settings.
Editor settings is also the place to establish your use of an external editor.
59
Terminal Editor
When you start the Developer, the Terminal Editor is opened.
The Terminal Editor's main function is to display (and edit) a picture screen or
live session screen (from a displayed host application) for use in building graphical
panels. The Terminal Editor saves screen information in the Terminal Editor
Work File (JWE).
60
Some Terminal Editor concepts are described after examining the Terminal
Editor interface.
2.
Click on the
61
Click on the icon to display menu options that affect the application operation.
Titlebar icon menu options include: Minimize (the window), Maximize (the
window), Close (the application), Hide (the window), and Print (the window).
Titlebar
The top line in the Terminal Editor window. The titlebar contains the titlebar
icon, the name of the currently opened Terminal Editor work file, and minimize
and maximize buttons.
Maximize button
Uses the entire desktop space to display the Terminal Editor window, depending
upon the font size of the emulator session. The font size is a property of the
Developer Editor Settings on the Emulator tab.
Minimize button
Minimizes the Terminal Editor application.
Toolbar
Provides quick access to common menu options. For example, the Panel Editor
icon is first in the toolbar. Use this to switch views to the Panel Editor.
Menu bar
Pull down menus for Terminal Editor functions.
File The File menu provides access to your Terminal Editor work file as
well as Project definition file and other functions like Report printing.
View The View menu provides options for viewing items. The Panel
Editor can be selected. Live session mode (emulator) as well as statistics
and log files are all located here.
Album The Album menu provides options for working with Pictures.
Open, browse, Identify Pictures are some of the selections.
Screen The Screen menu provides options to define and edit new screens
(that are not in your picture album) and override the automatic screen
identification (previously performed on Picture Album).
Field The Field menu provides field identify mode. Use this mode to add
or delete identified fields.
Tools The Tools menu provides you with access to many useful tools and
external files you will need when using Developer.
62
a list of all screen names (from picture album and manually created)
a list of all host field names (from picture album and manually created)
scripts
Picture Album
A Picture Album (JWP) contains a picture of each application screen as extracted
by the Collector run (producing the AWHOST file).
A picture cannot be edited directly. Pictures contain a screen name, identifier,
host fields and other details to be used to produce a screen and then a panel.
A "good" Picture Album is defined as an Album containing a minimum number
of pictures to represent the complete host application displays.
Screens
Developer screens represent an alternative to your Picture Album sources. You
may want to include non-application displays as a part of your package file.
Instead of collecting these screens, simply use the Terminal Editor Emulation
mode (live session) and identify these screens. Together, your Picture Album and
several other screens provide your package file with a smooth transition to, or
from any AS/400 (OS/400 screens, etc.) and your application (example:
SIGNON screen).
63
A Screen contains the Screen name, identification, and associated host field names
and definitions. Screen definitions are saved into the Terminal editor work file
(JWE).
Inspect your screen identification by navigating through the host application and
making sure that all of the screens are identified. To do this, you must run the
host application using Live test mode (View menu). Step through your host
application and verify that the corresponding panel appears in your panel editor.
Note: You can view both editors at once.
Screen Identification
Screen Identification is the process of adding identified host screens to the
Terminal editor file. Several techniques can be used:
64
[80x25] (None)
When no colon: is present before the screen size, then you are looking at a
live screen. The (none) indicates no screen identification has been
performed.
[80x25] SIGNON
1: [80x25]
1:
[80x25] (1)
1:
[80x25] (many)
When a picture is displayed and the (Many) identifier is shown, the current
picture is ambiguously identified. Screen duplicates are indicated with the
(many) status.
Note: When pictures are identified using Best Guess, the picture number
automatically becomes the screen name and the identifier is set.
Best Guess performs an automatic screen identification resulting in Picture and
Screen identifier numbers (e.g. 1 or 2) being displayed in the Terminal Editor
Screen Identification status bar.
Manual creation allows alphanumeric screen names to be used and displayed (e.g.
"SIGNON ").
Screen Duplicates
When you determine you have duplicate screens, you will want to build only one
of these screens. The associated pictures may be marked "redundant" to "hide"
them from the BUILD process, yet they remain in your picture album. Select the
Album | Redundant menu option to mark a picture as "redundant." Otherwise,
you may want to override the existing automatic identification using the Screens |
Edit menu option.
65
Host Fields
Host fields represent the basic data unit manipulated by a host application.
Host field definitions exist after screen identification. Host fields can be
considered as "input capable" or "output." Host fields are connected to panel
fields.
Best Guess applies different constructs depending on the input or output
capabilities of a host field. Entry fields and text fields are two examples.
When Best Guess is used on a live screen, the Best Guess will examine the host
fields that appear on the screen at that moment, create host fields and set them as
either input capable or display only.
Panel Editor
The Panel Editor provides methods to design and refine panels and panel fields in
a "What You See Is What You Get" manner. The appearance of the panel and
panel fields can be viewed simulating the client environment. Individual panels are
saved to JWW files.
A list of panels, textfile and translation table belonging to the project are stored in
the Panel work file (JWA).
Note: The "Textfile" and "Translations table" are always associated with the JWA
file currently being maintained . This "logical" relationship is stored in the JWA
file which is compiled, thus generating an JWR file containing this relationship to
"Text" and "Translation table." If you do not save the JWA file (as requested
when closing the Panel Editor, selecting "Project close"), then this relationship is
not saved.
66
A typical method of working with the Panel Editor is to create (using the Best
Guess) all of the panels from the Picture Album. These panels are then evaluated
for accuracy. Rather than making manual changes to the panels, make changes to
the Best Guess panel templates and re-run the Best Guess. This methodology
maximizes efficiency and automation while minimizing manual corrections.
You can also create and refine panels manually; you are not limited to only panels
connected to screens.
There are other tools in the Panel Editor for making mass updates to panels if
you decide that this would be more efficient than running Best Guess again.
There are also other tools to enhance the functionality of your panels and extend
data access and other program functionality to the Windows desktop. Some
Panel Editor concepts are described after examining the Panel Editor interface.
2.
Click on the
67
Displays system menu. System menu options include: Minimize (the window),
Maximize (the window), Close (the application), Hide (the window), and Print
(the window).
Titlebar
Displays titlebar icon, the name of the currently opened Panel Editor work file,
and minimize and maximize buttons.
Maximize button
Uses the entire monitor desktop space to display the Panel Editor window.
Minimize button
Minimizes the Panel Editor application to the desktop.
Field toolbar
Contains buttons for all of the different panel field types. Clicking on one of the
buttons creates a new panel field. This toolbar is configurable.
Edit toolbar
Contains push buttons for common actions that occur during panel design. This
toolbar is configurable.
Property toolbar
Contains push buttons for field properties that are changed frequently. This
toolbar is configurable. The panel/field position coordinates are displayed in the
Property toolbar and are shown as two sets of coordinates. The first coordinate
gives the mouse's position; the second gives the width and height of the currently
selected field.
Menu bar
Contains pull down menus for Panel Editor activities:
File The File menu provides access to the Panel editor work file, project
settings and editor settings.
Edit The Edit menu provides various tools to select and modify panel
objects. Find and Action Wizard is launched from this menu.
View The View menu provides different views such as Live test/ local test
and logs and statistics.
Panel The Panel menu provides many operations with panels and
properties.
Field The Field menu provides for the creation of various fields types.
68
Tools The Tools menu includes many tools you will need to use to
complete your development project. This menu provides operations such
as compile, transpile and Security (authorization).
Status bar
Displays the current open project and the coordinates of any currently selected
field. The Panel Editor uses a coordinate system based on the standard typeface.
Position 0:0 (i.e. the origin) is the top left hand corner of the window. All the
panel/field positions and sizes are related to the standard typeface (row:column 1:1 equals 1/8:1/4 of the system font size).
some settings that are placed in the package file and influence behavior in
the client environment
69
Panels
Panels represent the Graphical Interface you are building. They serve to contain
and organize your panel fields. Panels have properties controlling all aspects of
their appearance and use. Panel functions can include Open Interface Services
exchanges as well as customized colors and images. Panels are typically built
using the Best Guess process. Templates can have a major impact on the Best
Guess process. After panels have been constructed, further refinement is
possible.
Panel Properties and Objects
Each panel has four different aspects which can be customized. They are
menu bar
panel fields
70
Panel Fields
The Developer panels fields can be grouped according to properties. By
examining the properties and purpose of each panel field type, you will have a
better idea of the possibilities for field control choices. Also, this information can
assist you to make effective use of other J Walk Developer tools such as Best
Guess. Examine each field description to inspect these details.
Note: From the Panel Editor, select the Field | Create fields menu entry to
create multiple fields from text existing in the clipboard. Panel editor mouse
operations are required.
When designing your panels with panel controls (fields, etc.), these panel controls
sometimes have fixed position characteristics and others have the ability move
and resize. If a panel is resized, the alignment and sizing of controls varies based
on the original panel control property. Panel sizing differences can occur, so be
certain how your panels will be sized to reduce differences across Clients. Panel
objects can have images assigned to them which, also are influenced by resizing of
panels.
Note: Unchecking the "resizable window" property will not "lock" control sizing
nor other attributes of the control; it limits the panel from being stretched larger,
only.
Some panel control (fields) can include Data Access references as part of their
specification. Data Access can be applied to fields where "text references" can be
applied (such as output fields, listboxes, graphs over listboxes, selections, button
actions, etc...).
When available, go to the selected field's Data Access tab to specify Data Access
file (for creating field references).
These references are created using the Data Access Reference Builder or using
scripts and refer to the specified file containing the specific field. Over the host
system, this is called a "query" and is similar (in syntax) to other query languages.
A special structure is applied when you create an expression which contains a
reference to a Data Access item. See "Applying Data Access" for all details
concerning this powerful tool.
71
72
73
74
Each Tools menu process provides you with a powerful tool for a specific task
within your development process. Externalized files and translation tables are
managed using this menu. The Best Guess processing templates for automatically
creating your panels (from Pictures) are manipulated from there. The compiling
(and transpiling) processes are launched from this menu. Also, package
authorization and Developer licensing is controlled from this menu. Data
Organizer Filters, OIS and Scripting features of the Developer as well as the
powerful Change Management function are all located on the Tools menu.
Finally, image conversion for your Java Clients is also initiated from this menu.
Text File
This file (JWM) contains external text references that can be referenced from the
panel title or other text references within panel fields. The file is a standard ASCII
format, with one record one each row. Each record has 2 fields, a 10 character
unique identifier and a 250 character text value. A tab character separates the
identifier from the value (not required).
When a text identifier is found in a panel title or panel field, the identifier is
replaced with the text value.
Example: The text reference "@&X@" will be substituted with the value of X.
Note: The JWM file cannot exceed 16300 lines.
75
Translation Table
Translation files (JWX) are similar to text files in that they are connected to the
application but are not compiled for the Windows Client.
If a text expression existing in a panel field or the panel title has the Use
translation table property set on, then the value of the text will be compared to
entries in the translation table. If a match is found, the text in the translation table
will be substituted for the evaluated text value.
The translation table is a flat text file that can be edited and maintained in a
standard text editor, however, an editor is provided in the Developer. Each line in
the file has an Original text and a Translation text separated with a Tab character.
Each text may be a maximum of 250 characters in length.
Note: The JWX file cannot exceed 16300 translation lines.
Please remember that you may use (ANY) and (ANY1), etc.
Hidden Screens
A hidden screen provides a GUI panel with a "continued connection" to the host
application without building a panel for that screen. Sometimes you have a screen
in your host application that can appear in the emulator but you don't want to
build a panel for it. Examples of these types of host screens could be a screen
with the message "Processing...Please wait".
Making a screen "hidden" removes it during Best Guess and eliminates it from
displaying to end users.
When you "hide" a screen(s), you can provide a link to launch an OIS object
when the hidden screen is displayed on the host.
For example, you can create a script (which sends an F6 key back to the host) to
be attached and launched whenever the "hidden" screen is displayed. This allows
the host screen (and application) to process normally, while effectively removing
the additional screen (and required F6 key) from the end user.
Scripts
J Walk provides its own script language which has a syntax similar to Visual Basic.
With this script language you can execute repeated keystrokes and access host
screen and panel information.
Scripts can be created within the J Walk Developer. Scripts are triggered by a push
button or panel within the J Walk Windows Client. Scripts supplied by the J Walk
Developer cannot be edited by end users of the J Walk Clients.
76
77
Both path specifications affect the Best Guess panel building process.
Best Guess builds a graphical panel from a picture in four steps.
Create Panel.
The Best Guess screen templates are used to add and remove host fields from the
picture, which affects both the identifier set on the screen and the number of
panel fields that are created. After the screen is identified and host field
definitions made, and panel created, the picture/screen is examined for host fields
which are mapped into panel fields.
78
SQY The Best Guess works on your Picture Album to sort out Panel (BUILD)
from Popups (POPUP). Following that, identified fields are sorted out for field
type characteristics. If the fields are not excluded (XXXEXC), then they are
processed using the specifications found within the appropriate field construct
template.
Screen Templates
BUILD, POPUP, EXCLAREA and EXCLNAME templates are referred to as
"screen" templates. Access these templates (from the Terminal Editor) by
selecting Tools | Best Guess templates.
Best Guess inspects screen templates as a basis for building a picture or screen.
Templates specify adding or deleting field definitions depending upon the
information held in the screen template. First, the EXCLNAME and
EXCLAREA templates are applied to the screen to remove any unwanted host
field definitions. Then the BUILD screen template is applied to the screen to
create any extra host field definitions. Specify the fields to be created in the
BUILD template.
79
The two special host field names "(TITLE)" and "(MESSAGE)" will be created
logically if they are not already defined or excluded in screen templates.
If the screen contains conditional or overlapping texts then the Best Guess will
also create host fields for them.
Notes: If you are building a popup panel, the template POPUP will be used
instead of BUILD.
Host field definitions are NOT changed/created by the Build function if the
screen was already identified. In such a case, you might have made some manual
changes to the host field definitions and you don't want to loose those.
Screen templates influence the host fields used on a picture during Best Guess.
Use screen templates to define or exclude host fields during execution of the Best
Guess to build panels.
BUILD (Screen) Template
The BUILD template is the base template for all screen definitions.
All fields which are defined in this template will be repeated in all screen
definitions created by the Best Guess. Additionally, the Best Guess will add
definitions based on the actual picture.
Using this template you can, for example, have the (TITLE) field be at a specific
location for every picture. To make sure that the Best Guess does not create fields
overlapping this (TITLE) field, you should also make the area used by this field
part of the EXCLAREA template.
EXCLAREA Template
Use this template to indicate areas on the screen which should be ignored by the
Best Guess. That is, the Best Guess should not create host field definitions in that
area or create panel fields for the texts or fields in that area.
This template is typically used to suppress the areas that are already given a name,
defined in the BUILD template.
EXCLNAME Template
All field names used in the field definitions of this template will be excluded from
all screen definitions created by the Best Guess.
Position and type of host field definitions is irrelevant, only the field names are
checked.
You could use this template to suppress the generation of the (TITLE) field or
any other field which is defined in several places across several pictures.
80
Panel Templates
Influence the panel object creation produced by the Best Guess. Use panel
templates to specify layout attributes.
When generating panels from pictures, the Panel Editor uses templates to
manipulate the layout of the fields on the panels. The Developer comes with
"default templates" which already contain some settings (example: every panel
will have an OK push button in the lower left corner). These templates are
termed "Destructive" (remove or omit) and "Constructive" (add or create) based
on their effect on the panel. Often, both types of templates are used in
conjunction to identify an object (providing some alternative treatment for that
object) and to inhibit the related object(s) from also being built.
Edit these templates using the Panel Editor. Customize the Best Guess build to
meet your specification.
Best Guess panel templates can be accessed from within the Panel Editor using
the menu option Tools | Best Guess templates. Or select the Panel template file
type within the Data Organizer and select a panel template. Press the action you
wish to perform.
Tip: If you have changed any of the Best Guess panel templates, you can restore
all of them again by selecting the Unpack Default Templates taskbar entry from
the Developer task group.
BUILD - Panel layout
It is possible to create main panels and popup panels with the Developer process
called "Best Guess". Most panels of an application will be main panels. Main
panels are created for full size screens ([80x25]) and popup panels are used for
windows from the AS/400 application.
Only one main panel can be displayed at a time. Manually created popup panels
are generally used to show detailed information about the current main panel and
can be layered, displaying multiple popup panels (maximum 15) for one main
panel.
81
In general, Best Guess uses the SAA standards to recognize elements of host
screens and convert them to meaningful GUI equivalents.
For example, it knows that expressions such as F1=, F2= ... F24= are function
keys and in some way should be converted to push buttons. Some variations
based upon experience and software development history are also applied. For
instance, it also recognizes the expressions BT1 through BT24 and PF1 through
PF24 as equivalent to F1 through F24.
The BUILD template serves as the master template when creating panels. Other
Best Guess panel templates define the layout and conversions for other panel
fields to be added based on host fields Best Guess finds on the host screen.
The BUILD template provided with the Developer builds into every panel:
position and size for other push buttons created from function keys
You can modify the BUILD template. For instance, you could
change the attributes and positioning of the existing fields in the BUILD
template or resize the template.
Note: The FIELDS template contains the default properties for all panel field
types when creating panel fields manually and is not used by Best Guess.
Tip: If a BUILD template field specifically refers to a host screen field and that
field does not exist on the current picture, then the field will not be created in the
panel. This feature lets you add global fields to the BUILD panel so that they will
appear in a fixed location for every Best Guess panel if applicable.
CHK - Check box layout
Check boxes are GUI objects suited for host entry fields having only one of two
values.
82
83
The COL template contains pairs of list boxes - one pair of list boxes is included
with the standard COL template.
The first list box defines the conditions of the subfile host fields and the columns
of the different subfiles. As a default, there are two column names (ANY) and
(ANY). The second list box defines the column layout that should be created
from the subfile host fields.
(ANY) is a Developer reserved words and indicate that the Best Guess will
convert any subfile column, whether output only or input/output enabled to a
column in a list box. The second element of the pair defines how the column will
appear on the graphic panel. It is possible to assign different attributes to the
columns, thus offsetting output columns from columns that allow data entry.
The names of the columns in the second element of the pair are (SAME) and
(SAME). There is one column defined for every column defined in the first
element. Using (SAME) and (SAME) in the Host field prompt will make the
column created in the list box be connected to the host field of the screen.
COLNUM - List box numeric column layout
It is not possible to detect numeric or text column subfiles from the host field
definition. However, extra information is maintained in the picture than can be
seen in the host field definition dialog box. Using this extra information, the Best
Guess can determine when a column is numeric or text. When it finds a numeric
subfile column, Best Guess uses this template to define how the numeric columns
should appear in the list box.
So it is possible to make the numeric columns appear differently (e.g. right
aligned) than the text columns in the list box. It is also possible to make different
numeric columns have different appearances. Use the first list box of the pair to
identify the numeric column by host field name. The second list box of the pair
defines how it should look on the panel.
COLTXT - List box text column layout
When the Best Guess detects a subfile, it first searches for numeric and text
columns. When it detects a text column, it uses this template to determine the
attributes of the text column. This template works similar to the COL template.
INP - Include entry fields
This template uses pairs of panel entry fields to convert a host entry field to a
panel entry field. When the Best Guess detects an host input/output field, it first
determines if the host field has a numeric definition. If it has, then the Best
Guess searches the INPNUM template for a corresponding panel entry field
definition for the host field.
84
85
This template controls the numeric field layout. In this way, you can set numeric
fields to be left or right justified or change colors, independent of other
input/output host fields. For all other input/output fields, the Best Guess uses
the INP template.
KEYTXT - Key names
The Best Guess logically divides the host screen into three parts, the header, the
body, and the footer. The header is the title and identifier of the screen. The
footer usually contains an area for a message line (or lines) and function keys
available. The body of a host screen is usually the largest area and contains the
information and data prompts for which the screen was made.
The Best Guess searches the body and footer of the host screen for text separated
by the "=" character for assignment statement. When found, the Best Guess
makes a push button field from the text preceding the assignment.
For example, if the Best Guess found the text "F1=Help F3=Exit F12=Cancel".
It would make three push button fields with the Text prompt and the Send key
prompt containing the values "F1", "F3", and "F12", respectively for the three
push buttons.
However, using the KEYTXT template, it is possible to specify different key
names like "Help" and how they are to be related to keys.
For example, it is common to use the word "Help" for the "F1" key. A common
example would be "Help=Menu assistance". In this example, without the
KEYTXT template, a push key would be made by Best Guess that had the Text
prompt and Send key prompt assigned the value "Help".
The Best Guess uses this template to attempt to match the text preceding the
assignment with any of the buttons defined in the KEYTXT template.
Using the above example, there should be a push button field in the KEYTXT
template with the Text prompt containing "Help" and the Send key prompt
containing "F1" (in other words, it would recognize Help as a key).
The standard template includes three push buttons titled ENTER, PGUP and
PGDN.
LST - List box layout
List box panel fields are created by the Best Guess whenever a subfile (or look-alike) on the host screen is detected.
86
87
The LSTMUL template should normally use a fixed font for its columns while the
LST template can use any font. The Best Guess will use the LSTMUL template if
overlapping columns are found. These overlapping columns will then be joined
into one column, which is the only difference between this list box definition and
that of the LST template list box. If the LSTMUL template does not exist then
the Best Guess will default to the LST template.
MNU - Menu button layout
This template defines the push buttons that form menus from numbered host
screen menus, such as the example given below:
1. Folders
2. Documents
90. Signoff
The standard template has a pair of push buttons (ANY) and (SAME).
The Best Guess searches the host screen for numbered menus and creates
(SAME) push buttons for each numbered menu item that matches the attributes
of the (ANY) push button.
You can modify this template to include push button fields with specific host field
connections and attributes. During Best Guess, host fields that match fields in the
template are included in the panel as push buttons with the attributes defined for
the matching field.
For example, the menu option 90. Signoff appears in many AS/400 screens.
Using this template, it would be possible to apply a bitmap to the Signoff push
button and change its size, or in some other way change its appearance.
Whenever the 90. Signoff menu option is found by the Best Guess, its own
special push button would be created.
Tip: An easy way to apply a bitmap to a push button is to copy and paste a
"SIGNOFF" button created by the Best Guess into the MNU template and then
create the button with the bitmap you want.
Note: If you modify this template, ensure that the standard (ANY) and (SAME)
entry fields are the last pair in the panel's field order.
NOMNEM - Texts which do not require mnemonics
By default, the J Walk Windows Client will use the first character of a text for the
mnemonic if the text is based on a host field reference. This can now be
controlled in the application data.
88
89
90
Increase (or decrease) the available space on a panel for placing panel
fields. For example, if your host screens are designed in such a fashion that
the first 5 rows never contain host fields that are converted to panel fields,
you could place the coordinate "1,6" in the most upper left corner of the
POS template. This would increase the vertical spacing of panel fields. In
other words, the same amount of panel space would be divided between 20
rows instead of 25 rows. You can also shrink the amount of available panel
space by placing the text entry "1,1" in another position in the POS
template beside the upper left hand corner.
2.
Change the field spacing on the panel so that some areas of the panel have
more space between panel fields than other areas. For instance, if you place
the text entry "40,21" in the middle of the POS template, then the
horizontal spacing would remain the same (40 columns from 80 columns
positioned half way in the POS template), but the vertical spacing would be
almost cut in half (21 lines from 25 positioned in the middle of the
template).
3.
It is possible to specify only the column or row. The column is always specified
first. Meaning a text entry such as ",1" is valid.
The standard template that is delivered with the Developer is empty, causing all
fields to be aligned to the left of the panel.
By placing a text field with (X,Y) coordinates somewhere in the POS template,
you are marking that position on the panel to correspond to (X,Y) on the screen.
PSH - Push button layouts
This template specifies how function keys on the host screen are to be converted
to push buttons. This is specified by mapping the function keys to template push
buttons using pairs of push button prompts.
The first push button prompt is used to name the function key from the host
screen. The second push button of the pair is for the definition of the push
button field on the panel.
The standard template has four sets of push buttons. Each pair of buttons are
defined with the same Send key prompt. By row the Send key prompt contains
the value F3, F12, F4 and (None) for Exit, Cancel, Prompt and (SAME),
respectively.
91
During the Best Guess process, any function keys in the host screen for F3, F12
and F4 are created as the push buttons with the Text prompt containing the value
Exit, Cancel and Prompt respectively. The Send key prompt will contain the
value F3, F12, orF4.
Any other function keys will be given the attributes of the (SAME) push button.
For instance, if the screen has function key F11=Display names only, a button
will be created with the Text prompt containing Display names only and the Send
key prompt set to F11.
You can modify this template to include push button mappings for specific
function keys by adding an (ANY) button that specifies the Send key and a result
button with the same Send key and the required text and attributes. Take care that
the field order is correct. Pairs of push button fields should have consecutive
order within the template.
Tip: An easy way to specify the PSH template values is to copy and paste a
button created by Best Guess into the PSH template. You modify the button to
apply a bitmap, etc.
Note: If you modify this template, ensure that the standard (ANY) and (SAME)
entry fields are the last pair in the panels Field order.
PSHEXC - Push buttons to be excluded
This template defines all function keys that should be excluded from a Best Guess
panel. This template only has single field definitions as no resultant field is
created. The standard template specifically excludes the function "More keys".
Best Guess will first use logic and the PSH template to generate the buttons.
Before placing them in the panel, the buttons are checked against the contents of
the PSHEXC template. If a match is found then the button will be discarded.
Using the example "More keys", Best Guess searches all host screen fields that
have the function key F24 and the text "More keys" that match the "More keys"
field attributes and excludes these function keys from the panel.
You can modify this template to exclude any other specific function keys. During
Best Guess, any host fields that match the text and Send key of a push button in
this template are excluded from the Best Guess panel.
Tip: An easy way to specify the PSHEXC template values is to copy and paste a
button created by Best Guess into the PSHEXC template.
92
93
The RAD template is activated if an I/O field has some text after or before it
representing a list of possible values. Some examples of the text format are:
"1=Next, 2=Exit, 3=Cancel" or "X/Y/Z".
The Best Guess searches the host screen for any single character input/output
field that can have multiple values and match the attributes of the (ANY) Radio
button definition. For each possible value it creates a radio button.
You can modify the RAD template to include radio buttons for specific host field
connections and attributes. During Best Guess, host fields that match fields in the
template are included as radio buttons in the panel with the attributes defined for
the matching field.
Tip: If Best Guess creates a Radio button where you would prefer a check box,
add a Check box field to the CHK template that explicitly defines the host field
and its possible values.
Where more than one set of radio button groups have been created in a panel,
Best Guess will automatically insert a Tab stop to ensure proper grouping in the
client environment.
RADGRP - Radio button group layouts
This template creates a titled group box with radio buttons. It is typically used to
set the orientation for radio button groups as horizontal or vertical (options
underneath each other).
The Best Guess searches the host screen for ANY input/output field that can
have multiple values and matches the attributes of the (ANY) Radio button
definition. For each field group it finds, it creates a group box with a radio button
for each value Layout defined in RAD template).
You can modify this template for radio button groups with specific host field
connections and attributes. During Best Guess, host fields that match fields in the
template are included as radio button groups in the panel with the attributes
defined for the matching field.
Where more than one set of Radio button groups have been created in a panel,
Best Guess will automatically insert a Tab stop to ensure proper grouping in the
client environment.
SEL - Selection list layout
This template defines the layout of all list boxes with push button connections;
i.e. a list box that requires a row (or rows) selection followed by a function choice
in the client environment.
94
95
These characters are always stripped from all texts before they are put as fixed
text in a text field, button or something created by the Best Guess.
OptionsSeparatorChars
These are the characters which are used to separate an option from its
description. For example, "1=This 2=That". In this case the equal sign is the
separator and therefore belongs in this setting.
OptionListSeparatorChars
These are the characters which are used to separate multiple options / field
values. Eg. Coffee (Y/N) or (1,2,3). In these cases the "/" and ","characters are
used to separate the possible field values.
Note: Please be aware that OptionListSeparatorChars does not mean that this is
related to LIST boxes. It refers to a values list.
AverageCharWidthLength
This value is used by Best Guess to determine which formula will be used to
calculate the panel field length of the GUI control representing the host field.
Best Guess uses one of two formulas for determining the length of each panel
field. If the host field length (in characters) is less than or equal to
AverageCharWidthLength, then the first formula is used. Otherwise, the second
formula is used.
MaximumPixels x HostFieldLength + ExtraPixelsInSAMEField = FieldLength
AveragePixels x HostFieldLength + ExtraPixelsInSAMEField = FieldLength
The first formula assumes that the panel field will be filled with M's , which are
the widest character in proportional fonts. The second formula assumes an
average character width, which is somewhat smaller than using M's. The exact
value of MaximumPixels and AveragePixels varies for each combination of Font
and Size.
Numeric fields (only) are sized according to number of digits (NOT "M" but
instead, "0").
The ExtraPixelsInSAMEField is calculated as the difference between the end of
the (SAME) text and the edge of the panel field. This is used for panel fields
generated with INP, INPNUM, OUT, OUTNUM, and TXT templates.
LiveTextsAsMessages
When this switch is set to 1, the Best Guess assumes that all live texts are based
on message IDs and generates a host field for each text found on the screen and
generates a text field in the panel for each text host field reference. When set to 0,
the Best Guess assumes all texts on the screen are fixed. The default is 0.
96
97
The layout of the template is single text fields that match host text.
You can modify this template to exclude specific text during Best Guess; host text
that matches text in this template are excluded from the Best Guess panel. The
matching text is case and punctuation sensitive.
Note: You can use the (ANY) constructs to match various variations of the same
text:
Select (ANY) of the following
Press (ANY) to (ANY)
98
The fields are marked so that you can see where the first text field ends and the
second one begins.
The result is that the text is translated into "1=First 2=Second", and this will
result in list connected push buttons to be generated by Best Guess.
XLATE Example Menu Item Construction
Example: Options 1.First 2.Second
Use XLATE template to match "Options: (ANY).(ANY) (ANY).(ANY)" and
translate into "(ANY1)=(ANY2) (ANY3)=(ANY4)".
The XLATE text fields would look like:
The fields are marked so that you can see the values placed in each text field.
The result is a text like "1=First 2=Second".
The above examples result in translations that are recognized and processed by
Best Guess logic. It is also possible to use this template to translate into another
normal text field (e.g. match "Debtor number" and translate into "Client
number").
99
Data Organizer
Using Developer involves many project components. Occasionally it is very
handy to examine a specific type of component (for selection) or see entire
project "trees" containing your components. The Developer provides a data
organizer to assist you in "touching" your project components. The Data
Organizer is found throughout the Developer menus. Look for the Organizer
menu selection (for the object you are manipulating). Secondly, whenever you
insert (reference) project components into properties, you are presented the Data
Organizer for your selection. Finally, when you launch the compiler, you are
presented with a selection list to compile; here again, the Data Organizer is used.
In general, the Data Organizer is the main frame for selecting and perusing your
project components and importing components from a different project. Use the
Advanced Organizer when you are importing project components.
The Data Organizer uses Filters to "create customized views" of your project
components. Lastly, apply FindAction sequences to mass update project
components.
a combo box for changing the type of object displayed in the list
Before making a selection, you can apply a filter by entering the name of an
existing Filter in the Filter prompt.
Note: You can define filters from this mode and then apply them immediately
after creating them.
The action buttons of the Standard mode provide standard object operations
including: New (insert), Edit, Save, Save as, Copy, Delete, Rename, Execute and
Print. Button actions are enabled, based upon the type of object selected from the
list.
For example, if you are selecting pictures, the Execute button would be disabled.
The Advanced mode of the Data organizer allows you to import alternative
project components into your current project.
When initiated, the Advanced mode presents two lists of objects. The left side of
the dialog represent the objects that exist in your project. Any objects on the right
side of the dialog represent potential objects to be imported into your current
project.
The Advanced dialog can be used to specify objects to go into your project,
including:
Filters
FindAction sequences
OIS objects
Panels
Panel templates
Screen templates
Scripts
101
For example, if you want to add certain panels to your project, then select the
Panels | Organizer menu selection. Select the Advanced button. Open the
other project and select the panels (series) and select the Copy button to copy
these panels over into your project.
While making a selection, choose a single selection from the displayed list. After
making a selection, press OK. Your selection will fill the prompt of the entry field
where you invoked the right mouse menu. You can also press Cancel at any time
to just close this dialog.
The Advanced Data Organizer provides access to project components contained
in any Developer project. Use the Advanced Data Organizer to import project
components into your current project, including GUI/400 components without
changing the original items. The Advanced Data Organizer presents your current
project components (by file type selection and any selected filter).
Use the Advanced mode to import (copy) from other projects. Select another
project and then select the objects you wish to import into your current project.
Select specific component types to see only that type of object. Create specialized
filters which specify conditions to create a view of your objects.
Filters
Filters are used to limit the number of objects displayed in the list of the Data
Organizer selection view. A filter is a conditioned view for a particular project
component. All Data Organizer components can be filtered. Filters can be created
using the Filter Wizard.
Developer Project
Developer Project Settings provide the overall "container" for a specific
development environment. A Project requires:
Should have a project definition file placed below the J Walk Developer
directory (project_name.JWD).
Must point to a directory with Best Guess templates (*.JWS and *.JWT).
The following files are optional and are normally found in the project working
directory:
103
All of these properties of a project are stored in the project definition (JWD) file.
When you start a new project, the only thing you have to let the Developer know
is the name of the project and its working directory. All of the other file names
will be based upon the name of the project.
105
If a Best Guess did not find the details to create the desired field type,
consider refinement to apply the control (e.g. spin button with a range, or
combo box).
The Building Phase also involves extending your panel objects to the
Desktop (OIS, etc.).
Two approaches to refinement are provided: Manual and Find and Action
Wizard.
The manual approach should be limited in use because all refinement must be
"retouched" each time you change some condition as you iterate through the
build phase. This can result in re-work and inaccuracies.
Find and Action Wizard applies mass changes to all panels, based on selection
and action criteria you specify.
Maintenance Phase
A maintenance phase typically happens after initial release of the Package file.
The trigger to perform maintenance is usually related to Host Application changes
occurring.
107
These activities make up only required steps to build a Package file after collecting
an AWHOST file.
You now begin by creating a Picture Album and Identifying the Pictures. Use
Best Guess to build your new panels. Inspect the panels (and screen identifiers)
to ensure you are on the right track. When you decide to compile, the result is
that all of your panels (and screen identifiers) become one results in a Package file
(JWR) which can then be deployed.
"Getting Started" is just that, so not everything you will want to do is listed in the
required activities.
For example, when you complete the creation of a Picture Album, there may be
pictures which are not properly identified or redundant with other identified
pictures. You may need to modify the Picture Album.
Additionally, when you perform a Best Guess, it is likely you will want to adjust
certain results. Optimizing Best Guess results is an important step toward
finalizing your preparation phase and readying for the building phase.
Whenever a special screen is involved, you may need to work with a live screen in
order to "handle" it. An example can be the capturing and modifying of the
SIGNON screen.
Begin with the activities but review the "Overviews" and "Related Topics" for a
better understanding of these activities.
Making Your J Walk Project
Your Developer Project is your J Walk development environment. To use
Developer, you must prepare a project environment and copy templates to work
with. To complete your new project, you should also create the Terminal and
Panel Editor work files and save your new project with a name. Remember that
you can also import other components into your new project (including GUI/400
components).
Creating Your Project Working Directory
When you want to start a new project, you must first create a project's working
directory (folder).
Once you have determined your project working directory, it is recommended to
create an "APP" directory below this folder. This folder is normally created
during installation of Developer. You can use Windows Explorer or a command
line to prepare this step.
Follow these steps to perform this activity.
1.
3.
4.
5.
EXIT
2.
COPY C:\JWALKDEV\APP\*.*
C:\JWALKDEV\APP\MYPROJ\*.*
3.
2.
Choose the menu option File | New.... This will close the open work file
and prompt to save it, if any changes were made. You can tell if the work
file is new because the title bar will show the text "(Untitled)".
3.
Choose the menu option File | Save as.... It is recommended that the
Terminal Editor work file have the same file name as the project, with the
extension "JWE". For example, if your project is called MYPROJ, then the
Terminal Editor work file will be called: "MYPROJ.JWE".
109
2.
Choose the menu option File | New.... This will close the open work file
and prompt to save it if any changes were made. You can tell if the work
file is new because the title bar will show the text "(Untitled)".
3.
Choose the menu option File | Save as.... It is recommended that the Panel
Editor work file have the same file name as the project, with the extension
"JWA". For example, if your project is called MYPROJ, then the Panel
Editor work file will be called: "MYPROJ.JWA".
2.
3.
4.
Select the type of object (lower left). Once you choose an object type, a list
of objects of that type are presented over each project frame.
5.
Select the object(s) from the other project list and press Copy.
Repeat these steps for all project components that you wish to import.
Give your project definition a name by choosing the menu option File |
Project | Save as... and providing a name and location for the project
definition.
With the Terminal Editor active, select the Album | New menu option.
2.
Follow the dialog to identify your Collected host details and target Picture
Album file.
2.
111
2.
Evaluate screens.
3.
4.
Evaluate panels.
5.
From the Picture Album, you can remove duplicate pictures by marking
them as "Redundant."
2.
You can influence the Identify Pictures process to change the screen
identifiers made by Best Guess.
Selecting a Picture
Select a picture from your Picture Album. You must have a Picture Album
opened.
Follow these steps to perform this activity.
1.
2.
Display of the Picture is automatic (as long as you double-click the entry).
113
1.
The picture will be ignored next time you perform the screen identification
run (they will be reported as redundant).
2.
The picture will be skipped when you browse the Picture Album.
3.
Select the picture you want to mark redundant and press Ctrl+R
or
2.
Display the picture you want to mark redundant and select Album |
Redundant
or
3.
Select the picture you want to mark as redundant in the Album | Browse |
Browser... dialog window and check the Redundant option.
It is very important that you repeat this process (Best Guess, check, improve
templates) until you are satisfied with the result of Best Guess. Once you begin to
manually refine the panels built by Best Guess, you should not execute another
Best Guess for the picture, as this will replace the panel you were refining!
2.
3.
When finished reviewing the panels, close this window by clicking the top
right "x" button. This brings back the Panel Editor. If you no longer wish
to view the live host application, select the View | Live Session to toggle
back to display the Picture Album.
Screen template actions can be accessed from within the Terminal Editor
using the Tools | Best Guess templates menu options.
2.
Screen templates can be selected using the Data Organizer. Select the
Screen template and press Edit.
The Terminal Editor appears displaying highlighted rectangles indicating
individual host fields or regions.
3.
To manually add a host field or region, use the mouse to drag a new
rectangle.
4.
2.
3.
5.
6.
2.
115
3.
4.
5.
If the screen already exists, you are presented a warning, requesting you to
overwrite the screen.
3.
And, if the panel already exists, you are presented a warning, requesting you
to overwrite the panel.
Enter live session mode by choosing the View | Live session menu option.
2.
3.
Exact contents
Not equal to
Number only
Text only
4.
Choose the Screen | New... option again to turn identify off. A dialog will
appear prompting for a new screen name.
5.
The new screen name appears in the Screen identification status bar.
Modifying a Panel
A panel definition contains general panel attributes like panel name, panel type,
style, link to host screen, OIS object to launch, etc.
Follow these steps to perform this activity.
1.
117
or
2.
3.
4.
5.
Double-click the mouse on the object or select the object and press Enter.
2.
2.
This diagram denotes key interface points as well as processing mechanisms (such
as the local data pool).
Examine the areas of the diagram and read more about each area of Data Access
services in the "Related Topics."
Data Access Services
Using a Data Access configured Developer, you can apply Data Access services
throughout your panels.
When configuration for Data Access services is complete, development of Data
Access enabled panels begins.
The Data Access toolbar icon is displayed when you have logged on to the
License and Message Server.
There are several different types of Data Access references that you can create for
your panels (or scripts):
119
Working with the files that are used with your screens
Creating a GUI control using Data Access file referencing can be performed in
"Related files" mode when the emulator is located on the connected screen
(identified) as the panel you are building. Performing correct file-key assignments
when selecting records can be handled automatically using the Autokey feature.
These options are presented via the Reference Builder.
Ensure you are logged on to the host machine where the License and
Message Server and Data Access Servers are installed and running (View |
Live session).
121
Create a GUI control wherever you can insert a Data Access file reference
(by right-clicking).
Files can be worked with in a "Related files" mode, whereby the underlying
screen (in the emulator) is inspected for identified host fields and any
matches are passed to the Data Access Files Reference Builder. This
technique is further extended by use of the "Autokey" attribute whereby
required keys into the related files are automatically inserted into your
references. To use these features, you must switch to the Terminal editor
(emulator) and go to the connected screen (identified) with the panel you
are developing before you build a Data Access reference.
Reference repository fields from related or all files (range results using
OS/400 Query Language, scripting and text expressions).
Compiling Panels
Compile panels into a package file (JWR). You must enter a JWR filename (with
path) and Application title for the Package File.
Note: This title is not the executable file, but a registration entry for the License
and Message Server.
This title identifies the application. Optional codes should be added after testing
before final preparations.
Follow these steps to perform this activity.
1.
With a project (and panels) open, select the Tools | Compile menu
entry.
2.
3.
4.
123
The SEAGULL approach utilizes the MULTIKEY index call and your
package file name to provide a simple uniform mechanism for calling
context sensitive Help and HTML files.
There are many publications providing instructions for building help files. You
may find the following brief list of products or references useful when building
help. This list is meant to help those of you first getting started building help.
Microsoft Word 6.0 (required for generating RTF files compatible with
Microsoft's Help compiler 3.10.505).
Add Panel ID and Field ID references to the help file. See detailed topics.
2.
Based on your package file name (.JWR), name your help file. Or extend
the name using the Help file attribute also in your project settings.
3.
Add the help calls to your panel definitions; compile your project setting
the MULTIKEY table attribute to "A."
4.
Select to apply scripting to provide any additional help file calls using the
WINHELP script function.
5.
If you require HTML page access, apply scripting to open any URL address
using the URLOpen script function.
125
Remember the panel ID looks something like "(1)." With the Windows
operating system, all non A-Z, 0-9 characters are replaced with an
underscore "_". Thus, within a help file the topic reference would look
like "_1_".
*HELPFLD
Opens a help topics that has its alternative index (usually 'A' or 'G') equal
to the last field with focus' Field ID (or host field name).
Uses the current panel field in focus when the help push button was
pressed or help menu item selected. If there is a Field ID for the current
panel field, the Field ID is passed as the keyword reference.
Remember the panel ID looks something like "(1)." With the Windows
operating system, all non A-Z, 0-9 characters are replaced with an
underscore "_". Thus, within a help file the topic reference would look
like "_1_".
If the Field ID is blank and a Host Field ID is present, the Host Field ID is
used. Using the Host field is very convenient for re-using common field
definitions as long as you know the exact Host field name. This name
must be referenced in your help topic within the MULTIKEY footnote.
When a host field reference is not desired, then specify a field ID value
(observing Windows rules concerning parens "( )").
If both Field ID and Host Field ID are empty, then the current Panel ID is
passed as the keyword reference. This means any non-critical fields (fields
you do not wish to document) will at least provide panel level help if called
for.
*HELPIDX
Opens the help file's index page.
*HELPCON
Opens the Contents topic. Always opens the CONTENTS topic in
Windows, if defined.
Note: With Win3.x, a topic must exist with a topic ID= CONTENTS to
use this function.
*HELPEXT
Sends the panel name and adds an underscore in front of it. Example: If
Panel name = "(1)," it will send "_1" as a keyword to the help system.
*HELPKEY
You must activate help for a panel control. Make a menu item or push
button.
2.
3.
To activate your MULTIKEY table, you must use Project Settings (Client
tab) to specify use of a MULTIKEY table, namely "A" before compiling
your panel file(s).
127
This
It
[FILES]
CAR.RTF
129
2.
Insert one Footnote with a custom footnote mark "A" for each control
code.
3.
Add the panel ID (or field ID) into the "A" footnote string.
4.
Windows 3.x only: Update the [OPTIONS] section of the project file with
MULTIKEY= "A".
Preparing Images
As you produce your Graphical user interface, you may have decided to apply
images to your panels. To apply an image, you reference the image. Developer
references traditional bitmaps (.BMP), icons (.ICO) and Dynamic link libraries
(.DLL or .WIN) . Additional image file types include GIF and JPEG (or JPG). In
some cases, you cannot use every type of image file (see the prompter's available
file filter types).
Additionally, the "animated" GIF file type is shown within Java Clients in a nonanimated mode displaying the first frame- only.
Remember, also, that the Client environment dictates use of specific image
formats during operation within that platform environment.
Note: The JPEG (JPG) image file format is not supported for the Windows 3.x
platform.
Enter the file name into the Image / File prompt of the GUI control.
2.
After tabbing out of this prompt, the bitmap will be displayed in the
Preview box.
2.
131
where <ID> is any whole number between 1 and 32,000 and <bitmap file
name> is the full file name of the bitmap.
<string reference> is an optional method for referencing a bitmap from a DLL,
rather than knowing the <ID>. The string reference must be delimited in quotes
and cannot be larger than 16 characters.
An example of a file looks like:
1 demo.bmp
"DEMOICON"
10 fldtext.ico
"TEXTFIELD"
20 fldentry.ico
"ENTRYFIELD"
The command to create the bitmap DLL is: JWICON <resource file>.
2.
2.
would convert all of the images stored in all of the files ending with the
extension .WIN from the source development directory, to Java compliant
formats stored on the Server directory where they will be used.
3.
You are now finished with this step, close the command line.
Maintenance Phase
The maintenance phase involves handling AS/400 host application screen
changes. Use the Change Management Wizard to accomplish updates to your
Package files. Smart build is invoked to accomplish building the discrete changes
detected on the new Picture Album.
2.
3.
133
Applying graphic images can be considered another area where you must prepare
additional files and they are then, referenced within the Developer.
You can also link programming environments with your Developer using API,
Java or ActiveX interfaces to the development environments.
Additionally, when your package file is deployed, your package file endusers can
create their own toolbars launching further scripts and functions to share data
with their favorite applications.
When using these methods (and all other evaluation methods), there will be a
need to review interim results and double check provided file index keys (for
record selection) are as you wish. Testing a Live Session is useful but may not
reveal the "actual mistaken reference" or which index key still has no value
(blank). To get the complete view over the panel you are working on, use the
Troubleshoot Assistant to create a Troubleshoot Report.
135
Example scripts can be found in the Car Demo referring to Data Access services.
When you script, the real issue is "protecting" entry field errors based on invalid
values such as blank space " " or other non-typical character.
To create a new OIS object, select the menu option Tools | OIS object |
New
The OIS Object definition dialog is displayed.
2.
Specify the OIS object type and descriptive details. If you will attach the
object to a push button, then you may save the object. If you are going to
attach the object to a panel, you must ensure that all message filters are
included messages.
Open the panel's definition dialog (by double-clicking on the title bar).
2.
3.
Enter the OIS object name beside the OIS object prompt.
4.
Press OK.
3.
Enter the OIS object name beside the OIS object prompt.
4.
Press OK.
2.
3.
4.
Press OK.
To create a blank script choose the menu option Tools | Script | New.
To use this script, import the script from the Car demo to your own
project. The script is called EXCEL within the Car demo.
137
2.
To invoke this script from a push button or menu item, it will be necessary
for you to create an OIS object that references this script.
3.
This script fills a new Excel spreadsheet with values within the list box. It
will be necessary for you to modify the source code to fill the Excel
spreadsheet with values within your own panel's list box. This source code
is found in lines 23-63.
If you use OIS objects to call your application functions, you must create a
DLL (according to all conventions described in the "Gf.doc" provided with
the OIS objects). See the section "J Walk API User Hook DLL
convention from J Walk." One of the parameters of this function is an
"api_handle" providing a temporary connection to the client session which
called your application. Thus, the MainSessionConnect function is not
required using this method.
If you use Java, you must create an applet containing the requests and
properties. When initiated for J Walk Java Clients, the JWALK.HTML file
also holds many startup values.
If you use ActiveX methods, you must have an ActiveX editor (like Visual
Basic) and plan the use of ActiveX containers (like MS Internet Explorer
v4, etc.).
OIS Requirements
You must have Visual Basic, Visual Delphi or C/C++ programming skills in
order to take advantage of the APIs. Making use of the DDE function calls and
the script language requires little or no programming skills and should be
adequate for most of your needs.
139
When linking the application directly to one J Walk Client Environment session, it
is possible to use more OIS functions. This kind of link is called
GF_CONNECT_LOCKED when using the OIS API method. If you are using a
DDE or Script function, this is the only possible kind of link you can establish
and it occurs automatically. This communication mode enables the calling
application to request and send information to a J Walk Client Environment
session.
API Connected to All J Walk Client Sessions
The second kind of link connects the application to all J Walk Client sessions. It
has very limited functionality, only allowing the application to wait for notification
of any activity (i.e. screen updates or keyboard entries) occurring in any J Walk
Client Environment session. This kind of link is called GF_CONNECT_API
when using the OIS API method.
When connected to all J Walk Client sessions, it is only possible to perform the
following functions:
User activities trigger events in J Walk Client sessions that can send messages to
other applications' message queues. Common user activities include: pressing the
Enter key, clicking on a panel field with the left mouse button to give it focus, and
pressing a push button send messages.
From the J Walk Server, deploy ActiveX (and Full) Clients (MS IE v4+
ready) browser-based startup and operation of the J Walk Windows Client
From the J Walk Server, deploy Plug-in (and Full) Clients (Netscape
Navigator v4+ ready) browser-based startup and operation of the J Walk
Windows Client.
141
J Walk Windows Client Server Connect Mode- The Mode to run your
ActiveX Clients to enable "Served Windows Clients." ActiveX and the
Windows Registry support this connect mode.
Features of Use:
The ActiveX OIS server control contains methods (functions returning values
and subroutines returning nothing) to invoke OIS functions in the OIS DLL that
are part of the J Walk Client product. This architecture ensures that the ActiveX
OIS server control is as small as possible, while the actual code for the interfaces
exists in one place (part of the Client itself) and existing interface mechanisms
remain available (e.g. API, etc.). The available functions are based on the ones in
the API DLL that was already in previous versions of J Walk. The syntax is
similar to the syntax for the DDE OIS functions.
Registration
The ActiveX OIS control is an option during the J Walk Developer and J Walk
Windows Client installation. During the installation, it is registered through the
RegSvr32.exe program, which is a default part of Windows 95. After installation,
the ActiveX OIS control is available for ActiveX containers.
Different ActiveX containers use different methods to apply ActiveX controls. In
containers like Word and Excel, controls can be insert through the Insert Object
function. In Visual Basic, a control must be selected from the control window and
put on a form. Controls that are not part of the default Visual Basic control set,
like the ActiveX OIS control, are reached by pressing the right mouse button on
the control window.
At execution time, both the ActiveX container (application) where the ActiveX
OIS server control is used as well as the J Walk Windows Client must be present.
If you have not unpacked the ActiveX example resources, please do so by
selecting the entry from the J Walk Developer Task Group bar.
143
Check for presence of the J Walk windows client software and facilitate
automatic download and install of the J Walk Windows Client.
The ActiveX Windows Client control can be put on a Visual Basic form (an
ActiveX container) or on an HTML page displayed in an ActiveX enabled
browser. Note: Any ActiveX container (application environment) can be used.
The ActiveX Client Control will typically be on an HTML page the end user can
surf to. If the user reaches such a page, the ActiveX Windows Client Control is
run on the client PC.
If you have not unpacked the ActiveX Examples Resources, please do so by
selecting the entry from the J Walk Developer Task Bar Group.
If you intend to use the ActiveX Client control, there are also parameters that
require modifying in the JWALKX.HTML (or JWALKXS.HTML) file.
The minimum parameters you must customize are described.
CODEBASE:
Insert the Web Server IP Address to specify to the ActiveX container where to
find the CAB file with ActiveX Client, for example:
<OBJECT ID='JWAlkX1" WIDTH=640 HEIGHT=488
CLASSID="CLSID:E7C44C86-..."
CODEBASE="http://123.456.789.0/JWALKX/JwalkX.cab#version=2
,2,0,0">
Parameters:
Specify Windows Client startup parameters to be used when the ActiveX Client
control starts the Client. Additional parameters are not required.
Startup parameters:
When a Windows Client is started with a "/h123.456.789.0" command from a
shortcut property, the equivalent for the ActiveX Client control could be:
145
Client_Setup_Location:
When the ActiveX Client control determines an update must occur, this is the
parameter to define where the control goes to execute a new install. For example:
<PARAM NAME="Client_Setup_Location"
VALUE="http://123.456.789.0/JWALKX/JWALXS.EXE">
Updating your J Walk Package files (via startup parameter enabling "Server
Connect" mode)
Browser Support.
The "power" in this strategy comes from combining the two methods to your
level of needs.
A J Walk Solution can include methods to automate software updating of both
the Windows Client and Package files.
Updating the Windows Client (via ActiveX Client control)
Using the ActiveX Client control enables an industry standard way of checking
and updating the J Walk Windows Client software.
Additionally, it is possible to startup the Windows Client with parameters
(optionally, place a configured INI file with the ActiveX control software to
ensure use of a specified [section] configuration).
The ActiveX Client control has the option to start the Windows Client
indication that the J Walk Windows Client is to be run in its own window
or in the presentation space of the J Walk ActiveX Client control.
a required software version level (release number) for the J Walk Windows
Client. If this property is left empty, any version for the J Walk Windows
Client will do. If a version number is entered, that particular version
number is checked within the registry. To use version control, the selfextracting installation procedure must place the J Walk Windows Client
version number into the registry.
a command line parameter string for startup of the J Walk Windows Client.
It is recommended to limit this string to the path (location) of a JWC file,
however, any set of valid command line parameters can be issued.
147
By making use of cabinet files and Internet component download via an INF file,
the J Walk Windows Client can be updated automatically through push
technology. This means that the client does not have to trigger a download event,
instead the content of an HTML-page will check for new versions on the server
side and start an update of the J Walk Windows Client if necessary.
To be able to make use of the Cab (and Jar) file technology in the different
versions of the two major browsers a few parameters need to be set. The
necessary settings for Internet Explorer 3.02 and 4.0 can be found in related
topics.
Updating your J Walk Package files (via startup parameter enabling
"Server Connect" mode)
Specify to startup your Windows Clients using "Server Connect" mode to
automate package file updates by "pointing" to a deployed control file (JWC)
using the /$ 'logical_path' or an 'http_webserver_IP_address' as your argument.
This method offers these advantages when starting the Windows Client:
Browser Support:
Browsers supporting ActiveX Client Controls require ActiveX support. AN
example is MSIE 4.0+.
(Netscape Communicator requires use of an ActiveX plug-in.)
Netscape Plug-in Clients
To use ActiveX controls in Netscape Communicator 4.05, simply select to deploy
the J Walk Plug-in Client control (at Server installation).
This plug-in has configured the necessary settings for use with ActiveX
technology.
A Java Applet (or application) can start a new J Walk Java Client
Session and communicate with it
or the J Walk Java Client will communicate with defined Java classes.
It is important to set up your Java environment with care. Unpack the example
resources and review the provided OIS for Java documentation (see Index.html
reference below.)
OIS for Java Example Resources
Please be aware that there is additionally provided OIS for Java documentation
including details on all provided methods (see Index.html file within the OIS Java
folder where you have installed the Developer). Details for consideration include
setup of your Java environment, calling the Java Client from within your Java
applets and applications, as well as call Java classes from the J Walk Java Client are
specifically provided as HTML documentation for easy, cross platform usage,
including industry standard JavaDoc files referencing class methods and variables.
If you have not done so, please unpack the OIS for Java Example resources from
the J Walk Developer Task Bar group.
Starting a J Walk Java Client Session
A J Walk Java Client session can be used to get or set data on the host or panel.
Classes are session-dependant.
149
Note: The details for implementing Java OIS methods differ between an applet
and an application. See Index.html within the example resources folder for details
on specific implementations.
But as a model for discussion, there are several process layers which occur under
the OIS for Java implementation.
First, a J Walk object is requested to be responsible for creating new J Walk Java
Client sessions.
sessionStarted / sessionStopped
panelChanged
panelStateChaned.
fieldCreated / fieldDestroyed
fieldEnabled / fieldDisabled
Disable (a panel or panel field can no longer accept input from the user)
These classes are referenced within the OIS for Java HTML documents (see
"Index.html" after unpacking the OIS for Java Examples).
Finally, there are suggestions for distributing your OIS for Java solutions
"embedded" within the J Walk Server and Java Client setup.
OIS for Java examples are included with the OIS resources when you
install.
If you have not unpacked the OIS Examples for Java resources, please do
so.
The installed and unpacked folder contains a source CAB file, Java Classes,
documented examples and industry standard JavaDocs covering all
methods (see the Index.html file within the installed OIS for Java folder).
Review this document as it contains an index referencing all OIS Java
methods by Interface, and by Class.
Note: In order to test J Walk Java Client Java calls, you must fully install and
configure a J Walk Server.
When you install, the OIS Java resources (OIS_JAVA.CAB) are installed into a
sub-directory (OIS\OIS_JAVA).
When you unpack the OIS for Java example, the CAB file is unpacked into the
OIS_JAVA directory.
151
Note: Included in these resources is several HTML files with programming details
and information. After you have completed the unpack, you can review the
supplied "Index.html" file to index through all OIS methods by interface and
class.
While reviewing this document, please select the link to "An example of OIS for
Java." This link provides an embedded example. The example can be used "live."
To use this example,
1.
2.
Copy "JWalk.class," as well as the directories "OIS," "$1," and "$2" (and all
subdirectories) to below the OIS\OIS_JAVA directory.
3.
Close your browser (close the browser, do not "refresh" the page) and
restart it to use the example. Further instructions are detailed within the
HTML document(s).
use of the Developer to embed the OIS object Java Call into your panel
as well as a full J Walk Server Installation in order to test and use the calls.
In the J Walk Developer create a new OIS object (J Walk Java Call).
2.
3.
Select the panel object (control) and attach your object to it (a button, for
example).
4.
Develop your Java class and give it the name you entered by the filename in
the OIS Object. Make your class part of the package OIS (so it is placed in
the OIS directory of the J Walk Java Client) and let the class implement the
JWalkFieldListener interface:
package ois;
public class MyOISObject implements
JWalkFieldListener.
5.
Test it.
153
The first phase is incorporating J Walk Windows Client with your package
file set into a single deliverable.
The second phase is taking this deliverable to your users and deploying the
product using a scenario that best suits their network architecture and
needs.
2.
From the Welcome window, press the >> button to advance to the main
menu of the CD-ROM, called "J Walk Product CD".
3.
From the "J Walk Product CD" menu, select the "Disk Factory" text.
4.
This opens a new window with the possibility to create images for J Walk
Developer or Windows Client. Select the "J Walk Windows Client" text.
5.
A new window will appear indicating the total number of diskette images
used by J Walk Windows Client and the SEAGULL License and Message
Server. First select the text, "J Walk Windows Client". Then, when all of
the images are produced, select the text, "SEAGULL License and Message
Server".
6.
7.
8.
9.
155
The following files are delivered as individual files on J Walk Windows Client
diskettes and can be overwritten. It is recommended that when you overwrite
these images, that you use an image of the same size.
JWCLI.BMP
Bitmap displaying product name and logo. This bitmap is displayed on the
splash screen, displayed whenever J Walk Windows Client is started or the
About box is opened. This bitmap has a width of 320 pixels and a height of
189 pixels.
JWCLI01.BMP
This bitmap is displayed on the popup panel shown the first time that a
dynamic transformation panel is displayed by J Walk Windows Client. This
bitmap has a width of 534 pixels and a height of 94 pixels.
SEAGULL.ICO
This icon is displayed on panels built using Dynamic Transformation in the
lower right hand corner of the panel.
JWCLI01.ICO
This icon is also displayed on panels built using Dynamic Transformation.
It is displayed to the left of SEAGULL.ICO and when pressed, opens the
Settings dialog to change the appearance of the panel.
JWCLI.ICO
This icon is displayed in the upper left hand corner of the J Walk Windows
Client window in the title bar. It is the program icon.
SPLASH.BMP
This is the image (320x189 256 color) presented when installing the
product. You can customize the installation image by replacing this file.
Overwrite Standard J Walk Windows Client Images
This task results in a set of J Walk Windows Client diskettes that display your
product logo. You may copy over the following files:
JWCLI.BMP
JWCLI01.BMP
JWCLI.ICO
JWCLI01.ICO
SEAGULL.ICO
SPLASH.BMP
157
Due to space limitations, the image files may be spread out over any of the
J Walk Windows Client diskettes. Consequently, the first step is to locate
each of the image files across all diskettes.
2.
Copy your image file over the existing image file. Use the name as it
appears on the diskette. Verify that your image file will fit on the diskette.
3.
You can move images around to other diskettes, however, it will require
that you make changes to the Installation Definition file to reflect the new
location of each image file, during installation.
Message text file (extension JWM) - stores all texts that are displayed for
text references defined in the panels.
Translation table (extension JWX) - stores all values that when detected,
should be translated.
Control file (extension JWC) - defines a set of JWR files (and the order)
that should be loaded by J Walk Windows Client. This file can also contain
commands that check to see if the JWR files should be updated before
loading.
Icon DLLs - stores bitmap/icon. These DLLs are made with the JWICON
utility.
Custom API DLLs or EXE files - your own C/C++ or Visual Basic code
(DLL or EXE) connected to your J Walk application.
Place all of these files onto a single diskette if possible. Use SEAGULL's
compression utility to compress your package file set to a single diskette. You can
use alternate compression methods, but these alternate methods are platform
dependent. SEAGULL's utility is platform independent.
Using SEAGULL Supplied Compression Utility
Use the SEAGULL supplied compression utility when you have completed your
assembly of files for distribution. Use this utility to compress a platformindependent archive (.CSH) file. The same utility provides the unpacking and
packing functions.
Follow these steps to perform this activity.
1.
2.
159
When specifying source files, you can separate selections with blank spaces.
You may also provide wildcards. If the source files are in different
directories, you must specify full paths. If you are choosing all files as your
selection, be sure to provide a full pathname and include the wildcards
"*/*" because S9CRUSH expects a file listing. You must use one of the
following options when selecting files to crush:
/a Adds a new compressed file to an existing CSH file. If the file already
exists in a compressed state within the .CSH, the compressed file is
replaced (refreshed).
/c Creates a new .CSH file. If a .CSH file already exists with this name, it
will be overwritten.
/l Lists the compressed file within the .CSH file. Note: Do not specify a
source_directory when you use this option.
Alternate Compression Methods for Your Package File Set
It is possible to compress your own package files (JWR). This is particularly useful
when your package file is too large to fit on one floppy disk. Compress your
package file to assist you in fitting your package onto the distribution diskette(s).
If you choose not to use the SEAGULL Supplied Compression utility, you can
use alternate means described here.
Alternate Compression Options
It is possible to use your own compression utility (like PKZIP, ARJ, LHARC,
etc). By using a dot . in the installation definition file, described in the
#INSTALL part of the previous section, to call a command line within the J Walk
Windows Client installation to perform the decompression. The command line
will be executed in the background and will work fine as long as you use a
command line for the Windows setup.
Follow these steps to perform this activity.
1.
2.
After you use an alternative utility like PKZIP, include the file
PKUNZIP.EXE on the distribution diskette.
SETUP.INI
SETUP.DEF.
These files are installed to your J Walk Windows Client installation directory.
Optionally, you can change the text displayed during initialization of the
installation program (status popup) by updating the SETUP.INI file with your
company and/or product information. This is important when replacing the
product signature is a requirement.
The installation definition file (SETUP.DEF) consists of commands that begin
with the number sign (#) character. The lines following the command contain
command dependent information. Not all the commands need to be present in
the file and the order of the commands is not important.
Note: Lines beginning with a semi-colon (;) are comments.
The #COMPANY section is required for use.
161
This version number relates to the version of the installation program. When the
installation program is started, the first thing it does is check that its internal
version number is the same as the version number stated here. If the numbers
are not the same, the installation program assumes that the definition file format
is not compatible and will not continue with the installation. This command is
required in the definition file.
#HEADERS
J Walk Windows Client
Version 2.1
A maximum of two lines can be entered for headers. The "Product Name" and
"Product Version" texts are displayed in the first window opened by the
installation program. These texts can be changed to reflect your application name
and current version number.
#COMPANY
Company Name
The default Win95 compliant installation path uses your company name (e.g.
C:\Program Files\Company Name \Product Name). This section must have a value
and is therefore, required.
#MODULES
* "J Walk Windows Client"
"Greek fonts"
"Turkish fonts"
"Russian fonts"
"Slavic fonts"
"Bidirectional fonts"
"Thai fonts"
"Baltic fonts"
An unlimited number of lines can be used to list different portions of the package
that can be installed. The asterisk (*) indicates that this line is part of the default
selection. One use of the MODULES command could be to let your end users
selectively install products from a list that you made available.
Note: The #MODULES lines are referenced by the #INSTALL command and
are always installed at the end of the installation.
#DISKETTES
This command identifies all of the directories where files will be installed during
the installation program and they will be created if necessary by the installation
program. The first line is always the root. All other lines MUST be a subdirectory
of this first line.
Instead of naming the drive (named C: in this example), a dollar sign ($) can be
used to indicate the boot drive. The first line replaced with the boot drive
reference would look like $:\JWALKC.
163
This command copies explicitly named files from the installation diskette(s) to the
destination drive. One line is used for each file found on the installation
diskette(s) and each file needs at least 4 parameters in order to be installed
correctly. (The 5th parameter is optional.) Each parameter is separated by at least
one space.
Parameter 1 indicates which module the file belongs to. The number is
sequentially assigned beginning with 1 from the
#MODULES command. So, the last line of the #INSTALL command (file
name JW2962.DLL) would only be installed if the end user chooses to install the
Japanese Language Module.
Parameter 2 is the source disk number. The number is based on the sequential
order of disks named in the #DISK command.
Parameter 3 is the destination path. The number references the sequential line
of the #PATHS command.
Parameter 4 is the source file name on the installation diskette.
Parameter 5 is the destination file name. If this parameter is not present, then
the source file name is used. The first character of this parameter can be a plus
(+), a minus (-), an exclamation point (!), a period (.) or an alphanumeric character
that is the beginning of the destination file name.
The punctuation has the following meaning:
-filename Deletes the named file. This parameter is meant to be used in
upgrading situations where there may be old files that are no longer used.
!filename This command is also used when upgrading. Any destination file name
preceded by a (!) will not be overwritten. If a file already exists in the destination
path, the installation program will ask the end user if this file should be
overwritten. If the end user answers "YES", a copy of the old file will have its
extension renamed beginning with .000, then .001 and so on.
. system command A period (.) must always be followed by a space. Then the
rest of the line is considered a command line. The following references can be
used.
%S source directory (comes from system, this is usually A:\)
2
1
2
1
3
1
3
2
1
1
1
1
"Icon name"
1
"Read me"
%P\README.
1
"Uninstall"
"Uninstall icon"
"Configuration Assistant"
"Telnet"
"Telnet icon"
"APPC"
"APPC icon"
"IPX"
"IPX icon"
%P\JW9C.EXE
NOTEPAD.EXE
1
1
UNINSTALL
UNINSTALL
CONFIGASS
1
1
1
TELNET
1
TELNET
APPC
APPC
IPX
IPX
This command controls what icons are added to the folder. Special keywords are:
UNINSTALL, CONFIGASS, TELNET, APPC, and IPX.
165
When present, this keyword instructs InstallShield to bypass the "Setup Type
dialog" (where a selection between "Typical" and "Customized" is presented).
The effect is to initiate a "Typical" install where your additional package files are
installed at the finish.
Typically, you will want to use this keyword as the "Customized" type installation
cannot display your additional package files for inclusion/ non-inclusion.
Note: Previous #OPTIONS keywords (e.g. StartConfigAssist=) are no longer
supported.
Update Installation Definition File
Follow these instructions to change the J Walk Windows Client installation
definition file to appear as your own product.
Note: The referenced sections can be found in an example SETUP.DEF file
named "CUSTOM.DEF." You may copy this file and rename it as
"SETUP.DEF" and then specify your setup parameters and options.
Follow these steps to perform this activity.
1.
2.
Open the file SETUP.DEF (the installation definition file) from J Walk
Windows Client Diskette #1.
4.
5.
6.
Optionally, insert (after "National Language Support disk 3") the text:
<your product name> disk 7
7.
. %P\S9CRUSH.EXE /Q
%S\<your csh
%W\
8.
9.
all panels provide the necessary functionality for the AS/400 screen.
Inspecting all interim and final results (including results involving host field
references, script variable values, text expression, etc.)
For authorization issues consult your system administrator and License and
Message Server, and Data Access Server on-line information.
Processing should occurs as follows:
167
1.
2.
3.
4.
If you see ? 's, it is likely that an unresolved reference has been made; this is
not an error but can require you to recheck your data and reference.
2.
3.
2.
Follow the dialog prompts to create your authorization code for your
package file. You will need the AS/400 serial number of your customer's
AS/400 in order to properly generate an authorization code.
169
2.
3.
4.
Your GUI product diskettes (J Walk Windows Client and your package file
set)
2.
3.
4.
This process is documented for using Shared Folders or TCP/IP (File Transfer
Protocol) in the README file that comes with the License and Message Server.
The installation process is supplied with the README because it can vary
between software releases, which occur more frequently than the publishing of
this topic. You can print or review the README file with Notepad or using the
installation program which is in the same location as the README. If you are
installing License and Message Server from the J Walk CD-ROM, the README
file and software are located in the \SEAGULL\SEALMS directory. If you are
installing the License and Message Server from diskette, the README is in the
root directory.
System Requirements
171
Add "Server Connect" functionality to J Walk Windows Client. This enables the
Windows Client to obtain all necessary Panel definitions and configuration
information from the centrally administered J Walk Server through the industry
standard HTTP protocol.
Note: The Windows Client still connects directly to the AS/400 (as opposed to
getting its 5250 data through the J Walk Server software).
Key Features of Use:
Allow the JWC file as well as application panel files and other related files
to be accessed / loaded through Http.
Starting Clients in this mode provides the mechanisms and features necessary to
administer Windows Client access and use of centrally administered and
configured Application package files from the J Walk Server.
Use of industry standard technology such as ActiveX and HTTP ensures
maximum flexibilities when using these mechanisms.
Using this mode is as easy as specifying a command line parameter.
Each scenario has its own advantages. Consider each scenario carefully and
choose the one that best suits your customer's network environment.
173
If you assume that the network drive for the Windows Client product is N:.
J Walk Windows Client component is installed in N:\JWALKC
Configuration files (JWALK.INI and JWALK.FSR) are also installed in
N:\JWALKC
Package files (JWR) are stored in N:\JWALKC\APP
If you assume that the network drive for the Windows Client product is N: and
the local PC drive where the Windows operating system is installed is C:.
J Walk Windows Client component is installed in N:\JWALKC
Package files (JWR) are stored in N:\JWALKC\APP
Configuration files (JWALK.INI and JWALK.FSR) are installed in
C:\WINDOWS\SYSTEM
175
If you assume that the network drive for the Windows Client product is N: and
the local PC drive where the Windows operating system is installed is C: and the
data drive is D:.
J Walk Windows Client component is installed in N:\JWALKC
Configuration files (JWALK.INI and JWALK.FSR) are installed in
C:\WINDOWS\SYSTEM
Package files (JWR) are stored in D:\JWALKC\APP
If you assume that the network drive for the Windows Client package(s) is N: and
the Windows Client product is installed on D:.
J Walk Windows Client component is installed in D:\JWALKC
Configuration files (JWALK.INI and JWALK.FSR) are also installed in
D:\JWALKC
Package files (JWR) are stored in N:\JWALKC\APP
Scenario 5: Local installation
This scenario places all Windows Client product files on each enduser's PC. Use
this scenario when endusers run different versions of package files and J Walk
Windows Client, or there is no network installed.
177
If you assume that the local PC drive for the Windows Client product is D:.
J Walk Windows Client component is installed in D:\JWALKC
Configuration files (JWALK.INI and JWALK.FSR) are also installed in
D:\JWALKC
Package files (JWR) are stored in D:\JWALKC\APP
Running a Mix of J Walk Clients
The power in the J Walk solution is enabled by using J Walk Server and J Walk
Windows Clients to effect the type of distribution of the Package files (and the
J Walk software) that "fits" for your enterprise.
J Walk Server software is installed only once, on the Windows NT Web server (or
Native AS/400 with configured HTTP server).
It is then configured to have active sessions for each AS/400 or host application,
as defined by the administrator.
Package files to be served using J Walk Server are installed (only once, to a
working directory of the HTTP server - identified at install). Once deployed, these
packages are available to authorized users who can access the JWALK.HTML
startup page.
When changes are made to the Package file or J Walk Windows Client, or J Walk
Server, these files are only updated in one place, on the HTTP server. All
Windows Clients can be connected to the "served" package files (wherever they
are stored) by starting the Windows Client in "Server Connect" mode.
In any case, J Walk Windows Client will directly connect to the AS/400 with both
the host application and the SEAGULL License and Message Server.
The same License and Message Server handles licensing from J Walk Server and
J Walk Windows Client. Each request is considered the same, no matter where it
comes from. SEAGULL calls this the "Universal Client".
Install a J Walk Windows Client Scenario
These steps result in the installation of J Walk Windows Client and your package
file set at your customer's site.
Follow these steps to perform this activity.
1.
2.
179
2.
2.
When your AS/400 application changes, you only need to build panels for
changed screens. This is possible through a Control file (.JWC) that defines
which package files (.JWR) should be opened and in what sequence.
Actually, the Control file has a second function as well. You can use it to
automatically update package files (and all associated application files) on a user's
PC from a shared folder or directory.
Starting the J Walk Windows Client with a Control file performs activities before
a J Walk session is actually opened.
First it determines which package files and other files will be opened with the
session. After making the list of files, tests may be performed to see if the files in
a shared folder or network directory are newer. If they are, the files will be
updated on the user's PC as instructed in the Control file. Only after all of the
updates are completed successfully will a session be started.
It is possible to use a combination of .JWC files and .JWR files to identify all
application files to be used at one time. Sequence is important during the session;
when two or more compiled panel files have panels for the same screen. The
panel of the first package file in the sequence will always be used.
The following rules determine the sequence when loading package files.
1.
If any .JWR or .JWC files are specified on the command line then only
those will be used and the order of the files listed is significant. Also the
order of .JWR files listed in one .JWC file is significant.
3.
4.
5.
The related application files (JWM, JWX, and DLL) will be searched in the
following directories (sequence):
Directories specified with the Path= keyword in the section within the JWC file.
Same directory as the used JWR file.
Working directory for DLLs only.
Directories in system path setting for DLLs only.
Note: When using Windows DLLs, the Windows Client will first search for files
ending with DLL, then if it can't find the files, it will search for files ending with
WIN.
181
New package files can be used as 'patches' to existing package files. When
your AS/400 application changes, you only need to build panels for
changed screens.
A wait process can not be invoked within the control file, to delay the
execution of keyword commands.
This is possible through a Windows Client Control file (JWC) that defines which
JWR files should be opened and in what sequence.
In order to create the JWC, open your favorite text editor and specify all JWR
components that you need. See JWC File Layout reference section.
Control File Example
This example of the control file is for your review. For descriptions as to the
sections within this example, see the control file layout.
An example of a Control file (.JWC) called EXAMPLE.JWC.
; This is a sample control file. All
[APP]
RunTime=D:\PATCH\PTF.JWR
RunTime=C:\APP\BASE.JWR
Path=D:\PATCH\DLL;C:\APP\DLL
Check=D:\PATCH\PTF.JWR,I:\PATCH\PTF.JWR
Replace=D:\PATCH,I:\PATCH\PTF.JWR
Updatenew=C:\APP\DLL,I:\APP\DLL\*.*
Updatenew=D:\PATCH\DLL,I:\PATCH\DLL\*.*
Updatenew=D:\PATCH\APP.JWC,I:\PATCH\APP.JWC
; End of control file
183
Specifies the file to be replaced by another file. Wild cards can exist in either the
files or source parameter but not in both. A replace is done whenever the file
dates are different; newer files can be replaced by older ones. This keyword is
applied only to the [APP] section to replace the current patch contents upon
updating.
Replacenew =files,source
Specifies the file to be replaced by another file. Wild cards can exist in either the
files or source parameter but not in both. A replace is done whenever the file
dates are different; newer files can be replaced by older ones. When a wild card is
specified, any new file will be created.
Update =files,source
Specifies the file to be updated from another file. Wild cards can be specified in
either the files or source parameter but not at the same time. An update is done
when the target file does not exist or when the source file is more recent.
Updatenew =files,source
Specifies the file to be updated from another file. Wild cards can be specified in
either the files or source parameter but not at the same time. An update is done
when the target file does not exist or when the source file is more recent. When a
wild card is specified, this keyword allows creation of new files. In this example
the [APP] section contains several uses of this keyword. In each case when using
a wildcard, the intention is that new DLLs will be created for both the BASE and
Patch folders.
;comments
Comments are created using a semi-colon (;) at the start of any line.
Automatic Updating Rules
The Windows Client uses the following rules and mechanisms to allow for
updating package files and other related files from a Network drive or Shared
folder.
Note: Any commands specified by keywords will be executed sequentially
without a wait or interrupt.
Rule 1).
The Windows Client processes all the Control files in sequence and within a
Control file the sections are processed in order of appearance.
Note: Control file keywords must be contained under at least one section header
(e.g. [APP]). Files to be updated can only be specified within a control file (JWC).
The following keywords within the Control file(s) are available to specify updates:
185
If the update mechanism is switched off by specifying the /U- command line
parameter OR no /U is specified on the command line but the JWALK.INI
contains the setting Update=No then no checking is performed and the Windows
Client will resume normal operation.
See the appropriate sections within this heading for more information about
command line parameters and new JWALK.INI keywords.
Rule 3).
Within one section of the Control file, the Windows Client first checks the time
stamps of the files specified in the Check= keywords. (There should only be one
Check= keyword in a section. The result of the first Check= comparison will
determine if the section is updated or not). If the time stamps are equal then the
section is considered up-to-date. Otherwise, all update keywords (Update(new)=,
Replace(new)=, Delete= and Execute=) will be performed within this section.
Rule 4).
If any updates are necessary then the Windows Client displays a message
indicating the updates should be performed. If the /U+ command line parameter
is specified OR there is no /U command line parameter and the JWALK.INI
contains the Update=Yes setting then this prompt will not be displayed but the
updates will be performed automatically.
Rule 5).
The actual update will start before any package files are loaded by the Windows
Client. The Update(new), Replace(new), Execute and Delete commands are
executed in the order that they were specified. All actions performed will also be
written to a log file. If the setting UpdateLog=filename is placed in the
JWALK.INI file, the file name specified will be used instead of the default
UPDATE.LOG.
Rule 6).
If any action fails, a dialog will be showing the cause of the failure.
Rule 7).
If an error does occur, a script file is written with all of the failed commands.
Under Windows, this file always has the extension .BAT. The default file name is
JWALKUP. If the option UpdateScript=filename is placed in the JWALK.INI
file, the file name specified will be used instead of the default.
Rule 8).
2.
It may be necessary to logon to the AS/400 and display a few panels (or
logon to a server) if there are several package files opened simultaneously.
3.
187
2.
A screen will appear that displays existing licenses for SEAGULL Clients
and package files. The screen contains information about the type of
license, the package name and the name of the company that supplied the
package file, the total number of licenses, how many active licenses are
currently in use, when the license was last changed, and the maximum
number of concurrent users, and maximum number of concurrent users.
Select the row that has the Package Type equal to "Client" and choose to
Change it. This is the license register for Client licenses.
3.
A new screen will appear with information specific to the Client license
registration. Enter the authorization code you received from your J Walk
distributor and press Enter. Your SEAGULL Client licenses have been
updated.
Note: A package file must first have been run on a J Walk or GUI/400 Client in
order to create a record in the license file. Updating package records (licenses) is
only possible when the package has run once in combination with J Walk Client
v2.1 or GUI/400 Client v4.0 (or higher).
Follow these steps to perform this activity.
1.
2.
A screen will appear that displays existing licenses for SEAGULL Clients
and package files. The screen contains information about the type of
license, the package name and the name of the company that supplied the
package file, the total number of licenses, how many active licenses are
currently is use, when the license was last changed, and the number of
violations.
Select the row that has the Package name and Supplier and choose to
Change it. This is the license register for Client licenses.
3.
On the next screen, enter the total number of authorized package licenses
at the Number of licenses prompt. And enter the authorization code you
received into the Authorization code prompt.
189
Press Enter. Your authorization code has been entered and your number of
licenses updated.
The first step is to take snapshots of all the green AS/400 screens which
you want to use in your Demo. You can use either J Walk Windows Client
(using the /O option) or J Walk Developer. There are menu (and toolbar
icon) options in both applications to make screen snapshots.
2.
In the next step you will define the sequence in which the pictures of the
AS/400 screens will be shown and which input is required from the person
running the Demo. With the aid of the Developer you may build the
necessary J Walk panels for this Demo.
3.
4.
To create demo logic, select a screen and Add (or replace) entries as
required.
Note: You may add Conditions by specifying the Row and Column
coordinates (rrcc). You may additionally specify a "text string" for the
condition. If you do not, only the cursor position is used to verify the
condition. To activate a condition, you must check the Condition
checkbox.
5.
The Demo files may then be stored on one J Walk Demo diskette and this
Demo diskette can be used on any PC with J Walk Windows Client.
191
1.
If the DEMO.EEM does not yet exist then a window will appear which
shows the default name "DEMO" in the Master input field. Pressing the
Load button will create the DEMO.EEM file and load this empty file into
memory.
2.
Press the Screens button to display all the available EE files in your
Working directory. You may then select one EE file and "Add" it to the list
of used EE files (on the right side). The list of used EE files are the ones
that you will be using in your Demo. After setting up this list of used EE
files you may press the OK button and the AS/400 Emulator window will
appear again.
3.
You then press the Load button to load the list of used EE files. The
Emulator will then show you the first AS/400 screen. Pressing the
Alt+SysRq keys will bring up the AS/400 Emulator window. Press the
Logic... Button and a new window will appear in which you can define the
sequence of the screens and the required user input for a screen (demo
logic).
4.
First you define the "Startup screen" which is the first screen in your GUI
Demo. For every screen which you want to show in your Demo you must
now define the name of that screen, which function key to press to go to
the next screen, an optional condition and the name of the next screen. If
you then press the Add button the line with your definition is inserted in
the large list box. In this way you define the complete "logic" of your
Demo. You may Add, Replace and Delete lines in the large list box.
5.
Put all your demo files ( EE, EEM, JWR, HLP and DLL files) in one
directory.
2.
Also add all of the J Walk Windows Client software files to the same
directory.
3.
193
2.
3.
Set the Working directory to the one where your EE files are located.
4.
195
Also, Host Application updates may require re-running the Collection process. In
this case, you can elect to rebuild the entire application or specify (by date) to
collect on recently changed objects. In either case, you will need to transfer the
AWHOST file to the Developer PC to Smart Build these updates back into your
existing panels.
Note: Save your AWHOST file for future reference.
Collector Process
A closer look at the Collector process begins by looking at the resultant file, the
AWHOST. The AWHOST file contains all application display details. You must
create this file on your AS/400 using the Collector. To do so, you must know
details about the host application and associated libraries.
Prepare Phase
2.
Extract Phase
3.
Combine Phase
4.
Collect Phase
197
2.
3.
The Collector can automatically resolve some linking problems logged during the
prepare phase. Others may require your intervention. Refer to Error/Diagnostic
Messages in the Developer Reference chapter for more details on Prepare phase
messages found in your AWPRT spool files.
The DSPF was found before in a source file already processed. The
Collector will assume the first DSPF found to be the most recent one and
will omit the latter one.
The associated object for the source member to be processed can not be
located.
The source member contains deleted records. Such a situation can not
occur in the OS/400 editor. It may be caused by source generating
programs or by tools like DFU or SQL. The Collector is not capable of
handling these source members in a correct way.
The source member does not contain records at all. The Collector will not
handle these source members.
199
The last row occupied by the first format must not overlap the first row
of the second format.
Formats containing the WINDOW keyword will be regarded as noncombinable. However, formats referencing the same window may be
combined, according to the rules described above.
2.
Start the Collector program and verify your current library and library list
3.
4.
5.
6.
7.
201
If too many unidentified screens are produced in the Developer, specify User
Options and/ or Proposals to influence the Collector process with your additional
processes. When you have prepared and specified any Proposals (or other
options), re-run the Collector process.
If the host application uses message files, make sure the message files can
be found in the library list.
The Collector must have *USE authority for all libraries defined within the
library list.
Press F16 to update the library list if necessary. The library list should
contain all of the Application Libraries.
3.
Parameters
Indicator settings
In an initial Collector run, you may wish to specify a parameter such as "Combine
Record formats from a specified line". Using the User Options Parameters, you
can specify such a condition. As you perform the Collector operations, it may be
necessary to specify additional User Options.
Update your AS/400 Collector User Options as required. When the Developer
(on a PC) produces limited screen identification (your Picture Album contains too
many unidentified screens?) you may need to affect the AS/400 Collector with
additional User Option Parameters and/ or Program flow specifications.
For additional details see Influencing Collector Results section.
Follow these steps to perform this activity.
1.
On the Collector Main Menu, press F18 (if you have not already).
2.
3.
Select and specify each option for your Collection Run. Press Enter to
return to the Main screen.
203
2.
3.
If you correct any identified problem(s), you must specify those corrections
(User Options) and restart the process.
2.
3.
4.
5.
6.
Specify the library you used as current library during the Collector run at
the Library prompt.
7.
Specify the folder (directory on your AS/400 drive, e.g. I:) to receive the
AWHOST file, e.g. TEMP.
8.
Press [Enter].
9.
205
If you have identical pictures except for the function keys listed at the
bottom.
Apply Combine Function Key Formats.
If the Collector run is producing too many pictures from individual record
formats.
Apply Combine Formats Using PRECOL.
If record formats are not being combined correctly, producing pictures that
only display the top half or bottom half of a screen.
Apply Combine Formats Ignoring CLRL Instructions.
Consider using these methods when you identify Picture Album issues. Apply the
appropriate method(s) and re-run the Collector.
The Collector provides User Options, Program Flow and several other
parameters for influencing the result.
The Collector job log and processing messages provide "hints" as to how the
Collector results occurred.
Parameters
Program Flow
Indicator Settings
User Program Flow and the use of Proposals are highlighted in this section.
207
A package may be developed using a separate record format for each row
displayed. In such cases the Collector has difficulties in combining the record
formats. Not only would this take a considerable amount of time to process, the
AWHOST file could contain a large amount of pictures "unknown" to the
package at runtime. In such cases this parameter can help you save time, and still
produce "known" pictures.
Within a display file, record formats are sorted by their starting row. When the
parameter has a value of <1>, record formats are combined when:
both record formats are on the same row or on two consecutive rows.
Record formats must be within the same display file, and therefore within
the same source member.
The last row occupied by the first format must not overlap the first row of
the second format.
If you set this parameter value greater than <0>, every format containing the
CLRL keyword is considered to have the OVERLAY keyword defined.
Note: In order to combine formats, these formats should not be overlapping.
The following values can be used for this parameter.
<1> Ignore both CLRL(*NO) and CLRL(xx).
The Collector will try to combine these formats. The first row and the last row of
these formats are as defined in the source.
<2> Ignore both CLRL(*NO) and CLRL(xx), do handle <xx>.
The Collector will try to combine these formats, but handle the format with
CLRL(xx) starting from the first defined row and ending xx lines down.
<3> Ignore CLRL(*NO), do not combine CLRL(xx).
The Collector will try to combine all formats with CLRL(*NO), but won't
combine formats with CLRL(xx). Every format gets a new picture.
<4> Do not combine CLRL(*NO), ignore CLRL(xx).
The Collector doesn't combine formats with CLRL(*NO). Every format gets a
new picture. The Collector will try to combine all formats with CLRL(xx). The
first row and the last row of these formats are as defined in the source.
<5> Do not combine CLRL(*NO), ignore CLRL(xx), do handle <xx>.
The Collector doesn't combine formats with CLRL(*NO). Every format gets a
new picture. The Collector will try to combine format with CLRL(xx), but handle
the format which using CLRL(xx) starting from the first defined row and ends xx
lines down.
Include PULLDOWN formats
Use this setting to specify PULLDOWN formats to be included in your pictures:
<1> =Yes, <0> =No.
209
After pressing F18 to display the User options menu, choose menu option
1 to display the Parameters screen. The cursor will be positioned at the first
parameter, Combine record formats starting from row.
2.
By default, this row number is set to <0> which indicates that all rows
should be used when generating record formats. Change the row number
to the first row where function key assignments are displayed at the bottom
of the screen. This is usually at row 22.
3.
Now when the Collector run is started, the function key rows will not be
considered unique record formats and only one picture will be generated,
instead of one picture for each of the different function key assignment
record formats.
Pic #
Record format
DSPF01
HEADER1
DSPF01
BODY1
DSPF01
FOOTER1
DSPF01
HEADER2
Pic #
Record format
DSPF01
BODY2
DSPF01
FOOTER2
211
The PRECOL file and PRECOLTOOL are provided to define specific screen
identification formats without viewing the source code.
The PRECOL file is used to hold the selected combinations of pictures (from
Initial Base Data).
The PRECOLTOOL maintains the PRECOL file.
Use PRECOLTOOL to Create Pictures from DSPF Formats
Use this tool to remove unwanted screen formats during the Collector run.
Follow these steps to perform this activity.
1.
2.
To create pictures using formats from a display file (DSPF), you must have
gathered initial base data. Specify <1> and press Enter.
3.
After the gather initial base data is completed, restart the PRECOLTOOL
and select the "Data entry for file <PRECOL>" function. Enter <2> and
press Enter.
4.
You may select the "Clear current contents of <PRECOL> file" (option
<4> from the PRECOLTOOL menu) to essentially start again (or recover
a very small amount of disk space.
Note: It may be more valuable to save the <PRECOL> file for re-use
after host updates have occurred.
From with the Collector Start screen, select User Options (F18).
2.
3.
4.
The date should be entered in the format (YYMMDD), disregarding the status of
your system value (QDATFMT).
Collect on Object
The Collector can extract information from DSPF objects without the
corresponding source members. This parameter can only be used with OS/400
V3R1M0 or higher.
This parameter has three possible values:
<0> Extract information from source members only. The source member
must have a corresponding DSPF object.
<1> Extract information from DSPF object. The object must have a
corresponding source member.
213
Using this option (<1> or <2>) requires that none of the DSPF files are in use.
A warning is logged indicating processing has skipped an object currently in use.
For OS/400 V2R3M0 or older
This parameter must be set to <0> for DSPF38 objects, when using OS/400
V2R3M0 or lower and when using indicator settings. Refer to Indicator Settings
for more information about using indicator settings to operate your AS/400
application in different languages.
Reset Original Library List
This parameter specifies whether or not the library list will be set to the original
value at the end of the process.
Run Process Interactive
Setting this value to <1> will make the Collector run operate interactively. This is
only done when debugging user programs that you have added to the Collector
process in the Collector Program Flow.
Use CA/400 (W95 and NT) to Transfer AWHOST to PC (DBCS)
Use this parameter when you use Client Access/400 (W95 and NT) to download
the AWHOST file to your PC (<1>=Yes, <0>=No). This parameter is only
available on DBCS systems.
CA/400 requires DBCS files (be transferred to a PC) to be created with the
option IGCDTA(*YES). Other file transfer utilities DO NOT require use of this
option.
Incorrect use of this option can result in an AWHOST file (on the PC) with the
incorrect "JIS"-code. The AWHOST will appear corrupt in the Developer.
<0> Specifies the Collector to ignore all occurrences of this record format.
<1> You may decide to include these record formats in the Collector run
only once, and omit all other occurrences by marking these record format
names as "1".
<2> Finally, there may be record formats, which will not be combined
with any other record format at runtime, even though the source would
suggest so. You could mark these record format names as <2>, which will
result in a separate picture for this record format. Typically this would be
the case for the record formats, looking like windows, but coded with
reversed blanks to show the borders instead of the WINDOW and
WDWBORDER keyword.
0003.00 A N61N62N63
0004.00 AA 64N65N66
0005.00 A N61N62N63
0006.00 AAN64N65 66
Marking indicator 63 as 1 would select the German text, thus showing the
German text when looking at pictures on PC. Although the English and Dutch
text are in the picture as well, they are "hidden" under the German text.
To choose the English text, indicator 64 would be marked with a 1. To choose the
Dutch text, the indicator 66 would be marked with a 1.
215
217
Note: A complete description of the purpose of each proposal can also be found
in the associated source member.
Collector Proposal Descriptions
All programs in the file <PROPOSALS> included with the Collector are listed
below.
Proposals listed here are grouped according to an AS/400 "element" of the
display files which you want to affect during the Collector process. A complete
description can be found in the associated source member.
Note: These proposals should be viewed as example programs you can model
your needs around. RPG knowledge is essential to actually inspect and
manipulate these proposals into your own Collector programs.
Each description includes the proposal name, program type, and at which
process phase it should be executed.
Handling of fields, messages and texts
Proposals can be used for changing attributes, etc. at the field-level. Examine
these proposals when interested in changing field (text-based) attributes such
static text into messages; messages into static text, and so on.
APPL011, RPG, Extract
This proposal examines source members for output fields and replaces the
output field with the related text. The name of the text file is hardcoded to
<F9220>. Output fields have names with the format VTXxxx and have a
three digit number, starting with 001. So, the first output field name is
VTX001. This proposal represents a specific manipulation and will require
modification for your use.
LIKEMSG, RPG, Combine
Use this proposal to specify all text fields are coded as messages
<MSGID>. This proposal can be used to create one set of language
independent panels (containing message references) which can refer to
externalized, translated literal message files for use in supporting various
national languages.
SCREENID, RPG, Combine
This program specifies screen title fields to become fixed text. Use this
program to improve the results of screen identification, particularly when
your application texts are coded as externalized <MSGIDs>. The program
searches for each occurrence of the I/O field <##PGM>, on row one,
position two, and when found, the program specifies field to be fixed text
(containing the first seven characters of the DSPF name.
219
221
223
225
227
SNGCHCFLD The field and literals will be passed simulating the enhanced
display *NO option.
SYSNAME The "system name" field is passed.
TEXT No action taken.
TIME The "time" field is passed.
UNLOCK No action taken.
USER The "user" field is passed.
USRDFN No action taken.
USRDSPMGT Unless stated otherwise the CLRL(*NO) is assumed for each
record format.
USRRSTDSP No action taken.
VALNUM No action taken.
VALUES No action taken.
VLDCMDKEY No action taken.
WDWBORDER The window borders (color, attributes and characters) are
passed.
WDWTITLE No action taken.
WINDOW The window size is passed. The record format is marked as "not
combine" capable.
WRDWRAP No action taken.
AWOBJD
SEACOL
.
.
.
.
AWOBJD
SEACOL
*LCL
Yes
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
:
:
:
:
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
:
:
:
:
1
Physical
01-11-97
Collector - objectdescriptions
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
:
:
:
:
:
QLIDOBJD
32E7BF3C24580
85
519
Object description
Buffer
Length
1
. . . .
6
. . . .
6
. . . .
10
. . . .
10
. . . .
8
. . . .
10
. . . .
1
. . . .
6
. . . .
50
. . . .
1
. . . .
1
. . . .
1
. . . .
6
. . . .
6
. . . .
10
. . . .
1
. . . .
6
. . . .
6
. . . .
10
. . . .
6
. . . .
2
. . . .
10
. . . .
6
. . . .
6
. . . .
6
. . . .
6
. . . .
6
. . . .
6
. . . .
6
. . . .
6
. . . .
6
. . . .
6
. . . .
1
. . . .
1
. . . .
6
Buffer
Position
1
. . . :
2
. . . :
8
. . . :
14
. . . :
24
. . . :
34
. . . :
42
. . . :
52
. . . :
53
. . . :
59
. . . :
109
. . . :
110
. . . :
111
. . . :
112
. . . :
118
. . . :
124
. . . :
134
. . . :
135
. . . :
141
. . . :
147
. . . :
157
. . . :
163
. . . :
165
. . . :
175
. . . :
181
. . . :
187
. . . :
193
. . . :
199
. . . :
205
. . . :
211
. . . :
217
. . . :
223
. . . :
229
. . . :
235
. . . :
236
. . . :
237
Field
Column
Usage
Heading
Both
Display century
Display century
Both
Display date
Display date: format- Job date format
Both
Display time
Display time
Both
Library
Library
Both
Object
Object
Both
Object type
Object type
Both
Object attribute
Object attribute
Both
Storage freed
Storage freed: 0-not freed,1-freed
Both
Object size
Object size
Both
Text description
Text description
Both
Object locked
Object locked: 0-not locked,1-locked
Both
Object damaged
Object damaged: 0-not damaged,1-damaged
Both
Creation century
Creation century
Both
Creation date
Creation date: format- mmddyy
Both
Creation time
Creation time
Both
Object owner
Object owner
Both
Save century
Save century
Both
Save date
Save date: format- mmddyy
Both
Save time
Save time
Both
Save command
Save command
Both
Saved size
Saved size
Both
Starting slot
Starting slot
Both
Save device
Save device
Both
Saved volume
Saved volume
Both
Saved volume
Saved volume
Both
Saved volume
Saved volume
Both
Saved volume
Saved volume
Both
Saved volume
Saved volume
Both
Saved volume
Saved volume
Both
Saved volume
Saved volume
Both
Saved volume
Saved volume
Both
Saved volume
Saved volume
Both
Saved volume
Saved volume
Both
More volumes
More volumes: 0-no more,1-more
Both
Restore century
Restore century
Both
Restore date
text . .
CHAR
text . .
CHAR
text . .
CHAR
text . .
CHAR
text . .
CHAR
text . .
CHAR
text . .
CHAR
text . .
CHAR
text . .
CHAR
text . .
CHAR
text . .
CHAR
text . .
CHAR
text . .
CHAR
text . .
CHAR
text . .
CHAR
text . .
CHAR
text . .
ZONED
text . .
CHAR
text . .
CHAR
text . .
CHAR
text . .
CHAR
text . .
CHAR
text . .
ZONED
text . .
CHAR
text . .
CHAR
text . .
CHAR
text . .
CHAR
text . .
CHAR
text . .
CHAR
text . .
CHAR
text . .
CHAR
text . .
PACKED
text . .
CHAR
text . .
CHAR
text . .
CHAR
text . .
CHAR
text . .
CHAR
text . .
CHAR
text . .
CHAR
text . .
CHAR
text . .
CHAR
text . .
CHAR
. . . . . .
6
. . . . . .
6
. . . . . .
10
. . . . . .
10
. . . . . .
10
. . . . . .
1
. . . . . .
6
. . . . . .
6
. . . . . .
7
. . . . . .
6
. . . . . .
8
. . . . . .
1
. . . . . .
7
. . . . . .
6
. . . . . .
5
. . . . . .
6
. . . . . .
4 0
. . . . . .
1
. . . . . .
6
. . . . . .
6
. . . . . .
10
. . . . . .
10
. . . . . .
2 0
. . . . . .
17
. . . . . .
7
. . . . . .
8
. . . . . .
10
. . . . . .
8
. . . . . .
1
. . . . . .
1
. . . . . .
6
. . . . . .
5 0
. . . . . .
1
. . . . . .
6
. . . . . .
2
. . . . . .
6
. . . . . .
6
. . . . . .
6
. . . . . .
1
. . . . . .
1
. . . . . .
1
. . . . . .
1
. . . .
6
. . . .
6
. . . .
10
. . . .
10
. . . .
10
. . . .
1
. . . .
6
. . . .
6
. . . .
7
. . . .
6
. . . .
8
. . . .
1
. . . .
7
. . . .
6
. . . .
5
. . . .
6
. . . .
4
. . . .
1
. . . .
6
. . . .
6
. . . .
10
. . . .
10
. . . .
2
. . . .
17
. . . .
7
. . . .
8
. . . .
10
. . . .
8
. . . .
1
. . . .
1
. . . .
6
. . . .
3
. . . .
1
. . . .
6
. . . .
2
. . . .
6
. . . .
6
. . . .
6
. . . .
1
. . . .
1
. . . .
1
. . . .
1
. . . :
243
. . . :
249
. . . :
255
. . . :
265
. . . :
275
. . . :
285
. . . :
286
. . . :
292
. . . :
298
. . . :
305
. . . :
311
. . . :
319
. . . :
320
. . . :
327
. . . :
333
. . . :
338
. . . :
344
. . . :
348
. . . :
349
. . . :
355
. . . :
361
. . . :
371
. . . :
381
. . . :
383
. . . :
400
. . . :
407
. . . :
415
. . . :
425
. . . :
433
. . . :
434
. . . :
435
. . . :
441
. . . :
444
. . . :
445
. . . :
451
. . . :
453
. . . :
459
. . . :
465
. . . :
471
. . . :
472
. . . :
473
. . . :
474
229
text . .
CHAR
text . .
CHAR
text . .
CHAR
text . .
CHAR
text . .
CHAR
text . .
PACKED
text . .
PACKED
text . .
. . . . . .
10
. . . . . .
1
. . . . . .
6
. . . . . .
6
. . . . . .
10
. . . . . .
10 0
. . . . . .
10 0
. . . . . .
. . . .
10
. . . .
1
. . . .
6
. . . .
6
. . . .
10
. . . .
6
. . . .
6
. . . .
. . . :
475
. . . :
485
. . . :
486
. . . :
492
. . . :
498
. . . :
508
. . . :
514
. . . :
Field Description
. . . :
. . . :
AWMB
SEACOL
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
:
:
:
:
:
:
:
:
AWMB
SEACOL
*LCL
Yes
1
Physical
01-11-97
Collector - memberlist to treat
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
:
:
:
:
:
QWHFDML
51852FE30C648
31
201
DSPFD format for TYPE *MBRLIST
Buffer
Position
1
. . . :
2
. . . :
8
. . . :
14
. . . :
24
. . . :
34
. . . :
35
. . . :
39
. . . :
42
. . . :
48
. . . :
56
. . . :
58
. . . :
62
. . . :
65
. . . :
75
. . . :
81
. . . :
87
. . . :
Field
Column
Usage
Heading
Both
Retrieval century
Retrieval century: 0=20th, 1=21st
Both
Retrieval date
Retrieval date: year/month/day
Both
Retrieval time
Retrieval time: hour/minute/second
Both
File
File
Both
Library
Library
Both
Type of file
P=PF, L=LF, R=DDM PF, S=DDM LF
Both
File attribute
File attribute: *PHY or *LGL
Both
Reserved
Reserved
Both
File attribute
File attribute: PF, LF, PF38, or LF38
Both
System name
System Name (Source System,if file DDM)
Both
ASP auxiliary storage pool ID
Auxiliary storage pool ID: 1=System ASP
Both
Reserved
Reserved
Both
Number of members
Number of members
Both
Member
Member
Both
Number of records
Current number of records
Both
Deleted records
Number of deleted records
Both
Data Space size
Data space and index size in bytes, -1 = See
93
Both
Source type
. . . : Source type for S/38 View as it appeared on
97
Both
Member creation century
. . . : Member creation century: 0=20th, 1=21st
98
Both
Member creation date
. . . : Member creation date: year/month/day
104
Both
Last change century
. . . : Last change century: 0=20th, 1=21st
CHAR
text . .
CHAR
text . .
CHAR
text . .
CHAR
text . .
CHAR
text . .
CHAR
text . .
PACKED
text . .
CHAR
text . .
CHAR
text . .
PACKED
text . .
6
. . . . . .
6
. . . . . .
50
. . . . . .
10
. . . . . .
1
. . . . . .
6
. . . . . .
5 0
. . . . . .
1
. . . . . .
6
. . . . . .
15 0
. . . . . .
6
. . . .
6
. . . .
50
. . . .
10
. . . .
1
. . . .
6
. . . .
3
. . . .
1
. . . .
6
. . . .
8
. . . .
105
. . . :
111
. . . :
117
. . . :
167
. . . :
177
. . . :
178
. . . :
184
. . . :
187
. . . :
188
. . . :
194
. . . :
Both
Last change date
Last change date: year/month/day
Both
Last change time
Last change time: hour/minute/second
Both
TEXT 'description'
Text 'description'
Both
Source type
Source type
Both
Last Used century
Last Used Century: 0=20th, 1=21st
Both
Last Used date
Last Used Date: year/month/day
Both
Days Used Count
Days Used Count
Both
Usage Data reset century
Usage Data Reset Century: 0=20th, 1=21st
Both
Usage Data reset date
Usage Data Reset Date: year/month/day
Both
Data Space size
Data space and index size in bytes
231
text . .
ZONED
text . .
CHAR
text . .
ZONED
text . .
ZONED
text . .
ZONED
text . .
CHAR
text . .
ZONED
text . .
ZONED
text . .
ZONED
text . .
CHAR
text . .
ZONED
text . .
ZONED
text . .
ZONED
text . .
CHAR
text . .
ZONED
text . .
ZONED
text . .
ZONED
text . .
CHAR
text . .
ZONED
text . .
ZONED
text . .
ZONED
text . .
CHAR
text . .
ZONED
text . .
ZONED
text . .
ZONED
text . .
CHAR
text . .
ZONED
text . .
ZONED
text . .
ZONED
text . .
. . . . . .
1 0
. . . . . .
10
. . . . . .
3 0
. . . . . .
3 0
. . . . . .
1 0
. . . . . .
10
. . . . . .
3 0
. . . . . .
3 0
. . . . . .
1 0
. . . . . .
10
. . . . . .
3 0
. . . . . .
3 0
. . . . . .
1 0
. . . . . .
10
. . . . . .
3 0
. . . . . .
3 0
. . . . . .
1 0
. . . . . .
10
. . . . . .
3 0
. . . . . .
3 0
. . . . . .
1 0
. . . . . .
10
. . . . . .
3 0
. . . . . .
3 0
. . . . . .
1 0
. . . . . .
10
. . . . . .
3 0
. . . . . .
3 0
. . . . . .
1 0
. . . . . .
. . . .
1
. . . .
10
. . . .
3
. . . .
3
. . . .
1
. . . .
10
. . . .
3
. . . .
3
. . . .
1
. . . .
10
. . . .
3
. . . .
3
. . . .
1
. . . .
10
. . . .
3
. . . .
3
. . . .
1
. . . .
10
. . . .
3
. . . .
3
. . . .
1
. . . .
10
. . . .
3
. . . .
3
. . . .
1
. . . .
10
. . . .
3
. . . .
3
. . . .
1
. . . .
. . . :
106
. . . :
107
. . . :
117
. . . :
120
. . . :
123
. . . :
124
. . . :
134
. . . :
137
. . . :
140
. . . :
141
. . . :
151
. . . :
154
. . . :
157
. . . :
158
. . . :
168
. . . :
171
. . . :
174
. . . :
175
. . . :
185
. . . :
188
. . . :
191
. . . :
192
. . . :
202
. . . :
205
. . . :
208
. . . :
209
. . . :
219
. . . :
222
. . . :
225
. . . :
Field Description
. . . :
. . . :
AWTXT
SEACOL
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
:
:
:
:
:
:
:
:
AWTXT
SEACOL
*LCL
Yes
1
Physical
01-11-97
Collector - single DDS-texts to PC
.
.
.
.
.
.
.
.
.
.
.
.
:
:
:
:
AWTREC
2BE3F0483EC39
22
442
1
Both
. . . : Library name
11
Both
LIBRAR
FILE
text . .
CHAR
text . .
ZONED
text . .
CHAR
text . .
ZONED
text . .
ZONED
text . .
CHAR
text . .
CHAR
text . .
ZONED
text . .
ZONED
text . .
ZONED
text . .
ZONED
text . .
ZONED
text . .
CHAR
text . .
CHAR
text . .
CHAR
text . .
CHAR
text . .
ZONED
text . .
ZONED
text . .
CHAR
text . .
ZONED
text . .
. . . . . .
10
. . . . . .
6 0
. . . . . .
10
. . . . . .
3 0
. . . . . .
3 0
. . . . . .
10
. . . . . .
1
. . . . . .
2 0
. . . . . .
5 0
. . . . . .
5 0
. . . . . .
2 0
. . . . . .
1 0
. . . . . .
80
. . . . . .
10
. . . . . .
20
. . . . . .
1
. . . . . .
1 0
. . . . . .
1 0
. . . . . .
250
. . . . . .
1 0
. . . . . .
. . . .
10
. . . .
6
. . . .
10
. . . .
3
. . . .
3
. . . .
10
. . . .
1
. . . .
2
. . . .
5
. . . .
5
. . . .
2
. . . .
1
. . . .
80
. . . .
10
. . . .
20
. . . .
1
. . . .
1
. . . .
1
. . . .
250
. . . .
1
. . . .
. . . :
21
. . . :
31
. . . :
37
. . . :
47
. . . :
50
. . . :
53
. . . :
63
. . . :
64
. . . :
66
. . . :
71
. . . :
76
. . . :
78
. . . :
79
. . . :
159
. . . :
169
. . . :
189
. . . :
190
. . . :
191
. . . :
192
. . . :
442
. . . :
AWHOST - Layout
========================================================================
S E A G U L L
B U S I N E S S
S O F T W A R E
C O L L E C T O R
F I L E
L A Y - O U T
V E R S I O N
0 0 0 0 0 0 0 5
R E C O R D
L E N G T H
=
3 1 4
B Y T E S
========================================================================
H O S T - F I L E
T O
S E N D
T O
P C
========================================================================
REF(SEACOL/AWREF)
R AWHREC
HSTFLD
R
REFFLD(HSTFLD)
========================================================================
DISPL
R AWHR00
001
AWHT00
R
REFFLD(RECTYP)
<00> = file header
003
AWNX00
R
REFFLD(RECTYP)
Record type of continuing record
<00> = no continuing record
005
AWHID0
R
REFFLD(LAYOUT)
Layout version <AWHOST> <00000005>
013
AWHDAT
R
REFFLD(CRTCDA)
Creation date C-YY-MM-DD
020
AWHTIM
R
REFFLD(CRTTIM)
Creation time HH-MM-SS
026
FILL01
16A
TEXT('FILLER')
042
AWSRLN
R
REFFLD(AWSRLN)
Serial number of AS/400 creating
050
AWCOMP
30A
TEXT('COMPANY NAME')
Company name (for future use)
080
AWHNR0
R
REFFLD(AWHREC)
Total number of records type 00
090
AWHNR1
R
REFFLD(AWHREC)
Total number of records type 01
100
AWHNR2
R
REFFLD(AWHREC)
Total number of records type 02
110
AWHNR3
R
REFFLD(AWHREC)
Total number of records type 03
120
AWHNR4
R
REFFLD(AWHREC)
233
AWHNR5
AWSLN3
134
AWELN3
137
AWOVL3
138
AWFMT4
148
AWSLN4
151
AWELN4
154
AWOVL4
155
AWFMT5
165
AWSLN5
168
AWELN5
171
AWOVL5
172
AWFMT6
182
AWSLN6
185
AWELN6
188
AWOVL6
189
AWFMT7
199
AWSLN7
202
AWELN7
205
AWOVL7
206
AWFMT8
216
AWSLN8
219
AWELN8
222
AWOVL8
223
AWWDW
224
AWWUPP
227
AWWLFT
230
AWWLOW
233
AWWRGT
236
AWWSIZ
239
AWWHGT
242
AWWCH3
250
AWWAT3
REFFLD(LINE)
Start row record format 3
REFFLD(LINE)
Last row record format 3
REFFLD(AWOVRL)
Overlay code record format 3
<0> = not, <1> = yes
REFFLD(FRMNAM)
Record format name 4
REFFLD(LINE)
Start row record format 4
REFFLD(LINE)
Last row record format 4
REFFLD(AWOVRL)
Overlay code record format 4
<0> = not, <1> = yes
REFFLD(FRMNAM)
Record format name 5
REFFLD(LINE)
Start row record format 5
REFFLD(LINE)
Last row record format 5
REFFLD(AWOVRL)
Overlay code record format 5
<0> = not, <1> = yes
REFFLD(FRMNAM)
Record format name 6
REFFLD(LINE)
Start row record format 6
REFFLD(LINE)
Last row record format 6
REFFLD(AWOVRL)
Overlay code record format 6
<0> = not, <1> = yes
REFFLD(FRMNAM)
Record format name 7
REFFLD(LINE)
Start row record format 7
REFFLD(LINE)
Last row record format 7
REFFLD(AWOVRL)
Overlay code record format 7
<0> = not, <1> = yes
REFFLD(FRMNAM)
Record format name 8
REFFLD(LINE)
Start row record format 8
REFFLD(LINE)
Last row record format 8
REFFLD(AWOVRL)
Overlay code record format 8
<0> = not, <1> = yes
REFFLD(AWWDW)
Record format is window
<0> = not
<1> = yes, fixed position
<2> = yes, variable position
REFFLD(BORDER)
Top border of window
<0> = variable top border
REFFLD(BORDER)
Left border of window
<0> = variable left window
REFFLD(BORDER)
Bottom border of window
REFFLD(BORDER)
Right border of window
REFFLD(DSPWID)
Width of window including borders
equals field <AWHSIZ> if no window
REFFLD(DSPHGT)
Heigth of window including borders
equals field <AWHHGT> if no window
REFFLD(AWWCHR)
Border characters of window
REFFLD(ATTRIB)
Attributes of border characters
<0> = not active
<1> = active
<2> = conditional active
byte 01 = color <BLACK>
byte 02 = color <BLUE>
byte 03 = color <BROWN>
byte 04 = color <GREEN>
235
237
AWHFLD
the Extract phase (in which they occur in the collection process).
The Prepare phase occurs first. The Extract phase occurs after the Prepare phase.
239
Meaning:
A compiled object was created based upon the source member member in
file1 in library1. Either this source member does not exist in file file1 in
library library1, or library library1 is not part of your library list. The
Collector has assumed that the source member member found in file file1
in library library2 can be used as a suitable substitute.
Action :
This can be a common and acceptable situation. In most cases the
substituted source will be correct. You could perform one of the following
actions :
- Add library library1 to your list of libraries if not already there. Re-run the
Collector.
- Ignore the message and continue, assuming that the substituted library
library2 contains the correct source member. Always verify this situation
when in doubt.
Message:
Object compiled using member in file1 in library1. Collector
assumes in file2 in library1/2
Meaning:
A compiled object was created based upon the source member in file1 in
library1. Either this source member does not exist in file1 in library1, or
library1 is not part of your library list. The Collector has assumed that the
source member member found in file2 in library library1/2 can be used as a
suitable substitute.
Action:
This can be a common and acceptable situation. In most cases the
substituted source will be correct. You could perform one of the following
actions :
- Add library library1 to your list of libraries if not already there. Re-run the
Collector.
- Ignore the message and continue, assuming that the substituted file file2 in
library library1/2 contains the correct source member. Always verify this
situation when in doubt.
Message:
Meaning:
A compiled DSPF object was created based upon the source member1 in
file1 in library1. Either this source member does not exist in file1 in library1,
or library1 is not part of your library list. The Collector has assumed that
the source member2 found in file2 in library1 (or in library2) can be used as a
suitable substitute.
This error can only occur for DSPF source members generated by
compiling a DSPF36 source.
Action:
This can be a common and acceptable situation. In most cases the
substituted source will be correct. You could perform one of the following
actions :
- Add library library1 to your list of libraries if not already there. Re-run the
Collector.
- Ignore the message and continue, assuming that the substituted file file2 in
library library1 (or in library library2) contains the correct source member.
Always verify this situation when in doubt.
Message: (Only applicable for source Collector)
Object object compiled using member member in file file in library
library Member member does not exist in file file in library library.
Check your list of libraries.
Meaning:
A compiled DSPF object was created based upon source member member in
file file in library library. Either library library is not part of your library list or
the library, file or member does not exist. The Collector could not find a
suitable substitute in one of the libraries in the library list.
Action:
This is an exceptional situation and should be resolved. The Collector
requires the source member and object to extract texts. The collector can
not extract screens without the corresponding source member. You should
perform one of the following actions :
- Add library library to your list of libraries if not already there. Re-run the
Collector.
241
- Compare the library list to the library list as used by the package to be
processed and make sure that all libraries are included. Correct any
inconsistencies and re-run the Collector.
- If no further action is taken then the source member will not be available
for processing.
Message: (Only applicable for source Collector)
Object object compiled using member member in file file in library
library Member member does not exist in file file in library library
Re-compile this member.
Meaning:
A compiled DSPF object was created based upon source member member in
file file in library library. Either library library is not part of your library list or
the library, file or member does not exist. The Collector found more than
one source member in the library list which could be used as a substitute
for the missing source member.
Action:
This can be a common and acceptable situation. The Collector cannot be
certain which of the source members will be used so requests that you
recompile the source member. This will update the source member
reference in the compiled object. You could perform one of the following
actions :
- Recompile the source member and re-run the Collector.
- If no further action is taken then the source member will not be available
for processing.
Message:
No text or field found in the libraries you have entered
Meaning:
Either not a single DSPF was found in your list of libraries, or DSPF
source members found were not treated due to one of the reasons
mentioned in the log report.
Action:
Check your library list or your log report.
Message:
Object in Use
Meaning:
or
Object object1 was encountered before in library library1.
Meaning:
A source member or object occurs more than once in your library list.
Action:
This can be a common and acceptable situation. The Collector assumes the
first occurrence is the most recent one.
Message:
Member has statements with duplicate or non-ascending
sequence numbers.
Meaning:
This is only a diagnostic message, indicating the source member has its
statement numbers in an unusual order.
Action:
You may decide to edit the source member in order to re-sequence the
statements on saving. This action will have no influence on the Collector.
Message:
Member has deleted records. Texts for this member are not
treated
Meaning:
243
Meaning:
The Collector cannot handle source members having <DSPF36> syntax.
Action:
You could perform one of the following actions :
- Re-compile the source member, thus creating its "native" DDS source
member as well. Re-run the Collector.
- Ignore the message and continue, no pictures will be generated for this
source member.
Message:
No associated <*MENU> object found in your library list.
Texts for this member are not treated
Meaning:
The Collector has encountered a source member of type <MNUDDS>
and can not find its object in your library list.
Action:
The Collector is not able to treat such a source member as it can not
distinguish its attributes like the presence of a key guidance and the form of
the command line.
You could perform one of the following actions :
- Re-compile the source member and re-run the Collector.
Meaning:
The Collector has encountered a source member of type <DSPF> and can
not find its object in your library list.
Action:
The Collector cannot handle such a source member as it can not
distinguish it attributes like (referenced) field lengths.
You could perform one of the following actions :
- Re-compile the source member and re-run the Collector.
- Ignore the message and continue, no pictures will be generated for this
source member.
Message:
Text found is too long, text is not extracted
Meaning:
The Collector encountered a text of more than 999 characters.
Action:
The Collector cannot handle texts of more than 999 characters.
You could perform one of the following actions :
- Split up the text in smaller parts.
- Ignore the message and continue, an incomplete picture will be generated
which should be processed manually.
Message:
Field length greater than 999, field is not extracted
Meaning:
The Collector encountered a field more than 999 characters.
Action:
Collector cannot handle fields of more than 999 characters.
You can only :
245
Meaning:
The Collector encountered a <MSGID>-keyword and can not distinguish
what message to use.
Action:
This can be a common and acceptable situation. This message is only
meant as information, there is no need to take any action.
Message:
Unknown keyword found, starting with ..
Meaning:
The Collector encountered a syntax error in the source member.
Action:
Check the source member
Message:
Unable to find valid syntax on ..
Meaning:
The Collector encountered a syntax error in the source member.
Action:
Check the source member
Message:
Unable to find referenced <WINDOW>
Meaning:
The Collector encountered a <WINDOW>-keyword referring to another
window, which on its turn cannot be found.
Action:
Check the source member
Message :
Meaning :
The Collector encountered the use of the keyword EDTCDE(5),
EDTCDE(6), EDTCDE(7), EDTCDE(8) or EDTCDE(9). The Collector
is able to determine the edited length of the field.
Action:
None.
Message :
Special edit code 5/6/7/8/9 used, edited length not found
in file <USREDT>
Meaning :
The Collector encountered the use of the keyword EDTCDE(5),
EDTCDE(6), EDTCDE(7), EDTCDE(8) or EDTCDE(9) but cannot
determine the edited length of the field.
Action:
You could perform one of the following actions :
- Add a record to the file <USREDT> and re-run the Collector.
- Ignore the message and continue, an incomplete picture will be generated
which should be processed manually.
Message :
Length of 1 assumed for REFFLD(......
Meaning :
The Collector encountered the use of the keyword <REFFLD>. The
Collector cannot determine the length of the field, as it is not in the I/Obuffer for the display file and can not be found in the referenced file
defined by the <REFFLD>-keyword.
Action:
Normally this message will only apply to the use of the keyword
<MSGID> together with the keyword <REFFLD>. MSGID's are not
part of the I/O-buffer.
You could perform one of the following actions :
- Inspect the <REFFLD>-keyword (and possibly the <REF>-keyword).
247
- If the referenced file is not qualified (i.e. no fixed library name is defined),
then add the library where the referenced file resides to your library list. Rerun the Collector.
- Set the length of the field in the source member (although a solution, this
is not preferred).
- Ignore the message and continue, an incomplete picture will be generated
which should be processed manually.
Message :
Unable to find message XXXXXXX in message file YYYYYYYYY
Meaning:
The Collector encountered the use of a message, but did not find the
messageID XXXXXXX in the message file YYYYYYYYYY.
Action:
You could perform one of the following actions :
- Inspect your source member (a wrong ID could be coded)
- Inspect your message file
- Ignore the message and continue, an incomplete picture will be generated
which should be processed manually.
Message:
Object in Use
Meaning:
The DSPF object (in object collect mode) was found to be in use. The
object is skipped.
Action:
It is likely the DSPF object is locked in use (by you or another user).
Release the DSPF object and re-collect.
First, the details for the Developer Panel and Terminal Editors are discussed.
Function description
Arrow keys
Alt+Z
Ctrl+B
Ctrl+C
Copy to Clipboard.
Ctrl+F
Ctrl+F2
Ctrl+F4
Ctrl+F5
Ctrl+I
Ctrl+M
Ctrl+O
Function description
Ctrl+P
Ctrl+PgDn
Ctrl+PgUp
Ctrl+R
Ctrl+T
Ctrl+V
Ctrl+X
Clipboard cut.
Ctrl+Shift+Tab
Ctrl+Tab
Ctrl+Arrow keys
Delete
Enter
F1
Shift+Arrow keys
Shift+Ctrl+Arrow keys
Function description
Function description
Alt+Z
Alt+Delete
Alt+Down Arrow
Alt+Left Arrow
Ctrl+!
Ctrl+@
Ctrl+#
Ctrl+$
Ctrl+A
Ctrl+B
Ctrl+C
Clipboard copy
Ctrl+D
Ctrl+Down Arrow
Ctrl+Enter
Ctrl+F
Ctrl+F2
Ctrl+F4
Ctrl+Ins
Ctrl+Insert
Ctrl+L
Function description
invoked.
Ctrl+Left Arrow
Ctrl+M
Ctrl+N
Ctrl+O
Ctrl+P
Ctrl+PgDn
Ctrl+PgUp
Ctrl+R
Ctrl+V
Ctrl+X
Ctrl+Z
Ctrl+Right Arrow
Ctrl+Shift+Down Arrow
Ctrl+Shift+Right Arrow
Ctrl+Up Arrow
Delete
Enter
F1
Function description
F12
F2
F3
F4
F5
F7
F8
F9
Space bar
Shift+A
Shift+B
Shift+C
Shift+Delete
Shift+E
Shift+F
Function description
invoked.
Shift+F2
Shift+F4
Shift+F5
Shift+G
Shift+Ins
Shift+Insert
Shift+L
Shift+M
Shift+N
Shift+O
Shift+P
Shift+R
Shift+S
Shift+T
Shift+Tab
Tab
@AAJWALK@
@AAGUI@
@AATTT@.
@BBJWALK@
@BBGUI@
@BBTTT@
(ANYx)
This construct of the (ANY) reserved word can be used with translation tables and
find/replace function. It is only used with the destination field and there should be
one
(ANYx) for every (ANY) field in the source. For example, if the source translation
value was:(ANY)123(ANY) and the destination translation value was:(ANY2)(ANY1),
then a string such as "ABC123DEF" would be translated to "DEFABC".
(BUTTON)
CON
PRN
Variable types: string, integer, long, single and double are supported.
Identifiers (or names) must start with a letter, and can be followed by letters,
digits or the underscore character. Names are case insensitive.
OIS string literals are characters enclosed in double quotes (" "). Literals can be of
maximum length 1024 characters but may be concatenated using the string
concatenation operator '&' to construct longer strings.
OIS supported variable types are
String
Variables of type string can contain zero or more single byte characters. The
amount of characters in the string (the string length) is only limited by the
memory of the system.
2.22507385850720e-308
Largest value
-/+ 1.79769313486231e+308
2.22044604925031e016
15 Digits
Assignment
Dim
End
Global
Gosub label
Goto label
Rem
Return
Conditional Loops
Assignment statement
Assignment statements assign an integer or string value to a variable. The value can be
derived from an expression.
variable = value
variable is the name of the variable that is being assigned a value
value is an integer or string expression
Dim statement
Define a variable declaration statement within a script (module scope). It is required
that all variables be declared before use.
Dim varname [,varname] As type
varname: required variable name begining with a letter. The remaining characters can
be made of letters, numbers or underscore. The maximum length for a variable name
is 40 characters.
type: required variable type. Values are integer, long, single, double and string.
End statement
Stops the execution of a script, even if there are statements following the End
statement.
End
For .. To .. Next statement
Executes a set of statements starting from an initial value and counting incrementally
to a limit.
For loopvar = expression1 To expression2 [Step n]
~
Exit For
loopvar is a required variable that is assigned a value (expression1) and this variable
is tested against a limit (expression2).
Step increments or decrements loopvar by n at the Next statement. By default, n
equals 1.
The statements are executed while one of these conditions are true:
Date
CDate
Time
TimeDiff
Wait
HostScreenSendkey
HostWaitForScreen
LoadTexts
OperatingSystem
PanelLoadPanel
PanelUpdateEnable
ScreenIdGet
Numeric functions
Abs
Val
String functions
Asc
Chr
InStr
Left
Len
LTrim
Mid
Right
RTrim
Str
Trim
Format function
Format
@ Function
Returns the contents of a host field or J Walk environment variable.
Syntax
@"@fieldname@"
Parameters
The host fieldname must also be between atsigns and given as a text. A valid host
field reference would be @"@FLD01@". This returns the contents of a host field
named FLD01. See Host Field Breakdown Technique for details about how values
can be extracted from repeating patterns (like function key assignments) in host field
values.
Abs Function
Returns the positive integer value of an input integer value.
Syntax
Dim number as integer
abs ( number )
Parameters
number is any integer value, positive or negative. The positive value of the integer is
returned.
Cdate Function
Returns the current system date in integer format YYYYMMDD.
Syntax
cdate ( )
Date Function
Returns the current system date in integer format YYMMDD.
Syntax
date ( )
HostWaitForScreen Function
Waits for a host screen from the supplied list, or until a time-out value is reached.
Syntax
Dim screenlist, screenfound as string
HostScreenSendKey Function
This function is used to send a function key or other control key to the AS/400. This
function could also be executed by the OIS function HostScreenPutString but it
would require that the ASCII value of the function key or other control key be
known. This function sends a function key value based upon the label for the function
key. For example, to emulator pressing the Enter key, the value "Enter" would be
used as a parameter for this function.
Syntax
Dim keylabel as string
hostscreensendkey ( keylabel )
Parameters
keylabel names one function key that will be sent to the AS/400. Valid values for
keylabel include:
"Left Tab", "Clear", "Delete", "Enter", "Erase EOF", "Help", "Insert", "Jump",
"Cursor Left", "New Line", "Space", "Print", "Reset", "Right Tab", "Cursor Up",
"Cursor Down", "DBCS", "Caps Lock", "Cursor Right", "Home", "F1"-"F24", "Plus
Key", "End", "Scroll Lock", "Num Lock", "Page Up", "Page Down", "PA1", "PA2",
"PA3", "Test", "Word Delete", "Field Exit", "Erase Input", "System Request", "Insert
Toggle", "Cursor Select", "Cursor Left Fast", "Get Cursor", "Locate Cursor",
"Attention", "Device Cancel", "Prt Pres. Space", "Cursor Up Fast", "Print (PC)",
"Hexadecimal", "Cmd Key", "Destructive Backspace", "Underscore", "White", "Red",
"Pink", "Green", "Yellow", "Blue", "Turquoise", "Reset Colors", "Go session 1", "Go
session 2", "Go session 3", "Go session 4", "Go session 5", "Field +", "Field -",
"Backspace", "Alt. Cursor", "Duplicate", "SO/SI display", "SO/SI creation",
"Attribute display", "Record Backspace", "Forward Word Tab", "Backward Word
Tab", "Reset Reverse Video", "Cursor to next word", "Vertical broken bar", "Cursor
Down Fast" and "Cursor Right Fast"
InStr Function
This function examines the contents of a string for a specified substring. If found, the
function returns the starting position of the substring within the string. If the
substring is not found, this function returns 0.
Syntax
Dim SourceString, SearchString as string
Dim StartPosition, ReturnCode as integer
ReturnCode = instr ( StartPosition, SourceString, SearchString )
Parameters
StartPosition identifies where to begin searching in the source string. The first
position in the string is 1, so this number should never be less than 1.
SourceString is the string that will be examined.
SearchString is the string that will be searched for.
ReturnCode. If the search string is found, the function returns the position in the
source string where the search string was found. So this value is always greater then 0
when the search string is found. The value is 0 if the search string is not found.
Left Function
Reads a specified number of characters from a string starting from the left most
character of the string. This function returns a string.
Syntax
Dim string1 as string
left ( string1, number )
Parameters
string1 is the text string being evaluated.
number is the number of characters to read from the left of the string1.
Len Function
Returns the number of characters in a string as an integer value.
Syntax
Dim string1 as string
len ( string1 )
Parameters
Ltrim Function
This function removes any spaces at the beginning the given string and returns the
resulting string.
Syntax
Dim SourceString, NewString as string
NewString = ltrim ( SourceString )
Parameters
SourceString is the string that will be examined.
NewString is the same as SourceString but with all beginning spaces removed.
Mid Function
Reads characters from the middle of a string and returns the characters as a string.
Syntax
Dim string1 as string
Dim start, length as integer
mid ( string1, start, length )
Parameters
string1 is the text string being evaluated.
start is an integer representing an offset in the string1. The number entered here
reflects the number of characters that will be (skipped starting from the left) before
reading characters.
length is the number of characters read from the string.
PanelUpdateEnable Function
This function controls when a panel and its fields are updated while navigating
through a script.
Syntax
Dim enable as integer
panelupdateenable ( enable )
Parameters
enable indicates if panel data entry should be enabled or disabled.
Right Function
Reads characters from the end of the string. This function returns a string value of the
characters read.
Syntax
Dim string1 as string
Dim length as integer
right ( string1, length )
Parameters
string1 is the text string being processed.
length represents the number of characters read from the right of the string.
Example
If string contained the text "This is a sample string", the function call right(string,
13) would return the value "sample string".
Rtrim Function
This function removes any spaces at the end of the given string and returns the
resulting string.
Syntax
Dim SourceString, NewString as string
NewString = rtrim ( SourceString )
Parameters
SourceString is the string that will be examined.
NewString is the same as SourceString but with all ending spaces removed.
ScreenIdGet Function
Returns a string containing the name of the current host screen.
Syntax
screenidget ( )
Str Function
Returns a string containing the digits of the given number as characters.
Syntax
Dim number as integer
str ( number )
Parameter
number is the integer value that is transformed to a string.
Example
If the number has the value 123, the value of str ( number ) is "123".
Time Function
Returns the current system time. The time value is returned as an integer with the
format HHMMSS.
Syntax
time ( )
TimeDiff Function
Returns the time difference between two times. The returned value is in number of
seconds.
Syntax
Dim start, end as integer
timediff ( start, end )
Parameters
start is the beginning time used in the calculation.
end is the ending time used in the calculation.
The start time is subtracted from the end time ( e.g. end - start ).
Trim Function
This function removes any spaces at the beginning and end the given string and
returns the resulting string.
Syntax
Dim SourceString, NewString as string
Val Function
Returns an integer for a string containing digits as characters. For example, a string
with the value "123" would be returned as an integer with the value 123.
Syntax
Dim string1 as string
val ( "string1" )
Parameters
string1 can be a variable or value.
Note: The VAL() function is NOT "country aware," so taking the VAL() of a string
that includes a decimal, comma or thousand separator will only return the integer
value up to the first comma.
Example:
VAL("123,45") returns 123;
Wait Function
Prevents the Client screen and panel from accepting input for a given number of
seconds.
Syntax
Dim delay as integer
wait ( delay )
Parameter
delay is the number of seconds the user must wait.
FieldPut
Before a value is sent to the host, a FieldPut message is sent providing a "hook" to
call a DLL function to modify the value.
FieldGet
Before a value is diplayed on a panel field, a FieldGet message is sent providing a
"hook" to call a DLL function to modify the value.
At the touch of a button (or other valid trigger), specify all values to be displayed
UPPERCASE (based on your DLL). Or toggle between local monetary values (for
example, Dutch Gulden) and the new Euro Dollar (by simply writing your own
converter DLL)! Support your field operations with lookup capabilities (from a host
value to a more specific database value).
Note: If you chose to work with (edit) a converted value(s), it is most likely you
should develop your conversion DLL to convert to your new value and convert back
to the provious value. In this way, no erroneous interpretation of your converted data
will occur.
Implement whatever field formatting techniques you need in conjunction with the
field value.
A "piece" of a complete DLL function is provided to review handling both field
events. This DLL performs multiplication or division by two based on the FieldPut
event trigger. See the example for details.
The FieldGet message and the FieldPut message provide the complete cycle from
the host field and back to it.
ActiveX
Other examples.
You can explore the CAR DEMO while using Developer. This example provides
resources for an entire project.
ActiveX examples are delivered into to subdirectories OIS/CURCALC and
OIS/USERWIN. These folders contain source files, INI files and executables
pertaining to a simple calculation function and userwindow function.
C++ and Visual Basic Examples do not include compiled (.EXE) files. To
demonstrate these examples, you must have the complete programming environment
on your PC.
Note: All example functions can be used with the CARDEMO application.
Several small example applications are included with these resources.
OIS example for C++ An OIS test program (requiring C++). This example
is designed to test all the J Walk OIS desktop functions. To examine the C++
components, you must install a C++ environment and the included resource
files.
Note: The resource directory must be created; see the notes.txt file installed
with this example.
Called functions are categorized as follows:
Main
Host
DDE
MultiMedia
Panel
Script
and Other.
The "Auto test" button launches all the functions with only one button click.
OIS example for Visual Basic A small OIS application (requiring Visual Basic
v4.0+). This application works "as is." If you want to examine components,
you must have Visual Basic available. The OIS subdirectories
"OIS/CURCALC and OIS/USERWIN" contain useful functions you might
want to use with Visual basic.
OIS for Java Program from your Java Application environment (JDK1.1) or
from a J Walk Java Client. Included within the "OIS" directory are resources to
review and use when programming a Java Client (includes Index.html document
of all supported methods and examples).
' WeekEnd !!
Next ii
End If
Else
If dayOfTheWeek = 0 Then
dayName = "Unknown"
Else
If dayOfTheWeek <> Abs(dayOfTheWeek) Then
dayName = "Error : Daynumber < 0"
Else
dayName = "Error in script"
End If
End If
End If
If Left(dayName,len("Error")) = "Error" Then
iconStyle = 1 ' Error icon
Else
iconStyle = 4 'Information Icon
End If
buttonStyle
' < 0
Note: Changing the focus to another field does not represent a trigger (state change)
that can be used within the Windows Client. The trigger must be a button press or
menu launch. Additionally, the changing (opening or closing) of a panel does
represent a trigger for calling an OIS object.
Follow these steps to perform this activity.
2.
3.
use of the Developer to embed the OIS object Java Call into your panel
as well as a full J Walk Server Installation in order to test and use the calls.
In the J Walk Developer create a new OIS object (J Walk Java Call).
2.
3.
Select the panel object (control) and attach your object to it (a button, for
example).
4.
Develop your Java class and give it the name you entered by the filename in the
OIS Object. Make your class part of the package OIS (so it is placed in the OIS
directory of the J Walk Java Client) and let the class implement the
JWalkFieldListener interface:
package ois;
public class MyOISObject implements JWalkFieldListener.
5.
Test it.
ChangeSession
Change the emulator session connection.
Script
Dim SessionID as string
ChangeSession ( SessionID )
FileCreate
This function creates a file that you can use to write a log file.
API
#include "gf.h"
#include "apifile.h"
int GFS__Export GfApiFileCreate (
GF_ApiHand api_hand,
const GF_Char GFS__Far* name_p );
ActiveX
Subroutine: FileCreate (name As String)
Parameters
api_hand: names the application. The file type is set equal to the default file type of
this application.
name: specifies the name of the file that is being created.
FileStringAppend
This function appends a string to the end of a file.
API
#include "gf.h"
#include "apifile.h"
int GFS__Export GfApiFileStringAppend (
GF_ApiHand api_hand,
const GF_Char GFS__Far* name_p,
const GF_Char GFS__Far* string_p );
ActiveX
Subroutine: FileStringAppend (file_name As String, string As String)
Parameters
DdeInitiate
Opens a DDE link between a Client session and another application. This function
must be executed first before any of the other DDE functions can be executed.
API
#include "gf.h"
#include "apidde.h"
int GFS_Export GfApiDdeInitiate (
GF_ApiHand api_hand,
GF_Char GFS__Far* server_p,
GF_Char GFS__Far* topic_p,
GF_Int dde_hand );
Script
Dim server, topic as string
Dim dde_hand as integer
dde_hand = DdeInitiate ( server, topic )
ActiveX
Function: DdeInitiate (server As String, topic As String) As Long
Parameter
api_hand: references the Client session
server: names the application with which the Client session will attempt to establish a
DDE link.
topic: indicates which instance of the application should be used for the DDE link.
DdeExecute
Request a DDE linked application to execute a command.
API
#include "gf.h"
#include "apidde.h"
int GFS_Export GfApiDdeExecute (
GF_ApiHand api_hand,
GF_Int dde_hand,
GF_Char GFS__Far* command_p );
Script
Dim dde_hand as integer
Dim command as string
DdeExecute ( dde_hand, command )
ActiveX
Subroutine: DdeExecute (dde_hand As Long, command As String)
Parameters
api_hand: references the Client session
dde_hand: references the already established DDE link.
command: points to a list of DDE commands
Comments
This function will not properly execute until a DDE link is established using
DdeInitiate.
DdePoke
This function places a Client session data value into a specific location of the linked
DDE application instance. For example, a poke function would place a screen field or
panel field value into the cell (location) of an Excel spreadsheet (application instance).
API
#include "gf.h"
#include "apidde.h"
int GFS_Export GfApiDdePoke (
GF_ApiHand api_hand,
GF_Int dde_hand,
GF_Char GFS__Far* item_p,
GF_Char GFS__Far* value_p );
Script
Dim dde_hand as integer
Dim item, value as string
DdePoke ( dde_hand, item, value )
ActiveX
Subroutine: DdePoke (dde_hand As Long, item As String, value As String)
Parameters
api_hand: references the Client session
dde_hand: references the already established DDE link.
item: points to the location in the linked application.
value: contains the value that will be placed in the item.
Comments
This function will not properly execute until a DDE link is established using
DdeInitiate.
DdeRequest
This function extracts data from a specific location of a DDE linked application.
API
#include "gf.h"
DdeTerminate
This function closes an open DDE link.
API
#include "gf.h"
#include "apidde.h"
int GFS_Export GfApiDdeTerminate (
EventNameGet
This function returns a string name for a Client session event, given the event code
value.
API
#include "gf.h"
#include "apievent.h"
int GFS__Export GfApiEventNameGet (
GF_ApiHand api_hand,
enum GF_EventCode event_code,
GF_Char GFS__Far buffer_p[GF_EVENT_NAME_BUFFER_LENGTH],
int buffer_length );
Parameters
api_hand: references the Client session.
event_code: indicates the type of event.
buffer: contains the corresponding Client session event name.
buffer_length: indicates the maximum size of the buffer.
See Also
HostCursorGet
Gets the current host screen cursor position. The upper left hand corner of the screen
is the starting position and has the value (1, 1).
API
#include "gf.h"
#include "apihost.h"
int GFS__Export GfApiHostCursorGet (
GF_ApiHand api_hand,
int GFS__Far* row_p,
int GFS__Far* column_p );
Script
Dim row, column as integer
HostCursorGet (row, column )
DDE
Item: HostCursorGet ( )
Returns: row, column
Java
public synchronized Point hostCursorGet ()
ActiveX
Subroutine: HostCursorGet (row As Long, column As Long)
Parameters
api_hand: references the Client session
row: is the vertical coordinate of cursor. For [80x24] size screens, the value will be
between 1 and 24. For [132x27] size screens, the value will be between 1 and 27
column: is the horizontal coordinate of cursor. For [80x24] size screen, the value will
be between 1 and 80. For [132x27] size screens, the value will be between 1 and 132
HostCursorPut
This function sets the host screen cursor position based upon given coordinates.
API
#include "gf.h"
#include "apihost.h"
int GFS__Export GfApiHostCursorPut (
GF_ApiHand api_hand,
int row,
int column );
Script
Dim row, columns as integer
HostCursorPut ( row, column )
DDE
Item: HostCursorPut ( row, column )
Java
public synchronized int hostCursorPut (Point hostCursor)
ActiveX
Subroutine: HostCursorPut (row As Long, column As Long)
Parameters
api_hand: references the Client session
row: is the vertical coordinate of cursor. For[80x24] size screens, the value will be
between 1 and 24. For [132x27] size screens, the value will be between 1 and 27
column: is the horizontal coordinate of cursor. For [80x24] size screen, the value will
be between 1 and 80. For [132x27] size screens, the value will be between 1 and 132
hostCursor: is the new position of the host cursor.
Comments
This function moves the cursor on the host screen to those given by the row and
column coordinates. It is only permitted to position the cursor on the operator
interface (OIA) line when there is a message showing on that line.
GF_ERROR_OIA_NO_MESSAGE is returned when the specified row is the OIA
row but there is no message on the OIA row.
HostDimensionsGet
This function reads the screen size of the host session. There are two possible
dimensions, [24 x 80] or [27 x 132]. An extra row can be added if there is a standard
message line (on row 25 or 28, respectively). When there is a standard message line,
error_oia will be set non-zero.
API
#include "gf.h"
#include "apihost.h"
int GFS__Export GfApiHostDimensionsGet (
GF_ApiHand api_hand,
int GFS__Far* height_p,
int GSF__Far* width_p,
int GSF__Far* error_oia_p);
Script
Dim height, width, error_oia as integer
HostDimensionsGet ( height, width, error_oia )
DDE
Item: HostDimensionsGet ( )
Returns: height, width, error_oia
Java
public synchronized Dimension hostDimensionsGet ()
ActiveX
Subroutine: HostDimensionsGet (heigth As Long, width As Long)
Parameters
api_hand: references the Client session.
height: contains the number of vertical lines in the screen.
width: contains the number of horizontal columns in the screen.
error_oia is non-zero if there is a message in the OIA line.
HostFieldGetData
This function reads the contents of a named host field and places it in a data buffer.
Hidden host fields cannot be accessed by this function.
API
#include "gf.h"
#include "apihost.h"
int GFS__Export GfApiHostFieldGetData (
GF_ApiHand api_hand,
GF_Char GFS__Far* name_p,
GF_HostFieldData GFS__Far* field_data_p,
GF_Char GFS__Far* buffer_p,
int buffer_length);
Script
Dim name, buffer as string
HostFieldGetData ( name, buffer )
DDE
Item: HostFieldGetData ( name )
Returns: buffer
Java
public synchronized String hostFieldGetData (String hostFieldName)
ActiveX
Function: HostFieldGetData (name As String) As String
Parameters
api_hand: references the Client session.
name: references the host field.
field_data: returns the field properties of the named host field. This parameter is only
available as an API function call and has the following definition:
typedef struct GF_HostFieldData
{
char dataFieldDisabled; flag indicating if field disabled
HostFieldGetProp
Reads the field properties of the named host field.
Script
Dim name as string
Dim property, value as integer
HostFieldGetProp ( name, property, value )
DDE
Item: HostFieldGetProp ( name, property )
Returns: value
Java
public synchronized int hostFieldGetProp (String hostFieldName, int
property)
ActiveX
Function: HostFieldGetProp (name As String, property) As Long
Parameters
name: references the host field.
hostFieldName: is the field ID of the host field.
HostFieldPutData
This function places the contents of the buffer into the host field on the screen.
API
#include "gf.h"
#include "apihost.h"
int GFS__Export GfApiHostFieldPutData (
GF_ApiHand api_hand,
GF_Char GFS__Far* name_p,
int line,
GF_Char GFS__Far* buffer_p,
int buffer_length);
Script
Dim name, buffer as string
Dim line as integer
HostFieldPutData ( name, line, buffer )
DDE
Item: HostFieldPutData ( name, line, buffer )
Java
ActiveX
Subroutine: HostFieldPutData (name As String, line As Long, buffer As
String)
Parameters
api_hand: references the Client session.
name: references the host field.
hostFieldName: is the field ID of the host field.
hostFieldData: is the new contents.
line: if the host field spans multiple line, this references the line number (starting with
0) that should be updated.
buffer: is the storage area holding the new field value.
buffer_length: indicates the length of the buffer.
HostScreenGetLine
This function copies a line from the host screen and places it in a buffer. It is possible
to copy the OIA line but only if there is a message displayed.
API
#include "gf.h"
#include "apihost.h"
int GFS__Export GfApiHostScreenGetLine (
GF_ApiHand api_hand,
int row,
GF_Char GFS__Far* buffer_p,
int buffer_length );
Script
Dim row as integer
Dim buffer as string
HostScreenGetLine (row, buffer )
DDE
HostScreenGetRaw
This function gets any characters from the host screen and places them in a data
buffer. This function differs from HostScreenGetString in that this function will get
any characters from the screen, even non-display characters, such as passwords.
API
#include "gf.h"
#include "apihost.h"
int GFS__Export GfApiHostScreenGetRaw (
GF_ApiHand api_hand,
int row,
int column,
int data_length,
GF_Char GFS__Far* buffer_p,
int buffer_length );
Script
Dim row, column, data_length as integer
Dim buffer as string
HostScreenGetRaw ( row, column, data_length, buffer )
ActiveX
Function: HostScreenGetRaw (row As Long, column As Long, data_length As
Long) As String
Parameters
api_hand: references the Client session
row: is the vertical coordinate of cursor. For[80x24] size screens, the value will be
between 1 and 24. For [132x27] size screens, the value will be between 1 and 27
column: is the horizontal coordinate of cursor. For [80x24] size screen, the value will
be between 1 and 80. For [132x27] size screens, the value will be between 1 and 132
hostPos: specifies the start position on the host screen
data_length: indicates the number of characters to copy
length: specifies the length of requested contents
buffer: names where the result will be stored
buffer_length: indicates the maximum number of characters that can be placed into
buffer.
Comments
Note: This function does not operate with the Communications Manager emulator.
HostScreenGetRect
Reads an area on the host screen and returns the area as a string.
API
#include "gf.h"
#include "apihost.h"
int GFS__Export GfApiHostScreenGetRect (
GF_ApiHand api_hand,
int row,
HostScreenGetString
This function copies a string of characters from the host screen based upon their
location on the screen. It is possible to span multiple host fields.
API
int GFS__Export GfApiHostScreenGetString (
GF_ApiHand api_hand,
int row,
int column,
int data_length,
GF_Char GFS__Far* buffer_p,
int buf_len );
Script
Dim row, column, data_length as integer
Dim buffer as string
HostScreenGetString (row, column, data_length, buffer)
DDE
Item: HostScreenGetString ( row, column, data_length )
Returns: buffer
Java
public synchronized String hostScreenGetString (Point hostPos, int
length)
Parameters
api_hand: references the Client session.
row: is the vertical coordinate of cursor. For[80x24] size screens, the value will be
between 1 and 24. For [132x27] size screens, the value will be between 1 and 27
column: is the horizontal coordinate of cursor. For [80x24] size screen, the value will
be between 1 and 80. For [132x27] size screens, the value will be between 1 and 132
HostScreenPutString
This function places characters on the host screen based upon the current position of
the cursor. The string may contain characters and function key break sequences. The
string is interpreted character for character by the AS/400 until the end of the string is
reached or an error occurs.
API
#include "gf.h"
#include "apihost.h"
int GFS__Export GfApiHostScreenPutString (
GF_ApiHand api_hand,
GF_Char GFS__Far* buffer_p );
Script
Dim buffer as string
HostScreenPutString ( buffer )
DDE
Item: HostScreenPutString ( buffer )
Java
public synchronized int hostScreenPutString (String hostString)
Sets characters on the host screen based upon the current position of the cursor.
ActiveX
Subroutine: HostScreenPutString (buffer As String)
Parameters
api_hand: references the Client session.
buffer: references the characters to be processed by the host.
hostString: specifies the characters to be processed by the host.
HostSessionQueryStatus
This function queries the status of the host session.
The status is returned in the second argument of the function call. The global ERR
variable is set to the raised error condition (0=no error).
API
#include "gf.h"
#include "apihost.h"
int GFS__Export GfApiHostSessionQueryStatus (
GF_ApiHand api_hand,
int GFS__Far* status_p,
int delay );
Script
Dim delay, status as integer
HostSessionQueryStatus ( delay, status )
DDE
Item: HostSessionQueryStatus ( delay )
Returns: status
Java
public synchronized int hostSessionQueryStatus (Boolean delay)
MainSessionConnect
Connects to a J Walk Client Environment session and returns an API handle. This
function is only suitable as an API function. DDE calls and scripts make the
connection automatically.
API
#include "gf.h"
#include "apimain.h"
int GFS__Export GfApiMainSessionConnect (
GF_Char session_id,
GF_Char GFS__Far* app_name_p,
unsigned long capability_bits,
enum GF_ConnectMode connect_mode,
GFS_WinHand hwnd
GFS_Anchor hab,
GF_ApiHand GFS__Far* api_hand );
Parameters
session_id: identifies the specific Client session to use when establishing a
connection with another application. This is a value between 'A' and 'Y' where the first
session is 'A', the second session is 'B', and so on.
app_name_p: names the application that the Client session will be communicating
with. This parameter is only necessary when you want to send messages using the
MsgWinmsgSend function.
capatibility_bits: in combination with app_name are used to control which messages
are sent to this DLL. Each Client session that supports at least the same capability bit
value will receive the message issued with the MsgWinmsgSend call.
In most cases, you will not want to use this mechanism and it is best to set this
parameter to the value 0xFFFFFFFF.
connect_mode: specifies if a link will be established with one Client session or
multiple sessions.
The parameter connect_mode defines how the function should attach to the Client
session(s). If the value of connect_mode is GF_CONNECT_API, then the
application or DLL connects to the first available Client session.
A value of GF_CONNECT_LOCKED will connect to a specific Client session. In
this mode, all OIS API functions may be used. Note that only one application may
connect to a Client session.
Note: It is not recommended to keep a locked connection for longer than necessary
as this could lock other applications out.
A value of GF_CONNECT_DLL will connect to a specific session and allows
multiple applications to connect to it.
Hwnd: is the handle of an optional window to receive messages and event messages
using MsgEventRequest.
Hab: indicates the instance of the calling application (named by app_name).
api_hand: is a pointer to the connection handle. This handle should be passed on all
subsequent API calls.
MainSessionDisconnect
This function disconnects an API connection.
API
MainSessionGetId
This function gets the Windows session identification letter. This function is used in
GF_CONNECT_DLL mode.
API
#include "gf.h"
#include "apimain.h"
int GFS__Export GfApiMainSessionGetId (
GF_ApiHand api_hand,
GF_Char GFS__Far* session_id_p );
ActiveX
Function: MainSessionGetId ()As GF_SessionID
Parameters
api_hand: specifies the connection.
session_id.: When a J Walk Windows Client function calls an open DLL due to this
being specified in an object belonging to the active panel (Developer definition), then
that DLL can use this function to ask which session called it.
MainSessionGetWinHand
This function gets the window handle of the specified session's parent.
API
#include "gf.h"
#include "apimain.h"
int GFS__Export GfApiMainSessionGetWinhand (
MainSessionTerminate
Closes a Client session.
API
#include "gf.h"
#include "apimain.h"
int GFS__Export GfApiMainSessionTerminate (
GF_ApiHand api_hand,
GF_Bool user_ask );
Script
Dim user_ask as integer
SessionTerminate ( user_ask )
DDE
Item: SessionTerminate ( user_ask )
ActiveX
Subroutine: MainSessionTerminate (user_ask As Boolean)
Parameters
api_hand: references the Client session to close.
user_ask: indicates if the user should confirm before closing the Client session.
0 = close session without displaying confirmation message
1 = display confirmation and only close the session if the user presses the OK push
button.
MainWindowSetMode
This function modifies the display state of the main application window. It does not
set the state of popups.
API
#include "gf.h"
#include "apimain.h"
int GFS__Export GfApiMainWindowSetMode (
GF_ApiHand api_hand,
enum GF_WinMode win_mode );
Script
Dim win_mode as integer
WindowSetMode ( win_mode )
DDE
MainWindowSetMode ( win_mode )
ActiveX
Subroutine: MainWindowSetMode (win_mode As GF_WinMode)
Parameters
api_hand: names the Client session window
win_mode: names the window mode that the session will be placed in. A Client
session can be placed in the following window views:
Messagebox
Displays a standard message box as a graphical panel. This function returns the value
of the selected push button.
API
#include "gf.h"
MmPause
Stops a multimedia object from playing and keeps a pointer to the current location in
the playing sequence. Executing this function a second time on the same multimedia
object starts playing from the paused position.
API
#include "gf.h"
#include "apimm.h"
int GFS__Export GfApiMmPause (
GF_ApiHand api_hand,
GF_Char GFS__Far* alias_p);
MmPlay
Opens a multimedia object if it is not already open and starts playing the object from
the beginning.
API
#include "gf.h"
#include "apimm.h"
int GFS__Export GfApiMmPlay (
GF_ApiHand api_hand,
GF_Char GFS__Far* file_p,
GF_Char GFS__Far* alias_p,
GF_Char GFS__Far* param_p);
Script
Dim file, alias, parameter as string
MmPlay ( file, alias, parameter )
DDE
MmPlay ( file, alias, parameter )
MmSkipNext
This function is used on multimedia objects that contain more than one element that
can be played, for example, a musical CD with various songs. This function skips the
current element and begins playing the next element.
API
#include "gf.h"
#include "apimm.h"
int GFS__Export GfApiMmSkipNext (
GF_ApiHand api_hand,
GF_Char GFS__Far* alias_p);
Script
Dim alias as string
MmSkipNext ( alias )
DDE
MmSkipNext ( alias )
ActiveX
MmSkipPrev
This function is used on multimedia objects that contain more than one element that
can be played, for example, a musical CD with various songs. This function skips the
current element and begins playing the previous element.
API
#include "gf.h"
#include "apimm.h"
int GFS__Export GfApiMmSkipPrev (
GF_ApiHand api_hand,
GF_Char GFS__Far* alias_p);
Script
Dim alias as string
MmSkipPrev ( alias )
DDE
MmSkipPrev ( alias )
ActiveX
Subroutine: MmSkipPrev (alias As String)
Parameters
api_hand: names the Client session window
alias: names this multimedia object.
Comments
This function must be called after MmPlay.
This function only works for track oriented devices like a CD-ROM player.
MmStop
This function stops and closes a multimedia object.
API
#include "gf.h"
#include "apimm.h"
int GFS__Export GfApiMmStop (
GF_ApiHand api_hand,
GF_Char GFS__Far* alias_p);
Script
Dim alias as string
MmStop ( alias )
DDE
MmStop ( alias )
ActiveX
Subroutine: MmStop (alias As String)
Parameters
api_hand: names the Client session window
alias: names the multimedia object.
MsgEventRequest
This function requests notification when something occurs in a Client session.
API
#include "gf.h"
#include "apimsg.h"
int GFS__Export GfApiMsgEventRequest (
GF_ApiHand api_hand,
MsgWinmsgSend
This function is designed to be used by a function in a DLL that is called as a result of
procedure being activated from a Client panel. It allows this DLL to either Send or
Post a message to an application that was designed to work together with a Client
session.
When the message is posted, then a zero error code only indicates that the application
could be posted. When the message is sent or posted to applications connected to the
API, then it can occur that more than one application returns a zero error code.
API
#include "gf.h"
#include "apimsg.h"
int GFS__Export GfApiMsgWinmsgSend (
GF_ApiHand api_hand,
enum GF_MsgSendMode send_mode,
GFS_WinMsg win_msg,
GFS_WinParam2 win_param2,
GF_Char GFS__Far* app_name_p,
PanelButtonClick
Executing this function has the same effect as clicking on push buttons, notebook
pages (sub windows) and menu entries using the left mouse button.
API
#include "gf.h"
Executing this method has the same effect as clicking on the specified button.
ActiveX
Subroutine: PanelButtonClick (button_name As String)
Parameters
api_hand: references the name of the Client session
button_name: indicates the button on the panel that should be clicked. This function
cannot access a push button without a field ID.
panelFieldName: specifies the field ID of the button to be clicked.
PanelFieldGetData
This function reads the value held in a named panel field and places it into a buffer.
The length of the panel field cannot exceed the size of the buffer. If it does, the
contents will be truncated.
This function also returns information about the panel field's definition which is
stored in a pre-defined data structure. When the length of the buffer is set to zero (0),
only the field definition information is returned by this function.
Note: When applying this function over checkboxes and radiobuttons, the function
returns the evaluated value. This can be handy when you use the hostfield break
down technique in the selected or unselected value definition.
API
#include "gf.h"
PanelFieldGetProp
Reads the field properties of the named panel field.
Script
Dim name as string
Dim property, value as integer
PanelFieldGetProp ( name, property, value )
DDE
Item: PanelFieldGetProp ( name, property )
Returns: value
Java
public synchronized int panelFieldGetProp (String panelFieldName, int
property)
Returns the value of the requested property of the named panel field.
ActiveX
Function: PanelFieldGetProp (name As String, property As
GF_FieldProperty) As Long
Parameters
name: references the panel field.
panelFieldName: specifies the panel field ID.
PanelFieldlistGetData
This function reads the field values from the panel for a given list of field values.
API
#include "gf.h"
#include "apipan.h"
int GFS__Export GfApiPanelFieldlistGetData (
GF_ApiHand api_hand,
GF_Char GFS__Far* name_p,
GF_Char GFS__Far* buffer_p,
int buffer_length );
DDE
Item: PanelFieldlistGetData ( name )
Returns: buffer
Java
public synchronized String panelFieldlistGetData (String
panelFieldName_list)
PanelFieldPutData
This function places the contents of a data buffer into a panel field. If the panel field
has multiple lines, then the specific line where the data should be placed in the panel
field is significant parameter. The first line of the panel field is numbered 0.
Note: In using this function on checkboxes and radiobuttons, the value you set must
match the value which which is defined in the checkbox / radiobutton definition as
the selected or unselected value.
API
#include "gf.h"
#include "apipan.h"
int GFS__Export GfApiPanelFieldPutData (
GF_ApiHand api_hand,
GF_Char GFS__Far* name_p,
int line,
GF_Char GFS__Far* buffer_p,
int buffer_length );
Script
Dim name, buffer as string
Parameters
api_hand: references the Client session.
name: points to the panel field that will be updated.
panelFieldName: specifies the panel field ID.
line: points to the line of a multi-line panel field that will be updated (if the panel field
spans multiple lines, this contains the line (starting with 0) that should be updated.
buffer: contains the new contents of the panel field
buffer_length: indicates the maximum number of characters of the buffer that will be
copied to the panel field.
panelFieldData: specifies the new contents.
PanelNameGet
This function returns the name of the application, name, or panel field that has focus.
The name returned is based upon the number entered in the name parameter.
API
#include "gf.h"
#include "apipan.h"
int GFS__Export GfApiPanelNameGet (
GF_apiHand api_hand,
enum GF_Name name,
GF_Char GFS__Far* buffer_p,
Requests the name of the application, name, or panel field that has focus.
ActiveX
Function: PanelNameGet (name As GF_NameType) As String
Parameters
api_hand: references the name of the Client session.
nameType: specifies the type of information that should be read (see name for
variable settings).
name: indicates the type of information that should be read. The name parameter can
have the following values:
GF_NAME_PRODUCER=1 (package producer)
GF_NAME_APPLICATION=2 (application name)
GF_NAME_APP_FILE=3 (application file name)
GF_NAME_PANEL=4 (active panel name)
GF_NAME_SCREEN=5 (active screen name)
GF_NAME_FOCUS_FIELD=6 (the Field ID of the field in focus)
buffer: references the storage area for the value
buffer_length: indicates the maximum number of characters that can be read into the
buffer.
Comments
If there is no application or panel identified or no field in focus, the return code is
GF_ERROR_NAME_NOT_AVAILABLE.
PcCommand
Executes a command line per an operating system.
API
#include "gf.h"
#include "apimain.h"
int GFS__Export GfApiPcCommand (
GF_ApiHand api_hand,
enum GF_OperatingSystem pc_os,
GF_Char GFS__Far* pc_command,
GF_Int GFS__Far* pc_return );
Script
Dim pc_os as integer
Dim pc_command as string
PcCommand ( pc_os, pc_command )
DDE
Item: PcCommand ( pc_os, pc_command )
Returns: pc_return
ActiveX
Function: PcCommand (pc_command As String) As Long
Parameters
api_hand: references the Client session used for this function.
pc_os: is the operating system name under which the command will be executed. The
valid values are listed below. The constants can only be used for API function calls.
GF_OS_DOS = 2
GF_OS_WINDOWS = 4
pc_command: is the command as it would appear on the command line.
pc_return: is the operating system return code from executing the pc_command.
Examples:
PcCommand (4,"notepad myfile.txt")
text field
GF_PANEL_FIELDTYPE_INO
UT
entry field
GF_PANEL_FIELDTYPE_LIST
list box
GF_PANEL_FIELDTYPE_BUT
TON
push button
GF_PANEL_FIELDTYPE_CHE
CK
check box
GF_PANEL_FIELDTYPE_RADI
O
radio button
GF_PANEL_FIELDTYPE_OUT
output field
GF_PANEL_FIELDTYPE_GRO
UP
group box
GF_PANEL_FIELDTYPE_RECT rectangle
GF_PANEL_FIELDTYPE_FRA
ME
frame
GF_PANEL_FIELDTYPE_GRA
PH
graph
GF_PANEL_FIELDTYPE_USER
user window
GF_PANEL_FIELDTYPE_MLE
GF_PANEL_FIELDTYPE_COM
BO
combination box
GF_PANEL_FIELDTYPE_SPIN
spin button
GF_PANEL_FIELDTYPE_SUB
subwindow
ScriptCall
Opens a file containing a script and executes the script.
API
#include "gf.h"
#include "apiscri.h"
int GFS__Export GfApiScriptCall (
GF_ApiHand api_hand,
GF_Char GFS__Far* script_name_p );
Script
Dim script_name as string
ScriptCall ( script_name )
DDE
Item: ScriptCall ( script_name )
ActiveX
Subroutine: ScriptCall (script_name As String)
Parameters
api_hand: references the Client session
script_name: references the script that will be executed.
ScriptExec
Executes a series of script commands passed to it as a parameter.
API
#include "gf.h"
#include "apiscri.h"
int GFS__Export GfApiScriptExec (
GF_ApiHand api_hand,
GF_Char GFS__Far* script_p );
DDE
Item: ScriptExec ( script )
ActiveX
ScriptGlobalGet
Returns the value of a global variable defined within a script.
API
#include "gf.h"
#include "apiscri.h"
int GFS__Export GfApiScriptGlobalGet (
GF_ApiHand api_hand,
GF_Char GFS__Far* var_name_p,
GF_Char GFS__Far* buffer_p,
int buffer_length );
DDE
Item: ScriptGlobalGet ( var_name )
Returns: buffer
ActiveX
Function: ScriptGlobalGet (var_name As String) As String
Parameters
api_hand: references the Client session
var_name: references the global variable whose value will be read.
buffer: holds the global variable value.
buffer_length: is the maximum number of characters that can be placed into buffer.
See also
The Global statement of the OIS script language.
ScriptGlobalSet
Sets the value of a global variable defined within a script or create it if it doesnt exist.
SessionStartupDataGet
This function reads the value of the Client command line parameter:
OpenInterfaceStartupData. This parameter is set within the JWALK.INI file (or using
/GOPEISD from the command line). The purpose of this data is to assist in
confirming if this Client session is the one that should be locked before locking it.
API
#include "gf.h"
#include "apisess.h"
int GFS__Export GfApiSessionStartupDataGet (
URLOpen
Opens the specified URL in the current browser.
Script
Dim url as string
URLOpen (url)
Java
public synchronized void URLOpen (String url)
Parameters
url: specifies the url address to be opened.
WINHelp
Use this script function to call any help file via the WinHelp API. Your help file must
contain the references to support the specified call type.
Note: This function only works within the Windows (16 and 32bit) platforms.
Script Only
Dim filename_string, data_string as string
Dim action_number as int
WINHELP (filename_string, action_number, data_string)
When using these methods (and all other evaluation methods), there will be a need to
review interim results and double check provided file index keys (for record selection)
are as you wish. Testing a Live Session is useful but may not reveal the "actual
mistaken reference" or which index key still has no value (blank). To get the complete
view over the panel you are working on, use the Troubleshoot Assistant to create a
Troubleshoot Report.
Example scripts can be found in the Car Demo referring to Data Access services.
When you script, the real issue is "protecting" entry field errors based on invalid
values such as blank space " " or other non-typical character.
DataAccessReceived
This function is used to poll the local Data Access data pool before passing an actual
request to the Data Access Server. This function returns a 1 (=true) or 0 (=false) it
into a buffer.
DataAccessRequest
This function is used to send a Data Access query request to the Data Access Server.
The function waits for a result before returning control.
Script
Dim davalue as string
Dim reference as string
reference="@!CARB02.NAME.CNTRCT=@S3CNTRCT@@" 'example
reference S3CNTRCT is a hostfield containing the current
contract number
DataAccessRequest (reference,davalue)
Parameters
reference: contains reference expression resulting in a Data Access request.
davalue: references the storage area for the returned result.
See also
DataAccessReceived
Remember: For any expressions you create, it is possible to evaluate the results by
inspecting a Troubleshoot report.
Data Access Script Functions
Data Access service can be invoked using panel references or script references. Script
functions which work with Data Access service are:
DataAccessReceived
DataAccessRequest
'S3CNTRCT is a hostfield
else
Messagebox("DA value received:",davalue,4,0)
endif
end
GF_ERROR_ARG_BAD
GF_ERROR_BUFFER_TOO_SM
ALL
GF_ERROR_COM
GF_ERROR_EVENT_INVALID
GF_ERROR_EXIST
GF_ERROR_FILE_OPEN
GF_ERROR_FILE_READ
GF_ERROR_FILE_WRITE
GF_ERROR_GENERAL
10
GF_ERROR_HANDLE_INVALI
D
11
GF_ERROR_MEMORY_UNAV
AILABLE
12
GF_ERROR_NOTFOUND
13
GF_ERROR_NOT_CONNECTE
D
14
GF_ERROR_NO_APPLICATIO
N
15
GF_ERROR_OIA_NO_MESSAG
E
16
GF_ERROR_ONLY_FROM_DL
L
17
GF_ERROR_SESSION
18
GF_ERROR_SESSION_BUSY
19
GF_ERROR_SESSION_LOCKE
D
20
GF_ERROR_SESSION_NOT_A
CTIVE
21
GF_ERROR_TIMEOUT
22
GF_ERROR_CANNOT_READ_
DATA
23
GF_ERROR_INVALID_FIELD_
NAME
24
GF_ERROR_NAME_NOT_AVA
ILABLE
25
GF_ERROR_DDE_FAILED
26
337
Indicates that the host screen was updated by the host system (this includes
interrupts).
GF_MSG_EVENT_APP_CHANGE
Indicates that a new panel file (JWR) has been set current (panel for the host screen
was found in a different panel file).
339
Port number between your PC and the host for License and
Message Server connection and host session connection.
Create new servers (J Walk Server only) in the server settings dialog.
2.
3.
Continue pressing the Next button until you are at the end of the Wizard.
You will be asked to name your configuration and you have a chance to
test your connectivity with the AS/400.
341
Note: If you create an alternate Signon screen without containing the user
identification (as defined), Data Access will not perform correctly. Or if you
specify the Automatic signon setting, this setting forgoes the use of the Signon
screen and hence no identification of the user (as described) can occur, and hence,
Data Access will not function properly. To use Data Access, do not invoke an
automatic signon procedure. Go to the Signon tab (of the Configuration
Assistant) and ensure the user signon setting "Signon automatically at startup" is
disabled (unselected).
Follow these steps to perform this activity.
1.
2.
Open the Data Access tab and select a Data Access connection mode. If
you expect to "see" the repository prompter and all Data Access services,
you must select to Use ONLine mode.
3.
4.
Control settings define which package files are loaded (and updated) when
the Windows Client is started.
Miscellaneous settings are settings whose default values are not often
modified and do not appear in the Configuration Assistant.
Router Settings
The following Configuration settings only affect connectivity between the J Walk
Windows Client and router. You can see specific router setting values for known
supported routers by opening the named router in the Routers topic. The first
name given to each router setting is the text prompt used within the
Configuration Assistant. The second setting name is given in parenthesis and
represents the setting name used within JWALK.INI. The third name is the
/Gname command line parameter for the setting.
Communication method (CommModuleName = name) /GComMN
Sets the J Walk router protocol to that of the router being used to connect J Walk
to the AS/400. Supported protocol layers include: APPC, Enhanced APPC,
TCP/IP, and IPX.
Router name (CommDllName = name) /GComDN
Names the router's interface DLL. This value is dependent upon the individual
router and in many cases, it is not necessary to specify.
Entry point (CommDllFunc = name) /GComDF
Some routers store several interface variations within their interface DLL
(referred to by Router name). If a Router name is specified, then you must
enter a value for Entry point. If the router DLL has no interface variation, then
set this value equal to Router name.
Emulator Settings
It is always best to use the J Walk internal emulator. Using another emulator
causes an extra layer to be added to the J Walk to AS/400 connection, which will
influence overall performance.
343
The following Configuration settings only affect connectivity between the J Walk
Windows Client and emulator. You can see specific emulator setting values for
known supported external emulators by opening the named emulator in the
Emulators topic. The first name given to each router setting is the text prompt
used within the Configuration Assistant. The second setting name is given in
parenthesis and represents the setting name used within JWALK.INI.
Emulator (InternalEmulator = x) /GIntE
This prompt is on a different panel in the Configuration Assistant than the rest of
the emulator settings. When you are first asked to choose an emulator, by
choosing "J Walk internal emulator", the setting is updated to 1. When this setting
is 1, all other emulator settings are ignored.
Emulator name (DllName = name) /GDllN
Specify the emulator's interface DLL. The value placed in this setting varies for
each emulator. When you use the internal emulator, this value is ignored.
Entry point (SyncEntry = name) /GSynE
Some emulator interface DLLs have variations that are all stored in a single DLL.
If your emulator has different interface variations, enter the variation name here.
If Emulator name contains a value, then Entry point must contain a value. If
your emulator has no variations, then enter the Emulator name again in Entry
point.
Emulator does not correctly support line 25
(EmulatorDoesNotReturnLine25 = x) /GEmuDNRL25
The DBCS version of the external emulators PCOMM and PC5250 have an error
that should return the contents of the Operator Interface Area (line 2) when it is
showing an error message. Checking this parameter causes J Walk to retrieve this
message from line 24 instead of line 25 as a temporary bypass to this problem. It
is expected that these emulators will have this error corrected in a later version.
Emulator uses PC5250 interface conventions (EmulatorIsPc5250 = x)
/GEmuIP5250
Specifies the EHLLAPI implementation method used by the emulator. There are
only 2 values: "1" indicating PC5250 or PCOMM EHLLAPI method or "0", all
other emulators (default).
Hide (=3). Hides the external emulator window (as an active windows)
when a panel is displayed.
External window not used (=1). Removes the emulator window icon from the
desktop and places it in the "active tasks" list.
345
Signon Settings
These settings are used to open channels between J Walk and the AS/400. Enter
the AS/400 system name of the host application into the System prompt of the
User signon settings group box in the Signon settings dialog of the
Configuration Assistant. Enter the AS/400 system name of the License and
Message Server into the System prompt of the License and Message Server
group box in the same dialog.
System name (System = name) /GSys of User signon settings group box
347
System Settings
These settings affect the appearance and behavior of a J Walk session while in
use.
System settings are described below. The first name is the prompt as seen in the
Configuration Assistant, the second prompt (in parenthesis) is the corresponding
setting within JWALK.INI.
Show Emulator (ShowEmulator = x) /GShoE
Controls the appearance of the menu item "Show emulator" in the Windows
Client system menu. When Emulator window display is set to No effect, this
option defaults to not being shown. Otherwise, the Show emulator is selected by
default.
Show Toolbar (ShowToolbar = x) /GShoT
Controls the appearance of the menu time "Show Toolbar" in the Windows
Client system menu. By default, this setting is selected.
349
Specify the MRI module for use as the displayed locale. This parameter is
equivalent to the /M xxxx parameter when used within the startup command
line.
Note: The command line usage has precedence over the INI file value at startup.
Date Windowing (DateWindow=xx)/GDatW
When you apply a field format which converts a 2 digit host-based Year value to a
4 digit client-based presentation of the year, you can expect the conversion to be
based on a specified "start year" for 2 digit date values. The default is "40." This
is in line with host-based default values (1940). If you want to work from a
different year base, enter an alternate year value for the conversion.
DBCS Settings
DBCS settings are only used when the OS/400 platform and the PC platform
operate in a DBCS language (Japanese, Korean, Simplified Chinese, and
Traditional Chinese). It maps double-byte characters displayed on the host screen
to a font type specifically for double-byte characters. These settings are only
applied when J Walk detects that it should display DBCS characters.
Font name (GaDbcsFontName = name) /GGaDFN for Graphical Access
font selection group box.
Font face name when Graphical Access is active in a DBCS environment.
Large font size (GaDbcsLargeFont = name) /GGaDLF
Font size for large fonts when Graphical Access is active in a DBCS environment.
Small font size (GaDbcsSmallFont = name) /GGaDSF
Font size for small fonts when Graphical Access is active in a DBCS
environment.
Font name (GothicFontName = name) /GGotFN for Gothic font mapping
group box
Maps the named font to the Gothic font that would be used in J Walk panels.
New font size 8 (Gothic8 = xx) /GGot8
New font size 10 (Gothic10 = xx) /GGot10
New font size 12 (Gothic12 = xx) /GGot12
New font size 14 (Gothic14 = xx) /GGot14
New font size 15 (Gothic15 = xx) /GGot15
New font size 18 (Gothic18 = xx) /GGot18
2 = always perform updates before starting the session when updates are
detected.
351
0 = Platform dependent
By default, this keyword is assigned the value 1, which always causes J Walk to
open a dialog confirming that the enduser wishes to close the active J Walk
session.
Specify the value 0, when you want J Walk to use close confirmation, based on
the platform requirement (32bit applications close without confirmation, while
16bit applications do ask for confirmation).
If this value is 2, J Walk will close the active session without confirmation (or
platform requirement).
ListColor = x /GLisC
Sets the default color for list boxes to the platform color.
NoSystemNameChange = x /GNoSNC
Controls the dialog displayed when opening a user session to the host. When set
to 0, the system name must be the same as the low level connection. When set to
1, the user can change the system name.
OfficeVisionEditor = x /GOffVE
This setting controls the font of the Text Assist editor when displayed as a
graphical window. When set to 1 (the default) a graphical window is displayed
when Text Assist is detected. When set to 0, the emulator screen is displayed.
OpenInterfaceStartupData = text /GOpeISD
You can set this by using the Configuration Assistant or by updating the
JWALK.INI manually.
353
Index
*CALEND, 20
*HELP, 124
*HELPCON, 124
*HELPEXT, 124
*HELPFIN, 124
*HELPFLD, 124
*HELPIDX, 124
*HELPKEY, 124
.hlp file, 122
@ Function, 266
Abs Function, 266
Accessing Project Externalized Text Files,
117
activating help, 124
Activating Help for Panel Controls in
Developer, 124
Activating Panel Editor Window, 66
Activating Terminal Editor Window, 60
ActiveX, 140, 143
ActiveX Client Control, 143
Adding References to HTML Help Files, 129
Adding References to the Windows Help
File, 126
Advanced Connectivity Settings, 343
advanced mode, 99
Alternate Compression Methods for Your
Package File Set, 159
ANSI Code Page Description, 36
ANY, 257
API, 274
API Connected to 1 J Walk Client
Environment Session, 138
API Connected to All J Walk Client
Sessions, 139
API error codes, 335
APPL011, 217
APPL021, 217
APPL031, 217
APPL032, 217
APPL033, 217
APPL034, 217
APPL040, 217
APPL050, 217
APPL061, 217
Applying Best Guess, 77
Applying Data Access, 117
Applying Open Interface Services for Java,
147
AS/400 application, 195
Index
ChangeSession, 285
character sets, 35, 36, 37
chart types, 71
check box script constant, 325
CHK - Check box layout, 81
Choosing and Displaying Fonts, 38
Client, 187
Client Access, 213
Client Color Schemes, 30
Client Image Differences, 47
client imagery, 30
client mode, 177
Client On-line Help Differences, 48
CloseConfirmation, 351
code, 187
code page, 35, 36, 37
Code Pages and Fonts on Different J Walk
OS Environments, 34
COL - List box column layouts, 82
Collect on Object, 212
Collection Formats to Remove or Omit, 213
Collection of Language Display by Indicator
Settings, 214
Collector
User Defined Program Flow options, 215
Collector Collect Phase, 200
Collector Combine Phase, 199
Collector DDS Keyword Handling, 197
Collector Error/Diagnostic Messages, 237
Collector Extract Phase, 198
Collector Extract Phase Messages, 241
collector options, 202
collector parameter, 206, 212, 213
Collector Prepare Phase, 197
Collector Prepare Phase Messages, 238
Collector Process, 195
Collector Program Flow, 215
Collector Proposal Descriptions, 217
Collector Select Language option, 215
Collector User Option Parameters, 206
collector user options, 202, 213
Collector Work File Layouts, 227
Collector Work Files, 199
COLNUM - List box numeric column
layout, 83
Color Conversion, 31
colour, 30
COLTXT - List box text column layout, 83
Combination (combo) Box Field Type, 71
Combining Formats Ignoring CLRL
Instructions, 209
Combining Function Key Formats, 209
355
Index
EXCLAREA Template, 79
EXCLNAME, 79
EXCLNAME Template, 79
exclude function keys, 91
Exploring J Walk Developer, 57
Exploring Supplied Car Demo Application,
58
Export Panel Files (JWW) to TTT, 41
Externalizing Text Files Considerations, 46
features, 2
field formatting, 15, 16
field formatting syntax, 16
field identify mode, 251
field value conversion event, 273
FieldGet, 273, 282
FieldPut, 273, 282
FileCreate, 285
FileStringAppend, 286
Filters, 101
Find and Action, 101, 121
find and replace template, 121
fine tune templates, 113
FKEYMENU, 257
floating point variable type, 259
For .. To .. Next statement, 261
foreign languages, 33
Frame Field Type, 72
GaDbcsFontName, 349
GaDbcsLargeFont, 349
GaDbcsSmallFont, 349
Gather Initial Base Data for
PRECOLTOOL, 211
Generate Package File Authorization Codes,
167
Getting Started Building Your Package File,
106
Getting Started Collecting Your AWHOST
File, 200
GF_CONNECT_API, 138
GF_MSG_API_CONNECT_POST, 338
GF_MSG_API_CONNECT_SEND, 338
GF_MSG_BOTH_CONNECT_POST, 338
GF_MSG_BOTH_CONNECT_SEND,
338
GF_MSG_EVENT_ALL_EXCEPT_SPEC
IFIED, 337
GF_MSG_EVENT_APP_CHANGE, 337
GF_MSG_EVENT_DISABLE_SPECIFIE
D, 337
GF_MSG_EVENT_ENABLE_SPECIFIE
D, 337
357
GF_MSG_EVENT_HOST_II_OFF_BEF
ORE_PANEL, 337
GF_MSG_EVENT_HOST_II_ON, 337
GF_MSG_EVENT_HOST_UPDATE, 337
GF_MSG_EVENT_JWALK_CONNECT_
FAIL, 337
GF_MSG_EVENT_JWALK_CONNECT
ED, 337
GF_MSG_EVENT_JWALK_START, 337
GF_MSG_EVENT_JWALK_STOP, 337
GF_MSG_EVENT_ONLY_SPECIFIED,
337
GF_MSG_SESSION_CONNECT_POST,
338
GF_MSG_SESSION_CONNECT_SEND,
338
GfApiDdeExecute, 287
GfApiDdeInitiate, 286
GfApiDdePoke, 288
GfApiDdeRequest, 289
GfApiDdeTerminate, 290
GfApiEventNameGet, 290
GfApiFileCreate, 285
GfApiFileStringAppend, 286
GfApiHostCursorGet, 291
GfApiHostCursorPut, 292
GfApiHostDimensionsGet, 293
GfApiHostFieldGetData, 294
GfApiHostFieldPutData, 296
GfApiHostScreenGetLine, 297
GfApiHostScreenGetRaw, 298
GfApiHostScreenGetRect, 300
GfApiHostScreenGetString, 301
GfApiHostScreenPutString, 302
GfApiHostSessionQueryStatus, 303
GfApiMainSessionConnect, 305
GfApiMainSessionDisconnect, 306
GfApiMainSessionGetId, 306
GfApiMainSessionGetWinHand, 307
GfApiMainSessionTerminate, 307
GfApiMainWindowSetMode, 308
GfApiMessagebox, 309
GfApiMmPause, 311
GfApiMmPlay, 311
GfApiMmSkipNext, 313
GfApiMmSkipPrev, 313
GfApiMmStop, 314
GfApiMsgEventRequest, 315
GfApiMsgWinmsgSend, 316
GfApiPanelButtonClick, 317
GfApiPanelFieldGetData, 318
GfApiPanelFieldlistGetData, 321
Index
J Walk Client Connect Modes, 169
J Walk Developer Package, 3
J Walk Developer Reference, 249
J Walk Development Roadmap, 10
J Walk Dongle and Windows NT, 51
J Walk Features, 2
J Walk Installation Definition File Reference,
160
J Walk Planning Questionnaire, 7
J Walk Product Roll-out at Customer Site,
168
J Walk settings, 341
Jar files, 143
java, 147
Java Client Image Conversion Utility, 30
Java Client versus Windows Client, 47
Java OIS, 147
jpeg, 25, 129, 130
jpg, 25, 129, 130
JW9TTT, 38, 39, 41
JW9TTT Requirements, 38
JW9TTT Utility General Process
Description, 39
JWA, 68
JWALK.INI settings, 341
JWALKX.HTML parameters, 143
JwalkX.ocx, 140
JWC file, 181
JWICON, 29, 130
jwimg, 131
JWM, 74
JWX, 74
KEYTXT - Key names, 85
Label
statement, 263
language, 33
LanguageCode, 347
Launch the Configuration Assistant, 51, 340
Launching the Change Management Wizard,
132
Left Function, 268
Len Function, 269
license, 187
license agreement, 168
License and Message Server, 186
LicensePassword, 345
LicenseSystem, 345
LicenseUserId, 345
licensing, 75, 167
Licensing Clients, 167
Linking Clients with other Programming
Environments, 137
359
Index
POPUP - Popup panel layout, 89
POPUP (Screen) Template, 80
POS - Screen position to panel position
mapping, 89
Preparing For Customer Visit, 167
Preparing Images, 129
Project Definition (JWD), 104
project organizer, 98
project setup, 107
Proposals to Influence the Collector, 216
Providing Developer Authorization, 50
Providing Images and Other Media, 21
Providing Open Interface Services, 22
Providing Users with On-line Help, 122
PSH - Push button layouts, 90
PSHEXC - Push buttons to be excluded, 91
PSHKEY - Push buttons not be moved to
the menu bar, 92
PSHSEL - List buttons not be moved to the
menu bar, 92
push button, 28
Push Button Field Type, 71
push button script constant, 325
RAD - Radio buttons layout, 92
RADGRP - Radio button group layouts, 93
Radio Button Field Type, 71
radio button script constant, 325
Real-time Integrated Data Access, 22
Rectangle Field Type, 72
rectangle script constant, 325
redundant, 64
Referencing an Image to a Push Button, 130
Referencing an Image to a Title Bar, 130
Referencing Images on Your J Walk GUI
Controls, 25
Referencing Individual Icons, Images and
Image DLLs, 27
Register Client Licenses, 186
Rem statement, 264
remove unmeaningful text, 97
Replacing the J Walk Windows Client
Signature with Your Own, 153
Reset Original Library List, 213
Return statement, 264
review results, 113
Review Results of Best Guess, 113
Reviewing the Collector Run Results on the
AS/400, 203
RIDA, 1, 22
Right Function, 270
right-click menu, 70
roadmap, 10
361
Index
user window, 73
User Window Type, 73
User-defined Colors, 32
using color, 30
using Data Access in Developer, 117
Using Find and Action, 122
Using Image DLL Utility to Embed Bitmaps
into a DLL, 130
Using J Walk Developer, 49
Using J Walk Developer Dongle, 50
using OIS, 135
Using OIS for Java, 150
Using SEAGULL Supplied Compression
Utility, 158
Using the Configuration Assistant, 339
Using the Internal Emulator, 352
Using the J Walk ActiveX OIS Control, 141
Using the SEAGULL Collector, 195
Using this Guide, 5
Val Function, 272
Visual Basic, 259
Wait Function, 273
Welcome to J Walk, 1
While...Wend statement, 264
win, 129, 130
Windows Client authorization code, 168
Windows Client demo icon, 193
WindowsApi, 351
WindowSetMode, 308
WINHELP, 122, 330
WinNT dongle, 54
Working with the Data Organizer, 99
wrapping your project, 153, 154, 157, 159,
165, 167, 172
XLATE - Text to translate before
processing, 97
XLATE example, 98
XLATE Example Function Key Assignment,
98
XLATE Example Menu Item Construction,
98
363