Académique Documents
Professionnel Documents
Culture Documents
http://www.redbooks.ibm.com
SG24-5410-00
SG24-5410-00
International Technical Support Organization
December 1999
Take Note!
Before using this information and the product it supports, be sure to read the general information in Appendix G,
“Special notices” on page 417.
This edition applies to V4R4 of OS/400, Program Number 5769-SS1 and primarily to the Version 6.1.00 of eBPCS for
AS/400.
When you send information to IBM, you grant IBM a non-exclusive right to use or distribute the information in any
way it believes appropriate without incurring any obligation to you.
Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xvii
Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xix
The team that wrote this redbook . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xix
Comments welcome . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xx
v
10.1.9 Job accounting. . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . .. . . . . .. 176
10.1.10 System values . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . .. . . . . .. 177
10.2 Basic memory configuration . . . . . . . . . . . . . . . . . . . .. . . . . .. . . . . .. 179
10.2.1 Mixed-Mode green screen . . . . . . . . . . . . . . . . .. . . . . .. . . . . .. 179
10.2.2 Traditional batch work . . . . . . . . . . . . . . . . . . . .. . . . . .. . . . . .. 179
10.2.3 First Generation Client/Server configuration. . . .. . . . . .. . . . . .. 180
10.2.4 Order Entry batch posting . . . . . . . . . . . . . . . . .. . . . . .. . . . . .. 181
10.2.5 Second Generation Client/Server configuration .. . . . . .. . . . . .. 183
10.3 Program security . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . .. . . . . .. 184
10.4 End-user queries . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . .. . . . . .. 184
10.5 Disk utilization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . .. . . . . .. 184
10.5.1 Deleted records . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . .. . . . . .. 184
10.5.2 Job logs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . .. . . . . .. 185
10.5.3 System journals . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . .. . . . . .. 186
10.5.4 System history logs and problem logs . . . . . . . .. . . . . .. . . . . .. 186
10.5.5 User and device message queues . . . . . . . . . . .. . . . . .. . . . . .. 187
10.5.6 IPL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . .. . . . . .. 187
10.5.7 Reclaim spool storage . . . . . . . . . . . . . . . . . . . .. . . . . .. . . . . .. 188
10.6 BPCS processing options . . . . . . . . . . . . . . . . . . . . .. . . . . .. . . . . .. 188
10.6.1 Application flag settings . . . . . . . . . . . . . . . . . . .. . . . . .. . . . . .. 188
10.6.2 BPCS Order Entry tuning . . . . . . . . . . . . . . . . . .. . . . . .. . . . . .. 189
10.6.3 MSGID versus MSGCON . . . . . . . . . . . . . . . . . .. . . . . .. . . . . .. 189
10.6.4 Generic BPCS considerations . . . . . . . . . . . . . .. . . . . .. . . . . .. 189
vii
15.1.7 Subsystem and job queue configuration. . . . . . . . . . . . . . . . . . . . 279
15.1.8 Updating the client PC software . . . . . . . . . . . . . . . . . . . . . . . . . . 281
15.1.9 Testing the configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282
15.1.10 Naming conventions used . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282
15.2 BPCS client installation and management . . . . . . . . . . . . . . . . . . . . . . 283
15.2.1 AS/400 NetServer setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284
15.2.2 BPCS client initial installation. . . . . . . . . . . . . . . . . . . . . . . . . . . . 287
15.2.3 BPCS client fix installation and management . . . . . . . . . . . . . . . . 288
15.3 eBPCS and journaling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
ix
How to get IBM Redbooks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 427
IBM Redbooks fax order form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 428
Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 429
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 435
xiii
157.TCP/IP Administration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305
158.End TCP/IP (ENDTCP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .305
159.End TCP/IP Server (ENDTCPSVR) display . . . . . . . . . . . . . . . . . . . . . . . . . . 306
160.PING LOOPBACK display - Successful ping messages . . . . . . . . . . . . . . . . 306
161.PING RMTSYS display - Successful ping messages . . . . . . . . . . . . . . . . . . .307
162.PING RMTSYS—Unsuccessful ping messages. . . . . . . . . . . . . . . . . . . . . . . 307
163.Operations Navigator protocols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .309
164.Selecting the interface type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310
165.Selecting the hardware resource . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .310
166.Choosing a Line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .311
167.Creating a New Line Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .312
168.Ethernet Line Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312
169.TCP/IP Interface Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313
170.TCP/IP Routing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314
171.TCP/IP Routing additional information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314
172.Add Default Route . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315
173.Advanced Routing Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315
174.Defining servers to start when TCP/IP is started . . . . . . . . . . . . . . . . . . . . . .316
175.Interface start options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316
176.New TCP/IP Interface Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .317
177.Host Domain Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318
178.Advanced Host Domain Information settings . . . . . . . . . . . . . . . . . . . . . . . . .319
179.Host Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319
180.TCP/IP Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .320
181.Port Restrictions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321
182.Servers to Start. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321
183.SOCKS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322
184.Context menu - Properties option . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323
185.TCP/IP Host Table entry. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323
186.Context menu - Properties option . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325
187.Host Domain Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325
188.Context menu - New Interface option . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327
189.TCP/IP Interface wizard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .327
190.Start TCP/IP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328
191.Stop TCP/IP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329
192.Ping from Operations Navigator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330
193.Ping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330
194.Two Ethernet LANs connected with routers example. . . . . . . . . . . . . . . . . . .331
195.CFGTCP menu display - Work with TCP/IP Routes. . . . . . . . . . . . . . . . . . . . 332
196.Add TCP/IP Route (ADDTCPRTE) display . . . . . . . . . . . . . . . . . . . . . . . . . . 332
197.CFGTCP menu display - Configure TCP/IP Applications . . . . . . . . . . . . . . . . 333
198.Change FTP Attributes (CHGFTPA) display . . . . . . . . . . . . . . . . . . . . . . . . . 334
199.Work with Licensed Programs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339
200.Install Licensed Programs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339
201.Display Software Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340
202.Display Software Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341
203.Client Access Express Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347
204.Upgrade Client Access Express for reinstallation. . . . . . . . . . . . . . . . . . . . . . 348
205.Type of Upgrade selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349
206.Start Upgrade settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349
207.iPTF Web site . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351
208.AS/400 Operations Navigator - Component Selection window . . . . . . . . . . . 353
209.AS/400 system context menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356
xv
xvi Implementing SSA’s eBPCS on the AS/400 System
Tables
1. SSA global divisions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
2. Logging on to the server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3. Logging on to the server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
4. Clicking the Applications button . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
5. Starting the BPCS Client/Server application . . . . . . . . . . . . . . . . . . . . . . . . . . 15
6. Starting the BPCS Client/Server application . . . . . . . . . . . . . . . . . . . . . . . . . . 16
7. External Message Interface APIs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
8. SDO type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
9. SDO types and text representations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
10. Semantic Message Gateways . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
11. Action types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
12. Required object types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
13. SSA Object Development Workbench . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
14. String tables and message files comparison table . . . . . . . . . . . . . . . . . . . . . . 55
15. Sizing questionnaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
16. eBPCS conversion libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
17. Conversion driver programs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
18. Incremental files libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
19. Conversion databases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
20. Relationship of system terms to SQL terms . . . . . . . . . . . . . . . . . . . . . . . . . . 110
21. DDL and DML SQL statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
22. Dynamic SQL and miscellaneous statements . . . . . . . . . . . . . . . . . . . . . . . . 112
23. LPR command parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
24. Example printer queue names for some common printers . . . . . . . . . . . . . . 128
25. Standard eBPCS user profile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
26. Summary of system utilization for the week of xx/xx/xx . . . . . . . . . . . . . . . . . 176
27. Interactive job breakdown by user . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
28. System journals and journal receivers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186
29. Prefixes used in Client Access ODBC driver error messages . . . . . . . . . . . . 198
30. Comparison of optimization analysis methods . . . . . . . . . . . . . . . . . . . . . . . . 216
31. Languages by country name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 411
32. Language by AS/400 code page (SBCS). . . . . . . . . . . . . . . . . . . . . . . . . . . . 412
33. Language by AS/400 CCSID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413
34. Language and ETOA table mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 414
Plus, this redbook addresses support structures, and supplemental products from
SSA partners in the Portfolio strategy.
Jaejin Ahn is a Senior IT Specialist for the AS/400 system at the ITSO Rochester
Center. He has 16 years of experience at IBM. He is a member of the application
development team and is responsible for ERP solutions on AS/400 systems.
Thanks to the following people for their invaluable contributions to this project:
Phil Hall
Mark Larson
Jennifer Watkins
SSA Inc.Headquarters (Chicago)
Mike Breitbach
Eric Warne
Adam Tumas
Dan Sundt
IBM Rochester
Ryan Rhodes
Jenifer Servais
International Technical Support Organization, Rochester Center
Comments welcome
Your comments are important to us!
With more than 6,500 implementations at over 18,000 global sites, SSA
represents one of the world's largest installed bases of a single product,
addressing integrated processes, discrete and mix-mode manufacturing, supply
chain management, global financial application, and electronic commerce. SSA is
truly a global organization. There are SSA customers in 90 countries. This is also
confirmed by the geographic revenue breakdown of the company's business:
Approximately 35% from North America, 37% from Europe, Middle East, and
Africa, 18% from Asia Pacific, and 10% from Latin America.
Table 1. SSA global divisions
The SSA Portfolio approach is ideally suited to the mid-market (companies with
annual revenues of $50M to $1Billion) and divisions of Fortune 100 companies. It
focuses on these companies’ need for ERP systems to run their business
operations more efficiently, and to share mission-critical information rapidly
across the supply chain, from suppliers to customers. This new approach allows
SSA's customers to compete effectively, and to enhance their business
opportunities and revenue potential.
SSA's eBPCS product suite is a strong ERP core with a flexible infrastructure that
allows customers to easily interoperate specialized business processes from
third-party vendors. This allows customers to modify, extend, or replace
SSA-developed functionality with ease. Working closely with its partners, SSA
uses its own Semantic Message Gateway (SMG) and Adapter technologies as
the driving forces that enable fast, smooth integration and seamless
interoperability of partner technology. SSA serves as a single point of contact for
service and support of its full eBPCS product suite and third-party functionality
from the company's partners.
IBM and SSA are engaged in several cooperative projects that will extend the
capabilities of eBPCS on the AS/400e servers. Such projects include: supply
chain extensions, e-business initiatives, joint global services, and solution
financing.
Introduction to SSA 3
4 Implementing SSA’s eBPCS on the AS/400 System
Chapter 2. AS/400 introduction
This chapter describes the key concepts of the AS/400 system. One of the key
factors that differentiates the AS/400 system is the level of hardware and
software integration. For example, in a UNIX environment, the customer is
required to select software components from different vendors (operating system,
database software, system management software, and so on). They are also
required to integrate them to build a working environment for eBPCS.
The AS/400 system takes a different approach. The operating system (OS/400)
includes a complete range of "licensed programs" (middleware) and offers the
highest level of integration. By effectively reducing the extent of integration
required to be performed during implementation, the AS/400 system strategy
minimizes implementation costs and increases reliability. The AS/400 system
also provides a customer with the highest level of "ease-of-use" in today's
market. The initial ease of implementation and the ongoing ease of use,
combined with its reliable integration, makes the AS/400 system a
high-performing, low-cost business solution.
• Architecture
The AS/400 system has a layered architecture that is divided into the actual
user interface (OS/400) and a Technology Independent Machine Interface
(TIMI). This architectural concept has allowed the AS/400 system to undergo
several fundamental technology changes, while protecting the customer’s
AS/400 introduction 7
– ICF finance communications support
– Non-ICF Finance Communications Support
– SNA Distribution Services (SNADS)
– SNA Primary Logical Unit 2 Support
– SNA/Management Services Transport
– Distributed Relational Database Support
– Object Distribution Facility (ODF)
– Display Station Pass-through
– Distributed Data Management (DDM)
– SNA Pass-through
– IBM Network Routing Facility (NRF) Support/400
– Autodial Support
– 3270 Device Emulation
– 3270 SNA API Support for IBM 3278 Model 3, 4, and 5
– ISDN Support
– 5394/5494 SNA Backbone Support
– File Transfer Support
– Interactive Terminal Facility (ITF)
– SAA Common Programming Interface for Communications (CPI-C)
– IPX/SPX Communications
– ATM LAN Emulation
The AS/400 system also supports the following functions:
– Kernel Threads
– Java Virtual Machine (JVM)
– Lotus Domino for AS/400
– Integrated file system (IFS)
– Web Serving
– Integrated PC Server (IPCS) or Integrated Netfinity Server (INS) running
the following server environments:
• Microsoft Windows NT Server
• IBM Firewall for AS/400
• IBM Warp Server
• Novell NetWare
• Client/server capability
The AS/400 system can operate with almost any client in any communication
environment. It can attach the following clients of choice:
– Microsoft Windows 3.1, Windows 3.11, Windows 95, Windows 98, and
Windows NT
– OS/2
– Macintosh
– UNIX (IBM-AIX, HP-UX, SUN-SPARC)
– Linux
• Scalability
AS/400e servers cover a wide range of performance capacities. For the
eBPCS environment, this means the AS/400e server can support from a few
users to thousands of users. Most of the AS/400e server models are
field-upgradable to more powerful models. This degree of customer
investment protection is exceptional. It is one of the contributing factors to the
AS/400e system's low cost of ownership in the long term.
In 1997, the 12-way AS/400 system was delivered using Power PC A35
microprocessors. Known as Apache technology, the Power PC A35
microprocessors provided a 4.6x growth.
In September 1998, the 12-way AS/400 system was delivered using the Power
PC A50 microprocessor. Known as code name Northstar, the Power PC A50
microprocessors nearly doubled the high-end capacity. This set of processors
provided the fourth generation since the AS/400 system’s inception in 1988, with
64-bit AS/400 Power PCs microprocessors.
Figure 2 shows this change of hardware processor technology and previews what
is planned in future generations. More details can be found in "Logical
Partitioning: Divide and Conquer", by IBM Chief Engineer Frank G. Soltis, in the
January 1999 edition of NEWS/400 magazine.
V
Fu ture G iga P ro ce ss or DE
IN
N
I CO
1999+ P ulsar N S I L
I
ED 1.94X
IV ER 12 -W a y A 50 P P C A pp lications
EL 1998 6
D (N orth star) 4
ED O S /400
ER 12 -W a y 4.59X
L IV 1997 B
DE A 35 P P C i TIM I
D t
E RE 2.87X s H ardwa re
L IV 1996
DE
AS/400 introduction 9
2.3 Why eBPCS on an IBM AS/400e
Migration to client/server and network-centric computing models has suffered a
number of high profile and expensive failures. The cost of building and
maintaining complex hardware and applications has risen dramatically. With
these facts in mind, the history of reliability, stability, and low maintenance costs
of the IBM AS/400 system become very attractive. Companies have come to
realize that total cost of ownership, not just hardware costs, is what is really
important with information systems.
SSA’s eBPCS on the AS/400 system helps to solve many of these problems. The
integrated operating system requires less setup and maintenance than other
hardware configurations. Therefore, a smaller staff is needed.
The Mixed-Mode and Client/Server products are both created from the same
application Repository. In fact, the same Repository is used for the AS/400, UNIX,
and NT products. Therefore, the functionality is identical. The only difference is
the presentation to the end user.
These First Generation Client/Server products can be described as fat client and
are common to both the Mixed-Mode product and the Client/Server product. They
are discussed in the following section.
The other two products (CEA, and part of OLM) use the First Generation
Client/Server as mentioned above.
From the AS/400 technical point of view, both products are true client/server or
Batch processes. Therefore, they can utilize the AS/400e Server base models
without adding the optional interactive feature card.
All messages are channeled through a daemon, which talks to a specific TCP/IP
port. The daemon is submitted to batch, where it waits for a connection call from
a client. When this arrives, the client takes control of the daemon, and the
daemon re-submits another instance of itself to wait for the next client. The
daemon for First Generation Client/Server operation is started by submitting the
following command:
The client PC has to be configured to talk to the same TCP/IP port on which the
daemon is waiting. This is done via the eBPCS Session Manager Workstation
Settings. This panel allows the configuration of all Client/Server products, both
First and Second Generation.
When a CEA or OLM icon is selected from the Session Manager, a message is
sent to the TCP/IP Port specified on the client. If a session has not been started
already for this client, the user is prompted for a user profile and password. This
must be a valid AS/400 user profile, and the user must be enrolled in eBPCS
security for the environment being accessed.
The client sends a message to the host program WDKCOM, which calls the
appropriate server program. Messages containing application data are then
transferred between the client and the server using a series of specialized data
stores known as Transaction Data Repositories (TDRs).
The job stack for the user session contains both messaging and application
programs. The CPR programs (programs that begin with CPR) are the interface
between the client and the server, which are common to all of the products in
CEA and OLM. The application specific programs pass messages (data) through
these programs back to the client. Figure 4 shows the First Generation
architecture.
Client
WDKCOM
ZQN CPR004B
Log File
Server
Server Response
TDR TDR
The SSA OMS server is supported on the AS/400 system, UNIX, and Windows
NT Server platforms.
At this stage of the log-on process, the server connection daemon is no longer
involved, and returns to waiting for a new client connection event. From this point
onward, OPS on the client now interacts with the OMS server (Table 3 on page
15).
At this point, both the OPS client and the OMS server are connected to each
other via a TCP/IP socket.
*: The CONFIG and ODOCFG files are normally located in the OMS runtime library
At this point, the user selects a database, which maps to a BPCS environment.
After selecting a database, the user navigates through the application containers
until the desired BPCS application is located.
From this point, any application interaction on the OPS client is sent as a
message to the OMS server, which in turn forwards the message to the BPCS
application. When the BPCS application has data to return, it sends the data to
the OMS server, which then passes it back to the OPS client. The OMS server is,
in effect, acting as a multiplexer. If the user starts another BPCS application (up
Through SMGs, applications can inquire against and update eBPCS data. SMGs
can also publish changes in specific eBPCS data to any number of subscribing
external applications. SMGs offer high-level integration beyond that of an
interface. Traditional procedural Application Programming Interfaces (APIs)
demand rigid conformity to fixed sequences and often force recompilation of
external applications. On the contrary, SMGs allow external applications to
subscribe to events within eBPCS. SMGs offer a variety of solutions designed to
facilitate the integration of applications, and build upon the same object
messaging used within eBPCS.
The reason you do not want the external application to have direct access to the
eBPCS database is because there are dangers in adopting this approach. First,
by allowing the external application direct access to the underlying database, it
becomes closely coupled to data structures that are liable to change. Changes
made to the eBPCS data structure, however small, can result in a
disproportionate amount of change to the external application or system. The
The use of the Semantic Messaging Gateways provides a solution to the problem
of communication between eBPCS Client/Server and external systems without
compromising data integrity or consistency. This is made possible because the
SMGs provide an interface to eBPCS. This interface is a standard, consistent
mechanism constant over the lifetime of eBPCS. Using it removes dependency
on the underlying Data Model. Also, if a system error occurs during the
processing of an eBPCS transaction, you may lock the record upon returning to
eBPCS. To correct this, unlock the record using Client/Server applications.
The SMGs ensure that all new data passes the eBPCS application logic and
validation, and therefore, maintains data integrity. Moreover, the semantic nature
of the interface allows clients to migrate and take advantage of additions to the
message content.
Individual data items, known as Semantic Data Objects (SDOs), have these
optional properties:
• Label
• Value of a specific type
• Data type of value (defaults to String)
• Container to hold other data items
[ ]"**** Login"
{
[Message]"Logon"
[Object]"|SecurityGw"
{
[Data]
Containers {
[User]"YOURNAME"
[Password]"xx"
[LibraryListEntry]"SMGUSO"
[Database]""
}
}
}
In the example in Figure 7, there are eight SDOs, which include a root SDO, with
a comment describing the purpose of the SDO and seven other SDOs. These
seven SDOs each have a label as a means of identification: Message, Object,
Data, User, Password, LibraryListEntry, and Database. The Message SDO has
the value Logon and a type string. Note that, in this example, the type is not
specified because it is not required. The Data SDO is an example of a container,
since it contains the SDOs User, Password, LibraryListEntry, and Database. The
preceding example is an SDO that can be sent to any machine to log on to
eBPCS going through the security gateway object.
You can manipulate SDOs using the Semantic Data Services (SDS) commands.
For example, using the SDS APIs, a sending object can add additional
parameters to a message without affecting the target object. Semantic Data
Services are part of the eBPCS object-oriented (OO) infrastructure. They are
provided with the Semantic Messaging Gateways to allow direct communication
between external applications and objects encapsulating data and business
processes within eBPCS.
Using the SDS, you can add new data items to messages when eBPCS
functionality is enhanced without having to change or redefine existing interfaces.
Your system only need to change when it is able to use this new information.
Semantic Messages, SDOs, and the Semantic Data Services are described more
fully in 3.3.5, “Semantic Data Services” on page 25, and 3.3.5.1, “Semantic Data
Objects” on page 25.
Delete implies a "soft" delete, meaning that the record is inactivated. Destroy
implies a "hard" delete, meaning that the record is completely removed from the
database.
Query
Message Entity
After the external application receives notification that an event has occurred in
eBPCS, the external application can then send an inbound Query message to
obtain the customer instance data as described in the previous section on
inbound messages. Outbound notifications typically relate to entity events, such
as Created, Changed, Deleted, and Destroyed.
All outbound messages from gateway objects are received by an instance of the
Custom Notifier class. The Custom Notifier is the bridge between the gateway
object and the external application.
The external application can specify which World it wants to connect with and
start that World if it is not already running.
The external application can also receive messages from eBPCS objects.
Objects within eBPCS invoke SMGs (when "interest" is registered in a type of
BPCS transaction in a configuration file) to send updates to the external
application, as if it is a BPCS user connected to a World talking to a client PC
connection. The external application can take the incoming messages and
update an external file, or call another application which is external to BPCS.
The External Messaging Client library and the EMI Adapter are supplied with the
SMGs. The external application must bind with an External Messaging Client
library that contains application program interfaces (APIs) called by the
application. Binding is the process of attaching the library to the external
application so the objects in that library can be used in the external application.
The external application then uses the APIs in this library to communicate with
the EMI Adapter.
Using an adapter within the eBPCS World and providing supporting code for the
EMI APIs and the inter-session communications protocol enables the
World-to-World communication to take place. The EMI Adapter allows the base
SMG/eBPCS code to treat the external World as an extension of itself, using the
World name element of the object to route messages through the EMI Adapter to
the external World (Figure 8). The EMI layer within the adapter accepts
messages from the external World and presents them for processing. The EMI
Adapter is transparent to the external application.
External
Application
To use the External Messaging Interface, the External Messaging Client library
must be bound into the external application. The External Messaging Client
library contains the APIs called by the external application when communicating
with the SMGs. When the external application calls one of these APIs, a
connection is made through a communications mechanism to the EMI Adapter.
Target
External Object
Application SDO with
Parameters
SDO for the
reply API
External External Gateway
Messaging Messaging Object
Client Library Server
Bounded with Object
External
Application
API Description
EmiBuildObjectName Builds an object name given the instance, class, and World
names.
EmiSetTimeOut Allows the application to specify how long EMI waits for
certain operations.
You can use SDOs to represent the layout of a view for use by the SMGs for
configuration information. Many of the classes in the eBPCS Class library also
use the hierarchical structures of SDOs in their instance data to represent data
relationships.
Label: Company
Value: Acme Inc
Type: String
The Company SDO contains a Phone SDO and two Employee SDOs. Each
Employee SDO contains an Age SDO and a Married SDO. Note that SDOs are
identified by the use of SDO labels. The structure of the Company SDO reflects
the structure of a company. (A company has a phone number and a number of
employees). Similarly, an employee has an age and can be married. The
following example is the same SDO in written format:
Note
The data in the SDO is case-sensitive.
SDO label
The label identifies an SDO similar to a field name on a form. If you need to know
an employee name, consult the Employee field. To find the employee name if it is
held as an SDO, look for an SDO with an Employee label. SDO labels are
optional.
Type Meaning
Void No value
SDO container
An SDO can have a container that holds other SDOs. In the example shown at
the end of 3.3.5.1, “Semantic Data Objects” on page 25, the container of the
Company SDO contains three SDOs-one Phone SDO and two Employee SDOs:
Here { } are containers. Root SDOs are handled differently, as described in “Root
SDOs” on page 28.
Atom Atom
Boolean Bool
Double Double
Long Long
String <Nothing>
Decimal Decimal
Note
SDOs that are preceded with an asterisk (*) are supported for compatibility with
early versions of the Semantic Data Service only. You may see them
occasionally, when examining an SDO in text form.
The type String is the default type. If no type is specified when representing an
SDO in text, the type is assumed to be String. The representation of the value for
a Boolean type is either Yes or No. An example of an SDO type String may be
represented in text as:
[]
{
[Company,String]"Acme Inc"
{
[Phone,Long]"12345"
[Employee,String]"Bill"
{
[Married,Bool]"False"
[Age,Long]"21"
}
[Employee,String]"Ted"
{
[Married,Bool]"True"
[Age,Long]"45"
}
}
}
If the Employee SDO has nothing in its container it is represented in text as:
[Employee]"Bill"
If the Employee SDO has nothing in its container, no value, and no label, then it is
represented in text as shown here:
[]
Root SDOs
An SDO can be contained within another SDO. An SDO not contained within
another SDO is referred to as a root SDO. In the example in “Representing an
SDO in text” on page 27, the Company SDO is an example of a root SDO. The
Phone SDO is not.
When representing an SDO in text, there is a limitation. The label and value of a
root SDO are not specified.
The Company SDO is not represented in text as shown earlier, but rather as
shown here:
{
[Phone,Long]"123456"
[Employee]"Bill"
{
[Age,Long]"21"
[Married,Bool]"No"
}
[Employee]"Ted"
{
[Age,Long]"45"
[Married,Bool]"Yes"
}
}
3.3.6 CHECKEMI
Knowing the purpose and structure of SDOs, you can now use this information to
send messages using SMGs. The SMG package includes a program called
CHECKEMI. CHECKEMI is a sample program that you can use as an example for
programming an application that communicates with SMGs. You can also use this
application to test the SDOs that you are sending into eBPCS. Valid CHECKEMI
message syntax is described in the SMG Availability Guide, which can be found
on OGS.
Note
You must be a valid eBPCS user for the SMGs to update eBPCS. You should
also include Logon and Logoff messages in your SDO. Refer to the SMG
Availability Guide for more information about Logon and Logoff messages.
You only need to use the Logon message once before sending other
messages. Once you log on and your security is validated, you can send as
many messages as you want through the SMG. Note that you should send the
Logoff message to cleanly shut down your ODO processes.
The plus (+) next to a gateway indicates that this gateway was still in
production at the time this redbook was published and the functions listed may
change.
OutboundNotification
DeriveObjectName
ChangeReference
CreateCollection
CreateReference
DeleteReference
ChangeTracking
Query Instance
CreateTracking
BPCS Program
DeleteTracking
Delete/Destroy
Query Class
Describe
AddLine
Change
Create
Apply
Post
Gateways
BankAccount ACP140 ■ ■ ■ ■ ■ ■ ■ ■
BankBranch + CSH130 ■ ■ ■ ■ ■ ■ ■ ■
BillOfMaterial BOM500 ■ ■ ■ ■ ■ ■
Carrier OLM100 ■ ■ ■ ■ ■ ■ ■
COLine ORD720 ■ ■ ■ ■ ■
COLineAllocation+ ORD720 ■ ■ ■ ■ ■ ■ ■ ■
Commodity+ PUR180 ■ ■ ■ ■ ■ ■ ■ ■
Company ACR120 ■ ■ ■ ■ ■ ■ ■ ■
Container+ API140 ■ ■ ■ ■ ■ ■ ■ ■
CostBucket CST150 ■ ■ ■ ■ ■ ■ ■ ■
CostSet CST140 ■ ■ ■ ■ ■ ■ ■ ■
Country SYS117 ■ ■ ■ ■ ■ ■ ■ ■
Currency CLD107 ■ ■ ■ ■ ■ ■ ■ ■
Customer ACR100 ■ ■ ■ ■ ■ ■ ■ ■
CustomerAddress+ ORD100 ■ ■ ■ ■ ■ ■ ■ ■
CustomerDocSequence+ ACR160 ■ ■ ■ ■ ■ ■ ■ ■
CustomerInvoice - ■ ■ ■ ■ ■
CustomerItem ORD150 ■ ■ ■ ■ ■ ■ ■ ■
CustomerOrder ORD720 ■ ■ ■ ■ ■ ■ ■ ■
CustomerPaymentType+ ACP170 ■ ■ ■ ■ ■ ■ ■ ■
CustomerSales - ■ ■ ■ ■ ■
ChangeReference
CreateCollection
CreateReference
DeleteReference
ChangeTracking
Query Instance
CreateTracking
BPCS Program
DeleteTracking
Delete/Destroy
Query Class
Describe
AddLine
Change
Create
Apply
Post
Gateways
CustomerTerms+ ACR110 ■ ■ ■ ■ ■ ■ ■ ■
CustomerType ACR170 ■ ■ ■ ■ ■ ■ ■ ■
Department CAP120 ■ ■ ■ ■ ■ ■ ■ ■
Employee+ SFC150 ■ ■ ■ ■ ■ ■ ■ ■
Facility SYS190 ■ ■ ■ ■ ■ ■ ■ ■
ForecastSchedule - ■ ■ ■ ■ ■
FreightClass+ OLM125 ■ ■ ■ ■ ■ ■ ■ ■
FreightTerms+ OLM115 ■ ■ ■ ■ ■ ■ ■ ■
HarmonizationAnnex+ OLM191 ■ ■ ■ ■ ■ ■ ■ ■
Hazard+ OLM195 ■ ■ ■ ■ ■ ■ ■ ■
HazardousUNNAId+ OLM190 ■ ■ ■ ■ ■ ■ ■ ■
Inventory INV500 ■ ■ ■
InventoryHistory - ■ ■ ■ ■ ■
Item INV100 ■ ■ ■ ■ ■ ■ ■ ■
ItemClass+ INV160 ■ ■ ■ ■ ■ ■ ■ ■
ItemCost CST100 ■ ■ ■ ■ ■ ■ ■ ■
ItemFacility MRP140 ■ ■ ■ ■ ■ ■ ■ ■
ItemNote+ INV190 ■ ■ ■ ■ ■ ■ ■
ItemSales - ■ ■ ■ ■ ■
ItemStatus+ INV195 ■ ■ ■ ■ ■ ■ ■ ■
ItemType+ INV171 ■ ■ ■ ■ ■ ■ ■ ■
LaborTicket SFC600 ■ ■ ■ ■ ■ ■ ■
Load OLM510 ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■
LoadCarton OLM510 ■ ■ ■ ■ ■
LoadOrder OLM510 ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■
LoadShipment OLM510 ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■
Location INV170 ■ ■ ■ ■ ■ ■ ■ ■
Lot INV130 ■ ■ ■ ■ ■ ■ ■ ■
LotNote+ INV130 ■ ■ ■ ■ ■ ■ ■
ChangeReference
CreateCollection
CreateReference
DeleteReference
ChangeTracking
Query Instance
CreateTracking
BPCS Program
DeleteTracking
Delete/Destroy
Query Class
Describe
AddLine
Change
Create
Apply
Post
Gateways
Machine CAP170 ■ ■ ■ ■ ■ ■ ■ ■
Manufacture+ QMS100 ■ ■ ■ ■ ■ ■ ■ ■
ManufactureItemTest+ QMS105 ■ ■ ■ ■ ■ ■ ■ ■
ManufacturingMethod+ SYS135 ■ ■ ■ ■ ■ ■ ■
MaterialComponent BOM500 ■ ■ ■ ■ ■
MeansOfTransport+ OLM110 ■ ■ ■ ■ ■ ■ ■ ■
MethodCode+ SYS115 ■ ■ ■ ■ ■ ■ ■ ■
PickListConfirm+ ORD570 ■ ■ ■ ■ ■ ■
PlannedOrder MRP510 ■ ■ ■ ■ ■ ■ ■ ■
POLine PUR500 ■ ■ ■ ■ ■ ■ ■ ■
POReceipt+ PUR550 ■ ■ ■ ■ ■ ■
POReceiptInspection+ PUR550 ■ ■ ■ ■ ■ ■
PostalCode+ OLM170 ■ ■ ■ ■ ■ ■ ■ ■
PurchaseOrder PUR500 ■ ■ ■ ■ ■ ■ ■ ■ ■
ROReciept+ DRP550 ■ ■ ■ ■ ■ ■
Routing SFC100 ■ ■ ■ ■ ■ ■ ■ ■
RoutingOperation SFC100 ■ ■ ■ ■ ■ ■ ■ ■
RoutingOperationNote+ BOM190 ■ ■ ■ ■ ■ ■ ■
Salesperson+ SAL100 ■ ■ ■ ■ ■ ■ ■ ■ ■
ShippingCommision+ OLM142 ■ ■ ■ ■ ■ ■ ■ ■ ■
ShippingRoute+ OLM135 ■ ■ ■ ■ ■ ■ ■ ■
ShippingZone+ OLM130 ■ ■ ■ ■ ■ ■ ■ ■
ShipTo+ PUR130 ■ ■ ■ ■ ■ ■ ■ ■
ShopFloorBackflush+ SFC650 ■ ■ ■ ■ ■ ■
ShopOrder SFC500 ■ ■ ■ ■ ■ ■ ■ ■
SOMaterialAllocation SFC500 ■ ■ ■ ■ ■
SOMaterial SFC500 ■ ■ ■ ■ ■
SOOperation SFC500 ■ ■ ■ ■ ■
Specification QMS115 ■ ■ ■ ■ ■ ■ ■ ■
ChangeReference
CreateCollection
CreateReference
DeleteReference
ChangeTracking
Query Instance
CreateTracking
BPCS Program
DeleteTracking
Delete/Destroy
Query Class
Describe
AddLine
Change
Create
Apply
Post
Gateways
TableRecordBPCS+ SYS105 ■ ■ ■ ■ ■ ■ ■ ■
TaxRate+ SYS140 ■ ■ ■ ■ ■ ■ ■ ■
TaxTable SYS150 ■ ■ ■ ■ ■ ■ ■ ■
UOMFactor INV120 ■ ■ ■ ■ ■ ■ ■ ■
Vendor ACP100 ■ ■ ■ ■ ■ ■ ■ ■
VendorContract+ PUR151 ■ ■ ■ ■ ■ ■ ■ ■
VendorContractDetail+ PUR152 ■ ■ ■ ■ ■ ■ ■ ■
VendorDocSequence+ ACR160 ■ ■ ■ ■ ■ ■ ■ ■
VendorQuote+ PUR150 ■ ■ ■ ■ ■ ■ ■ ■
VendorPaymenetType+ ACP170 ■ ■ ■ ■ ■ ■ ■ ■
VendorTerms+ ACP160 ■ ■ ■ ■ ■ ■ ■ ■
VendorType ACP150 ■ ■ ■ ■ ■ ■ ■ ■
Warehouse INV110 ■ ■ ■ ■ ■ ■ ■ ■
WarehouseInventory ■ ■ ■ ■ ■
WarehouseSales ■ ■ ■ ■ ■
WorkCenter CAP100 ■ ■ ■ ■ ■ ■ ■ ■
The code produced by these products is mainly OPM RPG, with the exception of
the interactive parts of the Second Generation Client/Server product, which are
ILE RPG. New versions of the toolset have been developed that generate ILE
RPG exclusively (note that new ILE generators were in testing at the time this
redbook was published). This will bring performance benefits and SSA's
development strategy in line with IBM. Both of these toolsets are Computer Aided
Software Engineering (CASE) tools. Software Engineering refers to the
disciplined, structured, and documented approach to software development.
Using CASE tools for software development helps increase your productivity,
quality, and efficiency. The concept of CASE consists of six components that are
The first three components (Planning, Analysis, and Design) involve system
planning tasks, such as flow charting, diagramming, Data Modeling, data
diagramming, entity relationships, and decomposition diagrams. CASE products
covering this portion of the software development life cycle are primarily PC
based, and are often referred to as Upper CASE tools. The latter components of
the cycle (Construction, Project Management, and Implementation) are primarily
application generation, and are often referred to as Lower CASE tools.
It then automatically generates the source code. The generated code and objects
can be executed as fully functional application programs. To make changes in the
application, the definition can be changed within ADK and regenerate the
appropriate code.
Since ADK is menu driven, it steps through all the required functions in building
an application. ADK incorporates all SAA CUA standards. ADK makes full use of
action bars, action codes, pop-up windows, cursor-sensitive processing,
field-level Help, and an optional OS/400 command entry line on each panel.
All generated programs are full-function and can be run stand-alone or called
from within one of your own programs, menus, or applications. Since ADK has no
proprietary routines or run-time modules, you can port generated programs to
other AS/400s, regardless of whether ADK resides on the system.
Within each program type, you have complete calculation capability, such as
numeric calculations, alpha calculations, date arithmetic, pre-defined functions,
and conditional processing.
The range of application programs that you can generate with the ADK product is
unlimited. You can build simple display programs, such as a menu or inquiry. You
can also generate very complex on-line maintenance programs involving multiple
ADK can generate any type of display, report, or batch program and link these
programs together, as well as link them to your own application programs. With
these abilities, the ADK product can generate the majority of required
applications.
The next component in the architecture is the Repository. Each Application Set
has access to only one Repository. Within the Repository are the Data Models,
Field Reference entries, define/re-create DDS files, etc. From the re-usable
specifications created in the Repository, you can define display, batch, and report
programs.
The Repository can pull in and use existing Data Description Specifications
(DDS) or create new DDS from within ADK. DDS files can be created from within
the define/re-create DDS section of the Repository, or from the Data Model. Once
the Data Model is created, the programs are created from the Data Model's
logical view of the data.
Although the Application Sets share the same Repository, the Application Sets
remain distinct entities and their respective programs are not shared.
For example, in Figure 14 on page 38, the Repository for Application Set 1
contains all the re-usable specifications, such as Data Models and files for Set 1,
Set 2, and Set 3. Since Application Set 2 and Set 3 both reference for the
Repository Set 1, they do not have their own Repository.
The Repository menu allows you to perform the following functions based on the
options shown in Figure 14:
• Define Data Models (option 1) allows you to define Data Models with its
associated files and fields. When defining Data Models, you can use files that
First, you create the Data Model (bringing in any existing files). Then, you define
the files and fields from within the Data Model. The fields are actually created and
stored in the Field Reference section of the Repository, making them available to
other users in the same Application Set. A program can be defined before the file
has been compiled. However, before compiling the program, you must first
compile the files.
When Data Models are defined, they can be defined with files that may exist as
DDS objects. If the Data Model contains files that do not yet exist, they can be
automatically generated once the Data Model is defined. For files that do not
exist as DDS objects, the fields that are specified are pulled from the Field
Reference section, along with their associated characteristics, attributes, and
validation.
When defining fields to a Data Model, the fields do not have to exist in the Field
Reference. However, when a field is defined to a Data Model, a check is
performed to see if the field exists in the Field Reference. If it does exist in the
Field Reference, its characteristics, attributes, and validation are pulled into the
Data Model definition. If it does not exist, default values for these items are
assigned.
Regardless of the changes made at the Data Model or program level, the
properties at the previous level are never affected. For example, if you make
changes to the field characteristics at the Data Model level, the field
characteristics at the Field Reference level are not affected.
The following items are optional when defining a display program screen:
• File-level keywords, such as HOME, which means when a user presses the
HOME key, the cursor is positioned on the first input-capable field. These
keywords are defined on the Display Program Edit - Keywords panel.
• Screen-level keywords affect a screen when it is displayed when a display
program is run. These keywords are specified on the Display Program Edit -
Screen Listing panel.
• Help text refers to information explaining the function or purpose of the display
program screen. This help text is created on the Define Help Text panel.
• Three types of Subroutines can be defined for the display program: Action
Subroutines, External Source Subroutines, and Repository Action
Subroutines. Subroutines are defined on the Display Program Edit -
Subroutines panel.
• Parameters can be defined for the display program on the Display Program
Edit - Parameters panel. Once parameter fields are defined, they are just like
other fields within the display program and can either be placed on the Screen
Painter or used in Actions.
• An unlimited number of text lines can be specified for the Program Narrative.
Program Narrative is specified on the Display Program Edit - Program
Narrative panel.
All screens must have actions to drive the display of file data on the screen, to
drive the movement by the user from screen to screen, and to manipulate any
data or calculations. Actions are defined on the Action Definitions panel.
Once you define the display program screens, you can prototype the display
program. This allows you to design screens, and then examine the flow of the
screens before you compile the display program. Screens are selected for
prototyping by using the Prototype panel.
When you finish defining the display program, you are ready to compile and
execute the program.
The following items are optional when defining a report program screen:
• Report headings, such as date and company name, can be specified to
appear on the report. These report headings are defined on the Report Setup
A report program automatically creates the logic and prints report lines based on
the report layout. To perform data manipulation, you can specify the actions to
operate between the reading of the data and its printing.
In report programs, actions can be executed before or after level breaks. You can
define level-break actions for any field that has been defined as having a level
break on it. You can define an unlimited number of actions that are executed
when the report program is run. Actions are defined on the Report Actions panel.
After selecting a Data Model and the Data Model fields, a default layout of the
report can be obtained that includes the fields, text, page headings, footings, and
level breaks that have been defined. This layout is reported on the Report
Program Edit - Layout Ruler panel. You can modify this default layout.
When you finish defining the report program screens, you can compile and
execute the program.
If referential integrity rules are defined for any files in the program, they are
included in any generated batch program. referential integrity ensures that file
relationships are maintained when records are added to, or deleted from a file.
The following items are optional when defining a batch program screen:
• Parameters can be defined for the batch program on the Batch Program Edit -
Parameters panel. Once parameter fields are defined, they are just like other
fields within the batch program and can either be placed on the screen or used
in actions.
• Three types of Subroutines can be defined for the Batch Program: Action
Subroutines, External Source Subroutines, and Repository Action
Subroutines. Subroutines are defined on the Batch Program Edit -
Subroutines panel.
• An unlimited number of text lines can be specified for the program narrative.
Program narrative is specified on the Batch Program Edit - Program Narrative
panel.
• Data structures and data areas can be defined for the batch program using the
Data Structures/Data Areas panel.
• Selection criteria can be specified for one or more files in the batch program
using the Selection Criteria/Audit Reports/Commitment Control panel. Using
this panel, you can also activate commitment control or activate an audit
report for a file.
• Report layouts can be defined on the Batch Program - Report Ruler Layouts
panel. Report layouts can be customized using the Report Painter. Report
layouts can be customized using the Report Painter.
• A batch program needs to have actions to read the file. To perform data
manipulation, actions can be specified to operate between the reading of the
data and its printing. Actions are defined on the Batch Actions panel. This task
is required when defining a batch program.
Once the batch program is defined, you can compile the program and execute it.
Action Statements are executed by the generated program in the order that they
are listed (unless conditionals or GOTO statements are involved). In report and
batch programs, actions are defined in one place. However, in display programs,
multiple lists of actions can be defined for each screen in the program.
For example, for a single screen in a display program, a different set of actions
can be defined for each function key, each time Enter is pressed (Post-Enter
Actions), for execution prior to displaying a screen (Pre-Screen Actions), or for
execution after a screen is exited (Post-Screen Actions).
You can define an unlimited number of Action Statements per ADK program.
All Action Statements are defined on an Actions panel similar to the example in
Figure 17. The only difference between the three program types is the panel title.
The Action Definitions panel allows you to define an unlimited number of actions
that are executed when the display, batch, or report program is run. Whenever an
Action Statement is added or updated, it is stamped with the date, time, and user
profile name. When the program definition is printed, this information appears for
each Action Statement.
Line numbers are automatically assigned by ADK and represent the order in
which the Actions will be executed. Lines can be copied (C), moved (M), deleted
(D), or inserted (I) by typing the appropriate symbols in the Line field.
Type Meaning
N Numeric actions
K Action Keyword
A Alpha actions
C OS/400 command
; Comment statement
+ Continuation lines
The Field/Kywd field is used to enter either the result field for the specified Action
Text, Action Keyword, or OS/400 command.
If you type in a field in the Field/Kywd field, it becomes the result of the Action
Text statement. For example, in the following statement. QTR1 is the field that is
the result of JANSLS + FEBSLS + MARSLS.
You can use required objects to execute the program from either within ADK or
from outside. No run-time or proprietary routines are placed in the objects, which
means that they can be ported to other AS/400 systems and run on an AS/400
without the ADK product being present.
While you can define specific programs within ADK, you can stream multiple
programs together to produce full application systems. Any ADK program can call
any other ADK program through the use of user-defined actions. In this manner,
programs can be sequenced into full job streams.
Full integration of ADK programs and your own application programs is possible,
since any ADK program can call any AS/400 program and any AS/400 program
can call any ADK program.
The generation of ADK programs is performed within ADK using one of three
options:
• The Action Choice of Compile options
• The GENPGM command, which allows you to generate all programs and also
to start and end the subsystem
With ODW, you can create application definitions with point-and-click technology
and work on many different objects at once. You can move from one task to
another and even cut and paste information between the objects.
You can define, design, and generate graphical, client/server programs for the
32-bit Windows environment with ODW OPS Designer. The definition facilities
shown in Figure 18 are part of ODW.
A pp licatio n S e t
C olu m n s
• T ype
• L ength
R e fe re n ce d in
D atab as e T ab les
D efin itio n • C o lu m n L ist
• K ey Info
U se d in
D ata M od els
• T ab le L ist
• R elation ship
U se d b y
A p plication s
A p p lica tion s • D M L ist
• L ogic
Columns
A column is a piece of information. A column defines such characteristics as type
and length. To develop columns in ODW OPS Designer, you define a global
Tables
A table contains multiple columns. A table is a collection of related records
treated as a basic unit of storage. To develop tables in ODW OPS Designer, you
map all the columns to a table that represents a basic unit. You can then
reference the tables you define in a Data Model.
A table can be a physical table or a logical view of a table. You can set up:
• Physical tables, which contain columns that store actual data.
• Logical tables, which are built over the physical tables and define a new view
or key to access the physical table data.
• Joined tables, which is a union of one or more tables that do not actually exist
in eBPCS.
Data Models
A Data Model is a group of one or more tables that provide a logical view of the
column information in a table. A Data Model can show the relationships between
tables. It is also a logical representation of entity or table relationships contained
within a single definition.
Programs use Data Models to process tables by referring to the Data Model
instead of individual tables. Display and batch programs both reference and use
the Data Models to manipulate records and data. You must define Data Models
with tables that exist in the definition. A Repository can contain one or more Data
Models.
Display programs
Display programs are interactive client/server applications. These are of the
same type as the eBPCS OPS style applications. A display program allows the
definition of server logic as well as the client interface. Display programs cover
the following online processing functions:
• Inquiries
• Menus
• Prompts
• Informational displays
• Maintenance processing (table updates, deletes, adds, and transaction
processing)
Containers
A container is an iconic representation of an application system, a group of
programs, or a single executable. These icons or containers instantiate on the
user interface at runtime, and serve as a grouping mechanism and shortcut for
launching an executable.
Containers provide easy access to the applications and program groups that your
end users use most often. For example, eBPCS consists of a number of
executable products in the entire eBPCS application system. Many products
relate to the financial industry, many to manufacturing, and so on. You may want
to create a group based on functional similarity, such as creating a container for
just the eBPCS financial products, one for just the manufacturing-related
products, or any configuration that makes sense.
eBPCS is considered the one and only application in ODW and is the main root.
The eBPCS runtime environment is designed to reference only the eBPCS
container as the main application. From this root, you define any number of other
containers. Within each container, you can place one or more containers or
discrete executables (individual program).
Text in ODW
When defining applications, text is used to describe data on windows. Currently,
there are three ways of defining strings for an ODW application:
• String table (client)
• Message file (host)
• Static text
Only client string tables and message files are external and allow for National
Language Support (NLS). The advantage of these externalized strings is that
different languages can be used with the same set of executable program files.
Table 14 on page 55 lists the characteristics of string tables and message files,
which are discussed in detail later in this chapter.
Use where there is a GUI window only Use where there is a View Model/Character
screen Reference on GUI
Generation Generation
ODW OPS Generator ODW Generator
Resource file AS/400 Message file
Host
Compile
DLL
Client
When changes are made to a message file, the message file must be uploaded to
the host using ODW Upload. Next, the message file has to be generated on the
host using the ODW Generator for that host platform. For the AS/400 host, these
files are used to generate AS/400 message files that are read at execution time.
Similarly, the UNIX generator takes updated message files and generates
additional rows to the SSAZ01, SSAZ02, and SSAZ03 tables.
• Use where
–View Model/Character screen ODW AS/400
Upload
–Reference on GUI
• Global
–Available to all AppSets ODW AS/400
Generator
• Generation (AS/400)
–ODW AS/400 Generator
–AS/400 Message File Message File
–Host
In ODW, multiple languages can be defined. Each language can have multiple
message files. Within each message file there are strings with unique message
IDs. Message file strings are referenced by message file name and message ID.
This design allows the same message file and message IDs to be defined in
multiple languages.
While each copy of the message file can have the same set of message IDs, the
associated message text can be in different languages. For example, if a view
model references the string Press Enter to return with the message ID MSG1234
If the screens show an application which displays the message text Press Enter
to return in English and in French, both message files are named EMPMSG. The
English version of the message file resides in the ENGLISH directory, and the
French version resides in the FRENCH directory.
To toggle between message file directories, you must modify the Action Diagram
to manipulate the directory list.
String Table source is automatically generated during the View Layout File (VLF)
generation using the OPS Generator. This string table source is used along with a
C++ compiler to create the string table DLLs. The compiled DLLs must be placed
in the eBPCS directory path specified locally using the eBPCS Session Manager.
The default is c:\bpcscs\bpcsapps\str\eng.
Compile
• DLL
View Layout Files GUI
ODW
OPS Generator
eBPCS
Definitions
The previous BPCS architecture required separate string tables for each
Application Set. Within Application Sets, the tables were separated into title bars,
menus, captions, and a headings list box. For example, ACP has string tables
called SSAACPT, SSAACPM, SSAACPC, and SSAACPH.
Performing modifications
ODW OPS Designer resides on the Windows NT client. eBPCS application
definitions reside on the Windows NT server in an SQL database. Follow these
steps:
1. Make your modifications or additions using ODW OPS Designer on a
Windows NT client workstation.
2. ODW stores your application definitions on the NT server in an SQL Server
database.
Uploading definitions
After you make modifications, you need to upload the definitions to the host so
you can generate the server. The ODW Upload program resides on the ODW
client.
ODW Upload takes definitions from the Windows NT server and uploads them to
the host. Figure 24 illustrates this task.
NT Generation Objects
Repository ODW View Layout Files
GUI
OPS Generator
eBPCS
Definitions
String Table
Source
Testing
After you generate the client and the server, the last step is to test the application.
The following process occurs at eBPCS (run-time):
Applications Applications
OS/400
Database
Communications Application Dev. On-Line Help
Mgmt Security Performance Tuning
Spooling Multimedia
Systems Mgt. Graphics
OLTP Graphical Interface
Communications Server Support
Security DB2/400 Open Interfaces
Network
Management
Technology Independent Machine Interface
Operating System
AS/400 Hardware
Hardware and Microcode 64 Bit RISC PowerPC
Non-AS/400 AS/400
Figure 29. AS/400 system - An integrated system
The IBM engineers in Rochester, Minnesota, designed and built the AS/400
PowerPC AS hardware to integrate with OS/400. OS/400 includes a wide array of
middleware components including a relational database, an Internet server,
system management facilities, built-in facilities for change management, backup
and recovery, and spool or print handling. It also includes communication
capabilities such as SNA, TCP/IP, and IPX; a POP3 mail server; and client
support (OS/2, Windows 3.1, Windows 95, Windows 98, Windows NT, MacIntosh,
and some UNIX clients such as IBM AIX). As a part of OS/400, these middleware
products share the same packaging, competitive pricing, user interface,
installation, maintenance, security, and management facilities.
The integration of these components in the Rochester lab ensures that the
AS/400 system does not need a skilled systems integrator at the customer site.
The AS/400 system arrives ready to start. This integration means that the AS/400
system delivers a lower cost of ownership. Studies by such consulting groups as
International Data Corporation (IDC) and Emerging Technologies Group reveal
The TIMI layer is a design boundary that separates the hardware and Licensed
Internal Code (LIC) from the operating system (OS/400). This permits the
instructions used by the compilers of high level-languages to be generic and
machine (hardware) independent. These instructions are translated to a specific
hardware instruction set as part of the back end of the compilation process.
Hardware dependencies are absorbed by the LIC (internal microcode).
A S /4 0 0
O S /4 0 0 A p p lic a tio n s
P C A p p lic a tio n s
U N IX A p p lic a tio n s
J a v a A p p lic a t io n s
O p e n A p p lic a t io n E n v ir o n m e n t
I n t e g r a t e d M id d le w a r e S e r v ic e s
T e c h n o lo g y I n d e p e n d e n t M a c h in e I n t e r f a c e
L ic e n s e d In te r n a l C o d e
H a rd w a re
All AS/400 system applications exploit the new 64-bit architecture. Older AS/400
system applications are automatically migrated to run under 64-bit RISC
technology. They do not have to be recompiled or rewritten to support 64-bit
addressing, 64-bit data paths, or 64-bit registers.
The main system processor (which itself can actually comprise 12 separate
processors on the latest AS/400 systems) may encounter a request for data to be
read to, or written from, any I/O device (an operation whose duration is measured
in milliseconds (10- 3 second), rather than nanoseconds (10- 9 second) - the unit of
time used to measure main storage access times). When this happens, that
request for data is delegated to the particular microprocessor dedicated to that
I/O device. Meanwhile, the main system processor continues with executing
another application program.
This design provides the AS/400 system with its outstanding performance in the
commercial, transaction-based, environment. The AS/400 system is designed for
business computing. One of the main characteristics of that environment is that it
is I/O-intensive, rather than compute-intensive.
AS/400 architecture 63
Processor Processor Processor Processor Up to 12 64-bit RISC
Processors
Cache . . .
PCI LAN
LAN Attached
Devices
Note that Integrated PC Server (IPCS) provides a 200 MHz Intel Pentium
processor with up to 512 MB of main memory. Integrated Netfinity Server (INS)
provides a 333 MHz Intel Pentium II processor with up to 1024 MB of main
memory. IBM Netfinity Server is available on all AS/400 RISC models.
As with TIMI, the concept of single level storage means that the knowledge of the
underlying characteristics of hardware devices (in this case, the hardware
storage devices—main storage and disk storage) reside in the System Licensed
Internal Code (SLIC). All of the storage is automatically managed by the system.
Programs work with objects, and objects are accessed by name, never by
address. No user intervention is ever needed to take full advantage of any
storage technologies.
The AS/400 system can address the number of bytes that 64 bits allows it to
address. For example, 264 is 18,446,744,073,709,551,616. Therefore, the
AS/400 system can address 18,446,744,073,709,551,616 bytes, or 18.4
quintillion bytes.
OS/400
OS/400
OS/400
Hypervisor
SMP
All V4R4 systems have a primary partition with all resources initially allocated to
it. Creating and managing secondary partitions is performed from the primary
partition. The movement of processors, memory, and interactive performance
between partitions is achieved with only an IPL of the affected partitions. The
movement of IOP resources is achieved without an IPL.
OS/400 is licensed once for the entire system by its normal processor group,
regardless of the number of partitions. License management across partitions is
not supported. OS/400 V4R4 must be installed on each partition. Previous
releases are not supported on any logical partition.
AS/400 architecture 65
The following Web site is available for installation support and technical
guidance. When planning logical partitions for an AS/400 system, rely on this
Web site for information, direction, and management tips:
http://www.as400.ibm.com/lpar/
4.7 Clustering
Logical partitioning creates independent systems within a single physical box.
Clustering can be seen as a superset of logical partitioning in that it provides a
single resource view that binds together two or more physical AS/400 systems.
These can, in turn, be logically partitioned if required.
Clustering offers increased high availability of applications and data. It does this
by providing automated recovery facilities across several combined AS/400
systems (defined as nodes in the cluster). For example, through clustering, an
application can be set up to run on a primary node, with a secondary node
defined for quick failover switching, when the primary node becomes unavailable.
The switchover would include the automatic switching of communications to the
secondary node.
5-Node Cluster
Partitioned
Node
Cluster Control
LAN
Objects have operational characteristics and a defined set of operations that can
be performed on them. Objects are addressed through 16-byte pointers. Eight
bytes are used for a machine address, and the other eight bytes are used for
information about the object pointed to and for reserved space. In addition to
providing addressability to the object, pointers provide access to the associated
storage, and are used to ensure data integrity and security.
Below the TIMI, LIC provides a tag bit for each quadword (16 bytes that must be
aligned on a 16-byte boundary) within main storage. This bit is not addressable
by the TIMI instructions used to address storage (that is, programs above the
TIMI have no direct access to the tag bit). The bit identifies quadwords in storage
containing TIMI pointers. The tag bit is turned on by LIC when a pointer is set and
turned off by the hardware any time the quadword is modified. This procedure
allows the system to detect invalid pointers and prevent illegal use of a pointer.
An attempt to subsequently use this data as a pointer results in an exception and
the instruction is not completed. It is not possible to counterfeit a pointer or to
modify a pointer in an invalid way. This provides for increased integrity of the
machine against intentional or unintentional software actions.
These definitions can be made through the native data definition language of
DB2/400 called Data Description Specifications (DDS). Alternatively, the
structure of a relational database can be specified using the data definition
statements provided by the Structured Query Language (SQL).
Using DDS, you can define logical files over your physical files or tables. Logical
files provide a different view of the physical data, allowing column subsetting,
record selection, joining multiple database files, and so on. They can also provide
the physical files with an access path when you define a keyed logical file.
An SQL view is almost equivalent to a native logical file. The selection criteria
that you can apply in an SQL view is much more sophisticated than in a native
AS/400 architecture 67
logical file. An SQL index provides a keyed access path for the physical data
exactly the same way as a keyed logical file does. Still, SQL views and indexes
are treated differently from native logical files by DB2/400 and cannot be
considered to coincide exactly. For example, SQL views can have names longer
than 10 bytes, but DB2/400 files cannot.
For more information on DB2/400 and SQL, refer to the DB2 for AS/400
Database Programming , SC41-5701; DB2 for AS/400 SQL Programming,
SC41-5611; and DB2 for AS/400 SQL Reference Guide, SC41-5612.
IBM provided the following enhancements to DB2 Universal Database for AS/400
through the 1999 Database Enhance Pak or Group PTF SF99014.
• Large object support
With the addition of large objects (LOBs), DB2 Universal Database for AS/400
can store and manipulate data fields much larger than the current limits. An
AS/400 record with LOB fields can hold up to 15 MB of data. With the new
LOB support, you can look to DB2 Universal Database for AS/400 as a
platform for building applications that hold new data such as very large text,
image, and audio data.
• DATALINK data type
The DATALINK data type extends the types of data that can be stored in
database files. The actual data stored in the column is only a pointer to the
object such as an image file, a voice recording, or a text file. The method used
for resolving to the object is to store a uniform resource locator (URL). This
means that a row in a table can be used to contain information about the
object in traditional data types, and the object itself can be referenced using
the DATALINK data type.
DATALINKs also allow the referenced object to be "linked" to the database in
such a way as to prevent modification or deletion of the object while it is linked
to the database file. This relationship is maintained by having the database
interact with the file system that contains the object.
• User-defined types
User-defined types are derived from existing predefined types such as integer
and character. You can create your own types for strong typing and creating
AS/400 architecture 69
functions for different types. You can call a function for each row of a result set
and return a value based on the user-defined type.
• User-defined functions
SQL now lets you define your own functions to use within the SQL itself. This
saves you time in reusing common building blocks that you develop yourself.
User-defined functions are necessary building blocks to support the database
extenders (extensions to support rich text and multimedia search and
manipulation) currently supported on UDB.
The AS/400 system display file record format contains screen field definitions and
other screen control parameters. The screen field definitions can optionally obtain
their attributes from a database file field through a reference function. DDS is
used to define the display file record, database file record, and field attributes.
A p p lic a tio n s IF S
A P Is M e n u s /C o m m an d s
O S /40 0
F ile NFS N etW a re NT
S e rve r S e rve r S erv er S erve r
In teg ra ted F ile S ys tem In terf ace
AS/400 architecture 71
provides the capability to run multiple independent OS/400 instances or
partitions (each with its own processor, memory and disks, in an N-way
symmetric multi-processing AS/400 system). With LPAR, companies have
both the power and flexibility to address multiple system requirements in a
single machine. LPAR is valuable to customers for server consolidation,
business unit consolidation, mixed production, and test environments, as well
as integrated clusters. AS/400 clustering is taking a major step forward with
the introduction of Cluster Resource Services as part of OS/400 V4R4 (APIs).
The complexity of managing systems in a cluster and keeping track of data
and applications is now handled by OS/400 V4R4. Protecting your business
from unplanned and planned outages, as well as site loss disasters, is easier
than ever. Cluster management and enhanced data resilience applications,
both provided by high-availability business partners, complete the total
solution.
• User management: When a new user is added to OS/400, besides entering
the user ID and password, an administrator can specify the maximum amount
of disk space the user can use to store information, the maximum priority at
which any of their jobs run, and accounting information for tracking AS/400
system resource consumption by the user and several other attributes. The
administrator can also specify the output queue and message queue for the
user, the language and sort order for the user, and integrate the user ID and
password with Novell NetWare, or OS/2 Warp Server for AS/400 running on
the Integrated Netfinity Server (or Integrated PC Server) or with Domino for
AS/400 running on the AS/400 natively.
• National Language Support (NLS): The AS/400 system has national
language support for over 50 languages and can support multiple languages,
sort sequences, and character sets per system. With this support, one user
can interact with the system in German, while another user converses in
French. Unicode (UCS-2) support is also available.
• Problem management: A complete problem management application is
included with OS/400. This support allows administrators to track, analyze the
causes of, prioritize, and report to IBM the problems associated with the
computing environment. The AS/400 system keeps track of the installed
products, release levels, and program temporary fixes (PTFs) that were
applied.
• Software fixes : Individual software fixes or PTFs can be applied to LIC,
OS/400, and licensed programs either permanently or temporarily. The benefit
of applying a fix temporarily is that it can be applied, tested, and removed if it
is appropriate to do so.
AS/400 architecture 73
• PTF management for a distributed environment
If managing PTFs among several AS/400 systems is too complicated, the new
PTF management wizards are for you. The easy-to-use wizards walk you
through comparing the PTF levels of multiple AS/400 systems to a model
system that has a proven set of PTFs already installed. You then distribute
and install any missing PTFs on the remote AS/400 systems by simply
identifying the system or group of systems to be updated. You can run AS/400
commands as part of completing PTF installations or as part of normal
day-to-day operations.
• Inventory for multiple systems
With the new graphical interface, you can schedule regular inventory
collections of hardware, software, and PTF information for a group or network
of AS/400 systems. From the data collected, you can search for a specific
piece of information, export the information to a PC application for analysis, or
just compare information in multiple systems.
AS/400 system storage management uses single level storage (SLS). With single
level storage, there is a single, large address space for all storage (both main
storage and disk storage). Storage is addressed using a 64-bit (8-byte)
addressing structure. When an object is created, it is defined in a unique virtual
address space. There is a single page table (sometimes referred to as a page
directory) that maps all virtual addresses to corresponding physical addresses.
The benefits of single level storage include:
• All applications use one address space on the AS/400 system. Switching
processes (for example, from database to Internet) requires little time. There
is no need to flush out one address space and bring in another one.
• With single level storage, there is no need for swap or paging space. When
data needs to be moved out of memory, it goes directly to its permanent
location on disk. It is not written first to a swap file and then its permanent
location. AS/400 system disk space is not wasted for swap files.
• With single level storage, all information is in one large address space
regardless of it being in memory or on disk. All objects appear to be in
memory. When a program wants to reference data, it simply references it by
its address. There is no need for the program to translate addresses or go
through a lengthy process to determine where the file exists on disk. With disk
and memory managed through a common address space, the system can take
advantage of increased memory without requiring any complex memory
management activity.
• Single level storage also holds tremendous promise for object-oriented
programs such as Java. With the ability to have shared persistent objects, the
AS/400 architecture 75
AS/400 system can eliminate the processing required on other systems to
hydrate and dehydrate objects.
Single level storage is a key reason why the AS/400 system is easy to develop
applications for, can support multiple applications, and is scaled to support a
large number of users. Single level storage, combined with the automated
storage management capabilities, makes the AS/400 system an easier system to
manage.
The AS/400 system customer can manage disk space on the AS/400 system as a
single entity. The disk space can be used by all of the applications. The system
determines when and where to extend individual files and spreads the data
across the disk arms to maximize performance. The system keeps track of the
disk usage and warns the AS/400 system administrator when the disk space in
the system Auxiliary Storage Pool (ASP) reaches a specified threshold value.
Advanced AS/400 system installations can deploy other disk management
options to increase control of the space management process.
OS/400 has a single directory, which is the system distribution directory. This
directory is used by OS/400 e-mail (POP3 and OfficeVision) and Domino for
AS/400.
The AS/400 system has C2 security certification from the U.S. Department of
Defense and is the only computing system to have received certification for both
a database and operating system as a unit. The AS/400 system configuration that
was certified was a functional configuration that included non-programmable
terminals.
System authorization management is based on user profiles that are also objects.
All objects created on the system are owned by a specific user. Each operation or
access to an object must be verified by the system to ensure the user's authority.
The owner or appropriately authorized user profiles may delegate to other user
profiles various types of authorities to operate on an object. Authority checking is
provided uniformly to all types of objects within a file system.
Subsystems are provided to permit job grouping for ease of CPU control and
main memory. The assignment of jobs to separate or shared main memory pools
can be accomplished within a single subsystem or managed by separate
subsystems. User jobs may be assigned to IBM-supplied or user-defined
subsystems.
4.15 Summary
The AS/400 system has the most brilliant architecture found on any business
computing system. There are many examples of where the AS/400 system's
architecture has delivered on its promise of making the most advanced
technology readily and continuously available to its customers. The AS/400
system has enabled its customers to:
• Integrate diverse environments (such as Microsoft Windows NT and Lotus
Domino) into the AS/400 system. All customer solutions require a range of
hardware and software products from a variety of vendors. The AS/400
system, through integrating these mixed environments, simplifies the task of
managing them.
• Move from CISC processor technology to RISC processor technology without
needing to recompile programs. Programs are saved off the CISC systems,
restored on the RISC systems, and run as fully 64-bit applications. On
ordinary machines, recompilation is necessary (sometimes some rewriting),
and the resulting programs do not fully exploit the 64-bit hardware.
AS/400 architecture 77
78 Implementing SSA’s e BPCS on the AS/400 System
Chapter 5. eBPCS sizing
For any ERP implementation, one of the main questions is: How much hardware
will the application need to run my business? SSA has developed a rigorous
sizing process to help clients answer that question. Starting in late 1998, SSA
and IBM have been jointly administering the sizing process. Under the
partnership agreement, SSA develops the sizing tools, and the IBM ERP sizing
center processes and logs all sizing activity. The net result has been a consistent
and reliable sizing process regarded by the industry as "best of breed".
SSA and IBM encourage all BPCS users who are planning an upgrade, adding
additional users, or purchasing new software to complete a sizing questionnaire.
The sizing process is the single best tool to help determine production machine
size. The sizing tools have been developed for all supported versions of the
BPCS product line. As new products or changes to the existing line are
developed, the sizing tools will be updated to reflect any changes in the
performance characteristics of the products.
The work was performed in the IBM Customer Benchmark Center, which is part of
the IBM Development Laboratories in Rochester, Minnesota. A set of business
scenarios were built based on discussions held with an existing client, and from
experienced field personnel adding their own scenarios. These scenarios
covered most of the BPCS products used by the majority of our customers.
Scripts were prepared which detailed each business transaction. These identified
if variables would be required for such input as "Item", "Customer", etc. Using the
Mercury Scripting tools in the Chicago Performance Center the "English" scripts
were recorded and tested. In Rochester, the scripts were debugged and tested,
and the database was amended where necessary.
Information from the customer was used to ensure that the correct Customer and
Item combinations would be used to represent the right complexity of customer
orders. This was fed into tables for use within the scripts.
The database did not contain any General Ledger or Manufacturing data. This
was created both manually and by using the scripting tools to provide realistic
volumes of data.
Each of the scripts was combined into scenarios that were executed
automatically by the tools. This involved defining the number of times each
First, create a time line that graphs each application's workload from its starting
period through its peak time to when the workload is at a minimum. This time line
could turn out to represent a day, a week, a month, a quarter, or even a year. It all
depends upon your business environment. A peak hour graph should be created
as shown in Figure 35 on page 81.
Once this graph or image is complete, next, identify a peak hour of workload
where the CPU is going to be the busiest. This is the transaction workload you
will record on the following pages.
For the chart shown in Figure 35, the lines going across the graph represent the
eBPCS applications and the use of each application throughout the time line. If
you were to then study the graph, you could determine how the combined
application workload would effect a CPU running the application. The smooth
thick line represents the CPU workload and if you were to identify a peak hour of
activity, this would be represented by the vertical lines drawn.
Once the peak workload is identified, the transaction data and number of active
sessions representing this workload need to be recorded on the sizing
eBPCS sizing 81
questionnaire. For our example, the workloads and transactions are recorded as
shown in Table 15.
Table 15. Sizing questionnaire
Active sessions 2 2 4
Active sessions 3 4 7
Active sessions 3 0 3
Goods in scenario
Active sessions 10 0 10
Active sessions 8 0 8
Active sessions 2 0 2
Active sessions 1 0 2
SSA will use this is the information to provide a system sizing estimate since the
sizing tool is based on measuring the peak workload transactions. Even though
you may be running additional eBPCS applications, these individual workloads
eBPCS sizing 83
• Miscellaneous (eBPCS) scenario:
This workload should be used to represent any user that does not fall into any
of the other specified categories. It was measured using a mix of the following
transactions:
– Review Costed Bills of Material
– Review Inventory Balances by item, facility, warehouse and lot/location,
and transaction history
– Forward and backward Lot Trace
– Review Bills of Material
– Review Production Planning Data, switch to pegged demand
– Review Master Schedule Detail
– Review Re-supply Planning Data, switch to pegged demand
• Production Planning scenario:
– Amend Due date/Quantities on Planned Orders
– Select Planned Orders for Release
– Release and Print Selected Planned Orders to create shop orders
– Review Capacity Loading
– Review Production Planning data, switch to pegged demand
– Review Master Schedule Detail
– Review Re-supply Planning Data, switch to pegged demand
• Purchasing scenario:
– Create Purchase Orders Manually
– Print manually created Purchase Orders
– Select, Release and Consolidate Planned Purchase Orders
– Automatically Release Scheduled Orders (for example, those with
contracts)
– Review Purchase Order Details
– Print Scheduled Purchase Orders
• Sales Administration scenario:
– Review Planned Re-supply Orders
– Review Customer Account Details
– Review Customer Sales History
– Review Customer/Item X-reference Information
– Review Customer Order Details
• Shop Floor Control scenario:
– Manually Raise Shop Orders
– Print Released Shop Orders
– Reprint Shop Orders
– Enter Labor Tickets
– Post Labor Tickets
– Enter Labor Tickets that allow components to be issued automatically
– Post Labor Tickets and automatically issue components to shop orders
– Manually Issue Components to shop orders
– Receive End Products on shop orders
– Review Shop Order Transactions
• Simple Order Entry scenario:
A mix of multi-line orders: customer lookup on each order and item lookup on
each item. Each line has a single promotion associated with it.
5.4 Execution
Figure 36 on page 85 outlines the flow of the SSA/IBM sizing process. The
process is designed to provide a consistent and repeatable result given the same
input. The SSA representative has been trained to assist the client in properly
completing the sizing questionnaire. Currently, only SSA representatives have
access to the sizing questionnaire from OGS.
eBPCS sizing 85
86 Implementing SSA’s e BPCS on the AS/400 System
Chapter 6. Installation or migration to eBPCS V6.1.00
This chapter discusses the preparation required for installing e BPCS and
migrating from an existing release. Detailed instructions are shipped with eBPCS
products. These instructions guide you through the initial installation of the
product. Full configuration of the software is not covered under the installation
guide. However, basic system parameter initialization is covered in the guide.
Product specialists should determine the set up and parameters for each product
in eBPCS.
For most other eBPCS products such as SMGs and AS/SET ADK, which do not
have a PC Client piece of software, the installation documentation is on the same
CD-ROM as the server software. Simply load the CD-ROM into a PC drive and
print out the installation documentation. An insert inside the jewel case of the
CD-ROM software should give you instructions about where the installation
documentation is located. This information is also available on OnGoing Support
(OGS) Online if you do not have access to a PC to obtain this information.
6.2.1 Sizing
We strongly recommend that your system be sized by SSA. See Chapter 5,
“eBPCS sizing” on page 79 for the sizing process. That was specifically
developed by SSA and IBM to determine the optimal sized system for your
installation and needs.
Specifically, ensure the following default configuration is present for proper OMS
operation:
1. Ensure TCP/IP interface is configured for a *LOOPBACK (Figure 38).
3. Ensure that the DHCP is not set for "multiple homing". This is available only at
V4R4 and higher releases of OS/400. At the time this redbook was written,
Internet Host
Opt Address Name
10.1.49.52 SSAUSCHX
127.0.0.1 LOOPBACK
LOCALHOST
5. If you are using a Domain Name Server, ensure that searching *LOCAL first is
enabled for better performance. The OMS code for each instance of BPCS
which is started will resolve to "LOCALHOST". This lookup is faster if it is
configured on the AS/400 system and the AS/400 system searches the local
host table first.
6. Ensure that any DNS named listed is truly active and working. Ensure that
remote Internet DNS locations are truly active and are listed with the correct
IP address (CFGTCP option 12). See Figure 41.
The conversion installation and guide is very detailed. You should read the
documentation thoroughly for all sections pertaining to your FROM BPCS release
before beginning the tasks. Also, consider retaining SSA Professional Services
for assistance. You should have a good working knowledge of the AS/400 system
The conversion of your data should be written into the project plan for
implementing BPCS at your site.
Ensure all batch processing has completed in your live environment before
beginning the final live conversion. The conversion will not convert work files in
BPCS (which hold temporary data) to the new version. You should not have any
outstanding batch processing in an unfinished state before beginning the
conversion.
Experience has shown that a good rule of thumb is to expect that the BPCS Files
library increases by approximately 20% between versions. Therefore, if the
current file library is 100 MB in size, there must be approximately an additional
120 MB of DASD available for the new library resulting from the conversion
process.
The size of the Incremental BPCS Files libraries is slightly smaller than the
installed versions of the BPCS Files libraries due to the exclusion of many of the
logical files used by BPCS, but not used by the conversion programs. The size of
an Incremental Files library is typically 75% of the size of the Installed BPCS
Files library from which you are converting.
The conversion programs are designed to initialize certain new data fields in the
TO version files. The initialized fields require a non-zero or non-blank default
value for successful BPCS operation. If you have modified files, you need to
ensure that when you convert your modified file, these default values are
correctly populated. Otherwise, decimal data errors in BPCS programs can result.
Note
The conversion programs are not designed to handle requirements specific to
user-modified programs or files or to convert data from user-defined work files.
In addition, be aware that when performing saves of your files library to provide a
copy of the library for a test conversion, save the library when no one is using it.
Or use the Save While Active (SAVACT *LIB) parameter on your SAVLIB
command to perform the save. Be sure to save your access paths when saving
your BPCS files library for the test conversion (ACCPTH *YES). Choose F10 and
F9 to access these parameters on the SAVLIB command prompt.
If for some reason you have moved standard BPCS logical files to a library other
than your BPCS files library, for purposes of the conversion processing you
should move them into a single library, along with the physical files they are
based on.
6.3.5 Notes about modified BPCS versions and System/36 BPCS versions
If you modified BPCS files from a prior release, this utility will not convert them.
You need to install eBPCS and view the file structures in the new release to
determine how your modifications will function at the new release level. SSA
Professional Services can assist you in this task.
The following section outlines the steps performed by the conversion software in
further detail.
Compile required
Post Conversion Setup additional
Build TO files library Conversion programs
Processing BPCS Environment
(2.0 - 5.1 only)
Note
The conversion sets all database files to CCSID 37. If your files were originally
set to a different CCSID, you need to change them back to that CCSID after the
conversion.
In addition, you must terminate the conversion session prior to contacting SSA.
Sign off the session with the *LIST parameter to ensure that the conversion
processing history is retained. In other words, use the SIGNOFF *LIST command.
Move the spooled file into an output queue that will not be cleaned up by the
automatic system clean up utility.
CONVERT - Cmd
Program Function
CNVCREATEC Builds the target database library based on the Final BPCS Files
Library parameter of the CONVERT command. Used for TO versions
less than 5.1 only.
CNVBLDFC Builds the target database library based on the processed TO version.
Incremental databases are built from SAVFs in the conversion library
for each version.
CNV911C Sets the initial size of files in the Final TO BPCS files library. This
program checks the number of records in the FROM files library. If the
number of records is greater than the default size of 1,010,000 for
BPCS files, the initial size of the file is set to a size large enough to
accommodate the number of records to be loaded into it. The
algorithm used is for files with more than 900,000 records. The initial
size of the TO file is set to the number of records in the FROM file
rounded up to the most significant digit. For example, if the FROM file
has 3,750,000 records, the TO file initial size is set to 4,000,000 with
1000 increments of 1000. This gives a total capacity of 5,000,000
records.
CNVINSTALL Creates the Exclusion File and Conversion Control File for each
version-specific conversion and compiles the appropriate conversion
programs for the 2.0.09 to 5.1.01 conversion.
CNV901C Steps through the Conversion Control File and calls programs to convert
the database.
CNV902C Converts individual files and calls conversion programs if needed, based
on rules set up in the CNVFIL file.
CNVBLDLC Duplicates the logical files needed to run BPCS from the New Installed
BPCS files library. These files are not included in the initial build to the
final TO library to improve performance. This program is submitted to
batch as job BPCS_ADDLF.
Note that you can’t run BPCS until this job finishes. It may run for several
hours because it is rebuilding the access path for each logical file it
duplicates.
V5.1.01 Files for conversions from 2.0.09 through 5.0 to 5.1.01 14.4
Since the incremental files libraries do not contain all the logical files used by
BPCS, the size of your converted database into one of these libraries is smaller
than your original FROM Files library. A good rule of thumb is to calculate the
estimated size to be 75% of your original Files library. The size of these
incremental files libraries does not vary as much between versions.
For example, if you are converting a 1.7 GB Files library from V4.0.05 to V6.1.00,
you can estimate that the V5.1.01 Files library will be approximately 1.275 GB
(1.7 GB times 0.75). The V6.0.00, V6.0.02, and V6.0.04 incremental Files
libraries are slightly larger due to the new files and fields added to the database.
Also the final V6.1.00 Files library grows to more than 1.7 GB when you add the
logical files back into it at the end of the conversion by the BPCS_ADDLF batch
job.
If you are converting And converting You will build the following BPCS files
from version to Version libraries
Any version < 5.1.01 Any version < 5.2 Your Final version
Any version < 5.1.01 6.0.02 V5.1.01, V5.2.02, V6.0.00, V6.0.02 (Final)
Data management provides functions that allow you to manage files (create,
change, override, or delete) using CL commands. The functions also allow you to
create and access data through a set of operations (for example, read, write,
open, or close). Data management also provides you with the capability to access
external devices and control the use of their attributes for creating and accessing
data.
If you want to make more efficient use of printers, data management provides the
capability of spooling data for input or output. For example, data written to a
printer can be held on an output queue until the printer is available for printing.
On the AS/400 system, each file (also called a table) has a description that
describes the file characteristics and how the data associated with the file is
organized into records. Whenever a file is processed, the operating system
(Operating System/400 or OS/400) uses this description. Using the Display File
Description (DSPFD) command for the file in question, you can review
information and statistics on the file. The fields (also called columns) within a file
can also be displayed using the DSPFD command.
You can create and access data on the system by using these file objects. Data
management defines and controls several different types of files. Each file type
has associated CL commands to create and change the file. You can also create
and access data through the operations provided by data management.
Each file type has its own set of unique characteristics that determine how the file
can be used and what capabilities it can provide. However, the concept of a file is
the same regardless of the type of file it is. When a file is used by a program, it is
referred to by name, which identifies both the file description and, for some file
types, the data itself.
A file can be used in many ways on the AS/400 system. For example, it can be
accessed through a high-level language such as COBOL, RPG, C, or by CL. One
other way, which is becoming the standard in the computing industry, is through
SQL. We cover the SQL basics in the following section.
The available options under the Database navigation tree are Libraries, ODBC
Data Sources, and SQL Performance Monitors. When you select Libraries, a list
of libraries in the user portion of your AS/400 library list is displayed. To add
additional libraries for display, select Libraries. Right-click, and select Select
You can either enter the name of the library, or select the library from the list and
click Add. Be aware that the selected libraries are only temporarily added. If you
want to permanently add the libraries, you need to change the user portion of
your library list on the AS/400 system (System Value QUSRLIBL).
The context menu of Libraries also allows you to create a new library. You can
choose to create the library as an SQL collection. An SQL collection consists of a
library, a journal, a journal receiver, a catalog, and optionally a data dictionary.
You can also specify to create the library in another Auxiliary Storage Pool (ASP).
To create a new table, select the library. Right-click, and select New->Table. To
work with an existing table, right-click the selected table, and choose the
appropriate action from the context menu. For example, you can add or remove
columns in existing tables by selecting the Properties action. The Quick View
action allows you to easily view the data in a table. You can even edit the data by
double-clicking the table.
You can create, run, edit, debug, and save SQL statements by selecting Run SQL
Scripts from the Database context menu. If you are not familiar with SQL
statements, you can insert and modify an SQL statement example. To do so,
ensure that the SQL Statement Examples option under the View menu is selected
(with a check mark on the left). Then, select the desired statement from the
drop-down list as shown in Figure 47 on page 106, and click the Insert button.
The Database function also includes the capability to monitor SQL performance.
To create an SQL performance monitor, select SQL Performance Monitors.
Right-click and select New.
File Shares shows the AS/400 NetServer file shares. The Open AS/400
NetServer option in the File Share context menu opens a separate window, which
Physical file: A set of records with Table: A set of rows with columns.
fields.
Field: One or more bytes of related Column: The vertical part of a table of one data
information of one data type. type.
Logical file: A subset of fields and View: A subset of columns and rows of one or more
records of one or more physical files. tables.
SQL Package: An object type that Package: An object type that is used to run SQL
is used to run SQL statements. statements.
SQL statements can operate on objects created by SQL and AS/400 externally
described physical files and AS/400 single-format logical files, whether they
reside in an SQL collection. The DDL and DML SQL statements are outlined in
Table 21 on page 112.
The dynamic SQL and miscellaneous statements are outlined in Table 22.
Table 22. Dynamic SQL and miscellaneous statements
The catalog tables also include the following files in the QSYS2 library:
• SQL_LANGUAGES
• SYSPARMS
• SYSPROCS
Unlike the other catalog tables in QSYS, these catalog tables cannot be
populated from objects on the system. Therefore, you should regularly save
these tables.
The database manager provides views over the catalog tables. The views provide
more consistency with the catalog views of other IBM SQL products and with the
catalog views of the ANSI and ISO standard (called Information Schema in the
standard).
The catalog views in the QSYS2 library contain information about all tables,
parameters, procedures, packages, views, indexes, and constraints on the
AS/400 system.
Tables and views in the catalog are like any other database tables and views. If
you have authorization, you can use SQL statements to look at data in the
catalog views in the same way that you retrieve data from any other table in the
AS/400 system. The database manager ensures that the catalog contains
accurate descriptions of the objects in the database at all times.
When you are trying to view only a couple of columns, you notice that one of them
is much longer than required. In this case, use the SUBSTR function on the
SELECT statement to use a substring length of a column. The following SQL
statement shows such a situation:
SELECT SUBSTR(NAME,1,30), SYS_TNAME FROM DB2400/SYSTABLES
Note: The NAME column is 128 characters long, but most, if not all, names are
less than 30.
This statement selects the NAME and SYS_TNAME columns from the table
SYSTABLES in collection DB2400. The two columns show up on the same
display due to the substring function cutting off the unnecessary characters of the
NAME column.
The following functions are available in DB2 Universal Database for AS/400
through the 1999 Database Enhance PAK or Group PTF SF99014:
• Large objects (LOBs) support allows DB2 UDB to store and manipulate data
fields much larger than the current limits. An AS/400 record with LOB fields
can hold up to 15 MB of data. With the new LOB support, DB2 UDB can be
As shown in Figure 49, an application creates a spooled file. The data is from the
application. The spooled file attributes (page size, number of copies, default font,
and so on) are from the printer file associated with the application. The spooled
file is placed into an output queue. A printer writer program then processes the
spooled file to generate the report on the printer. During this process, the printer
writer takes information from the printer device description.
Printer File
Definition
SSA
Output
eBPCS
Queue
Report
Spoo led
AS/400 File
CRTO UTQ
Printer
Report W riter Printer
Device
STRPRTW TR Description
or C RTD EV PRT
STR RMTW TR
Note that these are printers directly attached and controlled by an AS/400
system. In other words, these are printers for which there is a device description.
All printers attached to remote systems or connected using a TCP/IP LPR/LPD
attachment are discussed in 8.1.7.2, “TCP/IP LPR and LPD printing” on page
124.
eBPCS
Local
AS/400
5X94
Controller
Remote
LAN-attached
PC
S/390
RS/6000
IBM Network Printers NP12 (4312), NP17 (4317), or NP24 (4324) with the
appropriate LAN card, TCP/IP Token-Ring, or TCP/IP Ethernet are supported.
Automatic configuration also occurs for any Client Access or Telnet devices. The
system value that controls this is called QAUTOVRT. The WRKSYSVAL
command allows the configuration change as in QAUTOCFG.
Automatic configuration for remote controllers can be achieved using the system
value QAUTORMT. For additional information on local device and automatic
configuration, refer to AS/400 Local Device Configuration, SC41-5121. For
additional information on remote workstation support, refer to Remote Work
Station Support , SC41-5402.
Printing 119
8.1.4 Printer files
Whenever you print using the AS/400 spooling system, a printer file is used. A
printer file determines how the system handles output from application programs.
We can define printer files in two groups:
• Program-described printer files
These printer files do not have any field or record-level formatting. The
attributes of the printer file are used to define how all of the data in the spooled
file is printed. Any positioning of information within the file has to be
determined by the application program. Most of the printer files use these
simple files.
• Externally-described printer files
These printer files have formatting defined using Data Description
Specification (DDS) external to the application program. Some of the
attributes of the printer file apply to all of the data. The DDS can override or
enhance these options for individual records or fields (for example, a single
field can be printed as a barcode). For detailed information on DDS output
keywords, refer to Data Description Specification, SC41-5712. An example of
a system-supplied printer file is QSYSPRT in the QSYS library.
Spooled File
Printer Writer
ASCII
SCS Printer IPDS IPDS Printer
Printer Printer
AFP(*NO) AFP(*YES)
Bottom
F3=Exit F4=Prompt F5=Refresh F10=Additional parameters F12=Cancel
The printer device type parameter can be set to one of the following values:
• *SCS (SNA Character String)
SCS is used to control line mode printers, and has a relatively simple
structure.
• *IPDS (Intelligent Printer Data Stream)
A host-to-printer data stream used for Advanced Function Printing (AFP)
subsystems. It provides an attachment-independent interface for controlling
and managing all-point-addressable (APA) printers. It supports interactive,
two-way dialog between the printer driver and the printer (printer information,
cooperative recovery, and resource management).
Note that the AS/400-generated IPDS is a subset of the full IPDS.
• *AFPDS (Advanced Function Printing Data Stream)
A data stream for advanced function printers (independent of operating
systems, independent of page printers, and portable across environments).
AFPDS is a structured data stream divided into components called "objects."
AFPDS includes text, images, graphics, and barcodes and references AFP
resources (for example, overlays, page segments, and fonts).
• *LINE (Line data stream)
A LINE data stream referencing a page definition and a form definition with the
spooled file.
Printing 121
• *AFPDSLINE (AFPDS line data stream)
AFPDSLINE data stream is a mixture of AFP structured fields and LINE data.
Only certain AFP structured fields can be mixed with the line data.
• *USERASCII (ASCII data stream)
There is no formal structure that controls the use of the ASCII data stream to
control printers attached to systems providing ASCII support. There is no
architectural data stream standard to which ASCII printers can conform in the
interest of uniformity.
A *USERASCII spooled file can contain any form of ASCII printer data stream
(for example, PCL5, or PostScript).
The user should designate a printer that supports the data stream created in the
spooled file.
By default, AS/400 printer files use SNA character string (SCS) as the data
stream type. This type of data stream can be sent to any printer, including ASCII
printers using SCS-to-ASCII Host Print Transform. SCS spooled files can also be
sent to printers configured as *IPDS, AFP=NO, and *IPDS, AFP=*YES. The
printer writer handles this automatically. It looks at the printer’s device description
and transforms the SCS spooled file into the appropriate data stream. For IPDS
printers configured AFP (*YES), the standard process includes the steps as
illustrated in Figure 53.
Printer Driver
Figure 53. Data stream transforms when printing to an IPDS AFP (*YES) printer
Figure 54 shows an overview of some of the ways in which ASCII printers can be
attached. Host print transform can be used to print to all of these printers.
The printer writer program takes spooled files, one at a time, from the output
queue based on their priority. The printer writer program prints a spooled file only
if its entry on the output queue indicates that it has a ready (RDY) status. You can
display the status of a particular spooled file by using the Work with Output
Queue (WRKOUTQ) command.
Printing 123
8.1.7 Remote system printing
Remote system printing is particularly useful for customers who have networked
systems for automatically routing spooled files to printers connected to other
systems. Output queue parameters define the target system. Depending on the
target system or printer, host print transform can be called to convert the spooled
file into an ASCII printer data stream.
After the spooled output file is successfully sent to a remote system, it is deleted
or saved as determined by the SAVE spooled file attribute value.
DESTTYP:
A S /4 0 0 *O S 4 0 0
T C P /IP
SN A
D ESTTYP:
S /3 9 0
*S 3 9 0
SNA
A S /4 0 0
O th e r DE STTY P:
S p o o le d T C P /IP , S N A S ys te m *O T H E R
F ile
T C P /IP
DES TTY P:
P S F /2
*P S F 2
IP X
D ESTTYP:
N e tW a re 4 *N D S
Printing the file is done by the printing facilities of the destination system. The
destination system must be running TCP/IP. The line printer daemon (LPD) is the
process on the destination system that receives the file sent by the LPR function.
See Figure 56 on page 125.
LPR/LPD prerequisites
TCP/IP must be started on the AS/400 host before LPR can be used to send files
or LPD can be used to receive files. The command to start TCP/IP on the AS/400
host is:
STRTCP
Before you send the file using LPR, you need to know the spooled file number.
This number is shown in the Work with Spooled Files (WRKSPLF) display in
Figure 57. Enter WRKSPLF, and press F11 twice to go to View 3. You may also
require the file, job, and user names for the spooled file.
File
Opt File Nbr Job User Number Queue Library
QPJOBLOG 1 QPADEV0003 USERID01 001314 QEZJOBLOG QUSRSYS
Bottom
Parameters for options 1, 2, 3 or command
===>
F3=Exit F10=View 2 F11=View 4 F12=Cancel F22=Printers F24=More keys
Note
Option 1 (Send) on the Work with Spooled Files display can only be used to
send the file to an SNA device. The LPR or SNDTCPSPLF command is used to
send the file to a TCP/IP device.
Printing 125
Using the LPR command to send the file to the LPD server
The LPR command (or the equivalent SNDTCPSPLF command) is used to send
a file from the AS/400 system to the LPD server. The LPD host can be another
AS/400 system or a non-AS/400 device. See Figure 58.
Remote system . . . . . . . . .
Printer queue . . . . . . . . .
Bottom
F3=Exit F4=Prompt F5=Refresh F10=Additional parameters F12=Cancel
F13=How to use this display F24=More keys
Specify the Internet address when the remote system is set to *INTNETADR
(Figure 59).
Internet address . . . . . . . .
Bottom
F3=Exit F4=Prompt F5=Refresh F10=Additional parameters F12=Cancel
F13=How to use this display F24=More keys
Messages pending on other displays.
Parameter Description
Remote system The name of the system to which the spooled file is sent. The
host name can be:
- A host name added by selecting Work with TCP/IP Host
Table Entries from the CFGTCP menu
- A host name that is resolved to a TCP/IP address by a
Domain Name Server
- *INTNETADR to use the value of the INTNETADR
parameter
Printer queue Specifies the name of the destination printer queue. For
destination systems that are AS/400 systems, this is the
name of an output queue to which the spooled file is sent.
The printer queue can contain both the library name and the
name of the printer queue (for example, QGPL/OUTQ1). If no
library is specified, the library list of the sending user is
searched on the destination system.
Spooled file The name of the spooled file as displayed by the Work with
Spooled files command.
Job name The name of the job that created the spooled file. The special
value * is used to specify that the spooled file was created by
the same job issuing the LPR command.
User If the spooled file name is anything other than *, then this field
can be used to specify the user that created the spooled file.
Number If the spooled file name is anything other than * and the user
name has been specified, this field can be used to specify the
job number that created the spooled file.
Spooled file number The spooled file number as shown by the Work with Spooled
Files command.
Destination type The type of host that will receive the spooled file. This
parameter should be set to *AS400 when sending the file to
another AS/400 host.
Transform SCS to ASCII Set this parameter to *YES to transform the spooled file to
ASCII. When sending the spooled file to another AS/400
system, no transformation is necessary.
Printing 127
Table 24 shows the example printer queue names for some common printers.
Table 24. Example printer queue names for some common printers
IBM Network Printer (4312, 4317, 4324) PASS (or TEXT if PASS does not work)
Note
The Send TCP/IP Spooled File (SNDTCPSPLF) command can be used in
place of the LPR command. The parameters and capabilities of these two
commands are identical.
2. Double-click the system icon (A) for the AS/400 system that you are
configuring. The system components appear.
3. Double-click the Network icon (B). The network components appear.
4. Double-click the Servers icon (C). The available server types appear.
5. Double-click the TCP/IP icon (D). All of the TCP/IP servers are listed in the
right window.
6. Right-click on the LPD server in the right-hand window. The context menu for
the LPD server appears (Figure 61 on page 130).
Printing 129
Figure 61. Properties option on the LPD server context menu
7. Select Properties from the context menu. The LPD Properties window
appears (Figure 62).
You can now select the number of listener jobs to be started and whether the LPD
server should be started whenever TCP/IP is started on the AS/400 system.
You can also specify that one or more LPD servers can be started automatically
using the Change LPD Attributes (CHGLPDA) command. See Figure 63 on page 131
for an example of the attributes that can be set using this command.
Bottom
F3=Exit F4=Prompt F5=Refresh F12=Cancel F13=How to use this display
F24=More keys
To start the LPD automatically whenever TCP/IP is started, set the Autostart
servers parameter to *YES. To ensure that the LPD must be started manually, set
the Autostart servers parameter to *NO.
The CHGLPDA command can also be used to specify how many LPD servers are
started when LPD is started. Figure 63 also shows an example of the attributes
that can be set using this command.
When LPD is started with the STRTCP command, the full number of servers
specified on this screen are started. When LPD is started with the STRTCPSVR
command, only one server is started.
An LPD server is required for each file that is received at one time. One LPD
server can be started, but it means that only one file can be received from a
remote LPR client at a time. It is more often useful to start two or more LPD
servers so that LPR clients are not forced to wait to send files.
Printing 131
Figure 64. Start option on the LPD server context menu
3. Select Start from the context menu. You can also start the LPD server
manually by issuing the command:
STRTCPSVR SERVER(*LPD)
Printing 133
Figure 66. Stop option on the LPD server context menu
3. Select Stop from the context menu. You can also stop the LPD server jobs
manually with the command:
ENDTCPSVR SERVER(*LPD)
This command ends all LPD server jobs, including any that are currently
receiving any LPR requests.
Printing 135
Figure 69. Creating a printer share
You can type the name of the Output queue and Output queue library directly, or
you can click Browse... to open another display (Figure 70).
Note: On the AS/400 system, use the Edit Object Authority (EDTOBJAUT) command
to make sure that the users of this print share are authorized to use the output
queue.
The Printer driver field contains the name of the printer driver that is appropriate
for this share. When PCs connect to the print share, this name identifies the
printer driver that has to be installed on the PC to use this share. The text string
has to match the name of a printer driver known to the operating system of the
PC. For example, IBM AFP 300 is the name of an IBM AFP printer driver. You can
find the name of the printer driver when you install the driver on the PC. This is
described in 8.1.9.3, “Installing a network printer” on page 143. In Figure 81 on
page 144, the available printer drivers for a manufacturer are listed under
Printers.
Spooled file type is Auto-select, User ASCII, Advanced Function Printing, or SNA
character string. These types are described here:
• Advanced Function Printing (AFP) is a printer definition language that is
typically used on laser printers attached to the AS/400 system. It is used to
mix text and graphics, and use such elements as overlays and page
segments.
• SNA Character String (SCS) is widely used with matrix and line printers
attached to the AS/400 system. SCS printers are typically used to print lists.
• User ASCII is used when the application is able to generate printer output
specific to a certain type of printer. An example of this is a PC printer attached
to a PC5250 session that uses Hewlett Packard’s Printer Control Language
(PCL). Another PC attached to the AS/400 system can generate output for a
PCL printer and send it directly to an AS/400 output queue configured for the
PC printer also attached to the AS/400 system. The AS/400 system takes care
of spooling the output, but passes the data to the printer without touching the
data stream itself.
• Auto-select tries to determine which type of printer data stream is used in the
output sent to the AS/400 system.
We suggest that you leave Auto-select "as is" unless you experience problems
when printing.
You can specify a Printer file and Printer file library if you need to define printer
attributes. The setting of the Spooled file type parameter overrides any spooled
file type information in the printer file. You can type the name of the printer file
and library directly, or you can click Browse... next to these parameters. When
you do, the window shown in Figure 71 on page 138 appears.
Printing 137
Figure 71. Browse Printer File
Click OK after you complete the Print Share Properties page. This updates the
list of shares in the AS/400 NetServer window. The output queue is then available
for use.
You can right-click on the share name in the AS/400 NetServer window to change
the properties or end the sharing of the output queue.
The other place in Operations Navigator where you can define a print share is
under Basic Operations, Printers. While the procedure to create a print share is
almost the same as before, it is based on the printer view of Operations Navigator
and not on AS/400 output queues.
Right-click on the printer you want to share, and select Sharing->New Share...
as shown in Figure 72 on page 139. The procedure to define a print share is
identical to the one previously described.
Notice that some of the printers in Figure 72 (for example, PRT02) have a hand
symbol. This indicates that the output queue associated with the printer is already
shared.
There are several ways to find AS/400 NetServer. The method described here is
one of them. However, use the method with which you are familiar.
Printing 139
Figure 73. Finding AS/400 NetServer
Enter the name of AS/400 NetServer, and click Find Now. AS/400 NetServer
should appear in the list, and the field Location should contain the domain name
of AS/400 NetServer.
However, if AS/400 NetServer and the Windows PC are in the same domain, the
location field appears as Network Neighborhood.
If the Windows PC user matches the AS/400 user but the passwords do not
match, the location field shows Unknown.
If AS/400 NetServer does not show up at all, enter the IP address of the server
instead of its name. This should work in most cases.
If you use the same name and password to connect to Windows and your AS/400
system, you are transparently logged on to AS/400 NetServer.
Printing 141
Figure 76. Map Network Drive
3. Specify the drive letter you want to use. The pull-down list only contains drive
letters that are currently not in use.
The Connect as field can contain an AS/400 user ID that you want to use to
logon to AS/400 NetServer. This option is only available for Windows NT and
is useful if you need different user names on Windows NT and on your AS/400
system. If the field is empty, the Windows user name is used to connect to
AS/400 NetServer.
Do not check the box Reconnect at logon if you want to use a drive letter with
an AS/400 NetServer resource only during one Windows session. Otherwise,
the connection is made every time you start your PC and log on to Windows. It
can greatly prolong the startup time of Windows.
4. Click OK to accept your changes.
There are three possible data streams that AS/400 NetServer printer shares use:
• SNA character string (SCS)
• Advanced Function Printing (AFP)
• User ASCII
It does not matter how the printer is attached to the AS/400 system, either locally,
over a LAN, or through a PC5250 printer emulation session. All you need to know
is the make and model of your printer:
• To use an IBM AFP or SCS printer, you can install the printer drivers shipped
with Client Access Express for Windows.
• If you are using AS/400 NetServer without Client Access Express for
Windows, you can find standalone AFP and SCS printer drivers in the Client
Access for Windows 95/NT directory (\QCA400\Win32\Install\Printer) on the
AS/400 system. An IBM AFP printer driver is also available from the IBM
Printing Company on their Web page at:
http://www.printers.ibm.com/driver.html
• If the printer you want to connect to is a PC printer used in a PC5250 printer
emulation session, see 8.1.12, “Sharing a PC printer” on page 146.
• If the printer that you share is neither an AFP or a SCS printer or a PC5250
printer emulation session, you need to install the driver of the printer
manufacturer.
Complete these steps to install a network printer on a PC using the printer drivers
installed with Client Access Express for Windows:
1. Connect to AS/400 NetServer and open the explorer view of the AS/400
NetServer shares. The window shown in Figure 78 appears.
2. Double-click on the print share you want to use. This opens a message box
(Figure 79 on page 144).
Printing 143
Figure 79. Installing a printer driver
4. Click OK, and the Add Printer Wizard starts (Figure 81).
5. From the list of manufacturers, select IBM . From the list of printers, select the
proper model.
For AFP, the first four available models (IBM AFP 144 through IBM AFP 600)
are generic. The number represents the printer resolution in pixels per inch.
The rest of the list represents actual printer models. At the end of the list, you
can find an entry for Facsimile Support/400.
Select the appropriate printer model. The name of the printer model is the
Printer Driver name you need to specify when defining a print share as shown
in Figure 69 on page 136.
Click OK on this panel to add a printer object to your PC’s printer folder. You
can now use this printer from any Windows application.
Telnet Printer Pass Through (TPPT) delivers the printer data stream between the
two systems as either EBCDIC or ASCII depending on the preferences of the
requesting client. Additionally, either of these two generic device types can be
more completely specified by requesting the AS/400 Host Print Transform (HPT)
function and selecting the specific manufacturer type. The printer data stream is
sent in ASCII.
Printing 145
ASCII printer data stream depending on the target PC printer. This conversion
can be done by one the following methods:
• PC5250 emulation based on a Windows printer driver
The transformation takes place on the PC, and only SCS spooled files can be
converted. No customization is possible.
• PC5250 emulation using Printer Definition Tables (PDT)
The transformation takes place on the PC, and only SCS spooled files can be
converted. Printer functions can be adapted by modifying the Printer Definition
Table (PDT). The modified PDT must be the Printer Definition Table (PDT).
The modified PDT must be available on all PCs using the printer.
• OS/400 host print transform
The transformation takes place on the AS/400 system. SCS and AFPDS
spooled files can be converted. Customization is possible by modifying the
Work Station Customizing (WSCST) object. The same WSCST object is used
for all printers of a similar type. For detailed information on host print
transform, see 8.1.5.2, “AS/400 host print transform” on page 122.
AS/400
1 NP12
PC2
PC1
While the AS/400 system cannot print to this printer directly, AS/400 NetServer
can share a printer output queue for this printer with the network. Section 8.1.8,
“Sharing printers” on page 134, explains how to do this.
In our example, the AS/400 system shares an output queue for printer NP12
using spooled file type User ASCII.
PC1 is connected to the AS/400 system and the AS/400 NetServer, and has
requested to install a network printer for the print share NP12. In the course of
installing the printer, the printer driver is requested, as shown in Figure 79 on
page 144. The printer driver used will be IBM Network Printer 12 because that is
the type of printer installed on PC1.
The (virtual) connection between PC1 and NP12 is shown as an arrow marked
with a "2" in Figure 83 on page 146.
Connection 1 is PC5250 printer emulation. The printer data stream is sent from
the AS/400 system to PC2, which, in turn, sends it to the printer attached to it.
Connection 2 is printer sharing. PC1 sends its printer data stream to the AS/400
system, which forwards it to the printer attached to PC2.
Printing 147
8.2.1.1 Local printing
First, type CRTOUTQ (AS/400 system is not case sensitive), and press the F4 key.
See Figure 84 and Figure 85 for examples of the CRTOUTQ display.
More...
F3=Exit F4=Prompt F5=Refresh F10=Additional parameters F12=Cancel
F13=How to use this display F24=More keys
Additional Parameters
This output queue normally has a printer device started using the Start Printer
Writer (STRPRTWTR) command. However, the same output queue can also be
For additional information on output queues, refer to the "Spool Support" chapter
in Data Management , SC41-5710.
Figure 86 shows an example for creating an output queue for a printer attached to
the LAN. First, type the CRTOUTQ command, and press the F4 key.
More...
F3=Exit F4=Prompt F5=Refresh F12=Cancel F13=How to use this display
F24=More keys
Printing 149
Create Output Queue (CRTOUTQ)
More...
F3=Exit F4=Prompt F5=Refresh F12=Cancel F13=How to use this display
F24=More keys
Additional Parameters
The AS/400 system starts a remote writer for this output queue automatically.
This remote writer runs in the AS/400 subsystem called QSPL. When a spooled
file is in a ready state and the remote writer is started or active, the AS/400
system sends the output to the LAN-attached printer with the IP address of
99.99.99.99.
With special authority granted to this output queue, other LAN or WAN users can
share this printer from their desktop. For additional information on output queues,
refer to Chapter 5, "Spool Support", in Data Management , SC41-5710.
As of V4R1 and later releases of OS/400 (available for V3R7 with PTF
#SF51920), you can define an IPDS printer device description that makes your
LAN-attached IP printer look and act like a twinax attached device.
You can create a printer device description by typing CRTDEVPRT. Then, prompt it by
pressing the F4 key. The screen in Figure 89 on page 152 appears.
Printing 151
Create Device Desc (Printer) (CRTDEVPRT)
The parameters with the ">" mark show which ones were changed. Leave the
defaults in the other fields. Press the Enter key to expand the hidden additional
parameters after you complete the fields on the display. The screens shown in
Figure 90 and Figure 91 on page 153 appear.
User-defined object:
Object . . . . . . . . . . . . *NONE Name, *NONE
Library . . . . . . . . . . Name, *LIBL, *CURLIB
Object type . . . . . . . . . *DTAARA, *DTAQ, *FILE...
Data transform program . . . . . *NONE Name, *NONE
Library . . . . . . . . . . . Name, *LIBL, *CURLIB
User-defined driver program . . *NONE Name, *NONE
Library . . . . . . . . . . . Name, *LIBL, *CURLIB
Text 'description' . . . . . . . > 'eBPCS Network Printer'
Additional Parameters
Normally, all writers are started when the system starts after an Initial Program
Load (IPL). This is done using the system value QSTRPRTWTR (Start printer
writers at IPL). The shipped value of QSTRPRTWTR is one (1), which starts all
writers. A change to this value becomes effective only at the next IPL. The writer
commands can be accessed using the Command Writer (GO CMDWTR) menu.
If a writer ends the request of a user or operator, it must be started before it can
print, unless requesting direct printing and bypassing the output queue. To end a
print writer (either a local or a remote), enter the command:
ENDWTR WTR(Writer Name) Option (*IMMED)
Printing 153
Start Printer Writer (STRPRTWTR)
Additional Parameters
More...
F3=Exit F4=Prompt F5=Refresh F12=Cancel F13=How to use this display
F24=More keys
Auto-end options:
Automatically end writer . . . *NO *NO, *YES
If yes, when to end . . . . . *NORDYF *NORDYF, *FILEEND
Allow direct print . . . . . . . *NO *NO, *YES
Align page . . . . . . . . . . . *WTR *FILE, *WTR, *FIRST
Initialize printer . . . . . . . *WTR *WTR, *FIRST, *ALL
Spooled file . . . . . . . . . . *NONE Name, *NONE, *LAST
Job name . . . . . . . . . . . . * Name, *
User . . . . . . . . . . . . . Name
Number . . . . . . . . . . . . 000000-999999
Spooled file number . . . . . . *ONLY 1-9999, *ONLY, *LAST
Starting page . . . . . . . . . *BEGIN Number, *BEGIN
Bottom
F3=Exit F4=Prompt F5=Refresh F12=Cancel F13=How to use this display
F24=More keys
Most of the parameters needed for a user or operator to start a printer writer are
on the first display (Figure 92). The information needed includes the name of the
writer, the name of the output queue (can be the writer name or a different name),
and where the printer attention messages are sent (for our example, the user or
operator that started the writer). There are other parameters that control what
form types to print, separator pages to be printed, and a name for the writer (if the
device name is not used).
These parameters are used to print or reprint a specific spooled file. The
information for these parameters is retrieved by using the Work Output Queue
(WRKOUTQ) command and finding the spooled file to print or reprint. The
starting page parameter is used to start at a specific page in the spooled file for
print or reprinting.
Additional Parameters
Bottom
F3=Exit F4=Prompt F5=Refresh F12=Cancel F13=How to use this display
F24=More keys
Once the remote writer is started, all files in a ready status are sent or printed to
the remote printer or remote system.
Printing 155
8.2.3 Work with Output Queues
Now that the queue is created, you need to know how to display or view the
contents using the Work with Output Queues (WRKOUTQ) command. The
WRKOUTQ command shows the contents of a specific queue by indicating the
queue name, all output queues by specifying the special value *ALL, or all output
queues in a specific library by specifying the special value *ALL and the library
name.
From the display shown in Figure 95, you can access all output queues. Through
the options shown in Figure 95, you can:
• Change output queue attributes
• Hold an entire output queue Delete, work with (and display stored spooled
files), and release the queue
• Change the description of the queue
• Clear all spooled files stored in the queue
Bottom
Command
===>
F3=Exit F4=Prompt F5=Refresh F12=Cancel F24=More keys
Figure 96 on page 157 shows the Work with Output Queue display. This display
allows you to work with individual or groups of spooled files.
Opt File User User Data Sts Pages Copies Form Type Pty
QSYSPRT QSECOFR RDY 1 1 *STD 5
QSYSPRT QSECOFR RDY 1 1 *STD 5
QSYSPRT QSECOFR RDY 1 1 *STD 5
QSYSPRT QSECOFR RDY 1 1 *STD 5
QPJOBLOG QSECOFR QPADEV0001 RDY 2 1 *STD 5
QSYSPRT QSECOFR WRKSYSVAL RDY 3 1 *STD 5
Bottom
Parameters for options 1, 2, 3 or command
===>
F3=Exit F11=View 2 F12=Cancel F20=Writers F22=Printers
F24=More keys
In the top right-hand corner, the Status field refers to the status of the output
queue (RLS - Released) and the status of the printer writer (WTR - Writing) in this
example. The following list shows all of the output queue status possibilities:
HLD (Held) The queue is held.
HLD/WTR (Held/Writer) The queue is attached to a writer and is held.
RLS/WTR (Release/Writer) The queue is attached to a writer and is released.
RLS (Released) The queue is released, and no writer is attached.
Printing 157
PRINTER Printer
Selection or command
===>
A user class also affects what options are shown on the system menus. A user
with higher authorities sees more of the system menu options. A user with fewer
authorities only sees the menu choices allowed by the user class. A user may be
given any of the previously mentioned special authorities regardless of user
class. Letting the special authorities be assigned automatically to match the user
class is a convenient way to get started.
Security 161
9.4 AS/400 object protection
Since all AS/400 data structures (system and user) are objects, the security
system is primarily concerned with protecting objects. All objects have some
common structures in their control blocks (invisible to the normal user). This
allows a unified approach to security, since all objects interface the same way to
the security routines.
9.4.1 Authorities
In AS/400 terminology, an authority is the permission to access an object. The
object owner and the security officer (or other *ALLOBJ users) can grant or
revoke authority to an object. It is important to understand the difference between
authority to an object and authority to the data in the object. Operations such as
moving, renaming, saving, or deleting apply to the object as such. It is possible to
have authority for these operations without having access to the data stored in
the object. Likewise, one can have full access (read, write, update, delete,
execute) to the data in an object without having full authority to manipulate the
entire object.
Figure 98 shows the relationship between the object rights and the data rights.
O b je c t R ig h ts
*O B JO P R (O b je c t O p e r a tio n a l)
*O B JM G T ( O b je c t M a n a g e m e n t)
*O B J E X IS T (O b je c t E x is te n c e )
O b je c t (A u th o r iz a tio n L is t M a n a g e m e n t)
*A U T L M G T
A u th o rity * O B J A LT E R ( O b je c t A lte r)
*O B J R E F ( O b je c t R e fe re n c e )
D a ta R ig h ts
*R E A D ( R e a d D a ta )
*AD D (A d d D a ta )
*U P D (U p d a te D a ta )
* D LT (D e le te D a ta )
*E X E C U T E (R u n a P ro g ra m )
The following authorities are independent (not hierarchical). For some operations,
a combination of authorities is required:
*OBJOPR The object operational authority controls the use of an object and
the ability to look at the description of the object. It is needed to
open a file and, therefore, usually assigned in combination with
the desired data rights.
*OBJMGT The object management authority controls the move, rename,
and change attribute functions for the object, and the grant and
revoke authority functions for other users or groups.
*OBJEXIST The object existence authority controls the delete, save, restore,
or transfer ownership operations of an object.
An object may have only one authorization list associated with it. An authorization
list may secure more than one object. A user can appear on many different
authorization lists. Authorization lists are not affected when objects secured by
the authorization list are deleted. If an object is deleted and then restored to the
same system, it is automatically linked to an existing authorization list for the
object. This is an important advantage of authorization lists.
Security 163
provides a method to give a user additional access to objects, without requiring
direct authority to objects.
Information from the audit journal can be viewed or printed using the command
Display Audit Journal Entries (DSPAUDJRNE) command. Another method is to go to
the Security menu by entering GO SECTOOLS on the command line and selecting
option 22.
Each call a user makes to an eBPCS program, whether through a menu or from a
command line, passes through a security checking program (SYS610B) that
validates the user's authority to that program as configured within SYS600. If
authorization is not allowed for that user and program combination, a message
displays on the panel and no processing is allowed.
F3 F3
F3
SYS500-01 <ENTER> SYS500-06 SYS500-06
Logo Panel BPCS System
Main Menu Functions Menu
Select 1 or SYS600,
and <ENTER>
Select 1=Create,
2=Revise,
3=Copy,
4=Delete,
or 5=Display F3
and Valid User Profile, SYS600D1-01 Filter Panel
SYS600D2-01
and <ENTER> F13
Security Master Security Master Filter
F3
Maintenance Selection Options
<ENTER>
<ENTER> Select 1=All
SYS600D2-02 SYS600D2-03 Records
<ENTER> or 2=Active
Security Master Security Master Records Only
F3
Maintenance Maintenance and <ENTER>
F3
eBPCS has three levels of control which are discussed later in this chapter:
• Product access control: This is the highest level at which access control
may be assigned. It is used to limit access to the eBPCS products for
individual users.
• Program access control : This level is optional and is used to limit access to
programs within the eBPCS products for individual users.
• Function/action access control: This is used to limit access to actions or
functions performed within the e BPCS applications for a group of users.
Security 165
9.5.2 AS/400 security access
Before creating a user within eBPCS, a valid AS/400 User Profile must exist. A
standard eBPCS user should be created with the parameters shown in Table 25.
Table 25. Standard eBPCS user profile
Note: If access is required via an ODBC application, extra security must be put in
place.
The first four options are controlled by the AS/400 User Profile as described
above. The fifth rule is explained in the remainder of this chapter.
Before any level of security can be given, an eBPCS User Profile must be
created. This is done through a Mixed-Mode menu option or by selecting options
through a Second Generation panel menu. In the example used here, the eBPCS
User Profile is created using the Second Generation Client/Server product.
Having clicked this icon, you see the main SYS600 panel (Figure 101), which
allows the addition, maintenance, and deletion of eBPCS User Profiles.
By typing in the new user profile name and pressing file create, the panel shown
in Figure 102 on page 168 is displayed. Here, you can create the new user.
Security 167
Figure 102. Add User Profile dialog box
Security type
There are five allowable options for Security Type, although e BPCS currently only
uses the first two:
S eBPCS Security Officer. The eBPCS Security Officer has access to all
eBPCS products, companies, and warehouses, and has the authority to
maintain all eBPCS users in the same environment.
U eBPCS User. The eBPCS User has access to eBPCS as defined by the
Security Officer.
P Programmer
D Database Administrator
O Operator
Default language
Three blank characters in this field are the default for English. Other codes are
included with the purchase of other language objects. When the user signs onto
eBPCS, this field is combined with the language library mask (maintained in
SYS041D) and becomes the name of the language library. This library is then
The lower part of the screen lists all of the eBPCS products using their three letter
code and description. Next to each product is a code that can be set to 1 or 0.
Depending how the All Products Flag is set, this code has a different meaning.
• If the All Products flag is set on (for example, Authorized), a 1 next to a
product authorizes that product. If a zero is next to a product it means that the
product is excluded.
• If the All Products flag is off (for example, Not Authorized), a zero next to the
product authorizes just that product.
When a new program is written, a program object must be created before eBPCS
security can control access to it. This is done using eBPCS Object Security
Maintenance (Figure 104).
Security 169
The object name and type, along with the owning product, are added to the ZSO
file using the maintenance screen (Figure 105).
As long as the program is referenced in the eBPCS Object Security file, it can
now be controlled via the security maintenance program. The panel in Figure 106
is displayed after the Product Level Maintenance screen.
On panel shown in Figure 106, access to each program can be granted or denied.
If the product was granted on the previous screen, each of the programs can be
denied here if necessary. Similarly, if the product was denied, it is possible to
grant access for just one program (for example, inquiry may be allowed, but no
transaction updates).
This section also allows the Security Officer to grant and deny access by
Company, Warehouse, and Transaction Effect Codes.
Security 171
172 Implementing SSA’s e BPCS on the AS/400 System
Chapter 10. eBPCS work management
Work management on the AS/400 system is the method used to manage system
resources to achieve optimum throughput. The AS/400 system contains many
objects that interact with each other and applications to process information
efficiently. When the Operating System/400 (OS/400) licensed program is
installed, it includes a work management environment that supports interactive
and batch work.
This chapter discusses AS/400 work management concepts that affect job flow
through the system. However, it is not the intent of this chapter to cover all
aspects of the subject. Various education courses are available for a greater
understanding of the subject. You can also refer to Chapter 17, "Performance
Management" in OS/400 Work Management, SC41-5306, which discusses some
of these concepts as they relate to system performance.
If an interactive task has pages in memory, the most frequent reference possible
is every few seconds. If a batch job is allowed to compete with interactive tasks,
the interactive job replaces some of the batch job's pages on disk each time the
enter key is depressed by the interactive user. Therefore, interactive and batch
jobs should not be run in the same memory pool.
A machine with a dedicated pool for interactive users can also exhibit this page
replacing behavior if the amount of main storage is insufficient. To research this
condition, reference the Work with System Status (WRKSYSSTS) command or
System Report from the performance tools. Find the row and column with the
If you have several critical interactive tasks that require precedence at the
expense of all others, you may wish to further divide the memory pools. This
usually has diminishing returns. For example, you may want each remote plant to
reside in a different subsystem for control purposes, but share the memory. It is
possible to combine all interactive storage pools into one pool so that the system
manages this storage and, in concept, optimizes its use.
For more a detailed discussion of pool configuration, refer to the OS/400 Work
Management, SC41-5306, and Chapter 11, “Performance tuning and
management” on page 191, in this redbook.
The paging option determines whether the system should dynamically adjust the
paging characteristics of the storage pool for optimum performance. This option
is only available on shared pools and not on private pools.
First, run the job in the standard batch pool. On a subsequent night, collapse the
interactive pool (if it is not being used) into the batch pool to form the largest
storage pool possible.
To observe the results, you can compare the job logs or ideally, you can run the
performance monitor during the tests. As long as you are confident that the
amount of work each job accomplished is about the same, you can compare the
For example, there is little in common between a BPCS production thread and a
RPG compile. By setting up dedicated main storage pools, these batch jobs will
not "steal" pages from the other task, which causes non-productive I/O as the
alternative task re-enters an activity level. This strategy should be used only if the
threads are almost continuously used. For more details, review the OS/400
Performance Tools, SC41-5340.
If it is found that, on average over a five-minute period, the faulting rate is greater
than the recommended level, you need to increase the amount of main storage in
this pool. To do this, modify the system value QMCHPOOL, or change the figure
on the WRKSYSSTS screen. Changes should normally be done in increments of
10% until the desired result is achieved.
Reducing the activity level in this environment forces the CPU to focus on a
smaller set of tasks and pushes those tasks to the end of a transaction faster.
Although there may be some small delay in a wait state for an activity level to
come open, this is usually less than the price of a higher multi-programming level.
A more detailed discussion of activity levels can be found in the OS/400 Work
Management, SC41-5306, and OS/400 Performance Tools, SC41-5340.
Purge (*NO) allows a job's PAG to remain in main storage until it is re-used. Or,
storage management determines by least recently used page purging that these
pages need to be used by another task and are written to DASD. This setting
works well in a memory-rich environment. By specifying purge (*YES) on the
class associated with a given subsystem, this relieves you of the decision. The
system decides if Purge (*NO) is possible and implements this by itself.
Accounting 5 15
Manufacturing Planning 20 15
Manufacturing Execution 5 5
M.I.S. 20 15
Customer Service 10 20
Job accounting is a low-level system function that does not impose material
system overhead and can be automated to produce weekly usage reports with no
manual intervention. See OS/400 Work Management , SC41-5306.
Use the Work with System Values (WRKSYSVAL) command to display, and if
necessary, change the following system values. All available system values are
arranged by the types or categories that appear on the Work with System Values
display:
• QABNORMSW: This value tells how the previous system end terminated. If
the value is equal to 1, the machine should be manually IPLed.
• QACTJOB: This value tells the system how many active jobs it should allow in
its internal tables. This should be set to just above the figure that you expect
to be the maximum number of jobs active at any one time. This includes all
system jobs as well as user invoked jobs. A guide to this number can be taken
from the Work with Active Jobs (WRKACTJOB) screen. The IBM-supplied
default is 20, which is generally too low.
• QADLACTJ: This is the number by which to increment QACTJOB when it is
exceeded. The default is 10, which is probably good unless you have a large
system. Both too low and too high values cause performance problems.
• QADLSPLA: This value provides additional storage to extend the Spooling
Control Block value. The default is 2048 (bytes). If you have a lot of spooling,
you should increase this value to 4096.
• QADLTOTJ: As for QADLACTJOB, this value is used to increment QTOTJOB.
See QTOTJOB later in this list.
• QBASACTLVL: This value defines the *BASE storage activity level. This
adjustment should be made in the Work with System Status (WRKSYSSTS)
page in conjunction with the memory pool distribution.
• QBASPOOL : This value defines the lower limit for the *BASE pool size.
Ensure this value is representative of the system requirements.
• QCENTURY: Defines the base century of the AS/400 system:
– 0 indicates 1928 through 1999
– 1 indicates 2000 through 2053
• QCMNRCYLMT: This is the communications recovery limit. It defines the
number of recovery attempts made by the system. The recommended value is
for you to set this to 3, unless communications recovery is a problem on your
Typically this is one of the shared memory pools supplied on the AS/400 system
(for example, *SHRPOOL1). If more than one batch subsystem is used, the
resources of the shared pool are shared between them. Activity levels should
equal the total number of concurrent active jobs allowed to be active. The activity
level is set at subsystem level for private pools, and at the pool level for shared
pools (CHGSHRPOOL). To allocate the memory, use a guideline of 20 MB of
memory for each concurrent active batch job. The actual memory and activity
levels may need to be adjusted as the transaction levels vary.
When using the TCP/IP connection protocol, the server portion of the
Client/Server DFS job is controlled by a daemon called ALAUNCH. This daemon
is submitted into the subsystem created for the client jobs and waits to be
contacted by the client. When a PC client makes the initial connection, the
ALAUNCH daemon submits another copy of itself to sit and wait for the next
client. This job runs under the job name of SSATCP. The original job now controls
the program stack for the Client/Server job.
Each time a DFS icon is clicked from the BPCS Session Manager, a new instance
of the SSATCP job is started. This means that a user who has opened Currency
Translation and also opened Events Processing in CEA will have two SSATCP
sessions on the AS/400 system.
From this example, you can see that it is possible to have many active jobs
running at any one time. You have to allow enough memory and activity levels in
the subsystem to manage this.
After following the eBPCS installation instructions, identify the subsystem where
you want to run your DFS jobs for the CEA and OLM products. Ensure that
TCPIPJOBD has a JOBQ listed that is a valid entry in the subsystem that you
want (change this if required). The memory should be allocated to the subsystem
using the following assumption. The subsystem requires a minimum of 40 MB,
plus an additional 8 MB of memory for each active session.
For the first option, Interactive posting, there are no further configuration and
tuning options. The posting takes place as part of the job stack for the Order
Entry session.
To post the orders in batch, another subsystem can be added to the AS/400
system called something such as ORDERPOST and can be used as a way to
separate memory into a separate pool to run the order posting jobs.
When a BPCS user's session is configured for batch posting, BPCS submits the
batch jobs using the ORDERPOST job description. This job description is used to
resolve the JOBQ, and the job now uses the customized job queue and
subsystem.
By changing the settings in the Server Maintenance panel for CEA500B in the
Open Enterprise Architecture panel, and altering the QCPRJOBD job description,
these jobs can be redirected to the new job queue and subsystem. We
recommend that the maximum active jobs at any one time should be set to 2, and
5 MB of memory allocated to each job in the subsystem.
From Full Client/Server, order BMR38176 to obtain the required views in the
Cross Product Applications container for the OEAMNU icon and to reset the
BPCS Security Objects so that the OEAMNU CLP is a valid menu object. The
OEA menu container is shown in Figure 108.
Once inside the OEA container or menu, choose Server Maintenance to enter
the panels, and choose to revise CEA500B. The green-screen version is shown
in Figure 109.
Server CEA500B
INSTBPCS-01 SSA
Install BPCS Libraries
BPCS Data Files Library ... BPCSF__ BPCS C/S User Library... BPCSUSO_
BPCS Object Library ....... BPCSO__ DOCA User Library....... DOCALIB
BPCS Source Library BPCSS__ BPCS TCP/IP Library... . TCLILIB_
BPCS PTF Library .......... BPCSPTF NEWI Library............ NEWILIB_
User Data Files Library ... BPCSUSRF C/S Subsystem Name...... SUBSYSN_
User SRC/OBJ Library ...... BPCSUSR
Language Library Mask ..... BPCS Restore BPCS Source..... Y (Y/" ")
Auxiliary Storage Pool .... 1_____ Restore from Device..... OPT01
Enter NEW User Profile..... NEWPROFL
The display shown in Figure 110 is from the eBPCS standard installation
program. The subsystem SUBSYSN will be created to run the Second Generation
Client/Server jobs. The subsystem name is changeable on the screen.
The installation program creates the subsystem in the *BASE Pool ID of the
AS/400 system by default. For optimal performance, a separate *SHRPOOL
should be created to allow the jobs to run without memory contention.
The guidelines for calculating the activity level and pool size for the Second
Generation Client/Server subsystem are as follows:
• Number of active users in the subsystem_____ X .25 = ___ Activity Level
• Activity Level ____ X 6MB per user + 40MB = ____ Minimum Pool size
The formulas given here are for you to develop a basic guideline for configuring
the system. The actual activity and memory levels may need tuning depending on
the transaction activity of the user community and the available AS/400
resources.
Other parts of the product physically delete records. A flag that is set on the
physical file indicates if a new record can reuse the space used by a physically
deleted record. Most files in eBPCS have this flag set to yes , which makes the
best use of the DASD available. However, some eBPCS files, and possibly
customer additions or amendments, may be set to not reuse this space. Use the
Display Physical File Description (DSPFD) command to ascertain if any files
contain a large percentage of deleted records. If so, then run the Reorganize
Physical File Member (RGZPFM) command to remove the deleted records. Then,
review the setting of the reuse flag.
Properly setting Message Level logging is the easiest way to control the amount
of storage that is absorbed. The above strategy, although operationally efficient,
masks what some people believe to be a valuable tool. For auditing or problem
determination, job logs are considered worthy of the overhead. Job logs give a
record of when it started, finished, and any error messages received. They also
indicate which programs sent and received the errors. If the Log CL command is
set to *YES, it logs any CL commands run during the job. Many users keep job
logs for two to five days for all jobs, However job logs are generally useful when
debugging a problem, and at other times are rarely used. We recommend that, in
general, the logging should be set to *NOLIST for BPCS jobs, unless you need to
change this setting temporarily for problem analysis.
The degree of detail (and value) in each job log can be controlled by the logging
level attributes of each job. As mentioned earlier, these attributes are inherited
from the job description specified at job initiation. As a general guideline, we
recommend that you use a logging level of LOG(4 00 *NOLIST) and LOGCLPGM(*NO).
This can be changed for all job descriptions in a library by running the following
command:
CHGJOBD JOBD(*ALL/xxx) LOG(4 00 *NOLIST) LOGCLPGM(*NO)
Here, xxx is replaced by the BPCS User library name, for example, V61
BPCSUSR.
If an automated approach for removing of old job logs is desired, the Operational
Assistant is an ideal solution. Using a simple command, all logs older than X
number of days can automatically be purged. Between this command, the logging
level, and the *NOLIST option, the site manager can effectively control this area
with minimal manual intervention.
Other utilities, such as Backup Recovery and Media Services (BRMS) can be
used to archive spooled files to media offline, which allows them to later be
restored to the system and read when required. This is ideal for taking care of
other spooled output in BPCS such as audit trails and reports that are required for
historical purposes, but which use up valuable system resources by remaining
online.
The data (record image) is stored in the receivers (they "receive" the data). The
administrative detail is kept in the journal. This includes the name of the current
(attached) receiver, the status of the receiver, the files being journaled, etc.
The OS/400 operating system uses the system journals and receivers shown in
Table 28.
Table 28. System journals and journal receivers
Problems identified by the AS/400 System are recorded in the problem log. If it is
not managed regularly, this log can grow quite large in size. Clearing problems
from the problem log can be done on a monthly basis, for example. After deleting
old problems, you should purge the deleted records from the related system
database files with the RGZPFM command. You can implement the following
procedure:
1. DLTPRB STATUS(*ALL) DAYS(30)
2. RGZPFM FILE(QUSRSYS/QASXCALL)
3. RGZPFM FILE(QUSRSYS/QASXEVT)
4. RGZPFM FILE(QUSRSYS/QASXFRU)
5. RGZPFM FILE(QUSRSYS/QASXNOTE)
6. RGZPFM FILE(QUSRSYS/QASXPROB)
7. RGZPFM FILE(QUSRSYS/QASXPTF)
8. RGZPFM FILE(QUSRSYS/QASXSYMP)
The size of each of these system files is set by an installation system value.
These default settings have historically been adequate to hold one or two days of
system history (QHST), and two to four weeks of "problems". If your site has
unusual problems or logging, this shows up in more frequent creation of these
files. These files are created with names that represent their date of creation (for
example, QHST94001A). If you see non-A prefixes, there may be something
inside the logs that points to another problem.
WRKMSGQ (*ALL)
This command displays all queues in order based on your library list and
authorization profile. You can then enter 4 in the action column to delete the
entire message queue object. Or, enter 14 to clear the message queue entries,
but leave the queue itself. This type of cleanup is also an option for the
Operational Assistant.
10.5.6 IPL
We generally consider it good practice to IPL the machine with the Restart option
on a regular basis, for example, weekly or monthly, depending on work
schedules:
PWRDWNSYS RESTART(*YES)
Empty spooled file members occur due to the way printed output is handled by
the AS/400 system. When a report is created, it is copied into a physical file in the
QSPL library. After the report is finished printing, this area of storage is made
available for future spooled output. The intent of this strategy is to minimize the
cost of producing spooled output. If an extent had to be created each time a
spooled file was generated, this would be more costly. As the design works today,
most of the time, spooled output is simply copied into existing physical file space.
The exposure with this scheme is that after an extreme peak in spooled output,
even though the reports have been deleted, the physical file space remains. By
issuing the CHGSYSVAL QRCLSPLSTG '3' command, all spool storage that has not
been occupied in the last three days is automatically removed. IBM recommends
that you set the system value to *NOMAX and then run the RCLSPLSTG command
frequently (for example, each business day). If this is inconvenient, the system
value should be set to somewhere between three and five.
The same applies for general security. The more specific options are defined in
the BPCS Security system (SYS600), the greater the performance hit is. If
possible, avoid defining all warehouses, companies, and transaction effect codes
to each user.
The amount of disk space that may be saved varies from program to program.
eBPCS programs, except security programs which are source restricted (BPCS
key validation routines), are shipped with observable information included. By
removing the observability, you also remove the ability to debug that program.
Use the OS/400 Change Program (CHGPGM) command to accomplish this task if
you want to conserve DASD in the BPCS program library.
This guide has been subdivided into logical sections to assist you in your work.
Each section has an initial discussion of the tuning concept, followed by the
techniques themselves. You should quickly scan the entire document before
proceeding to achieve a sense for the entire opportunity.
Then, map out a plan of attack. The first step is usually to establish a base line
profile with which you can measure progress against. Depending on the
organization's skills and desires, the customer may want to exercise this plan on
their own or have SSA assign or recommend a technical professional to assist
them.
The user's locality to the server is also a consideration in this regard. Line time is
significant if the user is accessing the server through a low bandwidth line or a
heavily utilized line.
Examine the system to ensure that the system parameters affecting performance
are acceptable and memory pool allocations and activity levels are adjusted to
suit the system. This preliminary review is done by checking the system
interactively. The purpose of this is to avoid getting deeply involved in an
application performance investigation when the problem may be with the setting
of system parameters. That is, it may be a system resource problem, rather than
an application design or implementation problem.
Note that Performance Monitor data collects and the Performance Tools/400
Manager feature reports 5250-based interactive response times. Even though
Online Transaction Processing (OLTP) client/server environments are considered
"interactive" from the end user's viewpoint, the AS/400 summary level
performance data does not identify client/server transactions. Therefore, it is not
able to calculate and report "non-interactive response time".
eBPCS, like other client/server ERPs, extensively uses SQL queries. If they are
not optimized for performance, these queries can severely degrade server
performance. Such tools as STRDBMON should be regularly used to analyze
database and SQL performance. Another performance issue is creating the right
number access paths on the AS/400 system. Analyzing the available access
paths through the use of such commands as Display Database Relationships
(DSPDBR), creating the required indexes, and deleting the unnecessary indexes
on a regular basis should be done.
For good performance of your system, follow these steps on a regular basis.
The AS/400 system has a number of basic facilities that can assist you in
establishing this base line. The WRKSYSSTS, WRKACTJOB, and WRKDSKSTS
commands should be reviewed since they provide valuable overall performance
data. They should be executed during typical times of the business-processing
day and re-executed at roughly five and 10-minute intervals to establish a
The major performance levers observed in past sites are disk utilization,
allocation, and SQL tuning and, most importantly, memory management,
allocation, quantity, and speed. You are encouraged to review 11.4, “Capacity
guidelines” on page 194, and 11.5, “Performance analysis tools” on page 196,
before analyzing BPCS specific profiles since gains made here will have positive
effects across the entire site (as opposed to just the BPCS area).
If the CPU percentage is high most of the time, you may be overtaxing your
machine. If you have a large queue of batch work that has lower priority than
online activities, then the CPU percentage can be into the 90s without being a
problem. If you are optimizing online and have virtually no batch backlog, you
should expect to see percentages of less than 75%.
If the total job count is high, this indicates that spooled output reports are not
being properly cleared. Every active user is a job, as is every subsystem, pass
through job, etc. A large number of jobs, even when they are inactive, can
overtax the system's traffic manager, which leaves less time available for
application work.
If the percent of auxiliary storage (which is the IBM term for disk or DASD) is
higher than 75%, the system, in general, will spend far too much time chasing
around looking for such items as programs, files, etc. Less than 60% implies that
space is not a problem. By using the WRKDSKSTS command, you can visually see
the activity by individual disk drive. In a well-tuned system, the activity should be
evenly balanced. If they are not, you should consider saving and deleting libraries
and then reloading them to spread them out. Unbalanced drives can happen if the
system is installed with permanent objects, such as the BPCS programs, and the
applications are converted to a production environment. After a while, the site
decides to add additional disk (usually for transaction-oriented data files that
have grown) without reloading the entire system. Units 1 and 2 should be
ignored, since they are used for OS/400 and other IBM software.
Next, use the WRKACTJOB command. As with the WRKSYSSTS command, you
should wait 5 to 10 minutes, and then press F5 to see the representative data.
Make a note of the number of active jobs (upper right), and then press the F11
key to see the elapsed data for each activity. You can then move the cursor to
either the Response time column or the CPU usage column and press F16 to
sequence the activities by greatest use first (or slowest response time, in the first
example). This helps locate any problem job that can be investigated by placing a
10 (Display program stack) or 11 (Display locks) in the action code field on the far
left. Jobs in the QCTL subsystem generally run at a priority of 10, with QINTER
jobs at a priority of 20 and QBATCH at a priority of 50 (QSPL at 60 or 50).
Interactive jobs running in pool 2 imply that the QTSEPOOL system value has
been set to *BASE and that they exceeded their time slice, and dynamically
moved to the *BASE pool. They should also be looked into as problem programs.
Watch out for user queries on the WRKACTJOB display. Review user-created
queries for inadequate or poorly created file access and processing selection
criteria. In addition, queries should be strictly limited to batch.
Use the WRKJOBD command to determine the logging level for each active job
description. The logging level guideline is 4 00 *NOLIST, with CL logging set to
*NO.
Once you run these commands over a period of several days, you should be able
to determine your current "normal" production profile or base line. You will also
find a few parameters to adjust. You can quickly adjust them one-by-one and then
re-measure or defer them until you have finished your investigations.
In any event, it is critical that you maintain these base line records to measure
your progress. It is also essential that you record key business factors (for
example, number of orders processed per day) in conjunction with this exercise.
Your business profile will surely change over time since it is historically the single,
largest driver of systems reconfiguration and enhancement.
The prefixes in brackets identify the vendor that is issuing the error, the ODBC
component involved, and the data source (DBMS). Client Access ODBC uses the
following format to identify errors whose source is the Client Access ODBC driver
or DB2/400:
[IBM][Client Access ODBC Driver (32-bit)][DB2/400 SQL]
Prefix Explanation
[IBM] Identifies IBM as the vendor issuing the error. If this value is
something other than IBM, the failure did not occur in IBM
code. An error starting with [Microsoft] [ODBCxxx DLL],
implies the failure was at the MS ODBC driver manager level.
[Client Access ODBC Identifies the Client Access ODBC driver as the component
Driver (32-bit)] reporting the error. When Client Access ODBC reports the
error but the [DB2/400] prefix does not follow, the error
occurred on the PC. The request was never sent to the
AS/400 system.
[DB2/400] Identifies the AS/400 system as the data source. This field,
when included, indicates that the failure originated on the
AS/400 system. The AS/400 job log may contain additional
information for these types of errors.
Communications traces also capture the data stream being passed between
Client Access ODBC and the AS/400 database host server. IBM Support can
break down this data stream to see what is being passed between the PC and the
AS/400 system, including the SQL conversation and SQL statements, data
definitions, and errors.
Ending a trace
To end the communications trace, from the Work with Communications Trace
display, select Option 2 (Stop trace). Press the Enter key.
The spooled files should have the file name QPCSMPRT with User set to the user
profile that ran the trace. Send the trace as requested by IBM Service.
11.5.3.2 Sniffer
A network sniffer is a non-invasive device that captures all the traffic on a
communications facility. It is good at analyzing and diagnosing lower level
communications protocols. For example, it allows you to determine whether there
are hardware related problems or addressing problems, or to track the number of
retransmissions at the transport layer. All of these issues can affect performance
across the network. It can also be used for helping to isolate performance issues
within applications. Sniffers basically produce raw data that can be analyzed
either by the sniffer itself or by another tool. The network software tools usually
have some degree of sniffing capability built in.
MIL3 is a network planning tool that offers modeling, simulation, and an analysis
of the performance of communications networks, computer systems and
applications, and distributed systems. The models fit together in a hierarchical
fashion. For information about this product, visit the Web site:
http://www.mil3.com
Changing an option to run synchronously prevents the user from entering the
next business transaction until the selected function (for example, order posting)
is finished (as opposed to started). This single file processing assures fast user
feedback, but typically reduces overall throughput. Perceived user response time
also usually degrades. If desired, these choices may be set by user profile by
performing the following steps:
1. Call SYS105 - Table Definition Maintenance.
2. Select Table SCMCONFG to configure your profile.
3. Add/Change the Primary Code that matches your profile name.
4. Set User Defined Code 1 for Document Printing.
(0=Submit Job; 1=Run Synchronously)
5. Set User Defined Code 2 for Order Posting.
(0=Submit Job; 1= Run Synchronously)
6. Set User Defined Code 3 for Order Validation.
(0=Submit Job; 1= Run Synchronously)
11.6.2.2 Promotions
Within system parameter settings (SYS800/Installed Programs), Promotions and
Deals (PRO) may be turned off if the client does not use it. All BPCS functions
related to the product will be skipped, which improves performance significantly.
11.6.2.3 Pricing
Within system parameter settings (SYS800), special (order entry parameters)
and list (promotion and deals parameters) pricing search hierarchies are defined.
In both cases, the search is performed in the sequence defined, and stops when
the first match is found.
Therefore, users should carefully set the search sequence so that the unused
options are last, and the used ones are in the correct priority order. This saves as
many as seven search levels and improves performance significantly.
Additionally, the client may turn credit checking "On" only in certain events. For
example, a setting of 02 will perform a credit check only during pick release and
free order entry from this step.
11.6.3.2 Filters
Order Entry provides a number of filters that can be set by the user to fine tune
the records selected. These settings are available from the Order Directory
Window within Order Entry (Options/ Filters), and include the following options.
Users should set these values to show minimal data sets required to perform their
functions effectively.
• Directory: This option applies to the order directory, and provides the
following choices:
– Customer Number Range
– Salesperson Number Range
– Customer PO (Single value and wildcard search available)
– Item Number (Single value and wildcard search available)
– Max. Records (Enter the maximum number of records to display)
– Show Directory at Startup (Initial build of directory is optional)
– Sort Order (Pick one of four sort orders for display)
• Customer : This option applies to customer prompting, and provides the
following choices:
– Customer Number Range
– Customer Name (Single value and wildcard search available)
– Phone Number (Single value and wildcard search available)
– Max. Records (Enter the maximum number of records to display)
• Item: This option applies to item number lookup, and provides the following
choices:
– Item Number Range
– Description (Single value and wildcard search available)
– Extra Description (Single value and wildcard search available)
– Item Class Range
– All/Allowed (Show all items or those allowed by the item include or exclude
rules)
– Max. Records (Enter the maximum number of records to display)
System tuning varies drastically according to the size and type of your AS/400
system, the functions performed on the machine, departmental priorities, and
many other factors.
A normal batch queue (for example, QBATCH) may be used. However, consider
the possibility that a typical batch configuration may result in extended queue
wait times. The order continues to be marked in use until the post function
completes. Therefore, the order may remain locked for an unreasonable amount
of time.
The maximum number of jobs that can be run from the job queue should be
restricted as much as possible. The more jobs that run, the more competition they
will have with each other. Start with three jobs, and increase to a reasonable
number that will run, but not adversely impact the system.
A program that has been optimized may run more efficiently than a program that
has not been optimized. When a program is compiled using the BPCS or AS/400
commands, you may specify whether the program is to be optimized. Optimizing
a program has its price. In some cases, the time needed to optimize a program
may be twice as long as the time it takes to compile the program. Program
optimization should be done as the last step in the program development.
The Change Program (CHGPGM) command allows you to change the Program
Optimization attribute of a program after it is compiled.
This command should be repeated for all libraries that have objects privately
secured.
Removing authorization list is more difficult. IBM does not allow you to universally
remove authorization list in the same manner or freedom as with individually
granted authority. Therefore, you must programmatically remove authorization
list.
The programmatic solution requires populating a file with all objects on your
system and subsequently determine if they are secured by an authorization list.
The first step in this process is to populate a file with all objects on the system
and drive from that file to determine object authority. The following example
shows a program that populates a file with all object authority:
Another program is required to read all object authority file and find objects
secured by an authorization list. When an object that is secured by an
authorization list is encountered, this program removes the authorization list from
the object.
0001.00 PGM
0002.00
0003.00 DCLF FILE(ALLOBJAU)
0004.00
0005.00 LOOP:
0006.00 RCVF RCDFMT(QSYDSAUT)
0007.00 MONMSG MSGID(CPF0864) EXEC(GOTO CMDLBL(ENDPGM))
0008.00
0009.00 IF COND(&OAANAM *NE '*NONE') THEN(DO)
0010.00 RVKOBJAUT OBJ(&OANAME/&OALIB) OBJTYPE(&OATYPE) +
0011.00 AUTL(&OAANAM)
0012.00 ENDDO
0013.00
0014.00 GOTO CMDLBL(LOOP)
0015.00
0016.00 ENDPGM: ENDPGM
Remember to clear the ALLOBJ and ALLOBJAU files in QGPL after the task is
complete.
The default Access Path Maintenance attribute is *IMMED. BPCS logical files use
the default Access Path Maintenance attribute. If an access path is used less
frequently, you may want to change the Access Path Maintenance attribute to
either *REBLD or *DLY. This would allow maintenance of the access path to be at
the time when it is actually needed.
Take great care if changing logical files from the default. Since BPCS uses SQL
for accessing data, it may dynamically choose a logical file that is otherwise not
referenced directly in any code. This may cause an index build during execution
of an SQL statement.
BPCS marks a record as soft deleted by changing the second position of the
Record ID field to the value Z. There are exceptions, such as the Receivable
Detail (RAR) file. In this file, the first position of the Record ID field is used to
indicate a soft delete. By using the soft deletion, a record may be accessed by an
application program or re-activated by changing the Record ID field to its original
state. An example of this process may be found within the master file
maintenance programs. Because the record is only marked, the operating system
does not prevent access to the record. A logical file may be used to include or
BPCS also uses the hard deletion process when the record does not need to be
re-activated. Because these records are not accessible, the record does not exist
from the applications programs point of view. An example of this may be found
within the MRP product. The records in the Material Requirements file (KMR) are
deleted using a hard delete.
The space used by a deleted record is unavailable. This applies to both types of
record deletion. To make this space available, the file containing the deleted
records needs to be re-organized. The process used to re-organize the file is
determined by the process used to delete the records within the file.
The reorganization programs are also located for operational convenience on the
System menu. Many sites have set up automatic scheduled executions of these
programs at period end.
If the access plan calls for a temporary index build to improve performance, the
optimizer builds the index as part of the query execution. The building of
temporary indexes can be a cause of significant performance degradation, and as
such, is a prime area to review for performance improvements.
The monitor can be set for a specific job or all the jobs on the system, with
statistics placed in the output database file specified on the command. Each job
in the system can be monitored concurrently by two monitors. One monitor is for
the specific job, and the other monitor is for all jobs on the system. When
monitored by two monitors and each monitor is logging to a different output file,
monitor records are written to both files. Records in the output database files are
uniquely identified by their record identification number. Some of the database
information that is collected includes:
• System and job name
• SQL statement and sub-select number
• Start and end timestamp
• Estimated processing time
• Total rows in the file queried
• Number of rows selected
• Estimated number of rows selected
• Estimated number of joined rows
• Key fields for advised index
• Total optimization time
• Join type and method
• ODP (Open Data Path) implementation
Running the Database Monitor allows you to answer several key questions
relative to your database. Such questions include:
• How many queries perform dynamic replans?
• How many temporary indexes were created over a particular file?
• Which queries are the most time consuming?
• Which user is running those queries?
• Which queries were implemented using reusable ODPs?
The questions are actually answered by querying the information collected from
running the Database Monitor.
Bottom
F3=Exit F4=Prompt F5=Refresh F12=Cancel F13=How to use this display
F24=More keys
The fields QQJOB (Job name), QQUSER (Job user name), QQJNUM (Job
number), and QQTIME (Time that the record was created) are common to all
these record types. Other most commonly used fields for each record type are
shown in the following text.
The messages explain what happened during the query optimization. Questions,
such as why an index was used or not used, or why a temporary result was
required, are explained. It also shows the join order of the files and the index
advised by the optimizer.
One of the most significant steps that can be used when solving any
programming problems is to isolate problem code into smaller units. For example,
if you identified a performance problem with an SQL query (such as through
using the STRDBMON command), you may copy the SQL statement (and the
required host variable definitions) to the test environment and debug the isolated
SQL query.
Note
It is often difficult to determine which server job corresponds to a particular
client. You can write an exit program that can be used with QIBM_QZDA_INIT
to start and stop debug for all the new jobs. Also, remember that if you turned
the joblog to *NOLIST, you will not see any debug messages.
Run the selected SQL statement in the debug mode by using the following
command:
STRDBG UPDPROD(*YES)
By running this command, most of the SQL optimizer messages are displayed in
the job log. The query optimizer provides you with information messages on the
current query processing. Display the job log by using the Display Job Log
For more information on what the optimizer did, for example, why the access path
was built, analyze the messages using the Help key for the second level text. If
you positioned on the first message as shown in Figure 114, the display shown in
Figure 115 may appear.
Before running the SQL statement, you may set the time limit to ZERO for the
parameter QRYTIMLMT in the CHGQRA command. The query optimizer
messages are written to the job log prior to the actual execution of the query.
This way, you can get all the optimizer messages without actually running the
query.
Important points to remember are that the query time limit is checked against the
estimated elapsed query time before initiating a query. The inquiry message
CPA4259 is displayed and shows the predicted runtime and what operations the
query will perform. A time limit of zero is used to see the optimization messages
without actually running the queries. Debug messages are written to the job log if
the query is canceled.
Available without running Only available when the Only available when the
the query (after the access query is run. query is run.
plan is created).
Displayed for all queries in Displayed only for those Displayed only for those
the SQL program, queries that are executed. queries that are executed.
regardless of whether it is
executed.
Available only to SQL Available to all query users Available to all query users
users with programs, (OPNQRYF, QUERY/400, (OPNQRYF, QUERY/400,
packages, or service SQL). SQL).
programs.
The SMP feature can be used only if the DB2 Symmetric Multiprocessing feature
is installed on your AS/400 system. This feature provides the following query
optimization algorithms:
• Parallel table scan
Provides parallel operations for queries requiring a sequential scan of the
entire table. Multiple tasks are used to scan the same table concurrently. Each
task performs selection and column processing on a table partition and returns
selected records to the requester.
• Index only access
Provides performance improvement by extracting a query answer from an
index rather than performing random I/Os against a physical table.
• Parallel key selection
Provides parallel index operations for key selection. Multiple tasks are used to
scan the same index concurrently.
• Parallel key positioning
Multiple tasks are used to perform the key positioning on a partitioned subset
of the key ranges. Only those index entries that are within a selected range
are processed.
If AS/400 resources are available (particularly the memory and CPU are not a
constraint), changing the system value QQRYDEGREE to *OPTIMIZE may
provide a better performance for the eBPCS applications. Optionally, you may set
the "multiprocessing degree" for specific jobs by using the CHGQRYA DEGREE
(*OPTIMIZE/*MAX ...) command. For more information on the SMP feature, see
Section 1.4.6 "Controlling Parallel Processing" in DB2 for AS/400 Database
Programming , SC41-5701.
Note
When an index type is changed, it is rebuilt. This can result in a long running
process.
Many of the technical enhancements were also tested. The ability to IPL
individual partitions while others were still active, switching devices between
partitions, different time zones, and the OptiConnect high speed link were all
tested.
SSA sees this addition to the AS/400 functionality as a key factor in a time when
many companies are looking to consolidate their server strategy, and move
toward a shared service center concept. The capability to have multiple partitions
running in the same AS/400 system also falls neatly in line with SSA's Portfolio
Strategy. Business Intelligence, data warehousing, and e-commerce can all affect
the way in which the AS/400 system performs. By separating them out, you can
gain the benefit of the products without the performance overhead affecting your
on-line transaction users. Other benefits of using this new technology, include:
• Centralized computer operations
• Cost of ownership of the AS/400 system
• 24 x 7 operating capabilities
• Data consolidation
• Easy implementation of Business Intelligence
For further information, see the white paper "Configuring your AS/400 and
eBPCS in an LPAR Environment" which is available on the Web at:
http://www.ssaportfolio.com/partners/ibm/as400e.html
?
Timely response to technical Not educators. Assist OGS
and application issues. subscribers resolve issues.
Each region is staffed with product or technical consultants within their functional
area reporting to their appropriate support manager. All support managers report
to their regional HelpLine Director. A global HelpLine director sets overall
HelpLine policies and practices.
The HelpLine service is provided under the terms of the Software License
Agreement between SSA and the client. SSA reserves the right to make changes
to this agreement. These changes may include, but are not limited to, changes in
the hours of HelpLine availability, charges for this service, and the products that
are supported.
HelpLine Policies
and Procedures
on OGS OnLine
When placing a call for emergency support that is needed after regular regional
business hours on Mondays through Thursdays, callers are directed to the
appropriate available SSA HelpLine. A telephone recorded message lists the
name and number of the regional HelpLine office to call.
You can log a new call or refer to an existing call at a different Regional SSA
HelpLine office during "off hours" for your own region. SSA International
HelpLines share the same call tracking database. Therefore, an existing call can
be viewed, edited, or looked up by any other SSA HelpLine consultant around the
world. Refer to your original call log number so that the prior history is available to
the new consultant.
In addition, a new service is available on OGS that allows you to request and
receive a temporary software key online. This service is available for a limit of two
keys. The Web address for emergency online key requests is http://ogs.ssax.com
The main page is shown in Figure 118 on page 227. Select Product
Support->BPCS Key Requests->BPCS Key Request Form. The home page for
key requests also lists the people in each regional finance and administration
office whom you can contact regarding obtaining permanent software keys.
Initially direct your query to the area which seems to best fit your question or
problem. If your question is best answered by a different team or a combination of
two teams, the HelpLine consultant will involve the appropriate resources to
answer your question.
You can connect to this information from a link on the main SSA Web site, or at
the direct address: http://www.ssaportfolio.com/company/education/
Proper product education is required of all HelpLine users. It is not the role of
HelpLine to replace the responsibility of either clients or affiliates to receive
We recommend that if this level of expertise is not available at your site, SSA
Professional Services can be retained to assist you temporarily in such matters
as:
• Installing or upgrading BPCS releases
• Creating new BPCS testing environments
• Tuning the entire system for maximum BPCS performance
• Completing modifications to BPCS programs
Additional helpful topics to consider for AS/400 education that relate to running
BPCS would include an understanding of the AS/400 database structure and how
to monitor and configure your system for maximum performance. If you plan to
modify BPCS or implement SMGs, we recommend that you have an
understanding of RPG, SQL, and C programming basics. An basic understanding
of TCP/IP is recommended if you are implementing Client/Server eBPCS.
See your SSA Software License Agreement to determine the terms of product
support for your third-party software that connects to eBPCS. Contact your SSA
Professional Consulting Manager if you are unsure of the terms for support.
One easy way to find answers to common (or even some uncommon) questions
is to go to the SSA customer support Web site, OGS Online at:
http://ogs.ssax.com
If your question is about a problem in, or the operation of, a BPCS or related SSA
product, start in the Frequent Product Questions Infobase section. Select this
option as shown in Figure 119.
Core BPCS products and other related products, such as ODW and SMGs, are in
the section labeled for BPCS. AS/SET questions and answers are logged in the
AS/SET section, and EDI calls are in their own section. You can highlight to
search on one or more of the databases at the same time when entering your
query.
If for any reason you find conflicting information on the OGS page, check the
BPCS version and date of the entry to see if they account for the difference in
information. Or, contact the SSA International HelpLine for clarification.
Occasionally a BMR will change the behavior of a product, making a prior entry
obsolete. The SSA HelpLine removes or updates the outdated entries where
appropriate. Be sure to write down or print out the call log number of the entry in
question.
If you do not find an answer for your question in any of the OGS databases, or if
you need clarification about something you read in the OGS database, you
should open an incident with the SSA International HelpLine. State your question
as clearly and concisely as possible so that it may be researched before your call
is returned.
The more information you provide initially, the faster and more accurately your
question can be researched. Your e-mail will be entered into the normal HelpLine
call logging system at SSA. You will receive a return e-mail message that lists
your incident number. An SSA HelpLine consultant will either reply to you by
telephone, facsimile, or e-mail. We recommend that you do not use this method
of communication for urgent matters.
Some basic questions about modifications to BPCS (for example, what pitfalls to
watch for when making modifications to programs also used by SMGs) can be
answered by the AS/400 Technical HelpLine. However, direct "how-to"
programming assistance is not given. If your question is outside the scope of the
SSA International HelpLine, you may be requested instead to contact your SSA
Sales Representative or SSA Professional Services Consulting Manager, or the
BPCS Extensibility Center (BEC). These organizations can handle your entire
project or offer technical or product knowledge assistance to your own internal
team doing the modifications.
If you have software that was modified by SSA and purchased a Client System
Support Agreement, you will be directed to the Professional Services team that
handled your extensions. Or, you may be referred to the BPCS Extensibility
Center (BEC) for assistance with resolving any problems using the modifications.
User Encounters
a Problem
or Question
Problem Yes
A Resolved?
No
Software Hardware or
Software?
Yes Software
Purchased Hardware
from SSA? No
Contact the
Modified Yes Responsible
BPCS? Vendor
No
Read the Run
Read Run No
Instructions, Instructions, A
Help Text Help Text
Yes
Requires a
Yes BMR?
Call the SSA
International
HelpLine
Yes
The same person or persons can also act as coordinators when rolling out
modifications or fixes to the rest of the organization. They can keep track of which
BMR fixes have been applied to the various BPCS environments you may keep
active on site.
Once you determine that the problem is not a setup or user education issue and
want to address the problem using an outside support structure, you are ready to
proceed to the next step in the process.
Help for BPCS releases which have been sunset may be available via SSA
Professional Services. If the product is supported by SSA HelpLine, the OGS
Web site and the SSA International HelpLine can be used to help you resolve
your problem.
If you are unsure who supports the product in question, contact your SSA
Consulting Manager, the SSA International HelpLine, or the outside vendor. They
research the issue and direct you to the appropriate resource.
To test without modifications, simply alter the library list to remove the
modifications library and test the issue again. If the modifications themselves are
the cause of the error, contact the vendor or developer who made the
modifications for product maintenance.
If you read the documentation and decide the software program in question is
working properly, but you would like to have it changed or extended to offer more
functionality, you may contact the SSA International HelpLine and request that an
Enhancement BMR be entered so that the software can be re-designed or
extended in a future release. You may also request SSA Professional Services to
perform the modification if it is urgently required.
In addition, there is a listing updated nightly that shows all the most recent BMRs
that have been passed on the previous day. Use this area to proactively acquire
fixes to avoid future problems.
In the Product Support area, you can also browse the HelpLine Scope of
Operations document. This document lists several pieces of information you
should gather before calling the HelpLine. It lists the types of documentation and
information that will assist in faster resolution of your problem.
You may also follow the Escalation Procedures for BMRs as documented on OGS
Online to escalate the completion schedule for any accepted BMR. A BMR is not
accepted for development until the developers have analyzed the BMR and
determined that the described problem exists in current code levels.
Be sure to phone the HelpLine to report the problem if you find a BMR that
describes the defect. The version upon which the BMR was completed is higher
than your current version, and your current version is still supported.
SSA publishes the list of supported BPCS versions on OGS OnLine, and
periodically revises the list as business conditions warrant.
Contact the SSA International HelpLine group representing the product that the
BMR affects. They can tell you if the BMR already has an estimated time of
arrival (ETA) date for delivery, or in which stage the BMR is currently. They can
also inform you of the date upon which the BMR was first entered, and assist with
finding a workaround for any B or D BMRs wherever possible.
If the BMR is accepted, but still open, and is urgently required, you should follow
the BMR Escalation process, which is documented on the OGS Online Web site.
If you are uncertain about whom to call, and do not have an assigned account
manager, contact the SSA Professional Services director in your area or the SSA
International HelpLine.
If you are being pro-active in ordering preventative BMRs, you may want to run a
query on a product code such as ORD* in the Search Entire Database field.
Then, search for Priority Code A only, to pick up any critical fixes for that product.
Here is a list of priority codes:
A BMR Critical construction defect with no feasible workaround and
represents a consequential bottom-line damage to SSA's customers,
for example: lost sales, temporary staff required to manually operate
the system, and penalties assessed against a business. A hard halt,
endless loop, or a data destroying error are examples of an A BMR.
B BMR Critical construction defect having a practical, temporary work-around.
An alternate way to operate the software without adverse bottom-line
impact yields correct results and does not damage important
information.
C BMR Any construction defect that cannot otherwise be classified into
priorities A, B, D, or G.
D BMR Construction defect that produces response times that exceed
acceptable performance specifications when operated within an SSA
recommendation environment. If the performance defect has no
feasible workaround and represents a consequential bottom-line
damage to SSA's customers, for example: lost sales, temporary staff
required to manually operate the system, or penalties assessed
against a business. The BMR should be escalated similar to an A
BMR.
E BMR Enhancements to the product addressed through design changes that
alter the software's fitness-for-use. E enhancements are forwarded to
product management for consideration in future product versions and
to provide a disposition as to whether the request will be accepted as
a future enhancement or rejected. Enhancements are not typically
Here are the BMR closing codes you will most likely encounter:
NDP Cannot duplicate in current code
NDU Education issue
NMR Fixed by another BMR
NRJ Rejected enhancement (E BMRs only). Enhancement will not be
worked on.
NST Product has been sunset and further BMRs will not be considered
Currently fixes are distributed only upon your request. Once a BMR fix is
developed and tested, it appears in P status on OGS and is considered available
for distribution. This can be viewed by accessing the BMR database via OGS
OnLine. You must then determine whether to implement the fix available, retrofit
it, or wait until the next software release. Once you decide to implement or retrofit
any BMR fix, you should request the fix by contacting their Regional HelpLine.
If you find more than one BMR you want to order, you may request up to 30
BMRs be bundled into one explosion library. This gives you one library containing
all the fixes and co-requisites, and avoids the shipment of duplicate dependent
objects delivered in separate BMR libraries. You must specifically request this
bundling to be done at the time you order the BMRs.
BMR bundling can be especially useful if you group the BMRs into bundle
requests by the products affected. This reduces the number of duplicate objects
you receive when product dependencies are encountered in the BMR build
process. See 14.5, “BMR change management for BPCS version 6.x” on page
260, for further details on how BMRs are packaged and approaches for testing
BMRs.
The Mixed-Mode and Full Client/Server BMR libraries are not interchangeable.
The specific list of Full Client/Server ILE RPG programs that are packaged along
with Mixed-Mode SMGs in the SMGSUPPORT library are included in your SMG
Installation Guide. If any of these objects are affected by your intended BMR or
any object in the resulting BMR dependency tree, those SMGSUPPORT objects
must also be updated for the fix to be used by the SMG interface to BPCS.
The HelpLine needs to know the following information to build your fix:
• BPCS release
• Mixed-Mode or Full Client/Server (or both)
• Source or objects (or both)
• For Source BMRs, ODW, or ADK source
• OS/400 version and release
• Last cumulative applied to BPCS (if applicable)
• BMR numbers
• Shipping address (PO boxes are not allowed)
• Contact name and phone number
• Indicate if you want to download from an FTP site (depends on the BMR size
when finished)
• Media requested (CD-ROM or tape media type). Include this information even
if you prefer FTP, in the case that the BMR built is too large to place on the
site.
A fix will be built for your BPCS release and cumulative level. The fix that is built
is commonly called an "explosion" or a '"BMR tree." This process finds the
affected programs that were fixed in the BMR that you are requesting and also
finds any superseding and co-requisite BMR dependencies. These may include
products that initially appear unrelated to the BMR you originally requested.
BMRs should be applied as a whole, and programs should not be pulled out of
BMRs and separately installed. Doing so can lead to unpredictable program
errors, due to product and program interdependencies.
In many cases, related fixes for the BPCS PC Client software are also required
for a server side BMR. These may be due to the original BMR that you requested
or due to a co-requisite BMR picked up in the explosion process. This fix can also
be placed on the FTP site or on a CD-ROM. In some cases, the fix can also be
sent via e-mail. If you receive both a client and server fix, you should test them
together.
When you receive the BMR, check the QTXTSRC file in the BMR library on the
AS/400 system. This gives you a complete listing of all the BMRs pulled in under
the explosion process and shows you the objects in BPCS that were affected.
You should always test a BMR before putting it into a production environment. If
the fix was for the client PC software only, read the .rpt PC file for a listing of all
PC objects affected by the BMR.
This process is explained further in 14.5, “BMR change management for BPCS
version 6.x” on page 260.
Answering ‘why’
The SSA International HelpLine tries to answer why as in "Why is the software
behaving this way?". Depending on the situation, the HelpLine will provide a fix to
correct the problem and information to avoid (work around) the problem. They
may also enter a BMR to have the problem corrected or provide education
information on how the program is supposed to work or be set up to avoid the
error.
In severe cases where a clear cause cannot be determined via normal support
channels, the SSA HelpLine may request a dial-in to your AS/400 system or PC
Network to observe the problem via Electronic Customer Support. In such a case
you need to have on file with SSA a legal form called the ECS Contract, which
allows the SSA HelpLine to perform this task. The HelpLine Customer Service
Representative will provide the form to you via facsimile if one is not already on
file. This form is also available on OGS OnLine in the HelpLine Scope of
Operations.
There are specific guidelines that the consultant must follow while logged onto
your system. These guidelines are documented in the HelpLine Scope of
Operations on OGS OnLine. For example, the HelpLine Consultant is not allowed
to alter any data or settings while on your system. If such action is required to
resolve the problem, you are told of the changes being recommended and asked
to implement the changes at a time that will not inconvenience your end-users.
You should always back up any related BPCS files prior to performing any
modifications of your data or system settings.
The job log lets a consultant view key messages that may otherwise have been
overlooked. Such messages may show abnormal program flow before the main
error has occurred or before the program ends normally.
The job log also reveals the program that has sent the error message, if any, and
allows the consultant to research BMRs on that specific program.
The job log lists the program names and libraries in which they reside to help the
consultant understand the configuration of the environment where the problem
exists.
If you have Full Client/Server BPCS, both First and Second Generation GUI
applications will run.
First Generation jobs run under the DFS ALAUNCH daemon. In eBPCS only,
OLM and CEA applications are DFS. In prior BPCS versions, COM is also DFS.
Second Generation jobs run under the OMS daemon. In eBPCS, all other
applications run under OMS. In Mixed-Mode BPCS, these same applications are
driven from green-screen menu interfaces.
If a regular BPCS application is not in the call stack, then the job is likely a waiting
daemon that is listening for an incoming PC start request.
Figure 127. Option 1 from the Work With Job display for an SSATCP job
This produces the most detailed job log that is available (Figure 128 on page
253).
These jobs are only found in Full Client/Server BPCS installations. They are not
found when using Mixed-Mode BPCS. In Mixed-Mode BPCS, these same
applications are implemented as green-screen menu options. You can identify the
BPCS application being run by displaying the job log or the job call stack while it
is running.
Figure 129. PC client screen when the World has launched on the server
When a World is started on the server, from the PC, you will see the main BPCS
application selection screen (Figure 129), from which you can launch various
end-user applications. Clicking around on icons on the display bring up various
BPCS "containers" holding program icons to choose, some of which are
additional containers.
Once you click on an application and get the message Starting Program Please
Wait, OMS initiates a new NEWICSTUB server job for the user.
If you encounter a problem after an OMS application is already started, the World
job log (Figure 130) will not contain the data showing your problem. However, it
will show you the name and job number assigned to the application that was
launched from the World. This can be used to find your application job if you
cannot see it from a WRKACTJOB screen (such as an abended job).
System: TEST400
Job . . : NWID User . . : DAEMON Number . . : 672544
>> CALL PGM(NEWI2/NWID) PARM('-port' '9007' '-nwidcfg' '*LIBL/NWIDCFG(SYSTEM)'
'-usrcfg' '*NOUSRCFG' '-ccsid' '00000065535' '-jobd' 'NEWI2/NWIJOBD' '-s bmjob'
'1' '-prtdev' '*JOBD' '-outq' '*JOBD' '-sbmusr' 'DAEMON' '-libl' 'NEWI2 QGPL')
Job 672551/DAEMON/NWID submitted to job queue NEWIJOBQ in library QSYS.
Library list changed.
Ownership of object FILELIST in QTEMP type *USRSPC changed.
Ownership of object MBRLIST in QTEMP type *USRSPC changed.
Job 672552/SRIRANK/A0A016E7F submitted to job queue NEWIJOBQ in
library QGPL.
Figure 130. Job log from an OMS 2.4.1 World launching a BPCS application
To check the version of OMS you are using, use the following command:
DSPSRVPGM (NEWI/NEWIE2E) DETAIL(*COPYRIGHT)
Here, NEWI is the name of your OMS library as installed on your system.
OMS also has a client PC-side piece referred to as OPS. Your OMS and OPS
versions must be compatible to run BPCS successfully. OPS versions included
with PC Client software prior to the 6.0.04 April 1998 cumulative or the base
eBPCS release will not run unless the server version of OMS is at 2.4.1 or higher.
If the job is in SELW status, this represents a user logged into a BPCS World.
Use the WRKACTJOB command. Then, select option 5 and option 1 to see the BPCS
user who logged on. If the job is in TIMW status, it is a daemon listening for a new
PC logon request.
When a user selects a second generation job to start from the PC, a new
PGM-NWICSTUB job is submitted from the World to run the application for the
user. This new job runs under the job description NEWIJOBD in the OMS library.
This job description can be changed to produce a job log when required. No job
logs are produced, which is the default. The new job runs under the name of the
BPCS user.
When a user selects a second generation job to start from the launcher, a new
PGM-NWICSTUB job is submitted to run the application for the user. This job
runs under the job description of the AS/400 user profile. Alter this job description
to change whether a job log is produced. The new job runs under the name of the
BPCS user.
See BMR51795, which relates to the job description that is used by OMS Version
2.4.2.
When debugging a problem with an initial user logon, watch the OMS daemon job
for any error messages about the connection or starting the World. If a World is
successfully submitted, turn your attention to the World job for debugging. If the
application successfully starts from inside the World job, check the NEWICSTUB
job for details.
If you are using OMS Version 2.4.1, this also produces job logs for all subsequent
points in the job launching process.
If you are using OMS Version 2.4.2, unless you have BMR51795, the job log for
the application launched by the user is controlled by the settings for Message
Level Logging on the job description of the AS/400 user profile who is logging into
BPCS.
BOTTOM
F3=EXIT F4=PROMPT F5=REFRESH F12=CANCEL F13=HOWTOUSETHISDISPLAY F24=MOREKEYS
Newi daemon started interactively. Waiting on port 7878...
2. From your PC workstation settings, change your PC to use the special Service
Port number with the interactive daemon. Do not alter other settings.
3. Initiate the PC task in BPCS to connect to OMS. Bring up only the World
(application launcher) and do not select the icon to start the application yet.
4. To run debug over an OMS BPCS application, start a new green-screen
session. Put the NEWIJOBQ or the job queue you are using for OMS jobs on
HOLD. Use the WRKJOBQ command, and select option 3 to perform this task.
5. On the PC, select the icon to start the application.
6. Start the service job by using the STRSRVJOB command and any debugging
utilities or job traces to the job sitting in the NEWIJOBQ.
7. Release the JOBQ from a WRKJOBQ screen. Perform the actions in the
application to recreate the problem. Collect the trace or debugging information
from your second green-screen session.
When you exit BPCS on the PC, the interactive session running the BPCS
daemon will end, as this daemon can only be used one time.
The SSA OGS Frequent Product Questions database also references an APAR
or PTF number to resolve a given OS/400 problem that manifests in a BPCS
program.
The SSA HelpLine consultant can remain on the line while you contact IBM to
open a Problem Management Record (PMR) with that HelpLine. If the IBM
HelpLine contacts SSA, SSA requests that you open an SSA HelpLine incident as
well for their internal tracking purposes. The IBM HelpLine cannot open an
incident directly with the SSA HelpLine, and similarly the SSA HelpLine cannot
open a PMR directly with IBM.
In some cases, an SSA Application Team consultant may get your call first and
bring the problem to the SSA AS/400 Technical Team for further assistance. If the
SSA AS/400 Technical Team consultant feels consultation between IBM and SSA
is required to resolve your problem, they may request that you open a PMR with
the IBM HelpLine so that both HelpLines can work on your problem.
14.4.5.3 Who will deliver the fix and how do I escalate the problem?
Once the cause of the root of the problem is identified, the software vendor who
will repair the problem takes responsibility for your problem and the delivery of
any program fix.
For example, if the problem is determined to lie in the BPCS software, a BMR
may be entered at SSA, and your IBM PMR will be closed out. If the problem lies
in some part of the operating system, an APAR may be opened by IBM and your
SSA Incident will be closed out.
Generally speaking, each HelpLine tracks their call log records, including such
information as the SSA BMR or IBM APAR number used to resolve the problem,
so that future calls to either HelpLine on the same problem description can be
resolved more quickly.
If you feel your problem is not being resolved to your satisfaction, and a clear
cause has not yet been determined, follow the escalation procedures available to
you from within each companies' support structure. If the clear cause is
determined, and a fix request such as an APAR or BMR is already entered, follow
the escalation procedures for the responsible software vendor under which the
problem report or modification request was entered.
In a source BMR, you may also receive CL programs beginning with ADDLI or
ADDMSG. You need to run these CL programs need with your BPCS files library
in your library list. They update your message files with new screen literals or
messages.
Source BMRs must be compiled into program objects and moved into a
configured testing environment before the fix can have an effect.
Object BMRs should be loaded into your BPCSPTF or BMR testing library to test
the fix.
Often, if you order two different BMRs for the same product, you may find that
some of the same programs appear in each BMR library due to product
dependency trees that develop when fixes are completed. This is unavoidable
from a packaging perspective.
The HelpLine cannot be responsible for program errors resulting from missing
program dependencies. For this reason, we usually recommend that you get the
full BMR explosion, and pull the required programs you wish to modify. If you find
that you require a dependent program, it is already in the package for you.
PTFs from IBM, on the other hand, are specific numbers that represent a specific
level of code for a given set of programs. If you order a PTF that has been
superseded, the superseding fix and additional co-requisite fixes may be shipped
instead of, or along with, your original request. In this case, you receive multiple
PTF numbers. With an SSA BMR, the multiple dependent fixes are delivered in
one library.
PTFs must be applied using the GO PTF process. Once they are applied, they
affect the entire system. SSA BMRs must be inserted into a configured
environment and tested with your BPCS configuration before being put into a
production environment. There are several ways to do this.
For an IBM fix, the PTF number is related specifically to a particular point in the
life of a program object when the PTF is delivered to you. For an SSA fix, the
BMR number as listed on OGS represents a particular point in the life of a
program. However, a BMR Library, once built for delivery to a customer, contains
contents that vary, depending on the date of the BMR explosion that builds the
library.
The date of the explosion is always more important than the BMR number on the
library when considering the order for loading fixes into your environment. The
delivered BMR library is a vehicle to deliver a set of dependent fixes, and should
not be construed to represent a frozen point in code. In fact, if you order several
BMRs at once from the HelpLine, they can be bundled into one library (if you
request it). This library will be named for your HelpLine incident number, rather
than any given BMR number.
14.5.2 Where to find the listing of BMRs pulled into your explosion build
Since a BMR number listed in a BMR build library does not fully describe the
library contents once the explosion program has completed, a report is included
In the report, you will see ACR500 in two places. It appears on the list of all
included programs, and it is also listed separately with the three BMR numbers
that affect that ACR500 program listed immediately below the program name.
The BMR numbers appear in many places. You will see those same three BMRs
listed once by themselves in the list of total BMRs pulled in by the explosion. And,
you will find the BMR numbers listed under each object that a given BMR affects.
You will receive one ACR500 object, which contains the changes made under all
three fixes. Plus, you receive all the other objects that have code changes, which
depend on that fix.
14.5.2.2 How time can change the way a BMR number explodes
Because of BMR dependencies (co-requisites), a particular BMR number 123, if
ordered three weeks ago, may contain fewer fixes than the exact same BMR
number if ordered today. In the subsequent three weeks, several new BMRs may
have been completed that affect some of the same program objects, and which
also fix additional related programs. This would expand the dependency tree out
wider.
If someone requests the BMR123 after the three weeks time, that user would
receive more objects than the person who ordered BMR123 three weeks
previously.
This also explains why two completely different BMR numbers that affect the
same basic BPCS programs often explode out to build the exact same set of
program objects. The dependency tree builds out to identical sets of fixes. In the
QTXTSRC report, you could see that the same pre- and co-requisite BMR
numbers were identified and pulled the required objects.
You can also check the source or AS/SET comments of dependent programs to
see if any changes were made since the last time a BMR was received for that
same object to determine if it needs to be recompiled. Completed BMRs are
listed in the comments section of the generated source, or in the comments
section of ADK or ODW.
You also want to keep an unchanged (vanilla) version of the BPCS fix. If there is
a problem, you can determine if the modification or base BPCS is at fault.
We recommend that you do not pick and pull objects from a BMR that you feel are
the cause of your problem. This can lead to errors, which cannot be reproduced
by HelpLine because of the partially back-leveled state of the code when this is
done. Any extra space used by duplicate objects is handled after the testing is
complete. This is described further in 14.5.6, “Moving the approved BMR to
production” on page 268.
These changes will affect every person who signs on to that environment.
With this method, only users signing in with the new USR library on their PC
settings or who choose the new USO environment in Second Generation get the
updated library list containing the BMR.
Be sure to test the applications as you use BPCS and configure them exactly as
the application is set up in the "live" environment. Often users refresh the testing
database on occasion with a copy of a recent save of some live data. Details in
the eBPCS Installation guide explain what to watch for when refreshing your
database with new data.
We recommend that you do not "pick and pull" various programs out of the BMR
library to test the applications separately. More problems can develop due to
missing dependent fixes.
View the last BMR completed on the program in question. Compare the source to
ascertain if the fix is one you received in a prior explosion or if it is one you need
to retro-fit into your current modified program.
You should also order a source BMR for the same BMR so that the program
source is available to you.
If programs you modified are identified as being changed in the BMR, it is your
responsibility to pull those programs out. Then, you must either retrofit your
changes into the BMR source, or place the BMR changes into your source,
depending on which is easier to manage.
Once you have completed your modifications into the BMR, you can place your
modified programs back into the BMR library.
We still recommend that you test the group of programs together with your
modifications. There may be dependencies in other areas where your
modifications have no effect.
To find all the lines changed in a given BMR, you can scan the source comments
for the BMR number. Lines that are deleted and added by SSA programmers are
always marked by comments that include the BMR number.
This way, you can ensure the fix works properly to resolve the reported problem,
before your modifications are incorporated. This makes subsequent problems
easier to identify if some of your modifications cause a problem when combined
with any fix in the program code.
Note
BMR numbers used here are, for example, purposes only and do not represent
actual fix numbers.
• BMR423 contains program ORD500, with a source file change date of 1/1/99.
the program was downloaded for a problem in Order processing.
• BMR416 contains ORD500, along with many PUR programs. This BMR was
exploded a week later for a problem in a Purchasing program. In the time
between the two BMR orders, a new BMR was completed for ORD500.
ORD500 now has a source file change date of 1/7/99.
Note: The source file change date can be viewed by using the Display Program
(DSPPGM) command.
A decision is made to test and keep the two BMRs separated. Your PUR testers
approve BMR416 quickly and recommend it go into production. ORD500 now has
a source file change date of 1/7/99 in your production environment.
A week later, the ORD testers decide that BMR423 (containing the older ORD500
program dated 1/1/99) is also good. They ask you to move BMR423 into
production.
If BMR423 and BMR416 were combined instead into one testing library from the
start (with the newer BMR restored over the top of the older one so that new
objects replaced older ones of the same name) and both groups tested the BMR
simultaneously, this problem would be avoided.
Do not use the Creation Date parameter to compare the newness of the program
objects! The Source file change date is more important. This date can be viewed
by using Programming Development Manager (PDM) or the DSPPGM command.
This parameter shows the date the source file was last changed for that program.
Using this method, you can manually remove duplicate older programs so that
only the most recent program remained.
For ILE RPG programs, press Enter several times on the DSPPGM screen
(Figure 132 on page 268) to see the program modules. Select option 5 to view the
source change date/time on each module.
If the current problem is not severe, we recommend that you apply the changes
and proceed with reporting the remaining problem to the SSA HelpLine. Follow
the procedures (listed in this chapter) to apply the BMR to your environment.
If the current problem is severe, contact the SSA HelpLine and report the
problem. In this case, avoid applying the fix to your environment, or remove a
prior fix until an additional BMR is completed to correct the entire problem.
Additional Parameters
This does not require manual analysis, but does require that you are certain that
the objects in the BMR library are indeed newer than anything previously applied
to the BPCSPTF library. Keeping good track of BMR libraries received and
following organized testing practices ensures the integrity of your BPCS objects
libraries.
Whenever dealing with a production environment, ensure that you have a good
backup of your environment before the restore is done. This is especially helpful
in case an unforeseen problem arises and you need to go back to the old setup.
A further consequence of linking Mixed Mode and Client/Server is that any future
BMR explosion requests have to be made for both Mixed Mode and Client/Server.
The BMRs need to be applied to both environments at the same time once BMR
testing is completed. Both versions of the program fix must be explicitly
requested from the SSA International HelpLine every time you order a new BMR.
All people in the organization who order BMRs from SSA must be made aware of
this important maintenance consideration so that BMRs are properly requested
and delivered.
You should know and understand the configuration of your current BPCS
environment and the newly installed release of BPCS before you update any data
areas or job descriptions. If you do not understand your current configuration and
library list, we recommend that you retain SSA Professional Services to perform
these tasks. Failure to properly execute these instructions can result in the
inability to access a given BPCS environment.
These instructions are written with the default installed configuration of BPCS in
mind, without any modifications to BPCS or the BPCS menu structure. You may
have modified or changed the way you access BPCS in your environment or have
modified SYS500B or BPCSMENU programs. In such a case, you should
understand these alterations and adjust these instructions accordingly to fit your
environment. You are responsible for testing and understanding your own
Second generation GUI applications will receive such errors in the client PC
software panels as Out of Sequence Error from Newi if severe modifications were
made to the BPCS priming data security files, such as BPCS Security Objects or
if any of the default BPCS menus were added or re-arranged. Customized
green-screen menus are the largest cause of this error.
If you want to retain the menu modifications you made for green-screen users, we
recommend that you copy this subset of security files into the BPCSUSR library
which is used to access the green screen environment. you must also retain the
unchanged (vanilla) priming data that shipped with BPCS for security objects in
the BPCSF library so that second generation OMS applications do not use the
modified files. These files are listed in the BPCS priming data tables for your
release of BPCS. The files and tables are available on the OGS Web site at:
http://ogs.ssax.com or from the SSA International Helpline.
You should have access to a user profile with *ALLOBJ authority so that updates
to the BPCS data areas and job descriptions can be made.
You can load and use the client PC software for Full Client/Server BPCS to
access either environment, since this contains all the software needed to access
either a Mixed-Mode or a Client/Server BPCS configuration. The Mixed-Mode PC
software contains a subset of the client software, which does not have the ability
to connect to the OMS applications on the server. You should un-install any
Mixed-Mode PC software, and replace it with the Full Client/Server version, for
any users who need to access the OMS GUI applications.
If you need to combine two production databases (which each contain valid
application data) into one database, this is beyond the scope of this document. In
such a case, we strongly recommend that you retain SSA Professional Services.
The solution to this problem will vary greatly from customer to customer
depending on the factors in the set up of your business and which applications in
BPCS are being used. The solution will also depend on system wide parameter
settings on your BPCS applications (business rules).
Value
Offset *...+....1....+....2....+....3....+....4....+....5
0 'BPCS BPCSUST AS0'
50 '6.01.00V60BPCS V060100N '
100 ' '
Value
Offset *...+....1....+....2....+....3....+....4....+....5
0 'BPCS BPCSUST AS0'
50 '6.01.00V60BPCS V060100N '
100 ' '
3. You can potentially delete (see the following note) the BPCSUSR library in
both Mixed Mode and Client/Server and also the BPCSTCP library in
Client/Server.
4. Retain the BPCSUST from Mixed Mode to build library lists for both DFS
(via TCP/IP) and green-screen BPCS applications.
Value
Offset *...+....1....+....2....+....3....+....4....+....5
0 'BPCSUSF BPCSUST BPCSF BPCSMMPTF BPCSMMO '
50 ' '
Value
Offset *...+....1....+....2....+....3....+....4....+....5
0 'BPCSUSF BPCSTCP BPCSUSR BPCSF BPCSMMPTF BPCSMMO '
50 ' '
Value
Offset *...+....1....+....2....+....3....+....4....+....5
0 'BPCSUSRF BPCSUSO NEWI DOCA BPCSF BPCSCSPTF BPCSCSO'
50 ' '
Since both Client/Server and Mixed Mode contain ways to access these
applications (via user library data areas called INLIBL), you ideally only need to
keep and maintain one of these library configurations. The exception comes
when you want both APPC and TCP/IP access to DFS GUI applications (such as
one set of users who do not have access to the TCP/IP network).
To set up the library list, the INLIBL data area is retrieved (RTVDTAARA) from the
library that is listed in the User Library parameter of the client PC software
Session Manager Workstation Settings panel. Be sure to update the client PC to
contain the correct library name.
If you are using APPC to connect to these applications, you would use your
Mixed-Mode BPCSUSR library to access the environment and need to retain this
library. Otherwise, you can configure green-screen access to use the TCP/IP
DFS setup, and remove BPCSUSR from Mixed Mode. Avoid using APPC if
possible for performance benefits of TCP/IP. Since TCP/IP is required to run OPS
(Second Generation) applications, it should also be available to access DFS for
most users.
If you are using TCP/IP to connect to the DFS applications, you can choose to
retain either the Mixed-Mode library BPCSUST (preferred) or both BPCSUSR
and BPCSTCP Client/Server libraries. These libraries contain the INLIBL data
area to set up the environment library list and have the TCP/IP communications
objects including the ALAUNCH program.
If you have Mixed-Mode BPCS Version 6.0.02 installed, this is the release where
TCP/IP communications for DFS were first introduced via a separate installation
tape called MMTCP. In this release, the Mixed-Mode DFS user library also
contains the TCP/IP components. Usually this user library ends with UST or TCP,
but may be renamed during installation. If the ALAUNCH program and
BPCSMENU program both exist in the Mixed-Mode DFS user library, the libraries
were combined. The ALAUNCH program is used to start the TCPIP daemon for
DFS connections. If the ALAUNCH object is missing from the DFS user library,
look for a separate TCP/IP library on the system (called BPCSTCPIP on the
MMTCP installation media, but possibly renamed during installation). The
separate Mixed-Mode TCP/IP library is found only in 6.0.02 installations.
You should choose to keep either the BPCSUST library from Mixed Mode and
update it with the proper information, or keep the BPCSTCP and BPCSUSR
libraries from Client/Server and update the information required in these libraries.
DFS can be accessed from any user library that does not have NEWI and DOCA
in the library list. The library list can point to either the BPCSMMO and
BPCSMMPTF or the BPCSCSO and BPCSCSPTF objects and be successful for
DFS. However, since this user library is generally also used for green screen, it is
usually best to point to the Mixed-Mode object libraries, rather than the
Client/Server object libraries. If you plan to use TCP/IP communications, the
TCP/IP communications objects must be inside the user library itself or must be
inside a library that is first in the INLIBL data area from which the library list which
is built.
If you want to access DFS from both APPC and TCP/IP (generally done for users
at locations where TCP/IP is not installed), you have to retain two DFS user
libraries. One library is with the TCP/IP communications objects in the INLIBL
data area library list (such as BPCSUSR from Mixed Mode and BPCSUST from
Mixed Mode; or BPCSUSR from Mixed Mode and BPCSUSR from Client/Server
along with BPCSTCP from Client/Server). The other library is without.
The same BPCS programs that you can see in the green-screen menus are the
programs accessed from the Second Generation GUI panels in Client/Server
First Generation (DFS) applications can never be accessed from green screens.
In BPCS 6.1.00, these applications are CEA and OLM. In 6.0.04 and lower, this
also includes COM. However, in 6.0.04 BPCS a separate green-screen COM
program is available (which has no GUI equivalent and must be ordered
separately).
The BPCSUSO library name is never entered on the client PC Session Manager
Workstation Settings screen. Instead, the correct BPCSUSO library to use in the
CALL to BPCSMENU is listed in a configuration file in the NEWI library. See the
installation instructions for Client/Server BPCS for further details. Then, the
library qualified INLIBL data area listed in the BPCSMENU program is retrieved
and used to update the library list for the job.
If you are installing NLVs, you may want to consider using the Mixed-Mode
BPCSUSR library for your green-screen access library, and then use the
Language Library Mask feature to control the language that is presented to the
BPCS screens. Then, you can duplicate user libraries used for DFS (whether
they are APPC or TCP/IP) access and use those INLIBL data areas to set up the
library list for the NLV DFS configurations. The NLV DFS user library name is the
library that would be put in the PC software Session Manager Workstation
Settings parameter for the BPCS User Library name.
DFS applications accessed via APPC run in QCMN. This cannot be altered
unless you change the way APPC jobs are submitted on your system.
As most users do, if you decide to use TCP/IP for DFS communications, you are
directed to create a BPCSTCPIP JOBQ in QGPL. Then, you create a Routing
Entry to manipulate any existing subsystem to use this JOBQ to run the BPCS
DFS jobs running under TCP/IP. The ALAUNCH daemon job uses this job queue
name when submitting jobs.
When COM 6.0.04 is set to batch post, batch validate, or batch price orders, the
ORDERPOST job description is used to submit the job. This can be manipulated
to use any job queue that you require.
You can ensure all GUI BPCS jobs use the BPCS subsystem installed by
Client/Server BPCS by checking the following settings in the BPCS Client/Server
subsystem. Run the Work with Subsystem Description (WRKSBSD) command, and
choose to view the BPCS Client/Server subsystem.
Note: Make sure that the NEWIJOBQ and BPCSTCPIP job queues are listed as
Job Queue entries for the subsystem and that Max Active is set to *NOMAX
(Figure 139).
Make sure a routing entry exists in the subsystem for QCMD (Figure 140 on page
281). Using option 5 to display details, the default value for Class should be a
class that runs at an interactive performance level, such as the IBM-supplied
QSYSCLS20. The value for the Pool should be a pool that is configured to the
subsystem and contains enough memory to run the user jobs for BPCS GUI
sessions. This value will vary depending on your AS/400 configuration. However,
Be sure your system start up job (QSTRUP by default) starts your BPCS
subsystem if you want users to log into BCPS GUI sessions after an IPL or
backup completes. Also, if you changed any parameters for starting BPCS
daemons by changing the library names you are using, be sure to update any
automatic startup jobs that you configured.
If you run BPCS jobs outside of the BPCS environment, make sure any outside
job descriptions used to run your jobs contain the proper Initial Library List
(INLLIBL) with an updated BPCSF library name.
For users who never require GUI OMS applications, a Mixed-Mode version of the
client PC software can be kept and used. It uses less space on the PC than the
Full Client/Server BPCS version.
The port number and service number may require an update if the daemons were
started to new port numbers.
Ensure that you restart the BPCS OMS and ALAUNCH (if used) daemons before
attempting to re-connect to BPCS with the PC software.
This section assumes that the AS/400 system used is running OS/400 Version 4
Release 2 (V4R2) or later, since it utilizes AS/400 NetServer support, which was
first available in V4R2. AS/400 NetServer allows for windows clients (Windows
98, Windows 95, and Windows NT) to access the AS/400 as a file server directly,
without any prerequisite software on the client.
Note: Users wishing to perform the same functions with AS/400 servers that are
running an older release of OS/400, such as V3R2, V3R7, or V4R1, can adopt the
same strategy and processes by installing Client Access on each of the client
PCs.
The following section briefly describe the basic steps for setting up the AS/400
NetServer and getting it running, so that clients can connect to the AS/400
system for file serving to help with installation and management of the BPCS
client software. Users that already configured AS/400 NetServer support and
already set up the clients in their network to access the AS/400 NetServer can
skip the rest of this section.
Note
The guest user profile should have a password if it is being used for print
sharing, and must not have any special authority. AS/400 NetServer does
not automatically configure guest support. Initially, users without AS/400
user profiles are not able to access AS/400 NetServer.
Note
Use the following steps in cases when your PC client is unable to resolve
the name of the AS/400 NetServer to a valid IP address.
The first step is to decide on a location for storing the copy of the BPCS client
CD-ROM image on your AS/400 system. We recommend that you store the
CD-ROM image in a directory within the AS/400 integrated file system (IFS). The
AS/400 IFS is similar to the directory structure found on PC and UNIX machines,
which have a hierarchical file system with a root ("/") as the top of the structure.
Such commands as create directory (crtdir), copy (cpy), remove dir (rmvdir), and
delete (del) allow you to work with the structure and objects stored in the IFS. A
possible strategy for managing the BPCS client CD-ROM image would be to
create a root directory called BPCS. Then, have subdirectories for each BPCS
client CD-ROM version to which you need to provide access. The following
examples use this approach. These examples can perform the setup on the
AS/400 system using AS/400 commands. However, you can perform the same
process through a client PC with Windows Explorer if it is attached to the AS/400
IFS through a share.
The first step is to decide on a location and directory structure for storing the
BPCS client fixes on the AS/400 system. We recommend that you use the
AS/400 integrated file system (IFS) for storing these files. The directory structure
should define different directories for different versions of the BPCS client. The
approach we are going to use creates a master IFS directory named BPCSFix.
Then, we will have subdirectories for each version of the BPCS client that needs
to be supported. The following examples perform the setup on the AS/400 system
using AS/400 commands. You can perform the same process through a client PC
with Windows Explorer if it is attached to the AS/400 IFS through a share.
Note: You should configure TCP/IP prior to installing the SSA eBPCS
Client/Server. During the eBPCS Client/Server installation process, there are also
some additional TCP/IP configuration tasks.
You must configure the proper communications line based on the hardware you
installed on the AS/400 system.
Manual Install
1. Install all
Preparation
5. Prepare for install
Licensed Programs
10. Display installed licensed programs
11. Install licensed programs
12. Delete licensed programs
13. Save licensed programs
More...
Selection or command
===> 11
3. Type 1 in the option column (Figure 142) next to the licensed programs you
want to install from the Install Licensed Programs menu. Press Enter.
Licensed Installed
Option Program Status Description
5769SV3 ADSTAR Distributed Storage Manager for AS/400
1 5769TC1 TCP/IP Connectivity Utilities for AS/400
5716VG1 VisualGen Host Services for AS/400
More...
F3=Exit F11=Display release F12=Cancel F19=Display trademarks
Licensed Installed
Option Program Status Description
1 5769TC1 TCP/IP Connectivity Utilities for AS/400
Bottom
F11=Display release F12=Cancel
Install Options
F3=Exit F12=Cancel
When TCP/IP successfully installs, either the Work with Licensed Programs
menu or the Sign On display appears.
5. An Installed Status of *COMPATIBLE on the Installed Licensed Programs menu
(Figure 145 on page 297) shows that the product is installed.
Note
After the installation of software, the most current PTF package should be
installed.
Licensed Installed
Option Program Status Description
5769SV3 ADSTAR Distributed Storage Manager for AS/400
5769TC1 *COMPATIBLE TCP/IP Connectivity Utilities for AS/400
5716VG1 VisualGen Host Services for AS/400
More...
F3=Exit F11=Display release F12=Cancel F19=Display trademarks
6. Select option 50 (Display log for messages) on the Work with Licensed
Programs menu (Figure 141 on page 294) to verify that you have installed the
licensed program successfully. If an error occurs, you see the message Work
with licensed program function not complete on the bottom of the Work with
Licensed Programs menu.
After the latest PTFs are installed, you are ready to configure TCP/IP on your
AS/400 system.
A.4.1 Scenario
Here is a simple Ethernet network to show you how to configure TCP/IP. In Figure
146, you see an Ethernet network with one AS/400 system and one personal
computer. The configuration is shown from the AS/400 system perspective.
AS/400
PC
Note
If you are the network administrator and you never plan to attach your network
to the Internet, we suggest that you use an address such as 128.1 for your
TCP/IP network and 128.1.0.1 for your first TCP/IP host. The subnet mask
would be 255.255.0.0.
Note
System configuration (*IOSYSCFG) special authority gives the user the ability
to change how the system is configured. This may include, for example, adding
or removing communications configuration information, working with TCP/IP
servers, and configuring the Internet Connection Server (ICS).
You need to know the resource name and decide the line name. To do this,
perform the following steps:
1. The resource name is the AS/400 system name for the adapter card. To obtain
the resource name, enter the Work with Hardware Resources (WRKHDWRSC)
command and specify the communications resources as shown here:
WRKHDWRSC TYPE(*CMN)
When you press Enter, the display shown in Figure 147 on page 299 appears.
2. Choose the proper resource name from the display, and decide the name of
the line for the line description.
3. To create a line description, enter the Create Line Description (Ethernet)
(CRTLINETH) command.
Fill in the line name and resource name, and press Enter. The display shown
in Figure 148 on page 300 appears. In this example, the resource name is
CMN24, and the line name is LINETH01.
Note: Step 2 and step 3 can also be done in the following way:
Type option 5 (Work with configuration descriptions) in the Opt field as shown
in Figure 148 on page 300. Then, the Work with Configuration Descriptions
display appears. In this display, type option 1 (Create) in the Opt field. The
display shown in Figure 148 appears.
More...
F3=Exit F4=Prompt F5=Refresh F12=Cancel F13=How to use this display
F24=More keys
Ensure that the modes and line speed for the Ethernet line are matched correctly,
for example, if a switch is set to full duplex, and the AS/400 system is set to full
duplex.
More...
F3=Exit F5=Refresh F6=Print list F10=Work with IP over SNA interfaces
F11=Display interface status F12=Cancel F17=Top F18=Bottom
2. Select option 1 (Add) to add a TCP/IP interface to the table, and press Enter.
The display shown in Figure 150 on page 301 appears.
Bottom
F3=Exit F4=Prompt F5=Refresh F12=Cancel F13=How to use this display
F24=More keys
3. Type in the Internet address, line description, and subnet mask. After pressing
Enter, the Work with TCP/IP Interface display appears as shown in Figure 151.
Note the message at the bottom that states TCP/IP interface was added
successfully.
More...
F3=Exit F5=Refresh F6=Print list F10=Work with IP over SNA interfaces
F11=Display interface status F12=Cancel F17=Top F18=Bottom
TCP/IP interface added successfully.
Internet Host
Opt Address Name
127.0.0.1 LOOPBACK
Bottom
F3=Exit F5=Refresh F6=Print list F12=Cancel F17=Position to
Figure 152. CFGTCP menu display - Work with TCP/IP Host Table Entries
2. Select option 1 (Add) to add one entry to the table. The Add a TCP/IP Host
table entry display should appear. This is shown in Figure 153.
Bottom
F3=Exit F4=Prompt F5=Refresh F12=Cancel F13=How to use this display
F24=More keys
3. This display provides fields for the Internet address, associated host name,
and an optional text description. Type in the values. After pressing Enter, the
Work with TCP/IP Host Table Entries appears as shown in Figure 154.
Internet Host
Opt Address Name
9.4.73.129 SYSNAMA
SYSNAMA.SYSNAM123.IBM.COM
127.0.0.1 LOOPBACK
F3=Exit F5=Refresh F6=Print list F12=Cancel F17=Position to
Figure 154. CFGTCP menu display - Work with TCP/IP Host Table Entries
For the information on how to configure a TCP/IP route, refer to A.6.2, “Route
configuration” on page 331.
To define the local host and domain name for AS/400 machine, select option 12
(Change TCP/IP domain information) from the CFGTCP menu. The display
shown in Figure 155 appears.
Additional Parameters
For more information about the local host name and domain name, see AS/400
TCP/IP Configuration and Reference, SC41-5420.
Bottom
Parameters or command
===>
F3=Exit F4=Prompt F5=Refresh F10=Restart statistics
F11=Display elapsed data F12=Cancel F14=Include F24=More keys
Messages indicating that TCP/IP has been started are also sent to the QTCP and
QSYSOPR message queues. To check for the successful start of TCP/IP, enter
either of these commands:
DSPMSG QSYSOPR
DSPMSG QTCP
If the QTCPIP job does not start, look for spooled job logs. Generally, the user for
these job logs is QTCP. Use the Work with Spooled Files (WRKSPLF) command, and
specify QTCP for the user to find the logs:
WRKSPLF QTCP
To stop TCP/IP from the TCP/IP Administration menu, perform the following
steps:
1. Type GO TCPADM from the AS/400 Main menu. The TCP/IP Administration menu
is displayed (Figure 157 on page 305).
1. Configure TCP/IP
2. Configure TCP/IP applications
3. Start TCP/IP
4. End TCP/IP
5. Start TCP/IP servers
6. End TCP/IP servers
7. Work with TCP/IP network status
8. Verify TCP/IP connection
9. Start TCP/IP FTP session
10. Start TCP/IP TELNET session
11. Send TCP/IP spooled file
Selection or command
===> 4
2. Select option 4 (End TCP/IP), and press Enter. The End TCP/IP display is
shown (Figure 158).
Additional Parameters
Command Entry
Request level: 7
Previous commands and messages:
> ping loopback
Verifying connection to host system LOOPBACK at address 127.0.0.1.
PING request 1 from 127.0.0.1 took 57 ms. 256 bytes. TTL 64.
PING request 2 from 127.0.0.1 took 0 ms. 256 bytes. TTL 64.
PING request 3 from 127.0.0.1 took 0 ms. 256 bytes. TTL 64.
PING request 4 from 127.0.0.1 took 0 ms. 256 bytes. TTL 64.
PING request 5 from 127.0.0.1 took 0 ms. 256 bytes. TTL 64.
Round-trip (in milliseconds) min/avg/max = 0/11/57
Connection verification statistics: 5 of 5 successful (100 %).
Bottom
Type command, press Enter.
===>
2. To test the TCP/IP code, the Ethernet adapter, and the Ethernet LAN, specify
the Internet address of the local adapter as defined in the host table:
PING RMTSYS(*INTNETADR) INTNETADR('9.4.73.129')
Or, enter:
PING RMTSYS(SYSNAMA)
TCP/IP sends data to the Ethernet adapter, and instructs the adapter to send
the data to its own Ethernet address. If you have the correct configuration, the
display shown in Figure 161 on page 307 appears.
Bottom
Type command, press Enter.
===>
If the PING execution ends unsuccessfully, the display shown in Figure 162
appears.
Command Entry
Request level: 5
Previous commands and messages:
> PING '194.140.3.1'
Verifying connection to host system 194.140.3.1.
No response from host within 1 seconds for connection verification 1.
No response from host within 1 seconds for connection verification 2.
No response from host within 1 seconds for connection verification 3.
No response from host within 1 seconds for connection verification 4.
No response from host within 1 seconds for connection verification 5.
Connection verification statistics: 0 of 5 successful (0 %).
Bottom
Type command, press Enter.
===>
If you received unsuccessful PING messages, you should attempt the following
tasks:
1. Check your configuration steps on the local system.
2. Check the configuration at the remote system.
3. Make sure the remote system is not powered down or TCP/IP is up and
running.
If you have other error messages, see Appendix E, "TCP/IP Problem Analysis" in
OS/400 TCP/IP Configuration and Reference , SC41-5420.
This section covers how to perform the following tasks for TCP/IP using
Operations Navigator:
• Accessing a basic TCP/IP configuration
• Configuring a TCP/IP interface
• Configuring the domain and host name for TCP/IP
• Configuring host table entries for TCP/IP
• Configuring a TCP/IP route
• Starting and stopping TCP/IP
• Verifying a TCP/IP connection (ping)
TCP/IP allows you to connect an AS/400 system to a network. To reach the point
where you can configure TCP/IP for your AS/400 system using Operations
Navigator, perform the following steps:
1. Start Operations Navigator by clicking Start->Programs->IBM AS400 Client
Access->AS/400 Operations Navigator. The AS/400 Operations Navigator
window appears (Figure 163 on page 309).
2. Double-click on the AS/400 Systems icon (A). It gives you a list of all the
AS/400 systems that you can access.
3. Double-click the AS/400 system (AS1) (B) that you want to configure.
4. Double-click Network (C).
5. Double-click Protocols (D).
6. Right-click TCP/IP (E ) in the right panel to see the context menu (Figure 163
on page 309).
The procedure to create a line and to add TCP/IP support to it and the procedure
to add TCP/IP support to an existing line are similar. In this section, we show a
combination of both procedures with notes to point out where the differences
occur.
The configuration wizard takes you through the steps that are needed to
configure a line for TCP/IP for the AS/400 system. To use the configuration
wizard, perform the following steps:
1. Access the TCP/IP context menu using the steps in A.5.1, “Accessing the
TCP/IP configuration” on page 308.
2. Select New Interface from the context menu (Figure 163). Depending on your
version and release, you may see a selection menu for Local Area Network,
Wide Area Network, and Circuitless. Click Local Area Network . You should
now see the first window of the TCP/IP wizard interface. Click Next. The New
TCP/IP Interface Type window appears (Figure 164 on page 310).
3. Select the type of connection you will define for TCP/IP (Ethernet,
Token ring). In our example, we selected Ethernet. If you select Token-ring,
you may see some different parameters to define. Click Next. The New
TCP/IP Interface Resource window appears (Figure 165).
4. The New TCP/IP Interface Resource window shows all the hardware on your
system that matches your type selection. In our example, we have one
6. Enter a name and a description for the new line. Select the appropriate values
for Duplex and Authority based on your environment. The Help button
provides additional information to assist you in determining your correct
values. The Duplex value is based on the type of network hardware you are
using to construct your physical LAN. Click Next. The Ethernet Line
Characteristics window appears (Figure 168).
7. Select the speed at which your LAN is running. Select the protocol standards
that you want to support on this adapter. Click Next. The TCP/IP Interface
Settings window appears (Figure 169 on page 313).
8. The TCP/IP Interface Settings window (Figure 169) allows you to assign an IP
address to your network adapter. Type the IP address, the interface name (we
used line name), and the subnet mask for this IP address.
For the IP address and Subnet mask parameter, specify the value provided by
the LAN administrator or Internet Service Provider (ISP). For the IP address
and subnet mask, the system and does a "logical AND" to determine the
network and host values displayed in the window. The subnet mask and the IP
address enable IP protocol to determine where to send the data it receives.
Network name specifies the name of the network for which you are defining
interfaces and routes for the given network address.
The Maximum transmission unit (MTU) specifies the maximum size (in bytes)
of IP datagram that you can send on this interface. The maximum size
specified for a particular route should not be larger than the smallest MTU that
is supported by any router or gateway in that route. If the MTU size is larger
than the smallest MTU in the route, the router with the small MTU will
fragment the packet. This can increase the traffic on the segment and lead to
performance degradation. The Help button provides additional information
about MTU.
After you specify all the values, click Next. The TCP/IP Routing window
appears (Figure 170 on page 314).
9. The window in Figure 170 is where you list the gateways to which this route
directly connects. A gateway is a piece of hardware that connects two or more
network segments. It is often called a router. You can define up to three
gateway addresses. If your AS/400 system is only attached to a single
network, you do not need to specify any gateway addresses. This is also
where you specify additional routing information for this interface. This may be
used for load balancing or to define multiple routes for backup purposes. Click
the Yes button to configure additional route information. Click Next. The
TCP/IP Routing window (Figure 171) appears.
11.Each of the Add route windows has an Advanced button. Specify the gateway
address. Click the Advanced button. The Advanced Routing Settings (Figure
173) window appears.
13. From the Servers to be Started window (Figure 174), select all the currently
installed servers that you want to start automatically when TCP/IP starts. If
you want to have a particular server automatically started when TCP/IP starts,
check the corresponding check box. If you have BOOTP, DHCP, and
BOOTP/DHCP servers, only one of them can be checked. After you select all
the servers to start, click Next. The Start TCP/IP Interface window (Figure
175) appears.
15.Verify that all the information displayed is correct. If you need to make
changes, click Back to return to the correct window and make your changes. If
all the values are correct, click Finish.
3. Click Advanced to set additional DNS values. The Advanced Host Domain
Information window (Figure 178 on page 319) appears. The default values
shown work in most environments. If you have intermittent trouble resolving
names to IP addresses, you may want to increase the number of attempts and
the interval between attempts. If these values are set too high, you may
experience a long wait time before an unknown host message is displayed.
4. Click the Host Table tab to add and remove host table entries. If you are using
the Domain Name System (DNS), you do not necessarily need to add entries
here. Figure 179 shows the Host Table dialog.
6. Click the Port Restrictions tab to limit port use to a user profile name. If you
want to restrict a single port, you must specify the same starting and ending
port number. Figure 181 on page 321 shows the Port Restrictions dialog.
7. Click the Servers to Start tab to select the currently installed servers that you
want to start automatically when TCP/IP starts. Check the corresponding
servers check box. If you have BOOTP, DHCP, and BOOTP/DHCP servers,
only one of them can be checked. Figure 182 shows the Servers to Start
dialog.
The host table provides the advantage of not having to remember actual Internet
addresses for systems in the network. The host table accomplishes this task by
mapping Internet addresses to TCP/IP host names. The local host table on your
AS/400 system contains a list of the Internet addresses and related host names
for your network.
Before you begin configuring your host table entries for TCP/IP, you need to know
the IP addresses of your hosts. You also need the to know the host names and
descriptions of the hosts that you want to include in the host table.
To configure host table entries for TCP/IP using Operations Navigator, perform
the following steps:
1. Select the appropriate TCP/IP window as follows:
a. Start Operations Navigator by clicking Start ->Programs->IBM Client
Access->AS/400 Operations Navigator. The AS/400 Operations
Navigator window appears (Figure 184 on page 323).
b. Double-click the AS/400 Systems icon (A). A list of all the AS/400 systems
should appear that can be configured.
Within TCP/IP, the primary name associated with your system can have more
than one name (your system can have more than one name). It is called your
local domain and host name. This is important if you later want to set up e-mail,
LPR, and ANYNET. They require the local domain and host name. File transfer
and Simple Network Management Protocol use these names, but do not require
them.
To configure a local domain and host name for TCP/IP, perform the following
steps:
1. Select the appropriate TCP/IP window as follows:
a. Start Operations Navigator be clicking Start->Programs->IBM Client
Access->AS/400 operations Navigator.
b. Double-click your AS/400 Systems icon (A). It should give you a list of all
the AS/400 systems that you can configure.
c. Double-click the AS/400 system for which you want to configure a domain
and host name (B).
d. Double-click Network (C).
e. Double-click Protocols (D).
f. Right-click TCP/IP to open a context menu (E ).
g. Select Properties from the context menu (F). Figure 186 on page 325
shows the context menu Properties option.
h. Click the Host Domain Information tab (A) as shown in Figure 187.
2. Specify your host name (B) and domain name (C). You can also select the
search order (D), set advanced TCP/IP settings, and specify up to three
domain name servers.
3. Click OK to save the configuration file.
The NextHop Internet address for a route definition must exist on a network to
which one or more TCP/IP interfaces are connected. The NextHop Internet
address usually defines a router or gateway.
Specify the IP address of the router as the default routing entry on the AS/400
system (next hop). This tells the AS/400 system to look for this router if it cannot
find a TCP/IP address on its own local network. If you do not configure a TCP/IP
route, your AS/400 system cannot reach systems that are on other networks. You
may also want to configure a TCP/IP route to give TCP/IP clients access to your
AS/400 system.
You do not need to manually configure the routes that tell TCP/IP how to reach
the local networks. AS/400 TCP/IP generates these routes automatically from the
configuration information for the interfaces every time that TCP/IP starts. Any
changes that you make to the routing information take effect immediately.
2. Follow the wizard’s instruction to configure your TCP/IP route. Figure 189
shows the first window of the TCP/IP Interface wizard.
When you ping a machine, you send an Internet Control Message Protocol
(ICMP) echo request to that machine. A successful reply means that the
network’s primary transport and communication systems are functioning properly.
8. As shown in Figure 193, type the IP address or host name of the interface of
the host to which you want to test connectivity. Then, click Ping Now. The
results of the ping are displayed. Figure 193 shows the Ping from dialog.
A.6.1 Scenario
In this scenario, there are two Ethernet networks. We want to connect our first
network to the second one. We need a route to know how to go to the 9.5.7.128
network.
AS/400 (SYSNAMA) PC
Router 9.5.7.194
Network Address: 9.5.7.128
IP Address 9.5.7.130 IP Address 9.5.7.131
PC PC
Figure 194. Two Ethernet LANs connected with routers example
Bottom
F3=Exit F5=Refresh F6=Print list F11=Display type of service
F12=Cancel F17=Top F18=Bottom
2. Select option 1 (Add) to add an entry to the TCP/IP routes. The display shown
in Figure 196 appears.
Bottom
F3=Exit F4=Prompt F5=Refresh F12=Cancel F13=How to use this display
F24=More keys
Although there are five parameter values to define a route, you only need to
type three of them and assume the others. These values are:
• The route destination: 9.5.7.128
• The subnet mask: 255.255.255.128
• The Internet address of the next system on the route, Next Hop: 9.4.73.193
Note 1: Depending on your configuration, the last route destination octet may
need to be a "1".
To change the amount of time you can stay in a session without typing, use the
following steps:
1. From the CFGTCP menu, select option 20 (Configure TCP/IP applications),
and press Enter. The display in Figure 197 appears.
2. Select option 10 (Change FTP attributes), and press Enter. The display shown
in Figure 198 on page 334 appears.
Bottom
F3=Exit F4=Prompt F5=Refresh F12=Cancel F13=How to use this display
F24=More keys
3. Change the inactivity time-out parameter to the desired elapsed time (for
example, from 300 (5 minutes) to 600 (10 minutes)) to disconnect the session
(in seconds). Press Enter.
Note: You may configure Client Access/400 connections from the client PC to the
AS/400 server prior to installing eBPCS Client/Server.
The Client Access for Windows Family includes the following clients:
• Client Access Express for Windows
• Client Access for Windows 95/NT
• Client Access Enhanced for Windows 3.1
Please refer to Sections A.1 and A.2 in AS/400 Client Access Express for
Windows: Implementing V4R4M0, SG24-5191, for further information on the
functional differences between Client Access for Windows 95/NT and Client
Access Express.
To install Client Access Express for Windows, perform the following steps:
1. Sign on to the AS/400 system as QSECOFR (or any other user with *SECOFR
authority).
Manual Install
1. Install all
Preparation
5. Prepare for install
Licensed Programs
10. Display installed licensed programs
11. Install licensed programs
12. Delete licensed programs
13. Save licensed programs
More...
Selection or command
===> 11
Licensed Product
Option Program Option Description
Bottom
F3=Exit F11=Display status/release F12=Cancel F19=Display trademarks
4. Locate the entry for the 5769XE1 licensed program, and select option 1 to
perform the installation.
5. Upon completion of the licensed program installation, issue the Check Product
Option (CHKPRDOPT) command to verify that the installation was successful:
CHKPRDOPT PRDID(5769XE1)
Resource
ID Option Feature Description
5769TC1 *BASE 2924 AS/400 TCP/IP Connectivity Utilities/400
5769WP1 *BASE 5050 OfficeVision for AS/400
5769WP1 *BASE 2924 OfficeVision for AS/400
5769WP1 1 5050 OfficeVision - Text Search Services
5769WP1 1 2924 OfficeVision - Text Search Services
5769WP1 2 5050 OfficeVision - Calendar
5769WP1 2 2924 OfficeVision - Calendar
5769WP1 3 5050 OfficeVision - Mail
5769WP1 3 2924 OfficeVision - Mail
5769XE1 *BASE 5050 Client Access/400 Express for Windows
5769XE1 *BASE 2924 Client Access/400 Express for Windows
5769XW1 *BASE 5050 Client Access/400 Windows Family Base
5769XW1 *BASE 2924 Client Access/400 Windows Family Base
5769XY1 *BASE 5050 Client Access Base Family
More...
Press Enter to continue.
Note: The LPP must be installed to apply Service Pack PTFs on the AS/400
system.
6. Before attempting to configure Client Access connections from workstations,
ensure that you have the OS/400 Host Servers feature installed (Figure 202 on
page 341).
Resource
ID Option Feature Description
5769999 *BASE 5050 AS/400 Licensed Internal Code
5769SS1 *BASE 5050 Operating System/400
5769SS1 *BASE 2924 Operating System/400
5769SS1 1 5050 OS/400 - Extended Base Support
5769SS1 1 2924 OS/400 - Extended Base Support
5769SS1 2 5050 OS/400 - Online Information
5769SS1 2 2924 OS/400 - Online Information
5769SS1 3 5050 OS/400 - Extended Base Directory Support
5769SS1 3 2924 OS/400 - Extended Base Directory Support
5769SS1 8 5050 OS/400 - AFP Compatibility Fonts
5769SS1 9 5050 OS/400 - *PRV CL Compiler Support
5769SS1 9 2924 OS/400 - *PRV CL Compiler Support
5769SS1 12 5050 OS/400 - Host Servers
5769SS1 12 2924 OS/400 - Host Servers
More...
Press Enter to continue.
B.3.1.1 CD-ROM
The PC installation code for Client Access Express for Windows is distributed on
the Client Access/400 for Windows Family CD. The Client Access Enhanced for
Windows 3.1 and Client Access for Windows 95/NT products are also distributed
on this same CD. The Client Access Express for Windows setup application is
found in the directory x:\Express (where x is the letter of the CD-ROM drive that is
used).
Note
We recommend that you use a mapped network drive to the AS/400 NetServer
share as the source directory for installing Client Access Express for Windows
onto a PC. Some of the reasons why we make this recommendation are:
• It is more convenient than using the CD-ROM.
• It allows access to install Secured Sockets Layer (SSL), any available
secondary languages, user add-ins, and any Operations Navigator plug-ins
that may be available on the AS/400 system.
Doing the initial installation from here also sets the default source directories
for the Check Service Pack Level, Upgrade, and Reinstall functions of Client
Access Express for Windows. This type of installation may not work correctly
due to slow or unreliable network communications causing the installation to
time out or fail. In this case, install Client Access Express for Windows from the
Client Access/400 for Windows Family CD as described in B.3.1.1, “CD-ROM”
on page 341.
This type of installation requires approximately 105 MB of hard disk space on the
PC.
At this stage, you are given the opportunity to specify an alternative destination
directory to the default into which to install the Client Access Express for
Windows, which components of Client Access Express for Windows to install,
and the Windows program group to install. You have the option to go back and
Once the installation is complete, you are given the options to view the Readme
file. We recommend that you view this file when you first install the client since it
may contain important last-minute information.
The next panel asks you to restart your computer. We recommend that you select
this option at this point rather than waiting until later. This ensures that the final
steps in the setup process are completed before you try using any Client Access
Express functions.
Note
If you install Client Access Express for Windows onto a Windows NT 4.0 TSE
server, the installation process differs somewhat from the process outlined
previously. Refer to Chapter 14 of AS/400 Client Access Express for Windows:
Implementing V4R4M0 , SG24-5191, for further information.
B.3.7 Reinstallation
Client Access Express for Windows offers a Reinstall function. If an event causes
the Client Access code to become damaged, you can use the Reinstall function to
completely reload the entire product. Reinstall is accomplished using the release
upgrade mechanism of the product. Doing this preserves all of the configurations
that are already defined with the client. This only reloads Client Access code and
registry information. If the problem you are experiencing is caused by an error in
the operating system, for example, using this Reinstall function does not resolve
problem. Follow this process:
1. To begin the reinstallation process, open the Windows Add/Remove
Programs utility from the Windows Control Panel.
2. Highlight IBM AS/400 Client Access Express for Windows, and click the
Add/Remove button.
3. This brings up Client Access Express Setup, as shown in Figure 203. Select
the Reinstall option, and click the Next button.
This initiates the Upgrade Client Access Express process, the beginning of
which is shown in Figure 204 on page 348. In this case, the source directory is
at the same code level of Client Access Express for Windows as that which is
installed on the PC. This window states that it accomplishes the re-installation
The upgrade process displays a dialog reminding the user of the licensing
requirement of Client Access Express for Windows, which is followed by the
window shown in Figure 205 on page 349. This prompts the user for the type
of upgrade they want to perform. The options are either Basic or Selective.
The Basic Upgrade option upgrades the same components of Client Access
Express for Windows that are currently installed on the PC. The Selective
Upgrade option offers the ability to select components to be removed or added
as part of this process.
After all the components are upgraded, Client Access Express for Windows is
now reinstalled on the PC. The upgrade process offers the options to view the
Readme file and to add the program shortcut for Client Access Express for
Windows to the desktop again.
Instead of rolling out many single PTFs, the Windows 32-bit clients (Client Access
for Windows 95/NT and Client Access Express for Windows) merge several PTFs
into a single PTF that we call a Service Pack . Having a single level of code makes
the support more effective and easier to administer. With the Service Pack
structure, it can more quickly be determined if the fix that a customer requires is
in the last Service Pack that they applied.
On the other hand, a potential disadvantage is that the Service Pack may be too
large to be downloaded through the traditional Electronic Customer Support
(ECS) mechanism. A new method of delivering PTFs through the Internet
removes this disadvantage. The new AS/400 Internet PTF Downloads (iPTF)
facility allows you to select, order, and download AS/400 PTFs over the Internet.
Before you can order PTFs over the Internet and to use the AS/400 Technical
Support site, you must register on the Web at (see Figure 207 on page 351):
http://as400service.rochester.ibm.com/supporthome.nsf/home/Internet+PTF+
Downloads
There are two forms of Service Packs, each of which is delivered differently.
These include:
• AS400 form: Even if it is called a Service Pack, it looks like others PTFs. You
can get it from a cumulative package, an order you place through ECS, or
directly from the iPTF facility. As with other PTFs, you have to load and apply
it on your AS/400 system. For more information on PTFs, see 5.5 "What are
PTFs and Why Do I Need Them?" in AS/400 Basic System Operation,
Administration, and Problem Handling, SC41-5206. After applying the Service
Pack, the install image files are placed in the directory:
\QIBM\ProdData\CA400\Express\Service\Image.
• PC form: The Service Pack is an executable file that you have to download
from an FTP server. For your convenience, you can find a Service Packs link
on the Client Access home Web page. This executable file is a self-extracting
file that explodes the install image files in the directory where it was launched.
Regardless of the form, the Service Pack is identified by the same name (SP + a
5-digit number) and creates a directory with the same install image files in it.
Tip
You can be notified when a new Service Pack is available by filling in the
Service Pack Notification Form available in the Service Packs link on the Client
Access home Web page at: http://www.as400.ibm.com/clientaccess/
To install additional sub-components, you need to use the Custom option when
you first install Client Access. If you already installed Client Access on your PC,
use the Selective Setup to install the additional sub-components.
In this section, only some useful functions of Operations Navigator are explained.
For an explanation on Operations Navigator, refer to Chapter 6 of AS/400 Client
Access Express for Windows: Implementing V4R4M0, SG24-5191.
There are two ways to create a new environment or to add a new AS/400
connection to the existing environment. In the first method, select the default
environment known as My AS/400 Connection located on the left side of the
Operations Navigator window. Then, right-click, and select Add AS/400
connection or Environments in the context menu that appears. The other
method is to use the option under the File menu.
When you highlight your AS/400 system and right-click, a context menu appears,
as shown in Figure 209. The actions in the context menu vary depending on the
authority of the user that signed on. Apart from authority, actions in the context
menu also depend on the availability of the function in Operations Navigator.
Therefore, your context menu may not be exactly the same as the one shown in
Figure 209.
Start Collecting
To start the performance data collection, select Start Collecting from the context
menu. This triggers the Start Collection Services dialog box as shown in Figure
210 on page 357.
In the General page of the dialog box, you can specify the location to store the
collected performance data. By default, the collections are stored in the
Performance Data library (QPFRDATA). You can change the location by entering
the path of the library directly into the field or by using the Browse button to
search for the library on the AS/400 system.
Collections can be cycled by setting the two fields under the Cycling portion. For
example, if you set the Time to synchronize cycle to 12:00 AM and the Frequency
to cycle collections to six hours, the first cycle begins at 6:00 AM. Subsequent
cycles continue every six hours. A collection that is started on the AS/400 system
can be cycled by enabling the Cycle collection if already started option.
The Default collection interval specifies the interval of the collection for
categories that do not have a specific collection interval defined in the Data to
Collect page. You can determine how long you want to keep the collected data on
the AS/400 system by specifying the retention period in terms of hours or days.
Select Permanent if you do not wish to delete the collected data from the AS/400
system. Enable the Create database files during collection option if you want
the system to generate database files automatically for the collection.
The Data to Collect page, see Figure 211 on page 358, shows what information is
collected. A collection profile determines what data is collected and the collection
frequency for each category. You can select any of the IBM-supplied profiles
(Standard, Minimum or Standard plus protocol), or you can create your collection
profile by selecting Custom.
When Custom is selected, you can easily define the categories of data for
collection by selecting them from the Available categories list and clicking the
Add button to add them into the Categories to collect list. At any time, you can
exclude an item from the Categories to collect list by using the Remove button.
Stop Collecting
When you select the Stop Collecting option, the window shown in Figure 212
appears and displays a list of the AS/400 systems with Collection Services
started. To stop the collection, select the desired AS/400 system, and click OK.
Status
To check whether Collection Services is started on a specific AS/400 system,
select Collection Services->Status. This brings up a window similar to the one
shown in Figure 213 on page 359. Use the Refresh button to update the window
when necessary.
C.2.1.2 Inventory
The Inventory action provides you with the capability to collect a list of hardware
resources, software products, and fixes on the AS/400 system. When you select
Inventory->Collect, a window appears as shown in Figure 214 and allows you to
specify the type of inventory (Hardware, Software, or Fixes) to collect. Note that if
you select Fixes inventory, the Software inventory is automatically selected.
Click OK if you want the inventory collection to begin immediately. The Schedule
button invokes the Management Central Scheduler where you can specify the
date, time, and frequency for the collection.
Other options available under the Inventory action include the Search function,
which allows you to search for a specific item in the Hardware, Software, or Fixes
inventory. You can also use the Export function to save the inventory into a PC
file with formats such as HTML (HyperText Markup Language), CSV (Comma
Separated Variable), XLS (Microsoft Excel 97), or TXT (Text).
Select OK to run the command. A task is created. To view the status of the task,
select Task Activity under the Management Central hierarchical tree. Highlight
the task, right-click, and select Status from the context menu.
The Options page (Figure 215) allows you to define how you want to handle the
job log and inquiry messages for the command. By default, the system does not
keep a job log unless the command failed.
C.3.1.1 Messages
The AS/400 Send Message (SNDMSG) command is now available in a GUI
format. To trigger the send message dialog box, right-click on Messages under
the Basic Operations hierarchy tree. Select Send Message from the pop-up
menu. The Send Message dialog box appears as shown in Figure 217 on page
362.
As in the previous releases, when you double-click the spooled file, the AFP
viewer is launched to display the contents of the spooled file. Dragging and
dropping printer output is also possible. For example, you can drag a printer
output from one printer to another printer on the same AS/400 system. If you
have two or more AS/400 systems in your network, where TCP/IP is configured
and LPR/LPD is working, you can even drag and drop your printer output from
one AS/400 system to a printer on another AS/400 system.
3. Open the Notepad application by selecting the Start button. Follow the path
Programs->Accessories->Notepad .
4. Select Open under the File menu. Select the output file (normally the printer
output file name followed by the job number, for example, QPJOBLOG008092.txt)
under Desktop, and click the Open button.
You can now edit the contents of the file. When you are finished, you can choose
to print the file to a local printer, save it back to the desktop, or save it to another
location, such as a floppy diskette. An example of a modified printer output file
(note the last line of the file contents) is shown in Figure 219.
C.3.1.3 Printers
The Printers sub-function allows you perform a variety of tasks such as working
with a printer output queue, starting or stopping, holding or releasing a printer,
and so on. In Figure 220 on page 364, the printer with the hand symbol indicates
that it is printer shared by AS/400 NetServer. The Printer sub-function has been
enhanced to include AS/400 NetServer printer shares. You can even create a
new printer share by selecting Sharing->New Share from the context menu of a
printer.
Jobs The Jobs function allows you to work with the AS/400 jobs. It provides a
combination of the functions available in the Work with Active Jobs
(WRKACTJOB) and Work with User Jobs (WRKUSRJOB) commands.
Server Jobs
the Server Jobs function displays a list of jobs that are part of a specific
AS/400 server application. An example of a server job is the AS/400
NetServer. You can easily see who is currently using the server application
by looking under the Current User column.
You can tailor the jobs display to meet your requirements. For example, you can
sort the jobs according to job name by clicking on the column heading. You can
also specifically view a user’s job. To do so, highlight the Server Job item in the
hierarchy tree (Figure 222 on page 365). Select Include from the Options menu.
The Include dialog box appears. Click on the button next to the User field. This
brings up another dialog box similar to the one in Figure 223. Select User and
type in the name of the user profile. The Server Jobs list is automatically
refreshed to show the jobs associated with the user profile that you specify.
Figure 223. Include option dialog box for Server Job management
Highlight one of the jobs, and right-click. The context menu appears, which allows
you to perform such actions on the job as:
• Display the printer output
• Display the job log
• Reply to messages
• Hold the job
You may have additional components such as Fixes Inventory and Collection
Services under the navigation tree of Configuration and Services. These two
components are available if you have Management Central installed on your PC.
In this section, we do not cover these two components. However, you may want
to refer to C.2.1, “Managing AS/400 Connections” on page 355, where both the
Collection Services and Fixes functions are briefly discussed.
C.3.4 Network
AS/400 Operations Navigator provides support for many Network functions
(Figure 226 on page 368). It supports such functions as working with your AS/400
TCP/IP configuration, configuration wizards for new communication interfaces,
setting up IP filters, managing AS/400 network servers, IBM Network Station
configuration, and so on.
C.3.4.1 Protocols
Basic TCP/IP functions are provided under the Protocols function. You can start
or stop TCP/IP on the AS/400 system, configure TCP/IP, and so on. Select
TCP/IP under the Protocols navigation tree. Right-click, and the context menu
appears as shown in Figure 227.
C.3.4.2 Servers
The Servers function allows you to configure and manage both the TCP/IP and
Client Access servers. For example, you can easily start or stop the AS/400
system by selecting the relevant action from the context menu as shown in Figure
229 on page 370. The list displayed also shows the status of the servers.
Configuration wizards are included for TCP/IP servers such as Dynamic Host
Configuration Protocol (DHCP), Domain Name Server (DNS), Directory Services,
and so on. The Properties action in the context menu also allows you to specify
options such as automatically starting the server when TCP/IP on the AS/400
system is started. More information about these topics can be found in AS/400
TCP/IP Autoconfiguration: DNS and DHCP Support, SG24-5147.
Since V4R2M0, the Client Access host servers automatically start when TCP/IP
is started. You can change this default setting by unchecking the Start when
TCP/IP is started option in the Properties page of the individual Client Access
host servers. For such servers as Net Print and Sign On, you can even specify in
which subsystems you want the server jobs to run.
You can view a list of jobs associated with a specific server. For example, to view
the TELNET server jobs, select TELNET from the TCP/IP Servers list.
Right-click, and select Server Jobs from the context menu. This brings up a
separate window with a list of all jobs that belong to the TELNET server.
C.3.4.3 Internet
When you select the Internet function, a list of functions associated with Internet
applications are displayed as shown in Figure 230.
Note that the list of functions in your Operations Navigator may differ from the
one shown in Figure 230. Applications, such as Firewall and IBM HTTP Server for
Using the Internet functions, you can configure and manage an Internet
application server from the Web browser. For example, double-clicking the IBM
HTTP Server for AS/400 brings up the configuration Web page as shown Figure
231 (assuming that the HTTP Admin server is started). By default, the Web page
is opened using your Windows default browser. You can change the browser to
use by selecting Properties from the context menu of each application.
Figure 231. IBM HTTP Server for AS/400 Web browser configuration
C.3.5 Security
Implementation of security on the AS/400 system is made easy with the help of
the security configuration wizard. To initiate the security wizard, select Security
from the navigation tree. Right-click, and select Configure from the context
menu. The security wizard asks you a set of questions. Based on your answers to
those questions, it generates a set of security recommendations such as those
shown in Figure 232 on page 372 for your AS/400 system.
The wizard also generates two separate reports, one each for the administrator
and the user, that explain the recommendations in detail. At the end of the wizard,
you can apply the security recommendations to the AS/400 system immediately,
or save the recommendations and apply them later.
Apart from the security wizard, the security function includes options, such as
Authorization Lists and Policies, as shown in Figure 233.
When you select Authorization Lists under the Security navigation tree, a list of
the existing authorization lists on the AS/400 system appears in the right-hand
panel of the Operations Navigator window as shown in Figure 234 on page 373.
You can create a new authorization list by selecting New Authorization List from
the context menu. You can also change the permission settings in an existing
authorization list by double-clicking it. This brings up a window similar to the one
shown in Figure 235, which allows you to add or remove users from the list, view
the objects secured by the list, and so on.
The Policies function is categorized into Audit Policy and Security Policy. You use
the Audit Policy to set system-level auditing control. Double-click Audit Policy to
You can also turn on object auditing to keep track of all users who access the
object or all objects accessed by a particular user by selecting the Activate object
auditing option. Under the New Objects page, you can specify default auditing for
newly created objects by selecting any one of the options listed.
The Security Policy Properties window is shown in Figure 237 on page 375.
Configuration and management of security-related system values are made easy
with the help of a graphical user interface. The online help also provides detailed
information on each of the security settings.
If you highlight a user from the list, right-click, and select New Based On, you
can create a new user based on the existing user profiles that you selected. This
is shown in Figure 239 on page 376. Using the Personal button, you can enter
system distribution directory data for the user. Using the Networks button, you
can register the user in Lotus Domino (if Lotus Domino for AS/400 software is
installed and configured on your AS/400 system).
C.3.7 Database
Creation and management of AS/400 databases are made easier by using the
Database function (Figure 240) in Operations Navigator.
The available options under the Database navigation tree are Libraries, ODBC
Data Sources, and SQL Performance Monitors. When you select Libraries, a list
of libraries in the user portion of your AS/400 library list is displayed. To add
You can either enter the name of the library, or select the library from the list and
click Add. Be aware that the selected libraries are only temporarily added. If you
want to permanently add the libraries, you need to change the user portion of
your library list on the AS/400 system (System Value QUSRLIBL).
The context menu of Libraries also allows you to create a new library. You can
choose to create the library as an SQL collection. An SQL collection consists of a
library, a journal, a journal receiver, a catalog, and optionally a data dictionary.
You can also specify to create the library in another Auxiliary Storage Pool (ASP).
To create a new table, select the library. Right-click, and select New->Table. To
work with an existing table, right-click the selected table, and choose the
appropriate action from the context menu. For example, you can add or remove
columns in existing tables by selecting the Properties action. The Quick View
action allows you to easily view the data in a table. You can even edit the data by
double-clicking the table.
You can create, run, edit, debug, and save SQL statements by selecting Run SQL
Scripts from the Database context menu. If you are not familiar with SQL
statements, you can insert and modify an SQL statement example. To do so,
ensure that the SQL Statement Examples option under View menu is selected
(with a check mark on the left). Then, select the desired statement from the
drop-down list as shown in Figure 242 on page 378, and click the Insert button.
The Database function also includes the capability to monitor SQL performance.
To create an SQL performance monitor, select SQL Performance Monitors.
Right-click, and select New.
File Shares shows the AS/400 NetServer file shares. The Open AS/400
NetServer option in the File Share context menu opens up a separate window,
which allows you to work with the AS/400 NetServer. For additional information
on NetServer, refer to C.3.9, “AS/400 NetServer” on page 384.
The list is automatically refreshed to include the newly created folder. You can
find your folder located at the end of the list.
2. Select your folder in the hierarchical tree root, and click the Paste button
(Figure 247 on page 382). The AS/400 Operations Navigator - Copying
window appears and displays the copy process of the files.
You can also copy files within the AS/400 file system. For example, you can
create a new folder in the root file system and copy the installation files of Client
Access Express from the QCA400 folder to your new folder.
In Operations Navigator, to rename a folder in the file system, simply highlight it.
Right-click, and select Rename from the context menu. This triggers a dialog box
similar to one shown in Figure 248. Enter a new name for the folder, and click OK.
If you specify the same name as another folder, you receive an error message
informing you that the folder already exists.
The ability to create a file share depends on the authority of the user profile used
to sign on to the AS/400 system. The user must at least have the *IOSYSCFG
special authority granted in the user profile. When the file share is defined as
read only, the AS/400 directory permission is used to determine the accessibility
of a file share to a user. If the file share is set to Read/Write, both the authority in
the AS/400 user profile and the directory permission apply.
Unlike a shortcut, when you drag and drop an object from the file system to the
PC desktop, the contents of the file or folder are duplicated.
The directories that are shared by AS/400 NetServer reside in the integrated file
system (IFS) on the AS/400 system. They are protected by AS/400 security. They
can be saved with normal AS/400 methods during normal AS/400 save
operations. There is no need for additional backup programs or backup
strategies. This makes AS/400 NetServer an ideal platform for file and print
serving needs even without Client Access Express being involved.
The process of sharing directories and printer output queues with AS/400
NetServer is similar to the way you share resources with Windows 95, Windows
98, and Windows NT.
Right-click on Shared Objects, and select New->File from the pop-up menu.
This opens another window.
In the display shown in Figure 253, you give the share a Share name by which it
will be known in the network. Access can be Read only or Read/Write.
If the share is defined as Read/Write, normal AS/400 security is in effect, and the
authority of the AS/400 user profile and the permissions set for the AS/400
directory are used.
If a share is set to Read Only, it does not matter how high the authority of the user
accessing the shared directory is or what permissions are set for the directory for
this share. Only read access is allowed. Files in this directory cannot be altered,
moved, or deleted. If AS/400 permissions do not allow a user to even view files in
that directory, that is not possible either.
Maximum number of users allows you to limit the number of users that can
concurrently use the share.
You can select a top-level directory or click on the plus (+) sign in front of a
directory name to reach a deeper level. You can select folders under QDLS only if
your user profile is added to the System Distribution Directory on the AS/400
system. Likewise, a share for QDLS can only be used by users who are in the
System Distribution Directory. You can select QSYS.LIB, libraries under
QSYS.LIB, and files (physical and logical) in a library to be shared.
If you share an AS/400 physical or logical file that contains several file members,
it appears on the PC client as a directory containing files. The files displayed on
the PC are actually the AS/400 file members.
Remember that you have to explicitly share a directory or library on the AS/400
system to make it available through AS/400 NetServer. Unlike the Network Drive
of Client Access for Windows 95/NT, the entire IFS including QSYS.LIB is not
visible to all clients, only those objects that are shared.
Highlight the directory to be shared, and click OK. This brings you back to the
display in Figure 253 on page 385.
The Text Conversion tab of this notebook is only available with AS/400 NetServer
Version 4 Release 4 and higher. If you click on the Text Conversion tab, you see
the display shown in Figure 255 on page 387.
On this display, you can specify AS/400 file types that are automatically
converted from EBCDIC to ASCII and vice versa. With text conversion enabled,
AS/400 EBCDIC data is automatically translated to ASCII when it is transmitted to
the PC to be viewed, for example, in Windows Notepad.
Text conversion is disabled when the option Allow file text conversion is
unchecked. The Code page parameter defines the ASCII code page used for
converting data for this share.
The text conversion is triggered by file extensions. For example, an AS/400 file
member is displayed in the Network Neighborhood with the file extension MBR.
To enable automatic text conversion for file members, you have to type the letters
MBR in the entry field and click the Add button next to it.
Once a file share is defined, you can right-click on its name to get a context menu
with all the options available for that share (Figure 256 on page 388).
You can change the Properties of the share and the Permissions for the AS/400
directory. For example, you can change the file share property from Read/Write to
Read only access. And you can stop sharing the resource. Be careful if you do
that. There is no confirmation for this action. Once sharing is stopped, the share
is removed from the list. This removes the share permanently, but not the directory.
To remove the directory itself, select this path in Operations Navigator File
Systems->Integrated File System->Root .
The second method of sharing directories is from within the File Systems function
in Operations Navigator. There is a sub-function called Integrated File System .
This approach has the advantage that you are already exploring the file system
and can decide which parts to share, as opposed to other methods where you
need to know in advance what you want to share.
The procedure to share a directory is identical to the other method using the
AS/400 NetServer function of Operations Navigator.
Notice in Figure 257 that some of the directories (for example, QIBM) have a
hand symbol, which indicates that they are shared.
C.3.10 Backup
You can schedule daily, weekly, or monthly backup on the AS/400 system using
the Backup function in Operations Navigator. The Properties page of the three
backup policies allows you to define options such as the type of data to save, the
date and time to run the backup job, the backup media, and so on.
The Function Availability dialog box, in Figure 259, shows the Operations
Navigator tree hierarchy elements for all configured AS/400 connections, and the
explicit reasons why any of the elements are hidden. An element in the
Operations Navigator can be hidden due to one of the following rational:
• Optional installable: Several functions of Operations Navigator are changed
to optional installable items in the Express Client. There is a possibility that
the particular function is not installed and, therefore, not shown. It is also
possible that a function is not available due to a corresponding Operations
Navigator subcomponent that is not installed.
• OS/400 release level: The availability of each Operations Navigator functions
depends on the current AS/400 Operating System level. Certain functions,
such as Management Central, requires an OS/400 release of V4R3 and
above.
• Application Administration restriction: Since the Application Administration
has the ability to deny users or groups from certain functions in Operations
Navigator, the items in a particular tree hierarchy can be hidden.
• Client Access policies: You can use the Client Access Policies to restrict
users from using the Operations Navigator entirely.
• Secure Socket Layer (SSL): With the SSL enabled in the Express Client, you
can now communicate using SSL. If you are using SSL to connect to the
AS/400 system, other functions that do not support SSL are not shown.
• Third-party Plug-in self-imposed restriction : If you have any third-party
plug-ins installed, the functions can be restricted by the product itself.
Pricing of these products is not shown. These licensed program products should
be discussed with your eBPCS software and hardware providers for the
environment supported.
D.1.1.1 Chargeable
The chargeable items include:
• Print Services Facility/400 (PSF/400) (Feature Code 2691)
• DB2 Symmetric Multiprocessing for AS/400 (Feature Code 2698)
• DB2 Multisystem for OS/400 (Feature Code 2699)
• OptiConnect for AS/400 (Feature Code 2642)
• Media and Storage Extensions (Feature Code 2619, prerequisite feature for
using BRMS/400)
D.1.1.2 Nonchargeable
The following programs are all part of OS/400 and all ship with OS/400
(5769-SS1). They do not need to be ordered separately. However, they all appear
within the AS/400 Software Resources and Licensed Program menus as separate
products:
• 5769-JC1 Java Tool Box for AS/400 (Feature Code 2585)
• 5769-JV1 IBM VisualAge for Java (Feature Code 2586)
• 5769-PM1 Performance Management/400 (Feature Code 2556)
• 5769-TC1 IBM TCP/IP Connectivity Utility (Feature Code 2529)
• AS/400 Integration with Windows NT Server (Version 4) (Feature Code 2692)
• Client Access Express for Windows (Feature Code 2603)
Included in Client Access Express for Windows are Operations Navigator,
Operations Console, and all functions of the Client Access for Windows
licensed program (5769-XW1), except:
– PC5250 emulation
– Printer emulation
– Data transfer
E.1 Java
Java is a key application development environment for the AS/400 system. As
Java technology evolves from Sun, the AS/400 system takes advantage of the
new functions and features of this environment.
The AS/400 Developer Kit for Java supports Sun's Java 2. With the concurrent
Java support shipped as part of the V4R4 AS/400 Developer Kit for Java, you can
install Java 2 on systems where JDK 1.1.6 or 1.17 are already installed. A Java
Virtual Machine (JVM), which resides below the Technology Independent
Machine Interface (TIMI), enables fast interpretation and execution of Java code
on the AS/400 system. In addition, a type of static compiler is available called a
class transformer, which generates RISC machine code from Java byte codes.
This Java transformer enables the direct execution of Java on the AS/400 system
without the overhead of interpretation.
Other technology included in the AS/400 Developer Kit for Java allows GUI
applications to run on the AS/400 system without modification. This support is
called Remote AWT (Abstract Windowing Toolkit). It intercepts GUI requests
coming from a Java program and re-routes the requests to an attached
workstation running its own Java Virtual Machine (JVM). The workstation
interprets and displays the java.awt graphical components. This allows server
programs, which have graphical interfaces for configuration or tuning, to run on
the AS/400 system without modification.
The AS/400 Toolbox for Java is available. Java applets and applications that
access AS/400 programs and data from client workstations (or a Java-enabled
server) can be written using the AS/400 Toolbox for Java. Java classes on the
client can be used to access existing AS/400 applications and data using
low-level APIs. This provides easy entry into Java development while leveraging
what already exists on the AS/400 system today.
With V4R4, the AS/400 Toolbox for Java is enhanced to support the Java
Database Connection (JDBC) 2.0 specification. Support is also added for the
Secure Sockets Layer (SSL) specification so that data between the workstation
and the AS/400 system can be encrypted and the server can be authenticated.
The AS/400 Toolbox for Java in V4R4 also includes an improved application
development environment through the introduction of a new set of tools for
building graphical panels:
• A User Interface Framework has been defined that automatically handles the
exchange of data.
• Developers use data beans that are bound to panel components using tags
that are defined by the Panel Definition Markup Language (PDML).
• The framework can also provide a platform and technology independent
representation of graphical panels based on the Extensible Markup Language
(XML). A pure Java framework for interpreting the XML and constructing user
interface panels based on Java Foundation Classes (JFC) is also provided.
• A resource script converter is provided that converts Windows dialogs to
equivalent Java panels defined in XML.
• A graphical user interface (GUI) builder tool is provided to develop Java GUIs.
This is a WYSIWYG GUI editor tool.
• The ability to call AS/400 programs is provided through a Program Call
Markup Language (PCML) interface that defines the required parameters,
structures, and field relationships.
V4R4 provides support for Lightweight Directory Access Protocol (LDAP) in the
HTTP Server, which defines a protocol to access directory services on a network.
AS/400 system Web serving capabilities include support for the IBM WebSphere
family. There are several components in the WebSphere family:
• The IBM WebSphere Application Server provides a framework for consistent,
architected linkage between the HTTP requests and business data and logic.
IBM WebSphere Application Server is intended for organizations that want to
take advantage of the productivity, performance advantage, and portability
that Java provides for dynamic Web sites. It includes:
– Java runtime support for server-side Java servlets
– Industry-standard object-request brokers to handle requests for data and
other services for client/server applications
– High-performance connectors to many common backend databases to
reduce the coding effort required to link dynamic Web pages to real
line-of-business data
– Application services for session and state management
• The IBM WebSphere Studio, a set of PC-based tools to help developers
create WebSphere applications. The tools currently in the WebSphere Studio
are:
– Web Development Workbench: A Web site project organizer and launch
platform.
– Servlet generation wizards : For building Java servlets to access JDBC
databases and JavaBean components.
– VisualAge for Java, Professional Edition V2.0: The IBM award-winning
Java application development environment for building Java applications,
applets, servlets, and JavaBean components.
– NetObjects Fusion : Allows Web-site developers to design and produce an
entire Web site, including individual pages and all links. It features
automated site building, automatic link management, remote database
access, and design and publishing capabilities.
– NetObjects BeanBuilder : The visual authoring tool for combining
JavaBeans and Java applets. BeanBuilder allows individuals overseeing
the content of online business processes to create more compelling, highly
interactive Web sites with revolutionary ease-of-use.
– NetObjects ScriptBuilder : Combines a text-based script editor and
development tools for creating and editing HTML, script, and Java Server
pages.
IBM Net.Data allows the creation of interactive Web applications with "macros" to
add logic, variables, program calls, and report writing to HTML. These macros
combine the simplicity of HTML with the dynamic functionality of CGI programs,
which makes it easy to add live data to static Web pages. Live data includes
information stored in DB2 for AS/400 (locally or remotely), databases on other
systems, REXX programs, C and C++ programs, programs in other AS/400
languages (such as CL, RPG, and COBOL), and other sources.
Web serving capabilities of the AS/400 system have also been extended with a
powerful, full-text search engine through the implementation of NetQuestion in
Other features of Net.Commerce include the ability to lock the database from
unauthorized tampering and provide a password to only selected individuals.
Shoppers protect their information by using a logon ID and password when they
register. User data, such as credit card information, is protected through Secure
Sockets Layer (SSL) encryption.
With V4R4, the OV/400 Migration to Domino for AS/400 licensed program allows
the migration of users, groups, mail, calendars, and folders to Domino from
OV/400. The Lotus Calendar Connector for OfficeVision (LCCOV) allows
free-time search and the distribution of meeting notices between Domino and
OfficeVision/400.
Unmatched scalability
Within a single architecture, the AS/400 system spans a vast performance
spectrum. The smallest Domino for AS/400 server may have less than a dozen
users. The largest AS/400 system is capable of accommodating more than
10,000 mail users on a single footprint.
The breakthrough price performance of the AS/400e servers and OS/400 V4R2
or later means that AS/400 configurations can support this broad range of Lotus
Domino users in a cost-effective manner.
Powerful integration
Domino for AS/400 includes integration between Lotus Domino databases and
DB2/400 databases. Both real-time and scheduled integration of databases is
available to meet a variety of application needs.
Automatic synchronization between the Domino Public Address Book and the
AS/400 System Distribution Directory provides a powerful, integrated mail server
for organizations with multiple e-mail products, including OfficeVision/400, POP3,
JustMail, and Internet mail.
Proven security
Integrated, flexible security is a long-standing strength of both Domino and the
AS/400 system. Recently, the AS/400 reputation for security was enhanced with
the introduction of Firewall for AS/400, which runs on an AS/400 Integrated PC
Server. When you consider connecting to the Internet, Domino for AS/400 and
the Firewall for AS/400 combine function, reliability, and value.
The AS/400 Integrated Netfinity Server is available on all AS/400 64-bit RISC
models in either PCI bus or SPD bus versions. Integrated Netfinity Servers are
considered features of the AS/400 system and are covered by the AS/400 system
warranty and maintenance contract. A standard PC display, keyboard, and
mouse must be attached to the AS/400 Integrated Netfinity Server.
This "banding" of data is accounted for in the Extended Adaptive Cache design.
The goal is to cache bands characterized as read or write and read-only. A band
that is characterized as write-only, while cached in the storage subsystem write
cache, remains largely unaffected by Extended Adaptive Cache. Extended
Adaptive Cache is designed to not harm the performance of large blocks of data
that are either sequentially written or sequentially read. In this case, the pre-fetch
capability of the disks, as well as other caches in the system, ensures a quick
response time.
The larger the area of disk storage is that is actively receiving I/O requests, the
more selective Extended Adaptive Cache is about when to bring new data into
cache. This adaptive ability allows Extended Adaptive Cache to be effective on
many workload types and sizes. The overall cache effectiveness is best
understood from this perspective by using Extended Adaptive Cache Simulator.
Prior to V4R4, the AS/400 system offered multi-system coupling that provided
peer or tiered node clusters, constructed by ISVs using distributed data
management and journaling. The customer separately managed the systems in
the cluster. Database replication was provided by high-availability business
partner solutions.
V4R4 introduces AS/400 Logical Partitioning (LPAR), which enhances the role of
the AS/400 system as a consolidated server. With LPAR, companies have both
the power and flexibility to address multiple system requirements in a single
machine. LPAR is of value to customers that need server consolidation, business
unit consolidation, mixed production, and test environment, as well as integrated
clusters.
AS/400 clustering is taking a major step forward with the introduction of Cluster
Resource Services as part of OS/400 V4R4 (APIs). The complexity of managing
systems in a cluster and keeping track of data and applications is now handled by
OS/400 V4R4. Protecting your business from unplanned and planned outages, as
well as site loss disasters, is easier than ever before. Cluster management and
enhanced data resilience applications, both provided by high-availability business
partners, complete the total solution.
With the AS/400 open interfaces, hundreds of tools can be used to provide BI
solutions that access DB2/400 data transparently. Such tools include desktop
analysis tools (business objects, for example) and sophisticated
multi-dimensional analysis (commonly referred to as OLAP) tools (Essbase/400,
for example) with no special programming required.
SMP for DB2/400 provides parallel query processing. This allows multiple
processors in one AS/400 system to collectively work on a single query and can
improve query performance by as much as 400%. DB2 Multi-System support
provides clustering for the AS/400 system and allows up to 32 AS/400 systems to
be "clustered" together into a single system. This clustering provides almost
unlimited scalability and unparalleled performance for AS/400 customers. The
combination of all of these advanced features has dramatically improved AS/400
performance so much. And, customers using UNIX systems, PC servers, and
even large, specialized parallel servers have converted from these machines to
the AS/400 system for a fraction of the cost.
There are many technical advantages of using the AS/400 system for your
Business Intelligence server. The main reason why customers choose the AS/400
system is the combination of its power and simplicity. The AS/400 system
provides a full range of tools, applications, and hardware in a single integrated
platform that helps to make rapid implementation a reality. Large and small
businesses alike agree that this is the ideal Business Intelligence server.
E.8 e-business
Success in business today depends on one thing: meeting customer needs,
which are unique to each organization. To meet those needs, the best option is a
computer built to do business the way each organization does. That means a
server that is flexible, versatile, and can deliver customized solutions, all in a
cost-effective manner.
The AS/400 system has always been designed for business. By tightly integrating
hardware, software, middleware, and the operating system. The AS/400 system
provides a combination of power and flexibility that organizations can rely on to
help them in their business. This design also makes it possible for the AS/400
system to help ensure that they move with technology as it changes.
These defining actions sound familiar to anyone who knows the fundamentals of
using information technology (IT) to achieve competitive advantage. e-business
does not change the fundamental rules, but represents a dramatic shift in a
typical company’s ability to cost-effectively exploit IT on a broad scale. Simply
For the AS/400 system in particular, a large portfolio of robust LOB applications
provides a strong base for building e-business solutions by extending and
enhancing those applications with an entirely new range of options.
E.9 Summary
The AS/400 system has the most brilliant architecture found on any business
computing system. There are many examples of where the AS/400 system's
architecture has delivered on its promise of making the most advanced
technology readily and continuously available to its customers. The AS/400
system has enabled its customers to integrate diverse environments (such as
Microsoft Windows NT and Lotus Domino) into the AS/400 system. All customer
solutions require a range of hardware and software products from a variety of
vendors. The AS/400 system, through integrating these mixed environments,
simplifies the task of managing them.
Language name Country Country name AS/400 code page (SBCS) local
ID settings for Client Access/400
(accented)
Tier-1
Tier-2
Language name AS/400 code page (SBCS) - MNCS AS/400 code ASCII Windows
settings for Client Access/400 page (DBCS) code page
(unaccented)
Tier-1
Tier-2
Bulgarian NA 1251
Tier-1
Tier-2
US English (English)
Tier-1
Tier-2
Bulgarian 1025->1251
Information in this book was developed in conjunction with use of the equipment
specified, and is limited in application to those specific hardware and software
products and levels.
IBM may have patents or pending patent applications covering subject matter in
this document. The furnishing of this document does not give you any license to
these patents. You can send license inquiries, in writing, to the IBM Director of
Licensing, IBM Corporation, North Castle Drive, Armonk, NY 10504-1785.
Licensees of this program who wish to have information about it for the purpose
of enabling: (i) the exchange of information between independently created
programs and other programs (including this one) and (ii) the mutual use of the
information which has been exchanged, should contact IBM Corporation, Dept.
600A, Mail Drop 1329, Somers, NY 10589 USA.
The information contained in this document has not been submitted to any formal
IBM test and is distributed AS IS. The information about non-IBM ("vendor")
products in this manual has been supplied by the vendor and IBM assumes no
responsibility for its accuracy or completeness. The use of this information or the
implementation of any of these techniques is a customer responsibility and
depends on the customer's ability to evaluate and integrate them into the
customer's operational environment. While each item may have been reviewed
by IBM for accuracy in a specific situation, there is no guarantee that the same or
similar results will be obtained elsewhere. Customers attempting to adapt these
techniques to their own environments do so at their own risk.
Any pointers in this publication to external Web sites are provided for
convenience only and do not in any manner serve as an endorsement of these
Web sites.
C-bus is a trademark of Corollary, Inc. in the United States and/or other countries.
Java and all Java-based trademarks and logos are trademarks or registered
trademarks of Sun Microsystems, Inc. in the United States and/or other countries.
Microsoft, Windows, Windows NT, and the Windows logo are trademarks of
Microsoft Corporation in the United States and/or other countries.
UNIX is a registered trademark in the United States and other countries licensed
exclusively through The Open Group.
SET and the SET logo are trademarks owned by SET Secure Electronic
Transaction LLC.
Other company, product, and service names may be trademarks or service marks
of others.
This information was current at the time of publication, but is continually subject to change. The latest information
may be found at the Redbooks Web site.
Company
Address
We accept American Express, Diners, Eurocard, Master Card, and Visa. Payment by credit card not
available in all countries. Signature mandatory for credit card payment.
distributed computing environment (DCE) A set of FDDI Fiber Distributed Data Interface
integrated software services that allows software firewall A set of technologies that allows an enterprise
running on multiple computers to perform in a manner to test, filter, and route all incoming messages. Are
that is seamless and transparent to the end-users. used to keep an enterprise secure.
DCE provides security, directory, time, remote
procedure calls, and files across computers running on Fourth-Generation Language (4GL) A type of
a network. computer language that accepts system requirements
as input and generates a program to meet those
DLL See dynamic link library. requirements as output. These are useful primary for
DML Data Manipulation Language well-understood procedures such as the generation of
menus, forms, and reports. Structured Query
DSS Decision Support System Language is an example of a 4GL.
DST Dedicated Service Tools FTP File Transfer Protocol
duplicated database A decision support database graphical user interface (GUI) Pronounced "gooey".
that contains a straightforward copy of operational Computer interface that is graphically based as
data. Advantages involve improved performance for opposed to being character-based. An example of a
both operational and reporting environments. See also character-based interface is that of the AS/400
enhanced analysis database and enterprise data system. An example of a GUI is Microsoft Windows.
warehouse. Graphically-based interfaces allow pictures and other
dynamic link library (DLL) A set of program modules graphic images to be used to give people clues on how
that are designed to be invoked from executable files to operate the computer.
when the executable files are run, without having to be GUI See graphical user interface.
linked to the executable files. Typically contain
commonly used functions. HA High Availability
EBCDIC Extended Binary Coded Decimal Interchange host In the centralized computer model, a large
Code timesharing computer system that terminals
communicate with and rely on for processing.
e BPCS V6.1 of SSA's BPCS software Contrasts with client/server in that those users work at
EC Electronic Commerce computers that perform much of their own processing
and access servers that provide services such as file
ECM Electronic Commerce Manager management, security, and printer management.
ECS Electronic Customer Support HR Human Resources
EDI Electronic Data Interchange HTML See Hypertext Markup Language.
EIS Executive Information System Hypertext Markup Language (HTML) A markup
enhanced analysis database A database containing language used to specify the logical structure of a
a subset of operational data. The data on the document rather than the physical layout. Specifying a
enhanced analysis database performs calculations logical structure makes any HTML document platform
and provides summary data to speed the generation of independent. You can view an HTML document on any
reports and query response times. This solution is desktop capable of supporting a browser. HTML can
appropriate when external data must be added to
431
multi-tier architecture Client/server architecture that ODW Object Development Workbench
allows multiple levels of processing. A tier defines the
OGS On Going Support - SSA Maintenance
number of computers that can be used to complete
some defined task. OLAP On-line Analytical Processing
NEP Never Ending Program OLE See object linking and embedding.
network computer As opposed to the personal OLM Outbound Logistics Management
computer, the network computer offers (in theory) a OLTP On-line Transaction Processing
lower cost of purchase and ownership and less
complexity. Basically, it is a scaled-down PC (very little OMS Object Messaging Server; Object Messaging
memory or disk space) that can be used to access System
network-based applications (Java applets, ActiveX online Computer functions over which the system has
controls) through a network browser. continuous control.
network computing Often referred to as the next OO Object-Oriented
phase of computing after client/server. While its exact
definition remains obscure, it generally encompasses OOT See object-oriented technology.
issues such as transparent access to computing open database connectivity (ODBC) Defines a
resources, browser-style front-ends, platform standard interface for different technologies to process
independence, and other similar concepts. data between applications and different data sources.
NFS Network File System Interface is made up of a set of function calls, methods
of connectivity, and representation of data types that
NIC Network Interface Card define access to data sources.
NLS National Language Support open systems interconnection (OSI) Model
NPT Non-programmable Terminal developed by the International Standards Organization
(ISO) in the early 1980s. It defines protocols and
object-based technology (OBT) Technology that standards for the interconnection of computers and
supports some of the main principles of object-oriented network equipment.
technology: classes, polymorphism, inheritance, or
encapsulation. OPM Original Program Model
433
static text Short, descriptive text that appears next to Uniform Resource Locator (URL) Names the
a control variable or field. When the variable or field is address of a document on the Internet or an intranet.
enabled, the static text is black. When the variable or
UPS Uninterruptible Power Supply
field is disabled, the static text is gray.
URL See Universal Resource Locator.
Structured Query Language (SQL) A fourth
generation language used as an industry standard for user defined codes (UDC) Codes within software that
relational database access. Can be used to create users can define, relate to code descriptions, and
databases and to retrieve, add, modify, or delete data assign valid values. Sometimes user defined codes
from databases. Is not a complete programming are referred to as a generic code table. Examples of
language because it does not contain control flow such codes are unit-of-measure codes, state names,
logic. and employee type codes.
table A two-dimensional entity made up of rows and VLF View Layout File
columns. All physical data in a database are stored in WAN Wide Area Network
tables. A row in a table contains a record of related
information. An example is a record in an Employee Web client Any workstation that contains an Internet
table containing the Name, Address, Phone Number, browser. Communicates with the Web server for
Age, and Salary of an employee. Name is an example eBPCS data.
of a column in the employee table. Web server Any workstation that contains the IServer
TCP/IP See Transmission Control Protocol/Internet service, SQL server, Java menus and applications,
Protocol. and Internet middleware. Receives data from the Web
client, and passes the request to the enterprise server.
TCP/IP services port Used by a particular server When the enterprise server processes the information,
application to provide the service that the server is it sends it back to the Web server, and the Web server
designed to provide. The port number must be readily sends it back to the Web client.
known so that an application programmer can request
it by name. workflow According to the Workflow Management
Coalition, workflow means “the automation of a
TDQ Task Dispatching Queue business process, in whole or part, during which
TDR Transaction Data Repository documents, information, or tasks are passed from one
participant to another for action, according to a set of
TELNET Teletypewriter Network
procedural rules.”
TFTP trivial File Transfer Protocol
World Wide Web Part of the Internet that can transmit
Third-Generation Language (3GL) Programming text, graphics, audio, and video. The World Wide Web
language that requires detailed information about how allows clients to launch local or remote applications.
to complete a task. Examples of 3GLs are COBOL, C,
WSG Workstation Gateway
Pascal, and FORTRAN.
WWW See World Wide Web.
TIMI Technology Independent Machine Interface
XMA Extended Middleware Architecture
transaction processing A term used to describe the
process of defining the beginning of a group of XML Extensible Markup Language
database updates and their eventual commitment or XPG X/OPEN Portability Guide
rollback. The purpose of using transaction processing
is to ensure integrity of the database at the application
document level.
Transmission Control Protocol/Internet Protocol
(TCP/IP) The original TCP protocol was developed as
a way to interconnect networks using many different
types of transmission methods. TCP provides a way to
establish a connection between end systems for the
reliable delivery of messages and data.
trigger Allows you to attach default processing to a
data item in the data dictionary. When that data item is
used on an application or report, the trigger is invoked
by an event associated with the data item.
UDB Universal Database
UDC See user defined codes.
UDFS User-Defined File System
H
hard delete 207 L
hardware inventory 366 label 26
hierarchical directory structure 71 LAN 149
Hierarchical Storage Management 74 Large object 114
host name 298 layered architecture 5
host print transform 122, 146 library 100, 105, 110, 377
host table 301 LIC 62
HPT 122 Licensed Internal Code 62
HSM 74 Licensed Program Products 393
HTTP Server 396 licensed programs 5
limited capability (LMTCPB) 161
Line data stream 121
I line printer daemon (LPD) 124
I/O architecture 63 line printer requester (LPR) 124
IBM Net.Data 398 LMTCPB 161
ICF file 104 LOB 69, 114
IDLC 7 logical file 67, 110
IEEE 802.3 7 logical partitioning 65, 71, 404
IEEE 802.5 and 802.2 7 LOOPBACK 306
IFS 70, 106 LPAR 65, 71, 404
II11801 87
437
LPD (line printer daemon) 124 output queue 119
LPD printer daemon 149
LPR (line printer requester) 124
LPR printer daemon 149 P
package 110
Panel Definition Markup Language 396
M password 72
Machine Interface 62 PDML 396
Management Central 354 PDT 119, 146
mapping a network drive 141 performance 8
menu 38 physical file 67, 110
message file 55 POP 303
message flow 20 print 71
methodology 79 print serving 384
MI 62 printer 71
Microsoft Windows 8 Printer Definition Table 119, 146
migration 90 printer drivers 143
MIL3 200 printer emulation 145
mirroring 6 printer file 70, 120
Mixed-Mode 11 printer management 71
Printer menu 157
printer sharing 146
N printer writer 123, 153
National Language Support 72 printing configuration 117
Net.Commerce 399 problem management 72
NetQuestion 399 process 56, 59
NetServer 134, 384 product 165, 168
command line 144 product access control 168
finding shares 139 program 165, 169
network 341 program access control 169
network sniffer 200 Program Temporary Fix 72
NEWI library 89 PRTSQLINF 216
NEXTHOP 331 PSF/400 393
NFS 107, 379 PTF 72, 75, 360
NLS 72
Q
O QAUDCTL 164
object 76 QAUDLVL 164
Object Development Workbench 33, 50 QAUTOCFG 119
Object Messaging Server 11 QAUTOCFG value 119
Object Messaging System 89 QAUTORMT 119
Object Presentation Service 11, 13, 14, 53 QAUTOVRT 119
Object Request Broker 13 QDLS 107, 379
Objects 66 QFileSvr.400 107, 379
ODW 33, 50, 51, 56, 59 QJOBMSGQFL 98
OLM 11 QLANSrv 107, 379
OMS 11, 13 QNetWare 107, 379
OMS library 89 QNTC 107, 379
Open Data Path 214 QOpenSys 107, 379
operating system 62 QOPT 107, 379
Operations Navigator 353 QSECOFR 298
using 355 QSQCHKS 109
OPS 11, 13, 14, 53 QSQPRCED 109
Optimal Networks 200 QSTRPRTWTR 153
Optimization Process 216 QSYS.LIB 107, 379
ORB 13 QTCP 304
OS/400 Host Server 340 QTCPIP 303
outbound error message 22 query attribute 216
Outbound Logistics Management 11 changing 218
outbound notification 21
439
Telnet 119
Template Designer 399
thin client 11
TIMI 5, 62
Token-Ring 7, 294
top-down 40
Transmission Control Protocol/Internet Protocol 293
type 26
types of SQL statements 111
U
UDB 69, 114
UDFS 107, 379
uninstalling Client Access Express 350
Uninterruptible Power Supply 6
UNIX 5, 70
UPS 6
user ID 72
user management 72
user profile 77, 160, 167
V
V4R4 71, 396
value 26
view 110
virtual address 75
Virtual Printer Device 151
W
WAN 149
WDKCOM 13
Web serving 396
Wireless Network 294
Work with Output Queues (WRKOUTQ) command 156
workload 83
workload definition 83
World 22
WRKHDWRSC 298
WRKOUTQ (Work with Output Queues) command 156
WRKSPLF 304
WRKSYSVAL command 119
X
X.21 7
X.25 7, 294
XML 396
Your feedback is very important to help us maintain the quality of IBM Redbooks. Please complete this
questionnaire and return it using one of the following methods:
• Use the online evaluation form found at http://www.redbooks.ibm.com/
• Fax this form to: USA International Access Code + 1 914 432 8264
• Send your comments in an Internet note to redbook@us.ibm.com
Please rate your overall satisfaction with this book using the scale:
(1 = very good, 2 = good, 3 = average, 4 = poor, 5 = very poor)
Was this redbook published in time for your needs? Yes___ No___