baanerp implementation for as/400 · baanerp implementation for as/400 jaejin ahn, clinton arms,...

378
BaanERP Implementation for AS/400 Jaejin Ahn, Clinton Arms, Carlos Gasco, Tim Knotts, Lloyd Perera, Doug Schneider, Dan Sundt International Technical Support Organization SG24-5188-00 http://www.redbooks.ibm.com

Upload: phungcong

Post on 15-Feb-2019

215 views

Category:

Documents


0 download

TRANSCRIPT

BaanERP Implementation for AS/400

Jaejin Ahn, Clinton Arms, Carlos Gasco, Tim Knotts,Lloyd Perera, Doug Schneider, Dan Sundt

International Technical Support Organization

SG24-5188-00

http://www.redbooks.ibm.com

International Technical Support Organization SG24-5188-00

BaanERP Implementation for AS/400

December 1998

© Copyright International Business Machines Corporation 1998. All rights reservedNote to U.S Government Users - Documentation related to restricted rights - Use, duplication or disclosure is subject to restrictionsset forth in GSA ADP Schedule Contract with IBM Corp.

First Edition (December 1998)

This edition applies to V4R3 of OS/400, Program Number 5769-SS1 and primarily to the GA release 5.0b of BaanERP.

Comments may be addressed to:IBM Corporation, International Technical Support OrganizationDept. JLU Building 107-23605 Highway 52NRochester, Minnesota 55901-7829

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.

Before using this information and the product it supports, be sure to read the general information in Appendix K, “Special Notices” on page 337.

Take Note!

Contents

Figures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ix

Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xv

Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xviiThe Team That Wrote This Redbook . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .xviiComments Welcome . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xviii

Chapter 1. AS/400 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11.1 AS/400 Success Factors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11.2 IBM Server Positioning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4

Chapter 2. Introduction to BaanERP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .52.1 The Baan Company . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .52.2 Baan’s Industry Focus. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .52.3 Industry Pressures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .62.4 The BaanERP Solution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .62.5 Key Strategies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6

2.5.1 DEMSE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .72.5.2 Technology and Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .82.5.3 Logistics Components—Manufacturing and Projects . . . . . . . . . . . . . .92.5.4 Logistics Components—Sales, Distribution, and Warehousing . . . . . .92.5.5 Baan Service. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .102.5.6 Finance and Accounting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11

Chapter 3. AS/400 Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .133.1 AS/400 Integration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .133.2 High Level Machine Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .143.3 AS/400 64-bit RISC Technology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .143.4 Object-based Architecture. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .153.5 Integrated Relational Database (DB2 for OS/400) . . . . . . . . . . . . . . . . . . .16

3.5.1 Data Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .163.6 Data Management. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .16

3.6.1 Integrated File System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .173.7 System Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .173.8 Storage Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .193.9 Security, User Profiles, and Authority Management . . . . . . . . . . . . . . . . .203.10 Work Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .21

Chapter 4. BaanERP Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .234.1 BaanERP Porting Sets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .234.2 Multi-layered Design of Presentation, Application, and Database Layers .244.3 BaanERP GUI Clients Using BW and BI . . . . . . . . . . . . . . . . . . . . . . . . . .254.4 The BaanERP Software Environment . . . . . . . . . . . . . . . . . . . . . . . . . . . .264.5 The Role of the BShell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .314.6 Shared Memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .324.7 Database Access Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .344.8 BaanERP Company Concept . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .38

4.8.1 Multi-site Company Concept . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .39

Chapter 5. BaanERP Topology Options . . . . . . . . . . . . . . . . . . . . . . . . . . . .415.1 Host-based Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .42

© Copyright IBM Corp. 1998 iii

5.2 Client/Server Implementations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 425.2.1 Client/Server (Remote Database) . . . . . . . . . . . . . . . . . . . . . . . . . . 435.2.2 Client/Server (Remote Database Driver and Database) . . . . . . . . . . 445.2.3 Client/Server—Multiple Application Servers . . . . . . . . . . . . . . . . . . . 45

Chapter 6. Installation and Configuration . . . . . . . . . . . . . . . . . . . . . . . . . 516.1 Prerequisites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

6.1.1 AS/400 Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 516.1.2 AS/400 Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 516.1.3 Presentation Front-End . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

6.2 BaanERP Installation Concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 526.2.1 BaanERP Directory Structure. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

6.3 BaanERP Pre-installation Activity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 546.3.1 User Profiles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 546.3.2 AS/400 System Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

6.4 BaanERP Installation Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 556.4.1 Host-based (Two-Tier) Installation . . . . . . . . . . . . . . . . . . . . . . . . . . 556.4.2 Client/Server (Three-Tier) Installation . . . . . . . . . . . . . . . . . . . . . . . 56

Chapter 7. BaanERP AS/400 Work Management . . . . . . . . . . . . . . . . . . . . 617.1 AS/400 Work Management Concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

7.1.1 Subsystems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 617.1.2 Jobs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

7.2 BaanERP Work Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 707.2.1 BaanERP Subsystem and Jobs . . . . . . . . . . . . . . . . . . . . . . . . . . . . 707.2.2 Starting Baan Windows (BW) Jobs . . . . . . . . . . . . . . . . . . . . . . . . . 717.2.3 Displaying the BaanERP Subsystem and Jobs . . . . . . . . . . . . . . . . 717.2.4 BaanERP Job Names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

Chapter 8. BaanERP Database on the AS/400 System . . . . . . . . . . . . . . . 758.1 Database Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

8.1.1 Terminology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 768.1.2 AS/400 Integrated File System. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78

8.2 Accessing the Database and IFS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 798.2.1 AS/400 Directory Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 798.2.2 AS/400 Database Access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 818.2.3 Accessing the BaanERP Database . . . . . . . . . . . . . . . . . . . . . . . . . 83

Chapter 9. BaanERP Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 879.1 The BaanERP Main Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87

9.1.1 Starting Baan (BSE) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 879.1.2 Ending Baan (BSE) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 889.1.3 Creating a Baan Collection on this Machine . . . . . . . . . . . . . . . . . . . 899.1.4 Adding a Remote User Entry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 909.1.5 Displaying Standard Out . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 909.1.6 Editing a Stream File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90

9.2 BaanERP Enterprise Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 929.2.1 Device Queues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 929.2.2 Job Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93

Chapter 10. BaanERP Printing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10110.1 AS/400 Printing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101

10.1.1 AS/400 Printer Attachment. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10210.1.2 AS/400 Controllers and Devices . . . . . . . . . . . . . . . . . . . . . . . . . 103

iv BaanERP Implementation for AS/400

10.1.3 AS/400 Output Queue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10410.1.4 Printer Files. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10410.1.5 Spooled Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10410.1.6 Printer Writer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10810.1.7 Remote System Printing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10810.1.8 Client Access/400 Printing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .109

10.2 Spool Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11110.2.1 Creating Output Queues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11110.2.2 Starting AS/400 Printer Writers . . . . . . . . . . . . . . . . . . . . . . . . . . .11410.2.3 Work with Output Queues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .117

10.3 BaanERP Printing Considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11910.3.1 BaanERP Devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11910.3.2 Defining BaanERP Devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .12210.3.3 Printing Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .127

Chapter 11. User Management, Security, and Permissions . . . . . . . . . . .12911.1 Security Overview in an AS/400 System . . . . . . . . . . . . . . . . . . . . . . . .129

11.1.1 Security Levels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .12911.1.2 User Classes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .12911.1.3 User Profiles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13011.1.4 Group Profiles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13011.1.5 Authorities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13111.1.6 Special Authorities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .132

11.2 AS/400 Security in a BaanERP Environment. . . . . . . . . . . . . . . . . . . . .13211.3 BaanERP Security Concepts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .134

11.3.1 BaanERP Security Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13511.3.2 BaanERP Security Mechanism on the AS/400. . . . . . . . . . . . . . . .13711.3.3 DB2/400 User Administration . . . . . . . . . . . . . . . . . . . . . . . . . . . .14111.3.4 Adding AS/400 Users . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .146

Chapter 12. Backup and Recovery for BaanERP . . . . . . . . . . . . . . . . . . . .14912.1 Backup and Recovery Requirements . . . . . . . . . . . . . . . . . . . . . . . . . .14912.2 BaanERP Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .149

12.2.1 Integrated File System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .14912.3 Backup Facilities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .150

12.3.1 OS/400 Save and Restore Commands . . . . . . . . . . . . . . . . . . . . .15412.3.2 Save-While-Active . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15612.3.3 Concurrent Saves . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15812.3.4 Journaling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15812.3.5 Commitment Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .162

12.4 Saving in a BaanERP Environment . . . . . . . . . . . . . . . . . . . . . . . . . . . .16312.4.1 Initial BaanERP Save . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .16412.4.2 Weekly BaanERP Save . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .16712.4.3 Daily BaanERP Save. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .167

12.5 Restoring in a BaanERP Environment . . . . . . . . . . . . . . . . . . . . . . . . . .16712.5.1 Restoring Entire System and BaanERP Environment . . . . . . . . . .16712.5.2 High Availability Solutions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .172

Chapter 13. System Performance Tuning . . . . . . . . . . . . . . . . . . . . . . . . .17713.1 Performance Concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .177

13.1.1 Queuing Concepts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .17713.1.2 Response Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .17913.1.3 Dynamic Priority Scheduling . . . . . . . . . . . . . . . . . . . . . . . . . . . . .182

13.2 Performance Analysis—An Approach . . . . . . . . . . . . . . . . . . . . . . . . . .184

v

13.3 AS/400 System Monitoring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18513.3.1 AS/400 Performance Indicator Guidelines . . . . . . . . . . . . . . . . . . 18513.3.2 Using AS/400 Native Commands . . . . . . . . . . . . . . . . . . . . . . . . . 18813.3.3 AS/400 System Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18913.3.4 AS/400 System and Disk Status. . . . . . . . . . . . . . . . . . . . . . . . . . 18913.3.5 Active Jobs on the AS/400 System . . . . . . . . . . . . . . . . . . . . . . . 19213.3.6 Collecting AS/400 Performance Data . . . . . . . . . . . . . . . . . . . . . . 19513.3.7 AS/400 Performance Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197

13.4 AS/400 System Tuning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20013.4.1 Initial AS/400 Tuning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20013.4.2 Expert Cache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20613.4.3 Set Object Access (SETOBJACC) Command . . . . . . . . . . . . . . . 20713.4.4 Run Priority . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20813.4.5 Separate Memory Pool for a BaanERP BSE . . . . . . . . . . . . . . . . 20913.4.6 Installing Additional BaanERP BSEs . . . . . . . . . . . . . . . . . . . . . . 21013.4.7 LAN Communications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210

Appendix A. Adding a User Auxiliary Storage Pool . . . . . . . . . . . . . . . . . . .217A.1 Checking the Disk Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .217A.2 Configuring a New User ASP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .218

A.2.1 Starting Dedicated Service Tools. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .218

Appendix B. LAN/TCP Configurations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .223B.1 TCP/IP Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .223B.2 Network Environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .223B.3 Step-by-Step Configuration of TCP/IP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .224

B.3.1 Scenario. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .224B.3.2 Creating a TCP/IP Interface. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .226B.3.3 Creating a TCP/IP Host Table Entry . . . . . . . . . . . . . . . . . . . . . . . . . . .227B.3.4 Configuring Local Domain and Host Name . . . . . . . . . . . . . . . . . . . . . .229B.3.5 Starting TCP/IP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .229B.3.6 Verifying TCP/IP Connection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .230

B.4 Connecting through a Gateway or Different Network. . . . . . . . . . . . . . . . . . .232B.4.1 Scenario. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .232B.4.2 Route Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .233

B.5 Starting an FTP Session . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .234

Appendix C. Fiber-Optics Connection for a Three-Tier Configuration . . .237C.1 Introduction to OptiConnect/400 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .237C.2 OptiMover for OS/400 (5799-FWQ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .237C.3 Three-Tier Configurations Using OptiMover for OS/400 . . . . . . . . . . . . . . . .238C.4 BaanERP Server Location . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .240C.5 Configuring and Ordering Process. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .241

Appendix D. Sizing Considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .243D.1 Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .243D.2 Sizing Methodology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .243D.3 Batch Processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .244D.4 Network Sizing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .245D.5 Memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .245D.6 BaanERP Sizing Considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .246

Appendix E. Problem Determination . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .247E.1 BaanERP System Logs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .247

vi BaanERP Implementation for AS/400

E.2 Baan Windows (BW) Client Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254E.2.1 BW Message Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254E.2.2 BW Logs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255

E.3 Baan Windows (BW) Programs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258E.4 AS/400 QHST System Log . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258E.5 AS/400 Message Queues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260E.6 Working with AS/400 Job Logs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261E.7 AS/400 Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265

E.7.1 BaanERP AS/400 Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272E.8 BaanERP Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272

E.8.1 The BaanERP Libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272E.8.2 The BaanERP IFS Directory Structure . . . . . . . . . . . . . . . . . . . . . . . . . 273E.8.3 The BaanERP Profiles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273

E.9 OptiMover/400. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274E.10 Common Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274

E.10.1 Unable to Start BaanERP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275E.10.2 Running BaanERP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276

E.11 Qshell Interpreter (QSH) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276E.11.1 QSH Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276E.11.2 Starting QSH. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278E.11.3 Using QSH for Problem Determination . . . . . . . . . . . . . . . . . . . . . . . . 279

E.12 AS/400 Communications Trace. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279E.13 AS/400 Job Trace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283E.14 Preparing for IBM Remote Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286

Appendix F. Support for BaanERP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289F.1 Marketing and Technical Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289

F.1.1 Competence Centers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289F.1.2 AS/400 Technology Solutions Center . . . . . . . . . . . . . . . . . . . . . . . . . . 291F.1.3 IBM Global Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291

F.2 Defect Support. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292F.2.1 Baan Support Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292F.2.2 IBM AS/400 Support Services. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295

F.3 Additional Sources of Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298F.3.1 IBM Web Site . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298F.3.2 AS/400 Web Site . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298F.3.3 COMMON . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298F.3.4 Baan Web Site . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299F.3.5 BaanERP Web Site . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299F.3.6 Other Baan Web Sites. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299F.3.7 Baan World Users . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300F.3.8 BaanWorld. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300F.3.9 Baan Education or Training. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301

Appendix G. Supplementary and Complementary Products . . . . . . . . . . . 303G.1 AS/400 Licensed Program Products and Features. . . . . . . . . . . . . . . . . . . . 303

G.1.1 AS/400 Operating System (OS/400) Features . . . . . . . . . . . . . . . . . . . 303G.1.2 AS/400 Licensed Program Products. . . . . . . . . . . . . . . . . . . . . . . . . . . 303

G.2 Baan Solutions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304G.2.1 The BaanCAPPS Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304G.2.2 Directory of Baan Software Alliances . . . . . . . . . . . . . . . . . . . . . . . . . . 304

Appendix H. Data Porting Considerations . . . . . . . . . . . . . . . . . . . . . . . . . . 321H.1 BaanERP Exchange Utility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321

vii

H.1.1 Overview of BaanERP Exchange . . . . . . . . . . . . . . . . . . . . . . . . . . . . .321

Appendix I. The Integrated PC Server Using Windows NT . . . . . . . . . . . . .329I.1 Advantages of the Windows NT Server on the AS/400 System . . . . . . . . . . .331I.2 BaanERP and Microsoft Windows NT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .332

Appendix J. Sample Save Programs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .333J.1 Creating Message Queue. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .333J.2 Starting the BaanERP Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .333J.3 Daily Backup. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .334J.4 Weekly Backup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .334

Appendix K. Special Notices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .337

Appendix L. Related Publications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .339L.1 International Technical Support Organization Publications . . . . . . . . . . . . . .339L.2 Redbooks on CD-ROMs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .339L.3 Other Publications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .340

How to Get ITSO Redbooks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341How IBM Employees Can Get ITSO Redbooks . . . . . . . . . . . . . . . . . . . . . . . . . .341How Customers Can Get ITSO Redbooks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .342IBM Redbook Order Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .343

List of Abbreviations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345

Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347

ITSO Redbook Evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 357

viii BaanERP Implementation for AS/400

Figures

1. AS/400 Success Factors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12. Available IBM Platforms for BaanERP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43. AS/400 System—An Integrated System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134. AS/400 Advanced Application Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . 145. Qshell Display—bshell6.2 -v Command. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246. Generic View of BaanERP Architecture. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257. Detailed View of BaanERP Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258. BI Client Interface with BaanERP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269. BaanERP Software Environment Architecture. . . . . . . . . . . . . . . . . . . . . . . . . 2710. Job Data Session (ttaad5500m000). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2811. Job Data Sub-session (ttaad5100s000). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2812. Deciphering a Session Name. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2913. Menu Browser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2914. Run Program or Session (ttdsk2080m000) . . . . . . . . . . . . . . . . . . . . . . . . . . . 2915. Packages by Package Combination Session (ttaad1121m000) . . . . . . . . . . . 3116. Components of the Runtime Data Dictionary. . . . . . . . . . . . . . . . . . . . . . . . . . 3217. Shared Memory Data Session (ttaad4150m000) . . . . . . . . . . . . . . . . . . . . . . . 3318. BShell Executes an Application Request . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3419. BaanERP Design Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3520. The ${BSE}/lib/tabledef6.2 File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3621. Database-to-Database Driver Connection Process . . . . . . . . . . . . . . . . . . . . . 3722. Database Definitions Session (ttaad4510m000) . . . . . . . . . . . . . . . . . . . . . . . 3823. Tables by Database Session (ttaad4111m000) . . . . . . . . . . . . . . . . . . . . . . . . 3824. BaanERP—Three Layered Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4125. Host-based Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4226. Client/Server Configuration (Remote Database) . . . . . . . . . . . . . . . . . . . . . . . 4327. Client/Server Configuration (Remote Database Driver and Database) . . . . . . 4428. Multiple Application Servers (Remote Database) . . . . . . . . . . . . . . . . . . . . . . 4529. Multiple Application Servers (Remote Database Driver and Database) . . . . . 4630. Multiple Application Servers/AS/400 (Remote Database) . . . . . . . . . . . . . . . . 4731. Multiple Application Servers/AS/400 (Remote Database and Database Driver)4832. Multiple Database Servers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4933. BaanERP Directory Structure for Two-Tier Support . . . . . . . . . . . . . . . . . . . . 5334. BaanERP Host-based (Two-Tier) Installation Overview . . . . . . . . . . . . . . . . . 5535. BaanERP Directory Structure for Three-Tier Support (QFileSvr.400) . . . . . . . 5636. BaanERP Client/Server Installation (Remote Database and Database Driver) 5737. BaanERP Client/Server Installation (Remote Database) . . . . . . . . . . . . . . . . . 5838. Job Transition States Using the WRKSYSSTS Command . . . . . . . . . . . . . . . 6939. Work with Active Jobs (WRKACTJOB) Display while BaanERP Starts . . . . . . 7140. Work with Active Jobs (WRKACTJOB) Display (BaanERP Started) . . . . . . . . 7241. Work with Active Jobs (WRKACTJOB) Display (Logged on BaanERP Users) 7242. Major Data File Types Supported on the AS/400 System . . . . . . . . . . . . . . . . 7643. AS/00 Library Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7744. AS/400 Relationship of Physical and Logical Files and Access Paths . . . . . . 7845. Add Link (ADDLNK) Command Display . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8046. BaanERP IFS QFileSvr.400 Remote AS/400 System Directory Structure . . . 8147. DB2 for AS/400 Database Access Overview . . . . . . . . . . . . . . . . . . . . . . . . . . 8248. Query/400 Report Used on AS/400 System File QSYSTABLES. . . . . . . . . . . 8549. The BaanERP Main Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8750. Start a Baan Environment (STRBAAN) Display . . . . . . . . . . . . . . . . . . . . . . . . 88

© Copyright IBM Corp. 1998 ix

51. Work with Active Jobs (WRKACTJOB) Display after BaanERP is Started . . . .8852. End a Baan Environment (ENDBAAN) Display. . . . . . . . . . . . . . . . . . . . . . . . .8953. Create a Collection for Baan (CRTBAANCOL) Display . . . . . . . . . . . . . . . . . .8954. Edit Files (EDTF) Display . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9155. Example of Editing Stream File ${BSE}/lib/user/ubsp. . . . . . . . . . . . . . . . . . . .9156. Purge Device Queue Session (ttaad3221m000). . . . . . . . . . . . . . . . . . . . . . . .9257. Job Management Procedure. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9458. Maintain Job Data Session (ttaad5100s000) . . . . . . . . . . . . . . . . . . . . . . . . . .9559. Example of the Prompt Displayed when Date Parameters are Present . . . . . .9660. Add Session to a Job Session (ttaad5102s000) . . . . . . . . . . . . . . . . . . . . . . . .9761. Activating a Job Session (ttaad5203m000). . . . . . . . . . . . . . . . . . . . . . . . . . . .9762. Cancel Jobs Session (ttaad5204m000) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9863. Job History Session (ttaad5510m000) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9864. Print Job History Session (ttaad5411m000) . . . . . . . . . . . . . . . . . . . . . . . . . . .9965. Delete Job History Session (ttaad5210m000). . . . . . . . . . . . . . . . . . . . . . . . . .9966. AS/400 Host Printing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10167. AS/400 Printer Attachment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10268. Data Streams and Printer Devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10569. Create Printer File—Printer Device Type Parameter . . . . . . . . . . . . . . . . . . .10570. Data Stream Transforms when Printing to an IPDS AFP (*YES) Printer . . . .10771. Host Print Transform. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10872. Remote System Printing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10973. TCP/IP LPR and LPD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10974. Create Output Queue (CRTOUTQ) Display (Part 1 of 2) . . . . . . . . . . . . . . . .11175. Create Output Queue (CRTOUTQ) Display (Part 2 of 2) . . . . . . . . . . . . . . . .11276. Create Output Queue (CRTOUTQ) Display (Part 1 of 3) . . . . . . . . . . . . . . . .11377. Create Output Queue (CRTOUTQ) Display (Part 2 of 3) . . . . . . . . . . . . . . . .11378. Create Output Queue (CRTOUTQ) Display (Part 3 of 3) . . . . . . . . . . . . . . . .11479. STRPRTWTR Display (Part 1 of 2). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11580. Additional information for the STRPRTWTR DIsplay (Part 2 of 2) . . . . . . . . .11681. Start Remote Writer (STRRMTWTR) Display . . . . . . . . . . . . . . . . . . . . . . . . .11782. Work with All Output Queues Display . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11883. Option 5 on Output Queue BAANRMTQ Display . . . . . . . . . . . . . . . . . . . . . .11884. BaanERP Device Type—Printer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .12085. BaanERP Device Type—Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .12186. BaanERP Device Type—Direct . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .12287. BaanERP—Device Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .12388. Example of a BaanERP Device Type (Host Printer) . . . . . . . . . . . . . . . . . . . .12389. Example of a BaanERP Device Type (Windows Printer) . . . . . . . . . . . . . . . .12490. Paper Type Display—Session ttaad3110m000 . . . . . . . . . . . . . . . . . . . . . . .12691. New Paper Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .12692. Font and Paper Specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .12793. AS/400 Profiles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13394. BaanERP User File (bsp) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13795. BaanERP Logon Display. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13896. BaanERP Logon and AS/400 User Profiles . . . . . . . . . . . . . . . . . . . . . . . . . .13997. Example of BaanERP Logon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .14098. Database Groups Session in BaanERP . . . . . . . . . . . . . . . . . . . . . . . . . . . . .14199. Database Groups Sub-session in BaanERP. . . . . . . . . . . . . . . . . . . . . . . . . .142100.User Data Session in BaanERP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .143101.User Data Sub-Session in BaanERP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .143102.Database Users Sub-session in BaanERP . . . . . . . . . . . . . . . . . . . . . . . . . .144103.Convert Changes to Runtime Data Dictionary . . . . . . . . . . . . . . . . . . . . . . . .144

x BaanERP Implementation for AS/400

104.Location of the RDBMS Section in the BaanERP Menu Structure . . . . . . . . 145105.Links Between BAAN Users and Database Users Session in BaanERP . . . 146106.CRTUSRPRF—Create User Profile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147107.CRTUSRPRF—Specify the BSE Group Profile. . . . . . . . . . . . . . . . . . . . . . . 147108.CRTUSRPRF—Specify Supplemental Group Profile (BSPGROUP) . . . . . . 148109.Library Save Commands and Save Menu Options . . . . . . . . . . . . . . . . . . . . 151110.Library Restore Commands and Restore Menu Options. . . . . . . . . . . . . . . . 152111.Save Commands for the Integrated File System (IFS) . . . . . . . . . . . . . . . . . 153112.Save and Restore Commands for the Integrated File System (IFS) . . . . . . . 154113.AS/400 Save Menu Display . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164114.First Display after Selecting Option 21 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165115.Second Display after Selecting Option 21 (Part 1 of 2) . . . . . . . . . . . . . . . . . 165116.Second Display after Selecting Option 21 (Part 2 of 2) . . . . . . . . . . . . . . . . . 166117.Restore (RST) Command to Restore a BSE . . . . . . . . . . . . . . . . . . . . . . . . . 169118.Restore Library (RSTLIB) Command Display to Restore Database Tables . 169119.Display Object Description (DSPOBJD) Display—First Screen . . . . . . . . . . 170120.Display Object Description (DSPOBJD) Display—Full Attributes . . . . . . . . . 170121.Display File Description (DSPFD) Display. . . . . . . . . . . . . . . . . . . . . . . . . . . 171122.Display Journal Entries (DSPJRN) Display . . . . . . . . . . . . . . . . . . . . . . . . . . 171123.Apply Journaled Changes (APYJRNCHG) Command Display . . . . . . . . . . . 172124.AS/400 Remote Journaling Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173125.Queuing Concept Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177126.Graph of Queuing Multiplier. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179127.Components of Response Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180128.Components of AS/400 Response Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181129.Work with System Values (WRKSYSVAL) Display . . . . . . . . . . . . . . . . . . . . 189130.Work with System Status (WRKSYSSTS) Display—Paging Data. . . . . . . . . 190131.Work with System Status (WRKSYSSTS) Display—Transition Data . . . . . . 191132.Work with Disk Status (WRKDSKSTS) Display. . . . . . . . . . . . . . . . . . . . . . . 192133.Work with Active Jobs (WRKACTJOB) Display—Status . . . . . . . . . . . . . . . . 193134.Work with Active Jobs (WRKACTJOB) Display—Elapsed Data . . . . . . . . . . 194135.Work with Subsystem Jobs (WRKSBSJOB) Display. . . . . . . . . . . . . . . . . . . 195136.Start Performance Monitor (STRPFRMON) Display—F4 Prompt . . . . . . . . . 196137.Work with System Activity (WRKSYSACT) Display. . . . . . . . . . . . . . . . . . . . 198138.Performance Tools Main Menu (PERFORM) Display . . . . . . . . . . . . . . . . . . 199139.Work with System Status (WRKSYSSTS) Display . . . . . . . . . . . . . . . . . . . . 201140.Work with System Values (WRKSYSVAL) Display—Option 2 (Change) . . . 202141.Work with Shared Storage Pools (WRKSHRPOOL) Display—Tuning Data . 203142.Work with Disk Status (WRKDSKSTS) Display. . . . . . . . . . . . . . . . . . . . . . . 206143.Work with Shared Pools (WRKSHRPOOL) Display—Pool Data. . . . . . . . . . 207144.Clear Pool (CLRPOOL) Display. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208145.Set Object Access (SETOBJACC) Display . . . . . . . . . . . . . . . . . . . . . . . . . . 208146.Change Job (CHGJOB) Display . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209147.Change Subsystem Description (CHGSBSD) Display . . . . . . . . . . . . . . . . . 210148.Change Line Description Token-Ring (CHGLINTRN) Display. . . . . . . . . . . . 211149.Display Controller Description (DSPCTLD) *TMRRTY Display . . . . . . . . . . . 211150.Add TCP/IP Interface (ADDTCPIFC) Display . . . . . . . . . . . . . . . . . . . . . . . . 213151.Add TCP/IP Route (ADDTCPRTE) MTU Parameter Help Text. . . . . . . . . . . 214152.Change TCP/IP Attributes (CHGTCPA) TCPRCVBUF Parameter Help Text 215153.Work with Disk Status (WRKDSKSTS) Display. . . . . . . . . . . . . . . . . . . . . . . 217154.Work with Disk Status (WRKDSKSTS) Display—ASP and Disk Protection . 218155.Power Down System (PWRDWNSYS) Display . . . . . . . . . . . . . . . . . . . . . . . 219156.Manual IPL—IPL or Install the System Display . . . . . . . . . . . . . . . . . . . . . . . 219

xi

157.Dedicated Service Tools (DST) Sign On Display . . . . . . . . . . . . . . . . . . . . . .220158.Dedicated Service Tools (DST) Main Menu Display . . . . . . . . . . . . . . . . . . .220159.DST Specify ASP to Move Disk Units Display . . . . . . . . . . . . . . . . . . . . . . . .220160.Ethernet Network Example. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .224161.Work with Hardware Resources (WRKHDWRSC) Display . . . . . . . . . . . . . .225162.Create Line Description (Ethernet) (CRTLINETH) Display. . . . . . . . . . . . . . .226163.CFGTCP Menu Display—Work with TCP/IP Interfaces . . . . . . . . . . . . . . . . .226164.Add TCP/IP Interface (ADDTCPIFC) Display. . . . . . . . . . . . . . . . . . . . . . . . .227165.CFGTCP Menu Display—Work with TCP/IP Interfaces . . . . . . . . . . . . . . . . .227166.CFGTCP Menu Display—Work with TCP/IP Host Table Entries . . . . . . . . . .228167.Add TCP/IP Host Table Entry (ADDTCPHTE) Display. . . . . . . . . . . . . . . . . .228168.CFGTCP Menu Display—Work with TCP/IP Host Table Entries . . . . . . . . . .228169.Change TCP/IP Domain (CHGTCPDMN) Display . . . . . . . . . . . . . . . . . . . . .229170.Work with Active Jobs (WRKACTJOB) Display—QTCPIP Job . . . . . . . . . . .230171.PING LOOPBACK Display—Successful Ping Messages. . . . . . . . . . . . . . . .231172.PING RMTSYS Display—Successful Ping Messages . . . . . . . . . . . . . . . . . .231173.PING RMTSYS—Unsuccessful Ping Messages . . . . . . . . . . . . . . . . . . . . . .232174.Two Ethernet LANs Connected with Routers Example . . . . . . . . . . . . . . . . .233175.CFGTCP Menu Display—Work with TCP/IP Routes . . . . . . . . . . . . . . . . . . .233176.Add TCP/IP Route (ADDTCPRTE) Display . . . . . . . . . . . . . . . . . . . . . . . . . .234177.CFGTCP Menu Display—Configure TCP/IP Applications . . . . . . . . . . . . . . .235178.Change FTP Attributes (CHGFTPA) Display . . . . . . . . . . . . . . . . . . . . . . . . .235179.OptiMover and BaanERP Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .238180.A Single Path Network . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .239181.A Dual Path Network . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .240182.BaanERP Server Placement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .241183.Work with Object Links (WRKLNK) Display of BaanERP System Logs. . . . .247184.Display Stream File (DSPSTMF) Display of BaanERP System Log . . . . . . .248185.Edit Files (EDTF) Display of BaanERP System Log . . . . . . . . . . . . . . . . . . .248186.Edit Files (EDTF) Display of a Directory . . . . . . . . . . . . . . . . . . . . . . . . . . . . .249187.QSH Display of BaanERP System Logs—‘ls -ltr’ Command . . . . . . . . . . . . .250188.QSH Display of BaanERP System Log—‘cat’ Command. . . . . . . . . . . . . . . .251189.Windows 95 Explorer Display of BaanERP System Logs . . . . . . . . . . . . . . .251190.Word Pad Display of a BaanERP System Log . . . . . . . . . . . . . . . . . . . . . . . .252191.Display Error Log Session (ttstperrlog). . . . . . . . . . . . . . . . . . . . . . . . . . . . . .253192.Select Device Session (ttstpsplopen) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .253193.Display Browser of BaanERP Log Using Session ttstperrlog. . . . . . . . . . . . .254194.BW Pop-up Message Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .254195.BW Option Dialog Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .255196.Windows 95 BW Shutdown Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .255197.MS-DOS Text of BW Logs—‘dir’ Command. . . . . . . . . . . . . . . . . . . . . . . . . .256198.MS-DOS Text of a BW Log—‘type bw.log |more’ Command . . . . . . . . . . . . .256199.Windows 95 Explorer Display of BW Logs . . . . . . . . . . . . . . . . . . . . . . . . . . .257200.WordPad Display of a BW Log . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .257201.BW Menu and Selected Program Window . . . . . . . . . . . . . . . . . . . . . . . . . . .258202.Display Log (DSPLOG) Display—F4 Prompt . . . . . . . . . . . . . . . . . . . . . . . . .259203.Display Log (DSPLOG) Display—Contents . . . . . . . . . . . . . . . . . . . . . . . . . .259204.Display Message (DSPMSG) Display—User BSP . . . . . . . . . . . . . . . . . . . . .260205.Display Message (DSPMSG) Display—QSYSOPR . . . . . . . . . . . . . . . . . . . .261206.AS/400 Job Log Display . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .262207.Work with Job (WRKJOB) Display of a Singular Job . . . . . . . . . . . . . . . . . . .263208.Work with Job (WRKJOB) Display of Multiple Jobs . . . . . . . . . . . . . . . . . . . .263209.AS/400 Operations Navigator—Job Log Selection Window. . . . . . . . . . . . . .264

xii BaanERP Implementation for AS/400

210.AS/400 Operations Navigator—Job Log Display. . . . . . . . . . . . . . . . . . . . . . 265211.AS/400 System Message Display—F1 Key. . . . . . . . . . . . . . . . . . . . . . . . . . 268212.AS/400 System Message Display—F9 Key. . . . . . . . . . . . . . . . . . . . . . . . . . 269213.QPJOBLOG Spooled File Display . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269214.QPJOBLOG Spooled File Display . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271215.AS/400 Operations Navigator—Message Details Display . . . . . . . . . . . . . . . 272216.Work with Object Links (WRKLNK) Display of BaanERP User Profiles . . . . 273217.System Service Tools (SST) Display—Main Menu . . . . . . . . . . . . . . . . . . . . 279218.System Service Tools (SST) Display—Option 1 . . . . . . . . . . . . . . . . . . . . . . 280219.System Service Tools (SST) Display—Option 3 . . . . . . . . . . . . . . . . . . . . . . 280220.System Service Tools (SST) Display—F6 Key . . . . . . . . . . . . . . . . . . . . . . . 281221.System Service Tools (SST) Display—Option 3 . . . . . . . . . . . . . . . . . . . . . . 281222.System Service Tools (SST) Display—Option 6 (Part 1 of 2) . . . . . . . . . . . . 282223.System Service Tools (SST) Display—Option 6 (Part 2 of 2) . . . . . . . . . . . . 282224.Start Communications Trace (STRCMNTRC) Display . . . . . . . . . . . . . . . . . 283225.End Communications Trace (ENDCMNTRC) Display . . . . . . . . . . . . . . . . . . 283226.Start Service Job (STRSRVJOB) Display . . . . . . . . . . . . . . . . . . . . . . . . . . . 284227.Start Debug (STRDBG) Display . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284228.Trace Job (TRCJOB) Display . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285229.Change Job (CHGJOB) Display . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285230.QPSRCTRC Job Trace Spooled File Display . . . . . . . . . . . . . . . . . . . . . . . . 286231.AS/400 BaanERP Marketing and Technical Support . . . . . . . . . . . . . . . . . . 289232.AS/400 BaanERP Defect Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292233.Baan Customer Support Web Site. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294234.BaanERP Exchange Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322235.BaanEPR Exchange Scheme Session (tuxch0501m000) . . . . . . . . . . . . . . . 323236.BaanERP ASCII Files Session (tuxch0102m000) . . . . . . . . . . . . . . . . . . . . . 323237.BaanERP ASCII File Fields Session (tuxch0503m000) . . . . . . . . . . . . . . . . 324238.BaanERP Table Relations (Import) Session (tuxch0521m000). . . . . . . . . . . 325239.BaanERP Field Relations (Import) Session (tuxch0522m000) . . . . . . . . . . . 325240.BaanERP Table Relations (Export) Session (tuxch0531m000) . . . . . . . . . . 326241.BaanERP Field Relations (Export) Session (tuxch0532m000) . . . . . . . . . . . 327242.AS/400 Integration of NT Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329243.Example of QNTC File System and Integrated File System . . . . . . . . . . . . . 331

xiii

xiv BaanERP Implementation for AS/400

Tables

1. Summary of Terms. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 782. BaanERP Installed Libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1503. OptiMover/400 Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2424. Directory of Baan Software Alliances. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304

© Copyright IBM Corp. 1998 xv

xvi BaanERP Implementation for AS/400

Preface

The BaanERP implementation for AS/400 redbook offers a collection of knowledge gained from Baan consultants and AS/400 professionals who have previous experience with Baan IV, BaanERP, and the AS/400 system. This redbook provides a detailed guide that explains specific tasks associated with implementing BaanERP on the AS/400 system. In this redbook, you explore the following topics:

• Introduction to the AS/400 system • BaanERP architecture • Topology • Installation and configuration • Database • BaanERP operations • Data exchange • AS/400 work management • System performance monitoring • Printing • User management • Backup and recovery

Plus, this redbook addresses problem determination, fiber-optics connection, sizing, support infrastructure, and supplemental products from solutions developers or business partners.

This redbook is designed to assist BaanERP customers, Baan consultants, business partners, and IBM technical and service representatives. It targets these professionals who are directly involved with implementing a total business solution consisting of AS/400 hardware, OS/400, BaanERP solutions, DB2/400 database, and supplemental solution products.

The Team That Wrote This Redbook

This redbook was produced by a team of specialists from around the world working at the International Technical Support Organization, Rochester Center.

Jaejin Ahn is an Advisory International Technical Support Specialist for the AS/400 system at the ITSO Rochester Center. He has 16 years of experience at IBM. He belongs to the application development team and is responsible for ERP solutions.

Clinton Arms is a Technology Consultant for Open Systems Technologies in Grand Rapids, Michigan. He has three years of experience in the Baan tools area. Before joining OST, Clinton spent two years working at the Baan Support Center in North America, as a Customer Support Representative for the Tools team with expertise in the Exchange module.

Carlos Gasco is an Advisory Systems Specialist for SBS Aitana in Spain, as well as an IBM Certified Specialist. He has 20 years of experience with the S/38 and AS/400 systems. He works in South America and France as International Advisor. His areas of expertise include database design, application development, technical support, programming, security, and communications on the AS/400 system.

© Copyright IBM Corp. 1998 xvii

Tim Knotts is a Technology Specialist for the Systems Consulting Group of Crowe Chizek in Cleveland, Ohio. He has 11 years of experience in the Information Technologies field, including 10 years of working with AS/400 systems. Tim is an IBM Certified Specialist, MQSeries, with areas of expertise in Application Development and ERP solutions for the IBM Midrange Systems. He has experience with both the BaanERP software and the AS/400 system. He spent the past year supporting Baan for both Crowe Chizek clients and the Baan consultants within his firm.

Lloyd Perera is a Senior IT Specialist in Australia. He has 23 years of experience in the Information Processing field. He has worked at IBM for 21 years. His areas of expertise include AS/400 performance measurement, tuning, and capacity planning. He has co-authored ITSO redbooks on performance management, client/server performance, and AS/400 server capacity planning. He is currently on assignment to the Technology Solutions Center in Rochester.

Doug Schneider is a Systems Engineer for Open Systems Technologies in Grand Rapids, Michigan. He has 22 years of experience in the IBM Midrange System field. He has managed and provided technical services for Fortune 500 and 1000 corporations in multi-tier and multi-site AS/400 ERP environments.

Dan Sundt is a Senior Consultant for Keane, Inc. of Boston, Massachusetts. He has seven years of experience in the AS/400 field, and has worked on various teams within the IBM AS/400 Support Center in Rochester, Minnesota. His areas of expertise include OS/400 and Licensed Internal Code. He is currently part of the support team for ERP solutions running on the AS/400 system.

Thanks to the following people for their invaluable contributions to this project:

Jim VanderMeyOpen Systems Technologies

Scott MooreLee SandstromMike SmithEric WillIBM Rochester

Comments Welcome

Your comments are important to us!

We want our redbooks to be as helpful as possible. Please send us your comments about this or other redbooks in one of the following ways:

• Fax the evaluation form found in “ITSO Redbook Evaluation” on page 357 to the fax number shown on the form.

• Use the electronic evaluation form found on the Redbooks Web sites:

For Internet users http://www.redbooks.ibm.com

For IBM Intranet users http://w3.itso.ibm.com

• Send us a note at the following address:

[email protected]

xviii BaanERP Implementation for AS/400

Chapter 1. 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 BaanERP.

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 the highest level of "ease-of-use" in today's market. The initial ease of implementation and the on-going ease of use, combined with its reliable integration, makes the AS/400 system a high-performing, low-cost business solution.

1.1 AS/400 Success Factors

The AS/400 system has a long and successful history worldwide. Presently, there are more than 550000 AS/400 systems installed in over 140 countries. There are also more than 28000 business applications worldwide. The reason for this success is founded in six basic factors, which are presented in Figure 1, and described in the following list.

Figure 1. AS/400 Success Factors

• 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

© Copyright IBM Corp. 1998 1

investment in information technology. The transparent migration of user applications to 64-bit RISC-based hardware technology is a recent example of the benefit of the AS/400 architecture.

• High level of integration

The AS/400 system offers the highest integration of both its hardware and software components. Hardware, microcode, the operating system, and IBM middleware are tightly interlaced allowing maximum exploitation of all available computing resources. Integration of Input/Output Processors (IOPs) and Direct Access Storage Devices (DASD) yields valuable benefits (for example, an extremely high level of reliability and availability). The AS/400 system's availability techniques range from using an Uninterruptible Power Supply (UPS), RAID-5 protection, and DASD mirroring all the way to continuous operation based on a dual-system availability solution. Other benefits from this kind of integration are proactive. Some of these benefits include remote hardware and software maintenance, or detailed and informative diagnostic aids for problem determination and monitoring and future projection of system performance.

The following items are some of the features integrated into the AS/400 system:

– System availability:

• Battery Backup Unit (BBU) • Continuously Powered Mainstorage (CPM) • Uninterruptible Power Supply (UPS) • Protection against system failures • Backup database servers and systems • Mirroring and RAID-5 (both at minimal performance cost) • Menu-driven backup and recovery

– Standard ease-of-use functions for:

• System customization • Automatic procedures, start-up programs, and so on • System values • System tuning (managing memory, disk)

– Easy system management through:

• Easy hardware configuration and reconfiguration • Autoconfiguration of devices • Integrated File System accessible through a standard AS/400 interface

(DB2/400, PC, or UNIX file system) • Minimal database installation, management, and operations activity • Simple menu-driven functions • Balancing data across disk units • Native performance optimization of DB2/400

– BaanERP software pre-installation on the AS/400 system, including:

• Customized AS/400 system configuration • Pretested plug-and-play AS/400 system solution • Minimized installation effort (approximately one week less compared to

loading and configuration at the customer site)

2 BaanERP Implementation for AS/400

– Database management system integrated with OS/400:

• No additional cost for database software • Integrated database administration tools and automated self-managing

database administration functions • Excellent performance through microcode-imbedding, fine tuned with

hardware and OS/400 • Support for parallel database operations, symmetric multiprocessing

(SMP), as well as parallel I/O processing

• Interoperability

The wide range of communications protocols supported by the AS/400 system include:

– SNA (APPC, APPN, and HPR) – TCP/IP – OSI – NetBIOS – IPX/SPX – AnyNet

These protocols run over the following networks of choice:

– ATM (Asynchronous Transfer Mode) – Token-Ring and Ethernet – FDDI, Frame Relay, and Wireless – SDLC, X.25, and X.21 – Async, BSC, and so on

The AS/400 system also supports the following functions:

– Kernel Threads – Java Virtual Machine (JVM) – Lotus Domino for AS/400 – Integrated File System (IFS) – Internet – Integrated PC Server (IPCS, formerly called FSIOP) running on the

following server environments: • IBM LAN Server • Novell NetWare • Lotus Notes • Microsoft NT

• 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)

Note: BaanERP clients and servers must be connected through a TCP/IP protocol connection. It is also possible to run TCP/IP connections over an SNA network using Internet Protocol (IP) over SNA.

AS/400 Introduction 3

• Scalability

AS/400 system processor models cover a wide range of performance capacities. For the BaanERP environment, this means the AS/400 system can support from a few users to thousands of users. Many of these AS/400 system 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/400 system's low cost of operation in the long term.

• Price and performance

Many independent analysts have confirmed that the AS/400 system represents a cost effective platform in the long run. The AS/400 system's extensive integration yields significant cost advantages, high availability, easy system management, and significant investment protection. This has been the basis for its ten-year success in the dynamic world of information technology. The AS/400 system delivers high computing performance at a low cost of ownership and, therefore, scores high in customer satisfaction.

1.2 IBM Server Positioning

The AS/400 system is one of the four existing IBM system platforms on which ERP applications can be implemented besides the S/390, RS/6000, and IBM Netfinity Servers. IBM's offerings in the ERP environment afford you the choice of a range of products differing in capacity and the level of integration.

Figure 2. Available IBM Platforms for BaanERP

The high-end solution for large customers is clearly provided by the IBM S/390 database server with a DB2 database. The AS/400 system, along with IBM's AIX platforms (RS/6000 and SP), covers the medium-to-large customer range. These products also play an important role in the small business area. IBM Netfinity Servers cover the low-end capacity range for small-to-medium size customers.

S/390

RS/6000

Customization Inte gration

Capacit y

Netfinit y Servers

AS/400e

4 BaanERP Implementation for AS/400

Chapter 2. Introduction to BaanERP

This section briefly introduces the Baan Company. It also presents an overview of the pressures from the Information Technology industry that prompted the Baan Company to invest in development of the BaanERP product.

2.1 The Baan Company

The Baan Company started offering enterprise business management software in 1978. The company’s impact reflects its commitment to improving business processes, flexibility, aggressive global competitiveness, and leadership in the open systems and client/server computing environment.

Since delivering its first information system in 1982, Baan has developed into a leading innovator of information systems, providing scalable enterprise business solutions. It has more than 3000 enterprises implemented in 5000 sites worldwide. Baan operates from its current dual headquarters in Putten, The Netherlands and Reston, Virginia (USA). As an entity, Baan targets its software at organizations needing to increase their market advantage and global competitiveness by continually improving business processes.

Baan’s position as a leading applications software company that delivers more than basic ERP solutions has come through acquisition and its alignment with certain business partners. Its new offerings in Customer Interaction Software (CIS) and supply chain management exemplify the company’s belief that basic ERP functionality does not meet all of the needs of many organizations. Therefore, this functionality must be supplemented with related applications that address a company’s value chain.

Even as Baan broadens its focus beyond ERP, market analysts consider it to be one of the principal ERP vendors competing for the largest enterprise-wide sales. The company’s historic competitive success continues in the small to medium-sized companies.

2.2 Baan’s Industry Focus

Focusing on the manufacturing market, Baan has functional applications in many market segments. Within the manufacturing market, the following five specific industries are the focus of Baan’s attention:

• Automotive • Electronics • Process • Aerospace and defense • Hybrid manufacturing

The company’s choice of these industries reflects an emphasis in three areas: well-defined supply and demand chains, a focus on industry best practices, and continuous re-assessment of business processes and underlying information technology infrastructure. In addition to this, Baan’s continual expansion is producing increasing expertise for the company in other vertical industries such as health care, utilities, and financial services.

© Copyright IBM Corp. 1998 5

2.3 Industry Pressures

The combination of state-of-the-art technology and inherent simplicity is becoming more and more vital in addressing the challenge to modern business. There is a need to simultaneously and continuously innovate and rapidly respond to new challenges to meet short term deadlines such as the Year 2000 or Euro-currency directives.

This pressure for change often combines with a shortage or lack of information technology skills, which translates into a rapidly growing demand for highly integrated ERP solutions in the marketplace. This is especially true for mid-sized companies.

2.4 The BaanERP Solution

BaanERP is a suite of components designed and created for those enterprises engaged in the manufacturing, distribution, or servicing of products in their chosen markets. The requirements of these enterprises are always evolving, and the BaanERP solution has changed and evolved continuously to provide innovative solutions to Baan's customers.

The driving factors that define Baan's solutions are flexibility, comprehensiveness, high value functionality and scalability. Customers expect a combination of integrated solutions from a single source with a best-of-breed functionality. They need solutions that provide high value to the individual user, to local operations in a variety of geographic and industrial settings, and to senior management. Finally, they expect an environment that does not lock them into a static legacy that becomes obsolete almost as it is implemented, but that allows them to maintain a competitive advantage and financial success in their chosen markets.

In 1998, BaanERP is at the core of the BaanSeries strategy, delivering an ongoing stream of high value components to satisfy market requirements. This framework allows solutions to be assembled, packaged, and delivered based on the unique needs of a given market, industry, or individual customer. The definition of the "base" ERP solution within this strategy continues to evolve over time, as various components are packaged for the markets that Baan serves. These packages bundle components from the ERP suite with elements from Baan affiliates and certified partners to address the needs of a variety of geographic, industrial, and channel specific audiences.

2.5 Key Strategies

The ERP components can be grouped together into the following topics:

• Dynamic Enterprise Modeling Strategy Execution (DEMSE) • Technology and Architecture • Logistics Components: Manufacturing and Projects • Logistics Components: Sales, Distribution, and Warehousing • Baan Service • Baan Finance

6 BaanERP Implementation for AS/400

2.5.1 DEMSEPivotal to the Baan Company’s success is a continuous effort to reduce the complexity of software and increase customer value. Baan makes this possible with its open architecture, which allows customers to migrate to new technologies and product releases at their own pace. Baan also uses its unique Dynamic Enterprise Modeling: Strategy Execution (DEMSE) approach, which puts business requirements at the heart of the implementation process.

Through DEMSE, Baan protects the user from inherent complexities in application and technology systems. It does this by providing a business and process modeling framework that acts as a buffer between corporate business strategies and the processes, applications, and technologies that are necessary to execute them. This both simplifies and enables agility by using the common framework rather than having to deal with lower level integration decisions.

At its core, DEMSE makes use of what Baan calls "reference models." Seen as a blueprint of a typical organizational configuration, the interrelationship between function, process, structure, and control mechanisms within a company make up a reference model. The ability of a company implementing Baan to create business specific models without having to drastically rewrite software explains Baan’s attractiveness in implementation. Baan’s strategy is to deliver scalable, flexible solutions that can be implemented rapidly in heterogeneous computing environments and reconfigured as business conditions and needs change. This rapid implementation and easy reconfiguration clearly differentiates Baan in its market area.

In 1996, Baan introduced Dynamic Enterprise Modeling as a set of tools used to create models of Business Functions (what a company does), Processes (how it is done), and Organizations (who does it). These models are fully integrated into the application suite, which allows automatic configuration of parameters, security profiles, and user desktops. Most importantly, the models allow time phasing and ongoing changes in the way the system is deployed and utilized, so businesses may adapt the system to their changing needs rather than be locked into the decisions they make early in the implementation phases.

DEMSE (Dynamic Enterprise Modeling: Strategy Execution) is the successor to DEM. It includes three new modeling tools, integrated workflow, and new tools for linking the execution models to corporate goals and strategies for the first time. The Extended Enterprise Models allow definition of all entities (warehouses, plants, sales offices, and so on) in the organization in a graphical format. Business Control Models are introduced, defining the relationships between these entities, and the flow of supply, demand, and materials through the Value Chain or Value Web that is defined. Business Functions and Processes are tied to the Control Models to define the "what" and "how" layers of execution. Data Models define the flow of information and the technical deployment of the system. The workflow engine enables the fully integrated and automated management and execution of processes for an enterprise that is focused on Business Process Re-engineering (BPR) and process optimization. The Strategy Repository allows the input of corporate goals, challenges to achieve those goals, and links to the strategies (Control and Process Models) used to overcome the challenges and achieve the goals.

The DEMSE architecture is the buffer between a business and the changes in the underlying information technology. The actual components used to execute the

Introduction to BaanERP 7

strategies (meaning the programs or sessions that are linked to the Process Models) can be changed as new components are released. This allows the enterprise to leverage the ongoing innovation from the Baan Series while minimizing the impact on the business. The models also provide a powerful means of bundling and packaging solutions within the Baan Series strategy. These packages, as described above, incorporate BaanERP, affiliate, and partner offerings with Best Practice Models that can be implemented generically or easily and quickly tailored to meet the unique needs of a given situation. DEMSE is a key and unique element in the Baan offering. It delivers on the needs for speed, flexibility, and simplicity that our markets require.

2.5.2 Technology and ArchitectureThe architecture and technology of Baan's ERP solution offers the benefits of an open architecture, independence from related technologies (database, operating system, user interface), and compliance with industry standards in a scalable solution. Significant enhancements have been realized in the creation of components that are independent of middleware layers and that communicate using Business Object Interfaces (BOIs). The enormous investment made in this effort across the entire BaanERP suite results in a future compatible system that new components can easily link to, including those developed using Baan’s Object Technology (Nucleus). It also enables the "assemble to order" bundling and packaging requirements of the BaanSeries. Baan affiliates Aurum and Berclain (now BaanFOS and BaanSCS) will utilize this Extended Middleware Architecture (XMA) to integrate with the BaanERP components. Integration toolkits are used to enable any partner to easily link their solutions to the Baan components.

At the application layer, significant architectural changes are also delivered. These changes include advancements in multi-site structures (with new layers defined as Logistics Entities and Enterprise Units opening many more possibilities), and simplified but more robust management of common data on products, trading partners, warehousing, calendars, costing, and pricing. These changes expand the control an enterprise has in creating either centralized or decentralized deployment of the system, and tie related data to the components where it is utilized. This is a key factor that allows the components to be bundled or implemented in a more loosely coupled fashion. They offer benefits of both integration and component independence, based on the requirements of any given situation. As an example, one solution may centralize control of all customer data and sales processes. Another solution may distribute control to field operations, and enable detached interactive selling solutions using Aurum's Salestrak and BaanERP.

The Internet related offerings in BaanERP are also of significance in this area. Baan Data Navigator offers an intuitive drag and drop interface that allows even a casual or untrained user to view data from multiple sources in a simple, graphical format. Data from BaanERP, affiliates, partners, or independent third parties, either on intranet servers or Internet pages, can be readily accessed with this tool. Standard browser interfaces can be used to view and access the system. Web-based applications for e-commerce, product catalog functions, remote inquiries, and Order Entry are also enabled. Baan continues to release components in the Internet area, based on the value they add in terms of competitive advantage and financial advantage for our customers.

8 BaanERP Implementation for AS/400

2.5.3 Logistics Components—Manufacturing and ProjectsFunctionality, for manufacturers, has been a major strength of the BaanERP solution since the first release of the Triton product (which is a predecessor of Baan IV). This strength continues to be enhanced in response to changes and evolutions in the marketplace. Support is offered for manufacturing models from batch-based process manufacturing through the full range of discrete production paradigms (from Make to Stock to Engineer to Order). The architectural changes, as previously described, are leveraged here in the area of product data. A new paradigm, Supply to Order, is available for companies who do rapid assembly, packaging, and shipping of products (for example, personal computers). Cost and product data provide further flexibility in how companies define and track materials and costs through the value chain. Tooling and preventive maintenance capabilities are available and fully integrated into the planning systems.

Baan Project has recently been enhanced with expanded breakdown structures, tight links to the new Warehousing, Service, and Central Invoicing components, and flexible invoicing, budgeting, and costing systems. Feature-based, product-based, and knowledge-based project paradigms are all supported.

Product Configuration is supported by the Baan Configurator, which is de-coupled from a purely product centric model. This new offering opens entire areas to rules or constraint-based management, such as supply-chain definition, product-line layout, and application configuration of software solutions. A full object tool kit is delivered that can define classes, objects, inheritance, and decision tables. The kit also supports multiple user interfaces (text, graphical, and multimedia). Integration to the detached product configuration tools is also provided.

The areas of planning and scheduling are of major significance. BaanERP includes full functional capabilities for integrated planning for the extended enterprise. In addition, BaanSync Planner and BaanSync Scheduler offer high performance constraint-based planning engines that provide tremendous competitive advantages and financial benefits to the customers. BaanERP includes Extended Enterprise Planning as an umbrella that incorporates established tools such as Master Production Scheduling, MRP, Project Requirements Planning, Distribution Requirements Planning, and Capacity Planning. The supported models include Work Load Control (a finite method based on a critical resource); Cyclic planning (machine cycle based); Multi-level Available to Promise (based on materials and or capacity); Feature Based Planning (based on item characteristics); Demand and Sales Planning; and Multi-site Distribution Requirements Planning. This combination offers extremely powerful tools to BaanERP customers. The BaanSync offerings provide "best in class" Advanced Planning and Scheduling tools that include: Scenario Simulation and Modeling; Strategy Based Planning; a Planner Workbench; Constraint Based Optimization; Net Change; and Capable to Promise. These tool are all user controlled and designed as high performance, memory-based solutions.

2.5.4 Logistics Components—Sales, Distribution, and WarehousingMany of the markets Baan serves have increasingly sophisticated requirements in the areas of customer service, distribution, and supply-chain management. In response to these needs, significant investment in both the BaanERP components and extended solutions from affiliates and partners are available. Of the extended offerings, the Aurum front-office suite of applications is the most

Introduction to BaanERP 9

significant. Please contact your Baan representative for more information on this product.

The Sales components in BaanERP provide comprehensive solutions for the management of quotes, orders, and contracts with customers. Parameter driven business rules determine how the order-entry process is implemented. A number of templates can be used to tailor and streamline the behavior of the application. Sophisticated rules also are used such as shipping constraints and order blocking algorithms. Available to Promise calculations can consider such criteria as multi-level component availability, product family rules, channel logic, and capacity constraints. List functions, such as kits, options, accessories, and menus, solve a variety of challenges to streamlining the interaction with the customer. Sophisticated contract and release management, pricing, and invoicing options round out this solution set, which is linked to the Aurum front office solutions for a best in class offering.

Warehousing functions are centralized for all components, including Production, Sales, Purchasing, Projects, and Service. Expanded capabilities are offered for functions that include cross-docking, picking optimization, rules-based inventory replenishment, consigned goods management, and multi-level packaging. These applications support a wide number of industry requirements, and can be packaged with even deeper functionality from certified partners when needed.

Purchasing has become increasingly visible as a source of financial benefit for many organizations involved in process optimization. BaanERP now includes on-line requisitioning linked to workflow, approved supplier logic, and item and supplier rules and constraints. Sophisticated supplier contract and release management, including centralized contract management for a global enterprise, enables customers to gain tremendous leverage in their procurement operations.

Distribution Planning is included in the Extended Enterprise Planning and Baan Sync solutions previously discussed.

2.5.5 Baan ServiceEnterprises in many industries have major initiatives in the area of service that encompass a number of different models. Baan is committed to a strategy of supporting these requirements through the Baan Series. Baan Service components in BaanERP address both external service and internal maintenance requirements. They can be bundled with additional solutions (for example the Tinoway Cockpit application) to meet specific industry needs. This suite has been completely rewritten to provide "best in class" functionality in the areas addressed.

External components include Call Request Management, Help Desk, Service Contracts, Field Change Orders, RMA processing, Remote Field Service, Invoicing, and Warranty tracking.

Call Management includes multiple sources of input (phone, fax, e-mail, and Internet), registration, dispatch, transfer, and resolution; and escalation management. It is linked to Help Desk, Service Orders, Preventive Maintenance, Central Invoicing, and Warehousing components. The processes can check warranty status, open contracts, product configurations, and customer data.

10 BaanERP Implementation for AS/400

Warranty data includes flexible terms and conditions, and utilizes default templates. Warranty is checked on all calls and orders and is linked to finance.

Service Contracts provide templates for quotes, installments, and contracts; automatic (central) invoicing and renewal; and links to preventive maintenance activity.

Service Resource Planning links all functions (Sales, Call Entry, Contracts, PM, and Field Orders) into a constraint-based planning engine with parameter-based execution that is fully linked to finance.

Internal Plant Maintenance components include Supplier's Warranty Tracking and Shop Floor Integration for planning and scheduling purposes.

History, statistics, and analysis capabilities exist across all components.

The combination of Baan Service with additional components continues to be enhanced and packaged for specific markets. A current example is the initiative to link Aurum's customer focused Service components with Baan Service as a potential future Element in the Baan Series.

2.5.6 Finance and AccountingBaan Finance components are integrated with the entire suite of components for the collection, registration, and reporting of financial information. Integration with the Hyperion product suite provides "best in class" budgeting, consolidation, reporting, and analysis capabilities.

BaanERP components in this area provide a multi-dimensional ledger system, with the ability to track dual sets of books (for instance, statutory and local and corporate standard). Multi-currency functions address the needs of multi-national business, Euro and FASB52 compliance, hyperinflation, and multi-country consolidations. Central Invoicing links billing from all components (Sales, Service, Projects) and provides full drill down across the enterprise. Cost accounting provides multiple, user-defined methods, including Last In/First Out (LIFO), First In/First Out (FIFO), Moving Average Unit Cost (MAUC), Standard, Lot Costing, and Actual Cost. Cost allocation can be done top down and bottom up, with deviation and variance analysis and links to budgeting. Credit management links to the sales process for user-defined, real-time control of credit issues. The Accounts Payable components support transactions from checks to electronic banking, as well as pay-upon consumption logic. Financial integration is accomplished through a parameter-driven engine that allows customers to define the frequency of posting and updating transactions. It maintains visibility of all activity registered anywhere in the system.

Baan's joint venture with Hyperion continues to focus on enhancement and expansion of the base functionality to satisfy the needs of their diverse markets and customers.

Introduction to BaanERP 11

12 BaanERP Implementation for AS/400

Chapter 3. AS/400 Architecture

One of the key factors contributing to the commercial success of the AS/400 system is its integrated architecture. The integration covers both hardware and software. This chapter discusses the architectural aspects of the AS/400 system.

3.1 AS/400 Integration

The AS/400 system represents an integrated computing environment. This integration includes the hardware, operating system, and middleware, and is illustrated in the following figure.

Figure 3. 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

© Copyright IBM Corp. 1998 13

that the more integrated a computer system is, the lower the total cost of the solution is.

3.2 High Level Machine Interface

When the AS/400 system was first announced, the high-level user interface was referred to as the Machine Interface (MI). Today, this is referred to as a Technology Independent Machine Interface (TIMI).

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 LIC (internal microcode).

The ability of the AS/400 architecture to accommodate the transition from CISC-based processors to RISC-based processors is one example of Technology Independence.

Figure 4. AS/400 Advanced Application Architecture

3.3 AS/400 64-bit RISC Technology

AS/400 PowerPC AS RISC hardware includes 64-bit processors, data paths, and registers. The AS/400 system's TIMI allows the technology to be changed without impacting the middleware and applications that run on top of this interface. This was dramatically illustrated when the AS/400 system changed its processor technology from Complex Instruction Set Computing (CISC) to Reduced Instruction Set Computing (RISC) processors or from 48-bit to 64-bit addressing. Once the change was made, all applications could automatically take advantage of these new hardware capabilities.

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 i c e n s e d I n t e r n a l C o d e

H a r d w a r e

I n t e g r a t e d M i d d l e w a r e S e r v i c e s

O p e n A p p l i c a t i o n E n v i r o n m e n t

A S / 4 0 0

O S / 4 0 0 A p p l i c a t i o n sP C A p p l i c a t i o n sU N I X A p p l i c a t i o n sJ a v a A p p l i c a t i o n s

14 BaanERP Implementation for AS/400

Today, OS/400 is a 64-bit operating system, and its instructions perform 64-bit operations. Functional units can sort, compare, load, add, and subtract values that are 64-bit. Storage addressing uses 64-bits. Data paths move data from one location to another—64-bits at a time (for example, from cache to the processor). The hardware registers are 64-bits long.

OS/400 middleware is also 64-bit, including DB2/400. This middleware exploits the 64-bit support in the operating system and hardware.

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.

Complete 64-bit support is a key enabler for delivering performance to demanding applications. New applications, such as data warehousing and data mining or Enterprise Resource Planning (ERP) software such as BaanERP, require the movement and analysis of a tremendous amount of information. A 64-bit system can deliver a better solution.

3.4 Object-based Architecture

Objects are the means through which information is stored and retrieved on the AS/400 system. This concept is different from typical byte-string and file manipulation in many other systems. Object orientation is part of the architecture and affects both the operating system implementation and high-level language interaction with the system.

As previously mentioned, the TIMI is a boundary (set of instructions) that separates the hardware and LIC from the operating system. The AS/400 system instructions have an operation code and operands. Unlike many other systems, the operands are objects, and the instructions act on objects.

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; 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 anytime 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.

AS/400 Architecture 15

3.5 Integrated Relational Database (DB2 for OS/400)

The integrated relational database manager has always been one of the most significant facilities that the AS/400 system has provided. Relying on a database manager integrated into the operating system means that almost all of the user data on the AS/400 system is stored in a relational database and that access to the database is implemented by the operating system itself. Some database functions are implemented at a low level in the AS/400 system architecture and some are even performed by the hardware to improve performance.

3.5.1 Data FilesData on the AS/400 system is stored in objects called physical files (tables). An AS/400 physical file is located within an object called library (collection ). Physical files consist of records (rows) with a predefined layout. Defining the record layout means that you define the data structure of the physical file in terms of the attributes of data fields (columns) that make up that particular layout.

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 are much more sophisticated than in a native 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 Guide, SC41-5701, DB2 for AS/400 SQL Programming, SC41-5611 and DB2 for AS/400 SQL Reference Guide, SC41-5612.

3.6 Data Management

AS/400 system applications communicate with traditional, Non-Programmable Terminal (NPT) display devices through display file objects, with printer devices through printer file objects, and with standard AS/400 system database files through database file objects.

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 and database file record and field attributes.

When a standard DDS file is used, AS/400 system workstation management is responsible for formatting the device dependent data streams on output and

16 BaanERP Implementation for AS/400

unformatting on input. The AS/400 system database file object defines record field definitions and optionally identifies key (index) fields. The database field definitions can also optionally be defined by referencing other database file field definitions.

In most AS/400 system applications, the workstation and database field definitions are integrated during the compile (create program) step. This is referred to as externally described file support.

In addition to display, printer, and database interfaces, the AS/400 system provides message queues, data areas, data queues, and others (for example, Portable Operating System Interface Standard (POSIX) compliance).

3.6.1 Integrated File SystemTo position the AS/400 system as a server-of-choice serving the major clients such as PC clients, UNIX clients, and the AS/400 system clients themselves, you must first implement each client's file system on the AS/400 system as natively as possible.

The Integrated File System (IFS), including / (Root), QOpenSys, QFileSvr.400, QSYS.LIB, QDLS, QOPT, QLANSrv, UDFS (user-defined file system), NFS (Network File System), QNTC, and QNetWare, is a part of OS/400 that supports input, output, and storage management similar to the PC and UNIX operating systems. At the same time, it provides an integrated structure over all information stored in the AS/400 system. For more information on IFS, refer to the OS/400 Integrated File System Introduction Guide, SC41-5711.

The key features of the IFS are:

• Support for storing information in stream files • A hierarchical directory structure • An integrated interface to access stream files, database files, documents, and

other objects stored in the AS/400 system

3.7 System Management

Integrated with OS/400 are a number of system management functions that are key to lowering the cost of ownership of the AS/400 system solution. These functions include:

• Job management —OS/400 includes an environment to manage jobs for users, operators, and programmers. An operator can look at all of the jobs running on the system, or select only those associated with a specific queue or user. An operator can sort them by CPU usage, view their properties, change their priority, stop them, or delete them within the limitations of authority granted to the operator.

• Printer management —The AS/400 system has a print output environment. An operator can select what output to see; all of it by printer, user, or queue. With the printer management facilities, an operator can route the output to a different printer, change the number of copies, print only selected pages, or print duplex copies. AS/400 system print jobs can also be sent or mailed to other AS/400 systems and users. Plain text print output can be viewed on the AS/400 system before being printed. When using Advanced Function Printing

AS/400 Architecture 17

(AFP), Client Access/400 provides a viewer so a user can see the actual AS/400 printed output (text, forms, or graphics) before it actually prints.

• Backup and recovery —OS/400 has a backup scheduling application that allows an administrator to easily create a daily, weekly, and monthly backup plan along with other scheduled tasks. The administrator selects what to back up, where to back it up, and when to back it up.

• 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 Notes, NetWare, or LAN server running on the Integrated PC Server (IPCS).

• 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 have been 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.

With advanced, built-in management features, the AS/400 system is a reliable, secure, and virtually self-sufficient computing system. In case something goes wrong, the AS/400 system also comes with all of the services and support for which IBM is traditionally known.

Electronic Customer Support (ECS) is a direct electronic link to IBM marketing, administration, technical, and service operations. ECS gives users and technical staff on-line advice and provides configuration management assistance, problem determination, and other service needs. ECS simplifies the PTF ordering procedure by enabling the speedy receipt and application of PTFs, and quicker problem resolution. The Copy-Screen facility permits a more accurate user-to-specialist problem description, and direct electronic contact with AS/400 system specialists. ECS support is provided for software problems (LIC, operating system, licensed programs and third party applications), as well as for hardware problems.

In addition to ECS, AS/400 system customers under warranty or an IBM maintenance agreement may receive Service Director support. Service Director monitors the AS/400 system in real time. When an error is entered into the problem log, it is immediately and automatically analyzed and reported to IBM through the ECS function on the AS/400 system. The problem is fed into IBM's

18 BaanERP Implementation for AS/400

remote technical assistance information network and IBM's resources are used to evaluate the situation. If a PTF is available that corrects the problem, it can be downloaded to the AS/400 system. This can significantly reduce overall downtime.

In addition to these system management facilities, additional IBM and third party products are available to manage larger and distributed AS/400 system environments. These products provide support for software distribution, client management, performance analysis, capacity planning, and more.

3.8 Storage Management

One of the key resources on any computer system is the disk space that stores the data, applications, and programs. The management of this storage space is critical to having an efficient and high performance server installation. Storage management on the AS/400 system is automated. The AS/400 system takes care of selecting the physical disk drive (DASD) to store the data, spreads the data evenly across the disk arms, and continues to add records to files until specified threshold levels are reached.

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 needing 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 system can eliminate the processing required on other systems to hydrate and de-hydrate 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

AS/400 Architecture 19

storage management capabilities, make 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 the system 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 sophisticated space allocation routines to create and store information in the right size spaces. These routines look for the right sized block versus selecting the first available block, regardless of size. The objective of these routines is to effectively use the disk space by reducing file and free space fragmentation. The AS/400 system automatically consolidates disk space fragmentation where possible and also has a separate disk fragmentation utility.

3.9 Security, User Profiles, and Authority Management

The AS/400 system has an outstanding reputation as a mission-critical commercial server. Part of this reputation is due to the security of the AS/400 system. OS/400 has a single integrated security model. This security model is shared by the operating system, database, mail, systems management, the Internet, and communications functions. You can add a user once to OS/400, and they can have access to all the appropriate components. These include LAN server, NetWare, and Domino for AS/400 running natively on the AS/400 system or on the IPCS.

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 natively or on the IPCS.

The AS/400 system has a 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.

The AS/400 system has an object-based system architecture (see Section 3.4, “Object-based Architecture” on page 15). Everything is an object (including data, programs, files, and so on) and is subject to object rules. These rules describe what can be read, changed, deleted, or added, and by whom or what. The AS/400 system checks those rules before it touches any object. This basic and underlying capability provides AS/400 system customers with a powerful security capability within their system. In addition, program objects have special rules that do not allow them to run unless they are properly encapsulated by the system. This makes the AS/400 system extremely virus resistant. AS/400 system objects, including programs, files, and databases, are protected by the OS/400 security mechanisms. When correctly implemented, this protection cannot be compromised by someone who merely has access to the machine.

20 BaanERP Implementation for AS/400

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.

The object authorization mechanism provides various levels of control. A user's authority may be limited to exactly what is needed.

3.10 Work Management

In the AS/400 system operational environment, work is managed by one or more OS/400 subsystems and LIC. All system and user jobs run under the control of a subsystem while LIC performs the actual task management according to user-specified and internal priority schemes.

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.

For more information on AS/400 work management, refer to Chapter 7, “BaanERP AS/400 Work Management” on page 61.

AS/400 Architecture 21

22 BaanERP Implementation for AS/400

Chapter 4. BaanERP Architecture

This chapter provides an understanding of the key elements of the BaanERP architecture including:

• BaanERP porting sets • BaanERP’s multi-layered design • BaanERP clients • BaanERP’s software environment • The role of the BShell • Shared memory • Database access architecture • Company concept

An understanding of BaanERP’s architecture is a substantial factor in comprehending how it behaves on the AS/400 system platform. To acquire more information about the BaanERP architecture, contact Baan, a Baan reseller, or an IBM Marketing Representative.

4.1 BaanERP Porting Sets

BaanERP is a platform independent suite of application software, which runs under many different operating systems and databases. The application code is written in Baan 4GL language that does not require any specific operating system or application software to execute BaanERP. The only part of the BaanERP application that is platform specific is the porting set. This section discusses the elements contained in the porting set and where to find it.

A BaanERP Software Environment (BSE) is a single integrated instance of the BaanERP application software and includes the following:

• Porting Set • BaanERP Application • Database

The porting set in BaanERP is all of the executable code identified by ${BSE}/bin (where ${BSE} is the directory path /<BSE name>/bse). Since executable objects cannot be placed in the Integrated File System (IFS) on the AS/400 system, all of the objects seen through ${BSE}/bin are simply symbolic links to actual programs in the BaanERP library (<pgm_lib>) specified during installation. These objects perform a variety of functions within BaanERP. The printer daemon, BShell, report generator, and database driver are just a few examples of these functions.

From time to time, Baan may require the porting set to be updated because of new versions or fixes to one or more of the executable objects. For this reason, it is important to understand where the porting set is located and its basic purpose. The porting set is determined by two factors:

• The version of BaanERP • The version of OS/400

It is important to note that Baan actually determines the porting set also based on a third factor, which is the version of the database. However, on the AS/400 system, the database (DB2 for OS/400) is a integrated part of the operating

© Copyright IBM Corp. 1998 23

system (OS/400), Therefore, the version of OS/400 and the version of BaanERP are all the information that is required to obtain the proper porting set from Baan.

The current version of the porting set on an AS/400 system can be determined by starting the AS/400 system Qshell interpreter (QSH) (see Appendix E.11, “Qshell Interpreter (QSH)” on page 276 for more information) and issuing the command bshell6.2 -v found in the ${BSE}/bin directory. The following figure is an example of the output from the bshell6.2 -v command.

Figure 5. Qshell Display—bshell6.2 -v Command

4.2 Multi-layered Design of Presentation, Application, and Database Layers

The BaanERP architecture consists of three layers:

• Presentation • Application • Database

Figure 6 on page 25 gives a generic view of the BaanERP architecture.

QSH Command Entry > bshell6.2 -v ------------------------------------------------------- Porting set : 6.2a.02 Port no. : TD.PROTO Date : Tue Sep 8 02:50:38 NFT 1998 Uname : AIX egede 1 4 000077677000 Machine-id : IBM_AS400 OS-release : OS4004.2 CFLAGS : -I/port_BDUX72.as400/vobs/tt/headers -I/port_BDUX72.as400/vobs/tt/mir/mir -I/port_BDUX72.as400/vobs/tt/lib/ds_1 -I/port_BDUX72.as400/vobs/tt/mir/ds_link -I/port_BDUX72.as400/vobs/tt/lib/licence -I/port_BDUX72.as400/vobs/tt/lib/mb -I/port_BDUX72.as400/vobs/tt/lib/al_1 -I/usr5/as400/rel.opt.grieg.V4R2/lib/yy_1 -I/port_BDUX72.as400/vobs/tt/lib/dbc -I/port_BDUX72.as400/vobs/tt/bdbint -I/port_BDUX72.as400/vobs/tt/lib/qp -I/port_BDUX72.as400/vobs/tt/bisam/include -I/port_BDUX72.as400/vobs/tt/lib/qpd -DIBM_AS400 -DOS4004_2 -DREL6_2 -DIBM_AS400 -DINCLSTDLIB -DEBCDIC -DBA_DARK_ONLY -D_TSS -DQPC_LIB -DREACTOR_TEST -DSYMBOL_TEST -DSYSTIME -DNOSELECTH -DSOCKET -DLOCAL_SOCKET -DPIPE -DMQ -DSHM -DUNIQUE -DDIRENT -DSELECTINTYPES -DVOID_PTR -DSCANF_OK -DSYSMEMFUN -DSLOTIO -DWRITEV -DHIGH_LOW -DSIGINTERRUPT -DWAITPID -DNOWAIT3 -DSIGNAL_TYPE=void -DSEM_LOCK LOADFLAGS : ------------------------------------------------------- Copyright (c) 1990-1998 Baan Development B.V. $ ===> F3=Exit F6=Print F9=Retrieve F12=Disconnect F13=Clear F17=Top F18=Bottom F21=CL command entry

24 BaanERP Implementation for AS/400

Figure 6. Generic View of BaanERP Architecture

The presentation layer shows how a client connects to BaanERP, either by the Baan Windows (BW) or Baan Internet (BI) client. The application layer consists of the porting set, operating system, and the BaanERP software. The database layer includes the DB2 for AS/400 relational database management code and database collection for the BaanERP software environment. The following figure offers a more detailed view of the BaanERP architecture.

Figure 7. Detailed View of BaanERP Architecture

4.3 BaanERP GUI Clients Using BW and BI

There are two ways for users to interact with BaanERP.

• Baan Windows Client (BW) • Baan Internet Client (BI)

The Baan Windows client is used with a PC running Windows 95, Windows 98, or Windows NT. The BW client code is placed into the ${BSE}/lib/mswindows directory on the AS/400 system upon the completion of the BaanERP installation process. Consult BaanERP documentation for proper installation and use of the BW client.

BaanERP Architecture 25

Note that BI is supported with Windows-based browsers only. Figure 8 illustrates the basic concept of how a BW client interfaces with BaanERP.

Figure 8. BI Client Interface with BaanERP

BaanERP is the first version to utilize the Baan Internet client. The Baan Internet client allows a connection to a BaanERP instance through a Java-enabled Web server.

BI is designed for the end-user run-time environment only and is not suitable for development over the Internet. The use of BI requires a client and a Web server. The client requires a Java-enabled browser, and the Web server must also support Java. The BI server is the gateway between the BaanERP application server (where the BaanERP instance is located) and the Internet browser.

4.4 The BaanERP Software Environment

The BaanERP software environment is divided into packages, modules, and software components and is shown in Figure 9 on page 27.

26 BaanERP Implementation for AS/400

Figure 9. BaanERP Software Environment Architecture

A BaanERP package represents a business application group comprised of a series of related modules. A module is a set of related software components. Examples of software components are menus, sessions, table definitions, forms, and reports.

Some examples of packages within BaanERP are:

tc Common Datatd Distributiontf Financeti Manufacturingtt Enterprise Tools

The manufacturing package (ti) consists of such modules as:

bom Bill of Materialsedm Engineering Data Managementipd Item Production Datasfc Shop Floor Control

The Enterprise Tools package (also known as Triton Tools) consists of such modules as:

aad Application Administrationadv Application Developmentiex Import/Export

Table

Form

Object

Report

Menu Session

Module ModuleModule

Package

BaanERP Architecture 27

Job Data is an example of a session contained within the Application Administration module of the Enterprise Tools package and is shown in Figure 10 and Figure 11.

Figure 10. Job Data Session (ttaad5500m000)

Job Data consists of the following software components:

Session ttaad5500m000 Job DataForm ttaad5100s000 Maintain Job DataTable ttaad500 Job Data Table

Figure 11. Job Data Sub-session (ttaad5100s000)

As a general rule, the package, module, table name, and session type are derived from the session name as depicted in Figure 12 on page 29. However, there are some occurrences where the table name cannot be derived in this manner.

28 BaanERP Implementation for AS/400

Figure 12. Deciphering a Session Name

The last alphabetic character denotes the session type, where (m) signifies a main session and (s) denotes a sub-session.

From the main Menu Browser, as shown in the following figure, select File—>Run Program to display the Run Program session.

Figure 13. Menu Browser

Main sessions are eligible for execution from the Run Program session (see Figure 14) of a BaanERP client menu browser. However, sub-sessions are ineligible for this type of execution and are run only by the main sessions.

Figure 14. Run Program or Session (ttdsk2080m000)

Package

Module

Table

tt aad 5 5 00 m 000

Session Type

Not in use

BaanERP Architecture 29

The trailing three numeric characters are not currently in use by BaanERP. These positions make an excellent place to mark the identity of modified sessions within the Enterprise Tools package.

Common terms used within the BaanERP software environment include:

Package A series of related modulesModule A set of related software componentsMenu The BaanERP user interfaceSession The action being performedSoftware Component

Menus, sessions, forms, and so onForm The BaanERP data entry interfaceObject The runtime object created by the program and report scripts and

executed by the BShellReport Output from BaanERP sessionsTable BaanERP data storage

Furthermore, different versions of each package may exist within the software environment. BaanERP refers to these versions as Package VRCs . VRC is the acronym for <Version><Release><Customer extension>. Since multiple packages are required to make up the complete BaanERP software environment, the package VRCs are grouped together into Package Combinations (sometimes referred to as the Derivation Structure). This is BaanERP’s method of managing multiple versions of the software all within the same environment.

The concept of a Package VRC is similar to a library on the AS/400 system. A Package VRC contains different versions of BaanERP software components. Similarly, different AS/400 libraries may contain different versions of objects.

Accessing components in a Package Combination is similar to accessing objects from an AS/400 user’s library list. The two are not totally analogous since AS/400 libraries and library lists have a lot of other uses, but can be helpful when trying to understand the concept of a Package VRC and Package Combination.

Each BaanERP user is assigned a Package Combination using the User Data session within the Enterprise Tools package. BaanERP uses a top-down methodology to read through the user’s Package Combination or Derivation Structure. The first occurrence of the specified software component located within the Package VRC is the one selected.

Figure 15 on page 31 depicts all the Package VRCs for the Package Combination B50a. At runtime when searching for a particular component of the BaanERP Constraint Planning (cp) package, the BShell first searches the B50a1 Package VRC for the software components. When the software component is not located at this Package VRC level, the search algorithm traverses down toward the root of the derivation structure, checking each Package VRC that the B50a1 Package VRC was derived from for the component. The process continues until the root of the derivation structure is reached. The root is sometimes referred to as the standard.

30 BaanERP Implementation for AS/400

Figure 15. Packages by Package Combination Session (ttaad1121m000)

The BaanERP Package VRC and Package Combination structure provide:

• A means to perform version management • User access restriction to certain software development • Distinct environments for testing, production, and development

4.5 The Role of the BShell

The BShell is the logic server of the BaanERP software. It gathers information from the directory structure at the OS/400 operating system level and delivers the information back to the BaanERP software. This information is comprised of system settings, directory paths, user definitions, database drivers, software components, and so on. It is stored in various runtime objects at the OS/400 level. BaanERP refers to this collection of objects as the Runtime Data Dictionary (see Figure 16 on page 32).

BaanERP Architecture 31

Figure 16. Components of the Runtime Data Dictionary

The BShell accesses the Runtime Data Dictionary (RTDD), extracts the required information, and passes it back to the application. The BShell also shields the application from the OS/400, databases, and all other hardware and software specific items. This is what gives the BaanERP software portability to various hardware and operating system environments without any modifications (since the Runtime Data Dictionary is identical for all platforms and databases).

4.6 Shared Memory

The BShell determines which software components to execute for an application session by accessing the Runtime table ttadv999000 . Once it knows which components to run, it retrieves them from the ${BSE}/application directory.

To optimize the performance of BaanERP applications, BaanERP provides a Shared Memory Manager within the Application Administration module of the Enterprise Tools Package. All software components placed into table ttaad450000 using the Shared Memory Data session (see Figure 17 on page 33) are loaded into shared memory.

�������

��� ��� ��� ��� ���� ����� ����� ������� ����������

�������� �������

������ ��� ��� ��� ���� ��� ������ �� ��� ��!�� "#�����

$������ �#�

%���

���#

���

��� &� ���� ���� ��

����#��

&���&���

32 BaanERP Implementation for AS/400

Figure 17. Shared Memory Data Session (ttaad4150m000)

The BShell retrieves these software components from the shared memory table instead of from the ${BSE}/application directory. This minimizes the data retrieval from DASD, and reduces the total execution time of the application session.

When a BaanERP user requires to perform an application function, a BaanERP session is initiated from the Menu Browser. For example (User Interface), the Bshell performs the following actions:

1. Determines the database driver (see Section 4.7, “Database Access Architecture” on page 34 for more details).

2. Determines which software components correspond to the session from within the Runtime table ttaad999000.

3. Retrieves the software components from shared memory or from the ${BSE}/application directory.

Figure 18 on page 34 depicts the events that occur during the execution of a session within BaanERP.

BaanERP Architecture 33

Figure 18. BShell Executes an Application Request

The BShell prevents applications from using outdated information by comparing the information on disk to the information in shared memory. If the shared memory information is outdated, the BShell ignores it and retrieves the newer information from disk.

Shared memory also reduces the amount of memory needed by the BShell process. This particularly applies to data dictionary information (objects, table definitions, and reports). This information normally resides in the data area of the BShell. However, this information is sometimes loaded into shared memory.

4.7 Database Access Architecture

BaanERP offers tremendous flexibility regarding data storage since it is database and hardware independent (see Figure 19 on page 35). The format and location of the BaanERP database tables are completely transparent to the application. This data storage transparency and flexibility are accomplished inside the database access architecture of the BaanERP software.

DB2/400User

InterfaceDB

InterfaceBShell

OS/400

${BSE}/applicationsoftware components

ttaad999000which software components

Shared Memory

software components

Session

Table

Form

Object

Report

34 BaanERP Implementation for AS/400

Figure 19. BaanERP Design Overview

The ${BSE}/lib/tabledef6.2 file of the BaanERP Runtime Data Dictionary separates the database from the database driver. A BaanERP application accesses this file using the BShell to determine what database to use. As such, this file is the keystone of BaanERP’s database access architecture as it governs the route utilized to procure data. Through the use of this file, it is possible for BaanERP applications to access data in any of the supported RDBMS systems whether they exist locally or on a remote system.

The ${BSE}/lib/tabledef6.2 file contains lines composed of four segments:

• Table Name • Company • Database (driver and host system name) • Audit Flag

The following statement illustrates the syntax of the lines within the ${BSE}/lib/tabledef6.2 file:

<Table Name>:<Company>:<Database>(Environment Variables):<Audit Flag>

BaanERP

Bshell

BSHELL

DB2/400

AS/400 System

OS/400

User Interface

Database Driver

BaanERP Architecture 35

Each line within the ${BSE}/lib/tabledef6.2 file connects one or more tables for one or all companies to a database (see Figure 20). Between the parentheses of the third segment are OS/400 DB2 database environment variables required to access the database. An audit flag is also present at the end of each line indicating whether the referenced table is audited by BaanERP’s audit server. This file is searched sequentially using a top-down methodology. That is to say, the first line that supplies the information needed by the BaanERP application to access the database is selected. The remaining lines are ignored. Lines within this file must be in the order of the most specific reference to the least specific reference.

Figure 20. The ${BSE}/lib/tabledef6.2 File

The asterisk(*) or wildcard is placed in the table name and company segments to generically reference tables and companies. An asterisk in the table segment signifies that the line applies to all tables. Similarly, an asterisk in the company segment denotes that the line applies to all companies.

Consider the following example:

• When a BaanERP application requests access to the table tuxch001 for any company based on the data within the ${BSE}/lib/tabledef6.2 file (depicted in Figure 20), the eighth line is always selected. The remaining lines are ignored because table tuxch001 is specifically referenced on that line. Companies are discussed in more detail in Section 4.8, “BaanERP Company Concept” on page 38.

• When a BaanERP application requests access to the table tiitm001 for company 100 based on the data within the ${BSE}/lib/tabledef6.2 files (depicted in Figure 20), the last line is always selected. This last line is the "catch-all" within the file for all tables in all companies. Any table, company, or table/company combination that is not specifically referenced within the ${BSE}/lib/tabledef6.2 file, defaults to the database of this line.

Edit File: /baanerp/bse/lib/tabledef6.2 Record . : 49 of 62 by 9 Column: 1 of 59 by 74 Control : CMD ....+....1....+....2....+....3....+....4....+....5....+....6....+....7....+ tpptc000:*:db2400(DB4_HOME=northstar.rochester.ibm.com):Y tscfg000:*:db2400(DB4_HOME=northstar.rochester.ibm.com):Y tsclm000:*:db2400(DB4_HOME=northstar.rochester.ibm.com):Y tsctm000:*:db2400(DB4_HOME=northstar.rochester.ibm.com):Y tsmdm000:*:db2400(DB4_HOME=northstar.rochester.ibm.com):Y tssoc000:*:db2400(DB4_HOME=northstar.rochester.ibm.com):Y tsspc000:*:db2400(DB4_HOME=northstar.rochester.ibm.com):Y tuxch001:*:db2400(DB4_HOME=northstar.rochester.ibm.com):Y whina000:*:db2400(DB4_HOME=northstar.rochester.ibm.com):Y whinh000:*:db2400(DB4_HOME=northstar.rochester.ibm.com):Y whinr000:*:db2400(DB4_HOME=northstar.rochester.ibm.com):Y whltc000:*:db2400(DB4_HOME=northstar.rochester.ibm.com):Y whwmd000:*:db2400(DB4_HOME=northstar.rochester.ibm.com):Y *:*:db2(DB4_HOME=northstar.rochester.ibm.com):N ****************** End of data ************************** F2=Save F3=Save/Exit F10/11=Left/Right F12=Cancel F16=Find F17=Chg F15=Copy

36 BaanERP Implementation for AS/400

Once the appropriate line is selected from the ${BSE}/lib/tabledef6.2 file, that line’s third segment or database name is used to select the relevant database driver and the host system name (for example, db2400 and northstar.rchland.ibm.com in Figure 20 on page 36). This database driver is executed to access the table data. If an entry for the database name is not located within this file, BaanERP assumes the database name from ${BSE}/lib/tabledef6.2 is actually a remote hostname. In this case, this remote hostname is searched for within the ${BSE}/lib/user/r<username> file to acquire the remote system’s ${BSE}, user name, and password. With this information, the remote system is accessed. If a connection is established, the information within the remote system’s ${BSE}/lib/tabledef6.2 and ${BSE}/lib/ipc_info files is returned to the local system. The relevant database driver is executed based on the information returned to the application by the BShell (see Figure 21).

Figure 21. Database-to-Database Driver Connection Process

The AS/400 database collection containing the required table is specified by the db4_storage file in the ${BSE}/lib/db4 directory. Refer to the Section 8.2.3, “Accessing the BaanERP Database” on page 83, for further information.

The ${BSE}/lib/tabledef6.2 file is maintained within the Database Management component of the Enterprise Tools Package of BaanERP. To reference a database within the ${BSE}/lib/tabledef6.2 file, that database must first be defined within BaanERP. This is accomplished by the Database Definitions session (see Figure 22 on page 38) of the Enterprise Tools Package. This session defines databases, indicates whether a remote server is utilized, and defines database description types.

AS/400 System

tabeldef6.2 ipc_info

r<username>

������

Baan Application

Database DriverReturned

Database DriverReturned

�����

�����

BaanERP Architecture 37

Figure 22. Database Definitions Session (ttaad4510m000)

Once a database is created, it is procurable within the Tables by Database session of BaanERP (see Figure 23). This is the session that maintains the records within the ${BSE}/lib/tabledef6.2 file. This session assigns companies, modules, and tables to a database or a remote system and delimits audit trail generation.

Figure 23. Tables by Database Session (ttaad4111m000)

4.8 BaanERP Company Concept

BaanERP organizes data or tables into companies. Each company is a self-contained set of data that can be used against the full functionality of the software. An organization can create companies for different projects or different entities. Test companies are popular for program or customization testing so that live data is not modified by testing. There is no functionality that requires data or

38 BaanERP Implementation for AS/400

tables from more than one company, with one notable exception which is BaanERP multi-site functionality.

BaanERP has relatively few requirements for managing companies. Typical database operations, such as storage optimization and backup and recovery, are left up to the AS/400 system administrator.

The limit on the number of companies permitted per BaanERP software environment is 999 companies. Although, there are some practical limits that should be followed. In general, no more than twenty companies per environment are practical. However, this number varies depending on the company size and how often it is used.

Company 000 is a special instance of the BaanERP company concept. The tables in this company are shared by all other companies. Generally, tables in each company are created in a separate AS/400 database collection.

Some tables require BaanERP auditing. These are the parameters tables from each package. These tables hold the parameters used to control each package and module's functionality. The auditing on these tables is used by the system to maintain data consistency when these parameters are changed.

4.8.1 Multi-site Company ConceptMulti-site allows a master company to serve information to slave companies. Such information is related to logistics, finance, or both. Doing this allows users across many sites to do most work on local machines and yet still share centrally located information applying to all sites. Also, multi-site is used to keep some information related to different business units separate, but collect information common to the overall company. Finally, multi-site is used to better integrate activities along an extended manufacturing model (parts made at one site, assembled at another, and maintained at a third for example).

However, even in multi-site, the integrity of each company appears to be intact. When a user accesses a shared table that physically exists inside a company other than the user’s, the table is presented to the user as if it existed within the user’s company. Other users using the same physical table from other companies all see that table as local to their respective companies.

BaanERP Architecture 39

40 BaanERP Implementation for AS/400

Chapter 5. BaanERP Topology Options

The BaanERP architecture has a three layered design:

1. Presentation —Manages the User Interface. The presentation layer can either be a Microsoft Windows client called Baan Windows (BW) or a Web-based client called Baan Internet (BI).

2. Application —Performs the application logic. Depending on the processing requirements, multiple application servers can be used to process information.

3. Database —Retrieves, updates, and manages the information database of the system. The AS/400 system uses the integrated relational database management system DB2 for OS/400. The database server function can be sub-divided into two components:

• A database driver (client) • A database management system (server)

The BaanERP architecture, shown in Figure 24, also supports multiple database servers.

Figure 24. BaanERP—Three Layered Architecture

Based on how the functional components of application and database servers are grouped, a variety of hardware configuration scenarios is possible. The following sections discuss these options in an AS/400 system environment.

Database

Portin g Set

User Interface

Driver

DatabaseDriver

Baan Virtual Machine(BShell )

Presentation Database Server

BaanERP Applications(platform Inde pendent )

Application Server

© Copyright IBM Corp. 1998 41

5.1 Host-based Implementation

In a host-based configuration, the application and database server functions are installed on a single AS/400 system. The considerable scalability of the AS/400 system product range allows adequate capacity for many organizations to implement BaanERP through a centralized host.

Figure 25. Host-based Configuration

5.2 Client/Server Implementations

In a client/server configuration, the application and database server functions are installed on separate AS/400 system machines. This approach provides a greatly increased capacity for growth.

D a ta b a s e

B a a n E R P A p p lic a tio n s(P la t fo rm In d e p e n d e n t )

P o r t in g S e t

U s e r In te r fa c e

D r iv e r

D a ta b a s eD r iv e r

B a a n V ir tu a l M a c h in e(B S h e ll)

B a a n S Q L

U s e rsD B 2 fo r A S /4 0 0

A S /4 0 0 (A )

O S /4 0 0

Considering the potential for high communications traffic between multiple AS/400 systems, we highly recommend that you link the application servers and the database servers with high-capacity fiber optic connections. Use the associated software, OptiMover for OS/400 (5799-FWQ). TCP/IP can be used, but fiber optic connections and OptiMover minimizes communication delays between the application and database server layers and offers better performance.

OptiMover for OS/400 (5799-FWQ)

42 BaanERP Implementation for AS/400

5.2.1 Client/Server (Remote Database)The following figure presents an example of a client/server configuration where the BaanERP application functions and the database driver are on one machine and the actual database is located on a second database server machine.

Figure 26. Client/Server Configuration (Remote Database)

In this case, the input and output requests are resolved by the database driver on the application server (client system) and are transmitted over the communications facility to the database server (server system).

Users

App lication Server Database Server

BaanERP Applications

(Platform Independent)

Portin g Set

User Interface

Driver

DatabaseDriver

Baan Virtual Machine(BShell)

Baan SQL

DB2 for AS/400

AS/400 (A)

OS/400

Database

DB2 for AS/400

AS/400 (B)

OS/400

Fiber O ptics

This is the strategic direction for BaanERP three-tier solutions and also provides the highest scalability.

Note

BaanERP Topology Options 43

5.2.2 Client/Server (Remote Database Driver and Database)Figure 27 presents an example of a client/server configuration where the BaanERP application functions are on one AS/400 system. The database driver and the actual database are located on a second AS/400 system.

Figure 27. Client/Server Configuration (Remote Database Driver and Database)

In this case, the BaanERP SQL statements are passed from the AS/400 system application server over the communications link to the database driver on the AS/400 system database server. The actual I/O requests are serviced by DB2 for OS/400.

Users

App lication Server Database Server

Database

DB2 for AS/400

AS/400 (A)

OS/400DB2 for AS/400

AS/400 (B)

OS/400

BaanERP Applications

(Platform Inde pendent )

Portin g Set

User Interface

Driver

Baan Virtual Machine(BShell )

Baan SQL

DatabaseDriver

Portin g Set

Fiber Optics

The approach of locating the database driver and the database on a remote system will be phased out by Baan company over time.

Note

44 BaanERP Implementation for AS/400

5.2.3 Client/Server—Multiple Application Servers In a client/server environment, considerable growth (approximately 85 to 90% of the processing is performed by the application server) in capacity is made possible by adding an application server to the configurations. The actual manipulation of information is carried out at the application servers. Each implementation of an application server environment in a BaanERP environment is referred to as a Baan Software Environment (BSE).

5.2.3.1 Application Servers on Multiple AS/400 SystemsMultiple AS/400 systems can be used, each with an application server running on it to allow greater capacity or performance. The AS/400 9406-SB1 custom application server should be mentioned here since it performs dedicated, compute-intensive processing at a competitive price in a multi-tier environment. It offers processing power, a large amount of base main storage, and fixed amounts of disk storage to satisfy application requirements. The custom application server can be ordered only as a component of an overall packaged solution with vendor software purchased from an Independent Software Vendor (ISV) preloaded (partial or total) as part of the preparation before shipment. The current release of OS/400 is included in the price of the system.

Remote Database The following figure presents an example of a client/server configuration with two application server machines, each with one BaanERP application server environment. In addition, each BSE has the database driver code associated with it on the same AS/400 system as the BSE. The actual database is located on a separate machine.

Figure 28. Multiple Application Servers (Remote Database)

Database Server

BaanERP Applications(Platform Inde pendent )

Portin g Set

User Interface

Driver

DatabaseDriver

Baan Virtual Machine(BShell)

Baan SQL

DB2 for AS/400

AS/400 (A)

OS/400

BaanERP Applications(Platform Inde pendent )

Portin g Set

User Interface

Driver

DatabaseDriver

Baan Virtual Machine(BShell)

Baan SQL

DB2 for AS/400

AS/400 (B)

OS/400

Database

DB2 for AS/400

AS/400 (C)

OS/400

Fiber Optics

ApplicationServer

ApplicationServer

Users Users

BaanERP Topology Options 45

In this case, all three AS/400 systems have fiber optic connections between them. The I/O requests from the application servers are passed over to the database server for servicing by DB2 for OS/400.

Remote Database Driver and DatabaseFigure 29 presents an example where each of the two AS/400 system machines have BSEs, but the database driver and the database are mounted on a separate AS/400 system.

Figure 29. Multiple Application Servers (Remote Database Driver and Database)

In this case, the BaanERP SQL requests are transmitted over the communications link to the database server, where they are translated into DB2 for OS/400 database requests.

5.2.3.2 Multiple Application Servers on a Single AS/400 SystemAS/400 system architecture and work management options allow for effective segregation of processing environments including memory allocation and execution priorities. Thus, it is technically possible to have multiple BaanERP System Environments (BSEs) located on the same AS/400 system. For example, a production environment can effectively co-exist with a testing environment with the contention for AS/400 resources being kept to a minimum and can be managed by the administrator.

BaanERP Applications(Platform Inde pendent )

Portin g Set

User Interface

Driver

Baan Virtual Machine(BShell)

Baan SQL

DB2 for AS/400

AS/400 (A)

OS/400

BaanERP Applications(Platform Inde pendent )

Portin g Set

User Interface

Driver

Baan Virtual Machine(BShell)

Baan SQL

DB2 for AS/400

AS/400 (B)

OS/400

Database Server

Database

DB2 for AS/400

AS/400 (C)

OS/400

Fiber OpticsApplication

Server

ApplicationServer

Users Users

DatabaseDriver

Portin g Set

46 BaanERP Implementation for AS/400

Remote DatabaseThe following figure presents an example where one AS/400 system has two BSEs together with the database driver. The system’s database requests are serviced by the second AS/400 system, which supports the remote database.

Figure 30. Multiple Application Servers/AS/400 (Remote Database)

The two BSEs can either use the same database or two separate databases in the same server. For example, where production and development environments share the same database server, the two databases can co-exist in the same AS/400 system.

Database Server

BaanERP Applications(Platform Inde pendent )

Portin g Set

User Interface

Driver

DatabaseDriver

Baan Virtual Machine(BShell)

Baan SQL

AS/400 (A)

DB2 for AS/400

OS/400

BaanERP Applications(Platform Inde pendent )

Portin g Set

User Interface

Driver

DatabaseDriver

Baan Virtual Machine(BShell)

Baan SQL

AS/400 (B) Database

DB2 for AS/400

OS/400

Fiber Optics

ApplicationServer

Users Users

AS/400 (B)

BaanERP Topology Options 47

Remote Database Driver and Database The following figure presents an example where one AS/400 system has the code for the two application servers (BSEs) supporting BaanERP users. The database driver and the actual database are located on the second AS/400 system.

Figure 31. Multiple Application Servers/AS/400 (Remote Database and Database Driver)

Database Server

BaanERP Applications(Platform Inde pendent )

Portin g Set

User Interface

Driver

Baan Virtual Machine(BShell)

Baan SQL

AS/400 (A)

DB2 for AS/400OS/400

BaanERP Applications(Platform Inde pendent )

Portin g Set

User Interface

Driver

Baan Virtual Machine(BShell)

Baan SQL

AS/400 (B) Database

DB2 for AS/400

OS/400

Fiber Optics

ApplicationServer

Users Users

AS/400 (B)Database

Driver

Portin g Set

48 BaanERP Implementation for AS/400

5.2.3.3 Multiple Database Servers BaanERP architecture enables a single BaanERP software environment (BSE) to access data from multiple database servers. An example of this is shown in the following figure.

Figure 32. Multiple Database Servers

However, in an AS/400 system environment, this configuration is unlikely to be required because of the scalability of AS/400 system hardware in terms of power and capacity.

Users

App lication Server Database Server

BaanERP Applications

(Platform Independent)

Portin g Set

User Interface

Driver

DatabaseDriver

Baan Virtual Machine(BShell )

Baan SQL

DB2 for AS/400

AS/400 (A)

OS/400

Database

DB2 for AS/400

AS/400 (B)

OS/400

Fiber Optics

DB2 for AS/400

AS/400 (B)

OS/400

Database

Database Server

There are many factors to be considered in determining a system topology suitable for each specific installation, including workload and system availability requirements. It is outside the scope of this document to discuss these considerations. Consult the IBM Baan Competency Center for guidance and assistance in sizing and development of a suitable configuration.

Note

BaanERP Topology Options 49

50 BaanERP Implementation for AS/400

Chapter 6. Installation and Configuration

The purpose of this chapter is to briefly describe the installation and configuration procedure for BaanERP on the AS/400 system. It is not an installation guide for BaanERP on the AS/400 system.

This chapter includes an overview of:

• Hardware and software requirements • BaanERP implementation on the AS/400 system • The general description of the installation

You can find a detailed description of the installation process in the Installation Guide for BaanERP on AS/400 publication from Baan that accompanies the BaanERP installation CDs.

6.1 Prerequisites

This section identifies the hardware and software environment prerequisites for installing and running BaanERP on an AS/400 system.

6.1.1 AS/400 HardwareBaanERP requires the PowerPC architecture provided in RISC-based processors. While an AS/400 Advanced Series or Advanced Server meets the necessary processor requirements to support BaanERP, the latter normally provides better price and performance in a client/server environment such as BaanERP. Precise hardware configuration requirements depend on the recommended topology solution (see Chapter 5, “BaanERP Topology Options” on page 41, for more information).

A fast LAN adapter (either Token-Ring or Ethernet) is required for attaching front-end clients through TCP/IP. In all three-tier environments, you also likely need a fiber-optic connection between the database server and the application servers. Use OptiMover PRPQ 5799-FWQ to connect application servers to the database server. More information about OptiMover is available in Appendix C, “Fiber-Optics Connection for a Three-Tier Configuration” on page 237.

The ability to support an IBM 5250 terminal session is also an important prerequisite for the installation of BaanERP.

6.1.2 AS/400 SoftwareBaanERP for the AS/400 system requires V4R3 or a later version of OS/400. The following additional AS/400 software must also be installed on the AS/400 system prior to starting the installation of BaanERP:

• 5769-TC1—TCP/IP Connectivity Utilities for AS/400 • 5799-XEH—Qshell Utilities • 5769-JV1—IBM VisualAge for Java (for Baan Internet - BI) • 5763-JC1—Java Toolbox for AS/400 (for Baan Internet - BI)

© Copyright IBM Corp. 1998 51

6.1.3 Presentation Front-EndThe installation of the Baan Windows (BW) or the Baan Internet (BI) client software is an independent activity. This task can be performed either before or during the installation of BaanERP on the AS/400 system.

Baan Windows (BW) or Baan Internet (BI) clients require support for Windows 32-bit applications and should be at least an Intel486 (50mhz) or Pentium (75mhz) PC. The BI client also requires a Java-capable browser.

For detailed information about the front-end requirements and the installation process, refer to the appropriate document available from Baan.

6.2 BaanERP Installation Concepts

This section introduces you to some key features that may help you understand the installation process better.

6.2.1 BaanERP Directory StructureThe BaanERP application suite uses facilities of the Integrated File System (IFS) in its implementation on the AS/400 system. The IFS provides stream file support required by BaanERP. In a three-tier BaanERP implementation, the IFS through the QFileSvr.400 file system also provides the necessary support for accessing information on remote AS/400 systems. For more information on the Integrated File System, please refer to the publication Integrated File System Introduction, SC41-5711.

Figure 33 on page 53 shows a part of the BaanERP directory structure on the AS/400 system to help explain some of the concepts.

Be sure that all required program temporary fixes (PTFs) specified in the Installation Guide for BaanERP on AS/400 are installed.

Note

BaanERP uses native AS/400 database files (tables) located in a separate AS/400 library (or collection).

Note

52 BaanERP Implementation for AS/400

Figure 33. BaanERP Directory Structure for Two-Tier Support

The directory structure starts with the root file system (/). The following points discuss the figure in greater detail:

• The QSYS.LIB file system is shown on the right side of the tree. This represents the AS/400 library structure, which is used by the BaanERP database, the executable programs, work management objects, and so on.

• The dotted lines between some of the directories represent symbolic links (or soft links). They point from one directory to another directory. All directories with a soft link pointing to another directory contain only a reference to the data, not the data itself. For example, directories /<bse_name>/bse/bin and /baan/<pgm_lib>/bin have symbolic links to the same objects (programs) in /qsys.lib/<pgm_lib> . They do not hold any information since the latter directory is where the information is actually located.

During installation, you are prompted to enter names for:

• The AS/400 fully qualified host name <host name>

• The AS/400 SQL collection to contain the BaanERP database tables <collection>

• The AS/400 library to contain the BaanERP executable code <pgm_lib>

• The directory for the BaanERP Software Environment (BSE) <BSE_name>

• The AS/400 subsystem name to be used for this BaanERP environment <BSE_subsystem>

• The temporary installation directory <install>

• The AS/400 group profile name <BSE_group> and password

• BSP password

ipc_infotabledef6.2db4/db4_storagedb4/db4_usersdb4/db4_groupsfd6.2.<package>

/

QSYS.lib

(root)

<collection>

DatabasePrograms

<pgm_lib>

<install> <BSE_name> baan

<dict> <demo> bse <pgm_lib>

bintoolslog

bin

lib

dd tt<pkggrp>

etc

AS400.settings

Installation and Configuration 53

6.3 BaanERP Pre-installation Activity

This section describes some of the activities that must be performed prior to the installation of BaanERP on the AS/400 system. The following prerequisite steps must be completed:

1. Configure a user Auxiliary Storage Pool (ASP) for AS/400 journal receivers. Please refer to Appendix A, “Adding a User Auxiliary Storage Pool” on page 217, for a brief description of how to create a new user ASP.

2. Configure communications and TCP/IP. Please refer to Appendix B, “LAN/TCP Configurations” on page 223, for more information.

3. Start TCP/IP services on the AS/400 system using the Start TCP (STRTCP) command.

4. Use STRHOSTSVR *FILE (or *ALL) command to start host server.

5. In a three-tier installation, you need to start the AS/400 QSOC subsystem using the Start Subsystem (STRSBS) command. Use the Display Network Attributes (DSPNETA) command to get the AS/400 system names.

6.3.1 User ProfilesThe BaanERP installation process creates the necessary user and group profiles. Many of the profiles are initially created with a default password of BAAN123 . This password may potentially conflict with a password validation program on the AS/400 system. If so, this should be turned off or disabled during the installation on BaanERP.

If your AS/400 system has any special rules and guidelines for password validation, you can create the following user profiles from information provided in the Installation Guide for BaanERP on AS/400:

• BSP • BSPGROUP • DEMO • TOOLS • APPLIC • BAANCONNDB

6.3.2 AS/400 System ValuesThe following AS/400 system values must be set using the Work with System Values (WRKSYSVAL) or Change System Values (CHGSYSVAL) command:

• QSECURITY = 30 or 40 • QQRYDEGREE = *IO • QJOBMSGFL = *PRTWRAP • QUTCOFFSET = local time offset from GMT

A change to the system value QSECURITY only takes affect at the next IPL of the AS/400 system.

Attention

54 BaanERP Implementation for AS/400

6.4 BaanERP Installation Overview

Chapter 5, “BaanERP Topology Options” on page 41 presents an introduction to the various topology options for implementing BaanERP on the AS/400 system. This section provides an overview of the BaanERP installation process. Detailed instructions on installation are available with the BaanERP software.

6.4.1 Host-based (Two-Tier) InstallationThis section defines the approach for installing a host-based (two-tier) BaanERP environment. The software for each BaanERP Software Environment (BSE) is installed as shown in Figure 34.

Figure 34. BaanERP Host-based (Two-Tier) Installation Overview

There are four major steps in the installation process:

1. The process is initiated in an IBM 5250 terminal session on the AS/400 system that creates a temporary installation directory <install> . A subset of the BaanERP code is loaded into this directory. The PC connects to the AS/400 system to download the BW or BI code. This is installed on the PC. The BaanERP client (BW or BI) connects to the AS/400 system and starts the second part of the installation.

2. In this step, a Baan Windows (BW) or Baan Internet (BI) session is started from the PC to continue the installation. This step involves the running of installation object ottiex1289 . This process pauses after some time. It requests that you initiate a second IBM 5250 terminal session on the AS/400 system and proceed with the third step of the installation process.

Baan

AS/400Session-1

BSE prompts

Sessionterminates

Install BW/BI

Start

Initialize DB2/400

DB4INST6.2

Signoff

QINSTAPP

BVINST

Install6.2

Qshell

LODRUN

Full BSE

BSE settings

Install client

Collection name, and so

on

Completion

1289

1287Start

Continue

PC

Install DB

1288

Continueinstall

END

AS/400Session-2

or BW Session-1

BW Session-2

Installation and Configuration 55

3. The second IBM 5250 terminal session is started to complete the installation of the database into the specified SQL collection. Upon completing the database installation on the AS/400 system, return to the BW (or BI) session in step two, which performs a few more operations and terminates.

4. In the final step of the installation, the user is required to start the installation object ottiex1287 on a fresh BW (or BI) session. This automatically initiates ottiex1288 . During this step, a BaanERP panel appears.

Once the installation is complete, a few additional steps involving the configuration of BaanERP, the installation of demonstration tables, and validating (licensing) the system must be performed. These steps may take a few hours of unattended system activity. As with any installation, a system backup should be done before and after the installation.

6.4.2 Client/Server (Three-Tier) InstallationIn the client/server (three-tier) environment, the installation has to be performed on multiple AS/400 systems.

The links between multiple AS/400 systems is managed through the QFileSvr.400 file system of the Integrated File System (IFS). QFileSvr.400 provides access to file systems residing on remote AS/400 systems. The names <BSE_system> of all AS/400 systems that are in the BaanERP topology must be included under the QFileSvr.400 directory.

Figure 35. BaanERP Directory Structure for Three-Tier Support (QFileSvr.400)

ipc_infotabledef6.2db4/db4_storagedb4/db4_usersdb4/db4_groupsfd6.2.<package>

/(root)

<install> <BSE_name>

<dict> <demo> bse

bintoolsloglib

baan

<pgm_lib>

bin<collection>

DatabasePrograms

<pgm_lib>

dd tt<pkggrp>

etc

AS400.settings

QFileSvr.400

<BSE_name>

<BSE_system>

bse

QSYS.lib

56 BaanERP Implementation for AS/400

6.4.2.1 Remote Database and Database DriverIn Figure 36, you see an installation example where the BaanERP Software Environment (BSE) is on one AS/400 system. The database and database driver are located together, but on a different AS/400 system.

Figure 36. BaanERP Client/Server Installation (Remote Database and Database Driver)

There are four major steps in the installation process:

1. The process is initiated in an IBM 5250 terminal session on the AS/400 system supporting the BaanERP Software Environment (BSE). It creates a temporary installation directory <install> . A subset of the BaanERP code is loaded into this directory. This allows the BaanERP client (BW or BI) to connect to the AS/400 host and begin the second part of the installation on the AS/400 system supporting the BSE.

2. In this step, a Baan Windows (BW) or Baan Internet (BI) session is started from the PC to continue the installation. This step involves running the installation object ottiex1289 . This process pauses after some time. It requires you to initiate a second IBM 5250 terminal session on the AS/400 system and proceed with the third step in the installation process.

3. The second IBM 5250 terminal session is started on the AS/400 system supporting the database and database driver.

a. Set up a link for the AS/400 system supporting the database and database drive. To perform do this, use the AS/400 system supporting the BSE with the LODRUN menu or the Add Link (ADDLNK) command and the following parameters:

• OBJ(’/QFileSvr.400/<BSE_system>/<BSE_name>/bse’)

Baan

AS/400Session-1

BSE prompts

Sessionterminates

Install BW/BI

Start

Initialize DB2/400

DB4INST6.2

Signoff

QINSTAPP

BVINST

Install6.2

Qshell

LODRUN

Full BSE

BSE settings

Install client

Collection name, and so

on

Completion

1289

1287Start

Continue

PC

Install DB

1288

Continueinstall

END

AS/400Session-2

or

A B

DBDriver

BSEBW Session-1

BW Session-2

Installation and Configuration 57

• NEWLNK(’/<BSE_name>/bse’)

b. Proceed with running the Load and Run (LODRUN) command on the database server, but select menu option 2 from the BaanERP Install Menu (Mount a Remote BSE on local system).

c. Follow the process described for the installation of a two-tier topology. Complete the installation of the database into the specified SQL collection. Upon completing the database installation on the AS/400 system, you are required to return to the BW (or BI) session in step two, which performs a few more operations and terminates.

4. Finally, return to the AS/400 system supporting the BSE and complete the installation.

6.4.2.2 Remote DatabaseThe following figure presents an installation example where the BaanERP Software Environment (BSE) and database driver are on one AS/400 system. The database is located on a separate AS/400 system.

Figure 37. BaanERP Client/Server Installation (Remote Database)

The process for installation is similar to that described previously for a remote database and remote database driver. However, there are a few additional steps, described in the Installation Guide for BaanERP on AS/400 involving the BaanERP configuration files in the ${BSE}/lib directory:

• /tabledef6.2—Indicates the database driver to be used and the system name where the database collection is located

• /ipc_info—Determines on which system the database driver runs

A B

Baan

AS/400Session-1

BSE prompts

Sessionterminates

Install BW/BI

Start

Initialize DB2/400

DB4INST6.2

Signoff

QINSTAPP

BVINST

Install6.2

Qshell

LODRUN

Full BSE

BSE settings

Install client

Collection name, and so

on

Completion

1289

1287Start

Continue

PC

Install DB

1288

Continueinstall

END

AS/400Session-2

or

A B

DBDriverBSE

BW Session-1

BW Session-2

58 BaanERP Implementation for AS/400

• /db4/db4_storage—Specifies the name of the database collection

6.4.2.3 Adding an Application ServerPerform the following steps when you need to add an application server on a separate AS/400 system to a previously completed BaanERP installation:

1. Set up a link for the new AS/400 system with the AS/400 system supporting the BSE. Do this by using the LODRUN menu or the ADDLNK command with the following parameters:

• OBJ(’/QFileSvr.400/<BSE_system>/<BSE_name>/bse’) • NEWLNK(’/<BSE_name>/bse’)

2. Follow the steps described for installing a two-tier BaanERP Software Environment (BSE). Select option 2 from the BaanERP Install Menu (Mount a Remote BSE on local system).

Installation and Configuration 59

60 BaanERP Implementation for AS/400

Chapter 7. BaanERP AS/400 Work Management

Work management on the AS/400 system is the method used to manage AS/400 system resources to achieve optimum throughput. The AS/400 system has many objects that interact with each other and applications to process information efficiently. An understanding of the concepts of work management is an important prerequisite to understanding of how BaanERP runs on the AS/400 platform.

7.1 AS/400 Work Management Concepts

AS/400 work management concepts affecting job flow through the system are discussed in this section. However, it is not the intent of this section to cover all aspects of the subject. Various education courses and the OS/400 Work Management Guide, SC41-5306, are available for a greater understanding of the subject. Chapter 13, “System Performance Tuning” on page 177, discusses some of these concepts as they relate to system performance.

7.1.1 SubsystemsAn AS/400 subsystem is an operating environment used to allocate main storage and provide a degree of isolation for jobs with similar processing characteristics (such as batch, interactive, and so on) in which to run. The AS/400 system includes several concurrently active subsystems. The separation of jobs into subsystems minimizes the contention for system resources and increases efficiency.

Subsystem descriptions are used to define how work can enter the subsystem (work entries), how much work the subsystem can handle concurrently (activity level), how much main storage is allocated (pool specifications), and the relative importance of jobs in the subsystem (priority). The important components of a subsystem description are:

• Operational attributes —This is information such as the number of jobs that can be active in the subsystem at the same time and the interactive 5250-type sign-on display.

• Storage pool definitions —On the AS/400 system, all main storage can be assigned logically into units called storage pools. There are two types of pools:

– A shared storage pool is a pool in which multiple subsystems can run jobs. The system has two special shared pools. The machine pool (*MACHINE) which is used for jobs the system must run. The base pool (*BASE) contains all unassigned main storage that is not required by the machine storage pool or any other pool.

– A private storage pool only supports jobs from a single subsystem.

Storage pools also have an activity level. This level is the maximum number of jobs that can be active at same time in that pool. The three main storage pool attributes defined are:

– Pool identification (within the subsystem) – Pool size – Maximum activity level

© Copyright IBM Corp. 1998 61

• Work entries —A work entry specifies the source from which jobs can be accepted for processing in the subsystem. The work entry types are:

– Autostart job entries —Each time the subsystem is started, the autostart jobs associated with it are started. This allows a one-time initialization of a job to perform a repetitive activity associated with the subsystem.

– Workstation entries —A job is started when a workstation user signs on or when a workstation user transfers an interactive job from another subsystem. A workstation entry assigns a Non-Programmable Terminal (NPT) or workstation by type or a specific device description name.

– Job queue entries —Jobs are processed from the specified job queues. Job queue entries identify the job queues from which to take work and determine how much work to accept. Jobs are placed in a job queue through the AS/400 Submit Job (SBMJOB) command.

– Communications entries —A communications job is a batch job that is started by a program start request from a remote system. For servers, the start request is initiated by a client or PC application. Communications work entries identify the sources from which the subsystem accepts start requests. A communications entry includes:

• Device • Mode • Job description • Default user • Maximum active jobs

For example, a program start request using a mode entry of QSERVER is routed to the QSERVER subsystem, while users of other modes including QCASERVR and QPCSUPP are routed to the QCMN subsystem.

– Prestart job entries —A prestart job is a batch job that starts running before a program on a remote system sends a program start request. Prestart jobs are different from other jobs because they use prestart job entries to determine which program, class, and storage pool to use when they are started. The objective of a prestart job is to perform as much "start-up" activity as possible before the remote request is received.

• Routing Entries —Routing entries specify the controlling program to be called to manage a routing step for a job running in the subsystem (typically the system-supplied program QCMD), which subsystem memory pool the job uses, and from which class to get the run-time attributes. Routing data is the parameter used to select a routing entry for a job. Together, routing entries and routing data provide information on starting a job in a subsystem.

The class associated with a subsystem is an important object since it identifies many aspects of the job execution or run-time environment such as:

– Run priority —Run priority is a value, ranging from 1 (highest priority) through 99 (lowest priority), that represents the importance of the job when it competes with other jobs for the machine resources. This value represents the relative, not absolute, importance of the job. For example, a job with a priority of 25 is not twice as important as one with a priority of 50.

– Time slice —Specifies the maximum amount of processor time (in milliseconds) given to a job before other jobs are given the opportunity to run. The time slice establishes the amount of time allowed for the job to accomplish a meaningful amount of processing. If a job exceeds its

62 BaanERP Implementation for AS/400

assigned time slice, it is temporarily flagged as ineligible to run so that other jobs can become active in the storage pool.

– Eligible for purge —Specifies whether a job is eligible to be moved out of main storage and put into auxiliary storage at the end of a time slice or when there is a long wait (such as waiting for a work station user's response). This attribute is ignored when more than one thread is active within the job. A job with multiple threads is never purged from main storage.

– Default wait time —Specifies the default maximum wait time (in seconds) that processing of a job is held up while an instruction that performs a wait finishes running. This default wait time is used when a wait time is not otherwise specified for a given situation. Normally, this would be the amount of time the system user would be willing to wait for the system before the request is ended.

– Maximum CPU time —Specifies the maximum processing unit time (in milliseconds) that a job can have to completely run the entire routing step. If not finished before the maximum time is used, running of the routing step is ended.

– Maximum temporary storage —Specifies the maximum amount of temporary (auxiliary) storage (in kilobytes) that a job can use for processing. This temporary storage is used for storage required by the program itself and by implicitly created internal system objects used to support the routing step. If the maximum temporary storage is exceeded by a routing step, the routing step is ended. This parameter does not apply to the use of permanent storage, which is controlled through the user profile.

7.1.1.1 IBM-Supplied SubsystemsSeveral subsystems are provided by and used with OS/400. IBM licensed program applications may place jobs into one of these subsystems or supply their own subsystems. This section gives a brief overview of key subsystems. For applications, you must review application-specific documentation to determine their unique subsystem requirements. The subsystems specific to BaanERP are discussed later in this chapter.

IBM-supplied subsystems may use shipped system values (such as QCTLSBSD) and subsystem description parameters to determine the work or functions assigned to a particular subsystem. Through manipulation of the subsystem description, a user may route IBM-provided applications to any subsystem or make adjustments to storage pools and job priorities. This section only describes the typical assignments.

Some of the subsystems included here have IBM-supplied job names for IBM-supplied functions. Not all subsystems are listed and not all jobs in every subsystem are listed.

QBASE and QCTL SubsystemsThe AS/400 system has one subsystem called the controlling subsystem. The system value QCTLSBSD specifies which subsystem is the controlling subsystem. It is the first subsystem to start after an Initial Program Load (IPL), has to be active while the system is running. It is also the only subsystem active when the system is operating in a restricted state , which is needed when performing certain system functions such as complete system saves.

BaanERP AS/400 Work Management 63

QBASE is the shipped default controlling subsystem (using system value QCTLSBSD) and is typically used in simple, single application environments. Running non-interactive and interactive applications in QBASE at the same time generally results in page faulting rates that approach the poor range.

Usually customers run with a more sophisticated environment than can be supported with almost all work being performed in QBASE. Therefore, QCTL is usually set up as the controlling subsystem. The following subsystems are usually active and not QBASE:

• QCTL (controlling subsystem) • QBATCH (for batch-type work) • QINTER (for interactive-type work)

Other IBM subsystems, such as QSPL, QSNADS, and so on, along with user defined subsystems, may also be active.

The AS/400 system console runs in the controlling subsystem, and usually runs in the QCTL subsystem. In some system environments, QCTL may also perform interactive and batch user application work. Other jobs, such as the system cleanup job QSYSSCD, may also run in QCTL.

The system value QSTRUPPGM specifies the start-up program that is called soon after the controlling subsystem has started at the end of an IPL. The start-up program starts the subsystems that both IBM and the customer want to have active after IPL. As shipped from IBM, the start-up program starts subsystems QBATCH, QINTER, QSPL, QSNADS, QCMN, and QSERVER.

The IBM-supplied IPL start-up program is called QSTRUP in library QSYS. You can use the AS/400 system Retrieve CL Source (RTVCLSRC) command to obtain the source code for this program and determine whether the IBM subsystems automatically started. The RTVCLSRC command can be modified as necessary. For example, the Start Baan (STRBAAN) command can be added so that BaanERP is started automatically every time an IPL is performed on the AS/400 system. Typically in a BaanERP environment, the STRTCP and STRHOSTSVR commands are added to this program.

QBATCH and QINTER SubsystemsMost OS/400 commands that perform the Submit Job (SBMJOB) command default to placing the job request on the job queue QBATCH that is assigned to subsystem QBATCH. This means, by default, typical non-interactive jobs run in subsystem QBATCH.

The QINTER subsystem is set up so that interactive sessions default to run in QINTER. This includes local and remote dependent workstation displays (5250 and 3270 displays), 5250 display station pass-through sessions, 3270-based sessions (such as DHCF and SNA Primary Logical Unit (SPLS)), PC Support/400 or Client Access/400 Work Station Function (WSF) sessions, RUMBA/400 sessions, OS/2 Communication Manager 5250 emulation sessions, and ASCII Workstation Controller display devices.

QSPL SubsystemThis subsystem is shipped to control all spooled output work. These tasks are usually initiated by the AS/400 command Start Printer Writer (STRPRTWTR).

64 BaanERP Implementation for AS/400

QSNADS SubsystemThis subsystem usually performs functions such as document transmission and TCP/IP Simple Mail Transfer Protocol (SMTP) work over an SNA network. There can be several routing jobs active and a job for each send distribution defined for a remote location. A few of the more common jobs are:

• QSRVBAS/QESTP

This job is activated as part of standard OS/400 support for receiving PTFs from either IBM or a customer service provider.

• QGATE/TCPIPLOC

This job is activated when TCP/IP Simple Mail Transfer Protocol (SMTP) is activated for the local system.

QSYSWRK SubsystemThe QSYSWRK subsystem is a common subsystem for various system jobs. Because of the possibility of a large number of different jobs active within this subsystem, it is important to understand what is currently known about these job types. For a particular customer environment, changes to the default run priority or storage pool assignment may be necessary to improve the overall system performance.

Subsystem description QSYSWRK is shipped to use only the base storage pool and is not included in the system-supplied IPL start-up program QSTRUP. QSYSWRK is started by the SCPF job during IPL unless the system performs IPL to a restricted state. A few of the more common jobs are:

• LAN Server/400 monitor job

There is one job active for each active Integrated PC Server (IPCS). The monitor job has the name of the network server description started for the IPCS.

• Mail Server Framework (QMSF/QMSF)

There can be one or more mail server framework jobs (typically only one). The AS/400 system Start Mail Server Framework Job (STRMSF) command can be used to start up multiple QMSF jobs. This may improve performance during periods of excessive sending and receiving of mail or SNADS distributions.

• TCP/IP support

TCP/IP support is included in OS/400. When the AS/400 system Start TCP/IP (STRTCP) command is issued, several jobs are started in QSYSWRK.

Subsystem QSYSWRK is shipped with several autostart job entries including ones such as QSYSWRKJOB and QFSIOPJOB. These jobs run at the start of subsystem QSYSWRK to perform functions such as QSYSWRK processing and restarting LAN Server/400 jobs.

QCMN SubsystemSubsystem QCMN supports most communications jobs. Additionally, all server jobs (except the file and database servers) run in this subsystem. User-written client/server application serving jobs (for example, using APPC or data queues) run in the QCMN subsystem. QCMN is active when the system value QCTLSBSD specifying the controlling subsystem is QCTL.

BaanERP AS/400 Work Management 65

QSERVER SubsystemSubsystem QSERVER runs the host server jobs for Client Access/400 file serving and database serving functions. There is one autostart job and one file server job for each active client and one database server job for an active database serving session, as shown in the following list:

• SNA:

– QPGMR/QSERVER

This autostart job sets up the file serving and database serving environment on the AS/400 system.

– User-id/QPWFSERV

File serving support includes storing programs and files as a network drive (virtual disk) for the attached client.

– QUSER/QZDAINIT

There is one of these database serving functions for each active client session. QZDAINIT is implemented as a prestarted job.

• TPC/IP:

– User-id/QPWFSERVSO

File serving support includes storing programs and files as a network drive (virtual disk) for the attached client.

– User-id/QPWFSERVSD

This is the file server daemon.

– QUSER/QZDASOINIT

There is one of these database serving functions for each active client session. QZDASOINIT is implemented as a prestarted job.

– QUSER/QZDASRVSD

This is the database server daemon.

7.1.1.2 Subsystem StartingWhen a subsystem is started, the following sequence occurs:

1. The AS/400 command Start Subsystem (STRSBS) is issued.2. The system interrogates the subsystem description for information.3. Storage pools are allocated.4. Display stations are allocated (sign-on displays are up) if appropriate.5. Communications devices are allocated if appropriate.6. Job queues are allocated.7. Prestart jobs are started if appropriate.8. Autostart jobs are started if appropriate.9. The subsystem is up and running and ready for work.

7.1.2 JobsEach unit of work on the system is performed under a unique, fully-qualified name within the system. All jobs run within a subsystem.

7.1.2.1 ThreadsA job is a collection of one or more threads . Each job has an initial thread. The initial thread is created when the job starts. The job may also have additional

66 BaanERP Implementation for AS/400

threads, identified as secondary threads, depending on the application (BaanERP is not a multi-threaded application).

A thread is an independent unit of dispatchable work. Each thread has its own execution environment, such as a call stack. The thread shares many of the resources that are assigned to the job. The identifier for the thread is unique in the job to which the thread belongs.

Controlling work in the system is performed mainly at the job level. Most commands and Application Programming Interfaces (APIs) operate against the entire job.

Each thread is an independent unit of work. The activity level of a storage pool applies to threads rather than jobs. The maximum active counts associated with a subsystem. The subsystem work entries, however, apply to jobs. Therefore, a thread is used in information about storage pool activity levels. A job is used in information about subsystem maximum active counts.

7.1.2.2 Types of JobsThe AS/400 system supports many different types of jobs. Here is a short summary of them:

Interactive An interactive job basically starts when a user signs on to the system from a display station and ends when they sign off. The user (from a display station) is interacting with the system by issuing commands, using function keys, and running programs and applications.

Group A group job is one of up to 16 interactive jobs that are associated in a group with the same workstation device and user.

Batch A batch job has no interaction with the user and occurs when a user submits a job to a job queue, issues a communications program start request, starts a subsystem with an autostart job entry, or starts a subsystem with a prestart job entry. Compiling programs and reports are commonly run in batch.

Batch Immediate A batch immediate job is initiated (or spawned) directly by another job without going through any job queue. These jobs are like batch jobs in that they can exist without any direct communications with a user. Always run batch immediate jobs in the same subsystem as the job that started it.

Autostart An autostart job is a batch job doing repetitive work or one-time initialization work that is associated with a subsystem and is automatically started each time the subsystem is started.

Communications A batch job that is started by a program start request from a remote system.

Prestart A batch job that starts running before the remote program sends a program start request.

System A batch job created by OS/400 to control system resources and schedule jobs.

BaanERP AS/400 Work Management 67

7.1.2.3 Job NamesTo make it easier to control and identify jobs on the system, each job has a unique, qualified job name. The qualified job name consists of three parts: the job name (or simple job name), the user name, and the job number, as described here:

• For interactive jobs, the job name is the same as the name of the workstation the user is signed on to. The job name for a batch job can be specified up to 10 characters long.

• The user name is the name of the user profile under which the job is started. For interactive jobs, the user name is the name entered in the user field on the sign-on display. For batch jobs, it is the user profile under which the batch job was started running under. The user name can be up to 10 characters long.

• The job number is a unique number assigned by the system so users can identify jobs, even if more than one has the same job name and user name. The job number is always six numeric digits.

The syntax for qualified job names is similar to qualified names for objects in libraries. For example, if the job name is DSP01, the user is QPGMR, the job number is 000578, and the qualified job name is 000578/QPGMR/DSP01.

7.1.2.4 Job DescriptionJob attributes determine how each job is run on the system. A subsystem knows where and when to get job attributes from a job description, user profile, system value, or the currently active job based on how each attribute is specified.

A job description contains a specific set of job-related attributes and can be used by multiple jobs. Thus, when using a job description, a user does not need to specify the same parameters repeatedly for each job. Different job descriptions can be created to describe batch jobs or interactive jobs, or for each user of the system. The following is a partial list of job attributes:

• Job queue • Job priority (on JOBQ) • Output priority (on OUTQ) • Print device • Output queue • Initial library list • Message logging

7.1.2.5 Job ExecutionChapter 13, “System Performance Tuning” on page 177, goes into more detail regarding how jobs execute on the AS/400 system. The following basic elements control the selection of active jobs for processing by the AS/400 system:

• Task dispatching and priority —The AS/400 operating system manages the multiple tasks to be processed, through the following:

– Task Dispatch Queue—Regardless of the number of CPUs in the AS/400 system, there is only one task dispatcher and Task Dispatch Queue (TDQ). All active system and user jobs are represented in this queue as Task Dispatch Entries (TDE), and basically are ordered by job priority.

– Job priority—Mainly determines the order of jobs in the TDQ. However, there are other considerations that affect the position of jobs of equal

68 BaanERP Implementation for AS/400

priority in the TDQ. Jobs with a lower numeric value have a higher priority in the TDQ and are processed ahead of those with a lower priority, such as batch jobs.

• Activity levels —A Job must occupy an activity level to be processed by the CPU or CPUs. An activity level is specified to control the maximum number of jobs that may be run concurrently, and is specified at the system, subsystem, or memory pool level.

• Time slice —Is specified in the class and determines the amount of CPU seconds the job is allowed to use to complete a task.

• Job states —A currently executing job is in one of the following states:

– Active—Occupying an activity level – Waiting—Waiting on an event to occur – Ineligible—Not entitled to use the processor

• Job transitions —As a job runs in the system, it is transferred between states. The following transitions can be displayed by using the AS/400 system Work with System Status (WRKSYSSTS) command and pressing the F11 key:

– Active-wait (A-W)—Once a job has been using the CPU and the required task is completed, the job enters a wait state until an event (such as the user pressing the enter key or a function key in an interactive job) occurs.

– Wait-ineligible (W-I)—If the event the job was waiting on has completed but an activity level is not available, the job enters an ineligible state.

– Active-ineligible (A-I)—If the job does not complete in the assigned time slice, it may become ineligible (if there are other jobs awaiting).

Figure 38. Job Transition States Using the WRKSYSSTS Command

(W-I)

Start

Activity Level Free?

Inelig. State

Wait State

YTime Slice End

N

(A-I)

long wait

(A-W)

Enter key or mouse click

ActiveState

TaskDispatch

Queue

BaanERP AS/400 Work Management 69

7.2 BaanERP Work Management

In this section, AS/400 system work management concepts affecting job flow and BaanERP are tied together.

7.2.1 BaanERP Subsystem and JobsWhen you start a BaanERP Software Environment (BSE) on the AS/400 system, it basically starts up the subsystem and the jobs needed to run. Most BaanERP applications, including the BShell, shared memory or other BaanERP daemons run in the designated BaanERP subsystem (if you choose the default name during install, it is BAAN). The following sequence outlines the steps taken when BaanERP is started:

1. The STRBAAN command is issued with the name of the ${BSE} to start (where ${BSE} is the qualified name of the BSE).

2. The command goes to ${BSE}/etc/AS400.Settings to get the library and subsystem description information.

3. The STRSBS command is issued to start the BaanERP subsystem.4. The STRBAAN auto-start job is started and calls the STRBAANJOB

command.5. The STRBAANJOB command uses the QSH shell to call ${BSE}/etc/rc.start.6. rc.start performs the following functions:

• Initializes shared memory (${BSE}/etc/rc.start_shm) • Initializes the license daemon (${BSE}/etc/rc.start_licd) • Loads the runtime data dictionary into shared memory

(${BSE}/etc/rc.start_srdd) • Initializes the printer daemon (${BSE}/etc/rc.start_pdaemon)

7. The following jobs are active on a successful initiation of the BaanERP subsystem: • PDAEMON6—The printer daemon • DB4_SRV6—The associated database driver • SHMTIME6—The shared memory daemon • QBFCLISTEN—The database connection initiator (which spawns

QBFCRECVR jobs for access to the database)

When BaanERP is ended using the ENDBAAN command, it uses the Qshell to call ${BSE}/etc/rc.stop, which ends the printer and shared memory daemons and issues the ENDSBS command to end the BaanERP subsystem.

Note: When you end a BaanERP environment, the subsystem and its jobs end. The QBFCLISTEN job in QSYSWRK does not end since it may be needed by other BaanERP environments if you have a multiple BSE system.

QSYSWRK has an autostart job entry for QBFCLISTEN JOBD (in BAANCOMMON library). This QBFCLISTEN job is only used for remote access in a three-tier environment. In the BaanERP (<pgm_lib>) library, there is a different JOBD for the QBFCLISTEN job. This QBFCLISTEN job is used for local (two-tier) socket connections and is started with the STRBAAN command (because it is an autostart job on the subsystem).

Note

70 BaanERP Implementation for AS/400

The BaanERP (<pgm_lib>) library contains all of the objects created during the installation, including the default subsystem description (*SBSD), job description (*JOBD), job queue (*JOBQ), and class (*CLS) objects. These objects can be modified.

7.2.2 Starting Baan Windows (BW) JobsBaan Windows (BW) jobs use a Remote Execution (REXEC) server to make the connection into the AS/400 system. REXEC is a TCP/IP application that allows a client user to submit system commands to a remote server system. The user identifier, password, and command to be performed is sent from the user's client program to the server. The server validates the user, runs the requested command, and returns the results of the command to the client.

REXEC server jobs are started when the AS/400 system Start TCP/IP (STRTCP) command is run and the REXEC attribute’s Autostart Servers (AUTOSTART) parameter is set to *YES. They also start when the AS/400 system Start TCP/IP Server (STRTCPSVR) command is run with a SERVER parameter of *REXEC or *ALL. These jobs run in the QSYSWRK subsystem and their purpose is to monitor for and process requests from REXEC client users. The format for the names of these jobs is QTRXCnnnnn, where nnnnn is a 5-digit decimal. When a user makes a connection, these jobs basically start a BSHELL6 job in the correct subsystem, which in turn starts associated DB4_SRV6 jobs.

7.2.3 Displaying the BaanERP Subsystem and JobsAS/400 subsystems and the jobs running in them can be viewed using the AS/400 command Work with Active Jobs (WRKACTJOB) or Work with Subsystem Jobs (WRKSBSJOB) commands. By default, they show all subsystems. You can limit the display by using the Subsystem parameter (SBS) and specify the name of the subsystem. When you first start BaanERP, you see jobs running during initiation, as shown in the following example.

Figure 39. Work with Active Jobs (WRKACTJOB) Display while BaanERP Starts

Work with Active Jobs

CPU %: 2.4 Elapsed time: 03:56:20 Active jobs: 214 Type options, press Enter. 2=Change 3=Hold 4=End 5=Work with 6=Release 7=Display message 8=Work with spooled files 13=Disconnect ... Opt Subsystem/Job User Type CPU % Function Status BAAN QSYS SBS .0 DEQW QP0ZSPWP BSP BCI .0 EVTW QP0ZSPWP BSP BCI .0 EVTW QP0ZSPWP BSP BCI .2 RUN QZSHSH BSP BCI .0 EVTW SHMTIME6 BSP BCI .0 SIGW STRBAAN BSP ASJ 0 CMD-STRBAANJOB TIMW

Parameters or command ===> F3=Exit F4=Prompt F5=Refresh F10=Restart statistics F11=Display elapsed data F12=Cancel F14=Include F24=More keys

BaanERP AS/400 Work Management 71

When the startup process finishes, the following AS/400 jobs appear:

• SHMTIME6 • PDAEMON6 (if started) • DB4_SRV6 (if printer daemon is started) • QBFCLISTEN

Figure 40. Work with Active Jobs (WRKACTJOB) Display (BaanERP Started)

You should see one BSHELL6 and at least one DB4_SRV6 job for each logged on user. The following is an example of the information you may see in the BaanERP subsystem with two logged on BaanERP users.

Figure 41. Work with Active Jobs (WRKACTJOB) Display (Logged on BaanERP Users)

Work with Active Jobs

CPU %: 2.6 Elapsed time: 03:57:48 Active jobs: 211 Type options, press Enter. 2=Change 3=Hold 4=End 5=Work with 6=Release 7=Display message 8=Work with spooled files 13=Disconnect ... Opt Subsystem/Job User Type CPU % Function Status BAAN QYS SBS .0 DEQW DB4_SRV6 BSP BCI .0 TIMW PDAEMON6 BSP BCI .0 SIGW SHMTIME6 BSP BCI .0 SIGW QBFCLISTEN BAANCONNDB ASJ .0 PGM-QBFCLISTEN SELW Parameters or command ===> F3=Exit F4=Prompt F5=Refresh F10=Restart statistics F11=Display elapsed data F12=Cancel F14=Include F24=More keys

Work with Active Jobs

CPU %: 4.1 Elapsed time: 00:43:53 Active jobs: 225 Type options, press Enter. 2=Change 3=Hold 4=End 5=Work with 6=Release 7=Display message 8=Work with spooled files 13=Disconnect ... Opt Subsystem/Job User Type CPU % Function Status BAAN QSYS SBS .0 DEQW BSHEL6 PETE BCI .0 SELW BSHELL6 JOHN BCI .4 SELW DB4_SRV6 PETE BCI .3 TIMW DB4_SRV6 JOHN BCI .0 TIMW DB4_SRV6 BSP BCI .0 TIMW PDAEMON6 BSP BCI .2 SIGW SHMTIME6 BSP BCI .0 SIGW

===> F3=Exit F4=Prompt F5=Refresh F10=Restart statistics F11=Display elapsed data F12=Cancel F14=Include F24=More keys

72 BaanERP Implementation for AS/400

The BaanERP job types are:

• BCI is a batch immediate job that is started (spawned) by another job, but may functionally depend on the parent job. These jobs bypass the job queues and run in the same subsystem as the parent job. They inherit most attributes from the parent job.

• BCH is a batch job that is submitted for execution by another job, but runs as an independent job on the AS/400 system. When a user becomes active, and accesses the database, additional QBFCRECVR jobs are spawned by the QBFCLISTEN batch job.

7.2.4 BaanERP Job NamesSome of the more common AS/400 system BaanERP jobs are shown in the following list. Many of them are similar to BaanERP in a UNIX environment. The name in parentheses shows how they appear in the ${BSE}/bin directory (where ${BSE} is the qualified name of the BSE) in IFS or UNIX.

• BSHELL6 (bshell6.2 )—The layer between Baan software and the operating system (the BaanERP Virtual Machine).

• PDAEMON6 (pdaemon6.2 )—The printer daemon.

• FILTER6 (filter6.2 )—The print filtering program.

• SHMTIME6 (shmtimer6.2 )—The shared memory daemon.

• DB4_SRV6 (db4_srv6.2 )—The database driver.

• BSHELL_INS (bshell_INS6.2 )—A version of the BShell used during install.

• COMPRES6 (compress6.2 )—A Baan compression program.

• SORT6 (sort6.2 )—A Baan sort function.

• SH_SERVER6 (sh_server6.2 )—A Baan shell server which handles the "shelling" of different Baan jobs.

• QP0ZSPWP and QZSHSH—They are both run QSH jobs on behalf of the user.

• QBFCLISTEN—Interface jobs between the DB4_SRV6 jobs and the database itself. QBFCLISTEN is a database connection daemon necessary for starting database sessions.

• QBFCRECVR—Performs the actual database access.

BaanERP AS/400 Work Management 73

74 BaanERP Implementation for AS/400

Chapter 8. BaanERP Database on the AS/400 System

The Relational Database Management System (RDBMS) used on the AS/400 system is DB2 for AS/400. It is fully integrated with the OS/400 operating system. The two products are shipped by IBM and installed as a single entity. The close integration between the operating system and the database allow the developers of the AS/400 system to implement database functions where they are most efficient. In fact, some of the database functions are even implemented in the hardware.

The high level of integration makes the complexity of a database management system quite transparent to the users of an AS/400 system. This enhances the ease of use and management of the two products. Resulting from this integration, separately authorized users are not required for the two components. Also, when OS/400 is started at IPL time, DB2 for AS/400 is started automatically.

Note: DB2 for AS/400 is a member of the IBM DB2 family of products.

8.1 Database Representation

Data representation in DB2 for AS/400 and OS/400 is commonly in Extended Binary Coded Decimal Interchange Code (EBCDIC). This is different than American National Standard Code for Information Interchange (ASCII) used on other platforms. Data on the AS/400 system can be one of two types:

• Stream files —These files are represented by continuous streams of data. Examples of this type are PC and UNIX files. Stream files are particularly well suited for storing data strings such as text documents, images, and so on. Most stream files are stored in ASCII when used by BaanERP. On the AS/400 system, these are stored as *STMF object types. The capability to process the contents of the stream file is a function of the specific application.

• AS/400 Database files —These files are record (or row) oriented, and almost always have subdivisions consisting of data fields (or columns). These objects have an AS/400 object type of *FILE, with an attribute such as PF or LF. Any application capable of accessing the database can process the contents of a database file.

Figure 42 on page 76 shows an example of data in stream files and AS/400 database files.

© Copyright IBM Corp. 1998 75

Figure 42. Major Data File Types Supported on the AS/400 System

Nearly all data on an AS/400 system is normally stored as relational tables. However, enhancements to the product have allowed for a variety of file systems to be supported on the AS/400 system to make it an efficient and effective central store-house of information.

8.1.1 TerminologyThis section introduces you to the terminology used in an AS/400 environment relating to information storage and retrieval.

8.1.1.1 Library All traditional AS/400 objects are contained in a special object type called a library (*LIB). There is, however, a special library called QSYS, which contains the names of all the other libraries. This is shown in Figure 43 on page 77.

0001;John;23456;2345;Highway 52N;Rochester MN::

0002;James;12345;25;Frontage St;Greybull WY::

0003;Douglas;98765;Another St;Jackson WY::

0004;Thomas;56789;By Lane;Rapid City SD::

0001 John 23456 2345 Highway 52N Rochester MN

0002 James 12345 25 Frontage St Greybull WY

0003 Douglas 98765 1259 Another St Jackson WY

0004 Thomas 56789 2345 By Lane Rapid City SD

Stream Files

Database Files

76 BaanERP Implementation for AS/400

Figure 43. AS/00 Library Structure

8.1.1.2 Physical and Logical FilesData in the relational database on an AS/400 system is stored in objects called physical files (tables). Physical files consist of records (rows) with a predefined layout of data fields (columns). Physical files can have a keyed index included in its definition which allows retrieval of information in a pre-defined sequence.

Logical files provide a different view of the physical data. It allows data to be retrieved in a sequence other than that specified in the physical file. It also allows field (or column) subsetting, record selection, joining multiple database files, and so on.

An access path describes the order in which records are to be retrieved and presented to the application program. Records in a physical or logical file can be retrieved using an arrival sequence access path or a keyed sequence access path. For logical files, you can also select and omit records based on the value of one or more fields in each record.

Figure 44 on page 78 shows the relationship between physical files, logical files, and access paths.

QSYS System Library

User Libraries LIBA LIBB LIBC and so on

File

FolderProgram

Data Areas

File

Folder

Data Areas

Program

Spool

File

Folder

Data Areas

Program

Spool

File

Folder

Data Areas

Program

Spool

Spool

BaanERP Database on the AS/400 System 77

Figure 44. AS/400 Relationship of Physical and Logical Files and Access Paths

Table 1 summarizes the relationship between SQL and native AS/400 system terminology.

Table 1. Summary of Terms

8.1.2 AS/400 Integrated File SystemThe AS/400 system Integrated File System (IFS) encompasses all file systems currently supported by the AS/400 system. File systems supported by the AS/400 Integrated File System (IFS) include the following components:

• Root File System —The root file system (/) is designed to take advantage of the stream file support and hierarchical directory structure of the IFS. The object names are not case sensitive.

Native AS/400 SQL

Library Collection

Physical File Table

Keyed File (Physical/Logical) Index

Non-keyed Logical File View

Journal/Journal Receiver Re-do Logs

Record Row

Field Column

FileaFileb

FilecFiled

Filee

Filex Filey

PhysicalFiles (data)

LogicalFiles (no data)

selectionprojection

unionjoin

ApplicationProgram

AccessPaths

78 BaanERP Implementation for AS/400

• QSYS.LIB —This file system represents the traditional AS/400 library and file structures. It provides access to AS/400 libraries and SQL collections defined under the AS/400 QSYS library and all of the AS/400 objects under them.

• QOpenSys —AS/400 Open Systems support is designed to be compatible with UNIX-based Open Systems standards, such as POSIX and X/Open Portability Guide (XPG). This file system supports case sensitive object names.

• QDLS—This is a document library services system that supports the folder structure and provides access to documents and folders within folders.

• QLANSrv —The LAN Server file system provides access to the same directories and files that are accessed through the LAN Server/400 licensed program product.

• QOPT—This is the optical file system and supports stream files stored on optical media (which includes the AS/400 system’s integrated CD-ROM drive).

• QFileSvr.400 —This is a special OS/400 facility that provides access to file systems residing on other AS/400 systems.

• Network File System (NFS) —This file system supports access to data and objects stored on remote Network File System servers other than AS/400 systems. Network File System objects can be exported from the NFS server, and dynamically mounted by NFS clients.

• QNetware File System —This file system provides access to objects that are stored on a server running Novell NetWare 3.12 or 4.10.

• QNTC File System —This file system provides access to the objects that are stored in NT either on the Integrated PC Server or stand-alone PC server.

8.2 Accessing the Database and IFS

This section presents an overview of how information is stored and retrieved from an AS/400 database and IFS.

8.2.1 AS/400 Directory StructureThe IFS presents a hierarchical directory structure, enabling users and application programs to access all objects in the AS/400 system. Path names are used to access objects. The support is similar to the support that is available in PCs.

8.2.1.1 Hard and Soft LinksEach entity in the path is linked to the next entity in the path through hard links . An object has a hard link to the directory in which it is created.

On the other hand, symbolic (or soft ) links merely point to another object described through another path. The object pointed to by a symbolic link is

All BaanERP database tables are stored as native AS/400 relational tables, which are stored in an AS/400 SQL collection. BaanERP also uses stream files in the root directory structure supported by the Integrated File System.

Note

BaanERP Database on the AS/400 System 79

resolved only when the link is used. Thus, a symbolic link can point to a non-existent object until it is accessed. Also, symbolic links can cross file systems, where hard links cannot.

The Add Link (ADDLNK) command (or QSH ln -s) on the AS/400 system enables you to create a link between two objects. The following figure is an example of the ADDLNK command.

Figure 45. Add Link (ADDLNK) Command Display

The first parameter, Object (OBJ), specifies the path name of the object to which you want to add a link. This object must exist unless a symbolic link is being added. The second parameter, New link (NEWLNK), specifies the new path name that can be used to refer to the object. The new name must not exist.

8.2.1.2 QFileSvr.400The QFileSvr.400 file system is used to communicate between the application server and the database server. Every other AS/400 system that can be communicated with must be identified in the QFileSvr.400 directory. A soft link can be defined to point to the file system on the other AS/400 system.

8.2.1.3 BaanERP Database OrganizationThis section presents an overview of the organization of the BaanERP information on the AS/400 system.

BaanERP DatabaseThe actual database tables and indexes relating to a BaanERP environment are located in a library (or more precisely in an SQL collection). The name of the SQL collection is specified during the installation process (<collection> in Figure 46 on page 81).

BaanERP Executable CodeThe BaanERP application programs are AS/400 program objects (*PGM) and are located in an AS/400 library whose name is specified during the installation process (<pgm_lib> in Figure 46).

Add Link (ADDLNK) Type choices, press Enter. Object. . . . . . . . . . . . . New link . . . . . . . . . . . . Link type . . . . . . . . . . . *SYMBOLIC *SYMBOLIC, *HARD Bottom F3=Exit F4=Prompt F5=Refresh F12=Cancel F13=How to use this display F24=More keys

80 BaanERP Implementation for AS/400

Figure 46. BaanERP IFS QFileSvr.400 Remote AS/400 System Directory Structure

Other BaanERP ObjectsAll other BaanERP objects are stored as stream files in the root directory of the AS/400 system Integrated File System (IFS). A baan directory is also created in the root.

Each installation of a BaanERP Software Environment (BSE) has a directory entry in the root directory (<BSE_name> in Figure 46), within which there is a sub-directory with the name bse . A sub-directory /baan/<pgm_lib>/bin is also created for each BaanERP installation.

The sub-directory within <BSE_name>/bse/bin has a soft link to the /baan/<pgm_lib>/bin directory. This directory has a soft link to the AS/400 system library holding the BaanERP programs.

8.2.2 AS/400 Database AccessInformation stored in the relational database on an AS/400 system can be accessed through either one of the following access interfaces:

ipc_infotabledef6.2db4/db4_storagedb4/db4_usersdb4/db4_groupsfd6.2.<package>

/(root)

<install> <BSE_name>

<dict> <demo> bse

bintoolsloglib

baan

<pgm_lib>

bin<collection>

DatabasePrograms

<pgm_lib>

dd tt<pkggrp>

etc

AS400.settings

QFileSrv.400

<BSE_name>

<BSE_system>

bse

QSYS.lib

The directory path /<BSE_name>/bse is often represented in BaanERP documentation and in this document as ${BSE}.

Note

BaanERP Database on the AS/400 System 81

• Native AS/400 Input/Output Interface —Here I/O requests issued from an application program are translated into single read and write requests that are processed by DB2 for AS/400.

• SQL Optimizer —When SQL statements are used by application code to access the database, the statements provide information on the required resulting data set. The SQL Optimizer component of DB2 for AS/400 determines the most efficient way of retrieving the data (called an access plan), based on the standard algorithms and the database environment at the time.

Figure 47 shows these database accesses.

Figure 47. DB2 for AS/400 Database Access Overview

8.2.2.1 Database Driver Level 1A level 1 database driver reduces complicated BaanERP SQL statements into simple queries in an optimal way. This mechanism enables the optimization of the SQL statements to be performed by BaanERP instead of the database management system.

On the AS/400 system, the level 1 database driver results in record-level native database I/O requests to be generated for processing by DB2 for AS/400. This provides an efficient mechanism for accessing the database on the AS/400 system.

8.2.2.2 Database Driver Level 2A level 2 database driver receives all queries from the Baan Virtual Machine or BShell and passes them on to the relational database management system. The current implementation of the AS/400 porting set for BaanERP does not include a level 2 database driver.

Database

Technolo gy Independent Machine Interface

SQL/ISQLQuery Manager

Query/400 OPNQRYF CA/400 File

TransferODBC

Query APIs

DB2 for AS/400Optimizer

OS/400Query

Component

Native

I/O(record )

Record processin g

Set processin g

Data Management

82 BaanERP Implementation for AS/400

8.2.3 Accessing the BaanERP DatabaseBaanERP on the AS/400 system uses stream file objects in the IFS directories to point to the correct database server system and SQL collection. Database tables accessed through a BaanERP application include:

• Local Tables —All tables are on the same system as the BaanERP application (BShell).

• Remote Tables —All tables are on a system different to the application code.

• Local/Remote Tables —Some of the tables are local, while others are remote.

In each of these cases, the tables can exist on one or more AS/400 systems and in one or more database collections (except for local tables).

8.2.3.1 Key BaanERP Stream FilesInformation about where the database tables are located is provided by the files in the following list. These files are located in the AS/400 system Integrated File System (IFS) in the directory /<BSE_name>/bse/lib (which is often represented by ${BSE}/lib ).

• ${BSE}/lib/tabledef6.2 —Defines the names of tables or groups of tables and the host system on which they are located. For example:

File: /baanERP/bse/lib/tabledef6.2 ttmod:111:db2400(DB4_HOME=NOFRITE.xxxxx.com) {user}*:*:db2400(DB4_HOME=FRITE.xxxxx.com):N

The first specification indicates that the ttmod tables for company 111 are to be located in system NOFRITE. The second specification in the tabledef6.2 stream file indicates that all database files are to be accessed using a DB2 for AS/400 driver and the database is located on system FRITE. This file is maintained through BaanERP Tools.

• ${BSE}/lib/db4/db4_storage —Identifies the name of the database collection where specific tables or groups of tables are located. For example:

File: /baanERP/bse/lib/db4/db4_storage{user}*:*:T:group:::COLLECTION LASTDATA*:*:I::01::

This specification in db4/db4_storage indicates that the entire database is located in the AS/400 system collection LASTDATA. Specific entries can be made here to locate database tables in other collections.

• ${BSE}/lib/fd6.2.<package> —Specifies the location of different versions of BaanERP objects and data definitions for a specific package combination. For example:

File: /baanERP/bse/lib/fd6.2.b50a mbc:${BSE}/application/bcB50_afbc:${BSE}/application/bcB50_aobc:${BSE}/application/bcB50_a

These specifications indicate the location of a BaanERP dictionary type for a particular package combination.

• ${BSE}/lib/ipc_info —Specifies the location of the BaanERP executable code. For example:

File: /baanERP/bse/lib/ipc_info bshell s 0 0 s ${BSE}/bin/bshell6.2

BaanERP Database on the AS/400 System 83

bshell.inst s 0 0 s ${BSE}/bin/bshell_inst6.2 audit s 501 510 s ${BSE}/bin/audit_srv6.2sh_server s 0 0 s ${BSE}/bin/sh_server6.2fs6.2 s 303 335 m ${BSE}/bin/fs6.2nserver s 0 0 s ${BSE}/bin/nserver6.2db2 s 310 301 p ${BSE}/bin/db4_srv6.2db2400 s 307 370 s ${BSE}/bin/db4_srv6.2

In this example, the file defines the location of BShell executable code as being in ${BSE}/bin/bshell6.2.

• ${BSE}/lib/db4/db4_users —Contains an entry for each authorized BaanERP user.

• ${BSE}/lib/db4/db4_groups —Contains an entry for each authorized BaanERP group.

8.2.3.2 BaanERP TablesBaanERP tables follow the convention where each table name is concatenated with a three-digit company name. This happens because names of the objects in the libraries must be 10 characters or less. Typically, this results in file names that have lengths greater than 10 characters.

When DB2 for AS/400 encounters these long file names, it maps them into file names of 10 characters. Thus, an examination of the files contained in an SQL collection created for BaanERP tables does not provide easy identification of the file content.

A simple query against the AS/400 system file SYSTABLES in the BaanERP library or collection (<collection> ) selecting the fields SYS_TNAME (System Table Name) and NAME (Table Name) shows the relationship between the BaanERP table names and the AS/400 system file names. Other ways to view this information are using Operations Navigator looking at QSYS.LIB. Or, if SQL is installed on the AS/400 system, you can use the SQL statement SELECT

SYS_TNAME, NAME FROM SYSTABLES.

The query can be achieved by running the AS/400 system Start Query (STRQRY) command and following the prompts and help facilities available. Figure 48 on page 85 is an example of the information you may see.

84 BaanERP Implementation for AS/400

Figure 48. Query/400 Report Used on AS/400 System File QSYSTABLES

Display Report

Query . . . : BAANDATA/BAANTABLES Position to line . . . . . Line ....+....1....+....2....+....3....+....4....+....5....+....6....+.. SYSTEM_TABLE_NAME TABLE_NAME (AS/400 Name) (BaanERP Name) 000001 TCFCE00001 TCFCEC000802 000002 TCFCE00002 TCFCEC100802 000003 TCFCE00003 TCFCEC110802 000004 TCFCE00004 TCFCEC200802 000005 TCFCE00005 TCFCEC210802 000006 TCFCE00006 TCFCEC220802 000007 TCFCE00007 TCFCEC300802 000008 TCFCE00008 TCFCEC310802 000009 TCFCE00009 TCFCEC320802 000010 TCFCE00010 TCFCEC400802 000011 TCFCM00001 TCFCMC000802 000012 TCFCM00002 TCFCMC001802 000013 TCFCM00003 TCFCMC100802 000014 TCFCM00004 TCFCMC110802 000015 TCFCM00005 TCFCMC200802 000016 TCFCM00006 TCFCMC210802 000017 TCFCM00007 TCFCMC220802 000018 TCFCM00008 TCFCMD000802 000019 TCFCM00009 TCFCMD100802

BaanERP Database on the AS/400 System 85

86 BaanERP Implementation for AS/400

Chapter 9. BaanERP Operations

Like any other application software, there are certain activities associated with the day-to-day operation of the BaanERP software on the AS/400 system. These activities have been categorized under BaanERP Operations. The concepts, activities, tools, and commands associated with managing a BaanERP environment on the AS/400 system are addressed.

This chapter discusses using the BaanERP Main Menu, BaanERP Enterprise Tools sessions within the BaanERP Menu Browser, and AS/400 operating system commands used to perform basic BaanERP software administration.

9.1 The BaanERP Main Menu

The BaanERP Main Menu (see Figure 49) is provided with the BaanERP software. This menu provides a simple interface that allows a user to work with the installed BaanERP software.

Figure 49. The BaanERP Main Menu

9.1.1 Starting Baan (BSE)Within the BaanERP architecture is the ${BSE}/etc directory. This directory contains a number of shell scripts used by BaanERP, including scripts for start up, shut down, and job management. For BaanERP start up, the rc.start shell script is executed. This script by default initiates the license, printer, shared memory, and job daemons for BaanERP.

BAANMAIN Baan Main Menu Select one of the following: 1. (STRBAAN) Start Baan 2. (ENDBAAN) End Baan 3. (CRTBAANCOL) Create a Baan Collection on this machine 4. (ADDRMTUSR) Add a remote user entry 5. (DSPOUT) Display standard out 6. (EDTF) Edit a stream file 7. (BDBPOST) Create or append a database table 8. (BDBPRE) Convert database tables to a sequential file 9. (BDBRECFG) Reconfigure database table 10. (REFINT) Examine the referential integrity of the database 11. (DB4MAINT) DB4 user and group management 12. (BIC) Program compiler for Baan C compiler 13. (SHMMAN) Manage shared memory 14. (TAUDIT) Retrieve audit information from the database Selection ===> F3=Exit F12=Cancel

© Copyright IBM Corp. 1998 87

From the Start Baan menu, you can start BaanERP by executing the Start a Baan Environment (STRBAAN) command. Enter the path name of the BaanERP Software Environment (BSE) to start or the special value *ENVVAR into the BSE parameter (see Figure 50). *ENVVAR causes the path name stored in the BSE environment variable to be used in the BSE parameter. The Work with Environment Variables (WRKENVVAR) command can be used to show a list of environment variables.

Figure 50. Start a Baan Environment (STRBAAN) Display

Once BaanERP is started, in general, one BSHELL6 and one or more DB4_SRV6 jobs are started for each user or connection. In addition, one SHMTIME6 job and PDAEMON6/DB4_SRV6 job pair and one QBFCLISTEN job (and QBFCRECVR jobs once database work is performed) should be active in the BaanERP subsystem (see Figure 51).

Figure 51. Work with Active Jobs (WRKACTJOB) Display after BaanERP is Started

9.1.2 Ending Baan (BSE)Within the ${BSE}/etc directory of the BaanERP environment, there are a number of shell scripts that BaanERP executes during a shutdown. The rc.stop shell script ends the license, printer, shared memory, and job daemons for BaanERP. To properly end BaanERP, perform the following steps:

1. It is important to check for attached users (BShells) before ending the BaanERP environment. If the BaanERP environment is stopped while users are still active, BaanERP may end abnormally and problems may occur during

Start a Baan environment (STRBAAN) Type choices, press Enter. BSE . . . . . . . . . . . . . . /baanerp/bse Bottom F3=Exit F4=Prompt F5=Refresh F12=Cancel F13=How to use this display F24=More keys

Work with Active Jobs

CPU %: 2.6 Elapsed time: 03:57:48 Active jobs: 211 Type options, press Enter. 2=Change 3=Hold 4=End 5=Work with 6=Release 7=Display message 8=Work with spooled files 13=Disconnect ... Opt Subsystem/Job User Type CPU % Function Status BAAN QSYS SBS .0 DEQW DB4_SRV6 BSP BCI .0 TIMW PDAEMON6 BSP BCI .0 SIGW SHMTIME6 BSP BCI .0 SIGW QBFCLISTEN BAANCONNDB ASJ .0 PGM-QBFCLISTEN SELW QBFCRECVR BAANCONNDB BCI .0 TIMW

Parameters or command ===> F3=Exit F4=Prompt F5=Refresh F10=Restart statistics F11=Display elapsed data F12=Cancel F14=Include F24=More keys

88 BaanERP Implementation for AS/400

the next BaanERP start. This also allows users time to properly end what they are doing and exit normally.

To check for active jobs, use the AS/400 system Work with Active Jobs (WRKACTJOB) command for the BaanERP subsystem (see Figure 51 on page 88).

2. If there are no active BaanERP jobs displayed, select the Stop Baan menu option to stop BaanERP. This option executes the End a Baan Environment (ENDBAAN) command which can also be called separately. This is a simple, one-step command to shut down the BaanERP environment.

3. Analogous to the Start Baan command described earlier, enter the path name of the BSE to stop or the special value *ENVVAR into the BSE parameter (see Figure 52).

Figure 52. End a Baan Environment (ENDBAAN) Display

9.1.3 Creating a Baan Collection on this MachineA BaanERP collection is an SQL collection object on the AS/400 system where BaanERP stores data. Usually there is only one BaanERP collection per BaanERP environment. However, multiple BaanERP collections may exist for one BaanERP environment.

The Create a Baan Collection menu option (Figure 53) on this machine creates a BaanERP collection by executing the Create a Collection for Baan (CRTBAANCOL) command. Enter the name of the collection to be created in the Collection Name parameter. A collection or a library cannot already exist on the AS/400 system with this name, or an error will occur.

Figure 53. Create a Collection for Baan (CRTBAANCOL) Display

We recommend that the journal receiver is created in a different ASP than the ASP in which the rest of the collection is created. Specifying *CURRENT for the

End a Baan environment (ENDBAAN) Type choices, press Enter. BSE . . . . . . . . . . . . . . /baanerp/bse

Bottom F3=Exit F4=Prompt F5=Refresh F12=Cancel F13=How to use this display F24=More keys

Create a collection for Baan (CRTBAANCOL) Type choices, press Enter. Collection name . . . . . . . . COLLECTION Name Collection ASP . . . . . . . . . 1 1-16 Journal Receiver ASP . . . . . . 1 1-16 Owner . . . . . . . . . . . . . *CURRENT Name, *CURRENT

Bottom F3=Exit F4=Prompt F5=Refresh F12=Cancel F13=How to use this display F24=More keys

BaanERP Operations 89

Owner parameter uses the user profile of the current job (for example, BSP). This command must be run from the machine on which the collection is to be created.

9.1.4 Adding a Remote User EntryBaanERP remote users are one step beyond local users. The remote users are defined as any other use. However, an additional file exists within the ${BSE}/lib/user directory (same location as the BaanERP user’s "u" file) for each defined BaanERP remote user. This file is part of BaanERP’s runtime data dictionary and is generated by the Remote User Data session within the Enterprise Tools package of BaanERP. See Chapter 11, “User Management, Security, and Permissions” on page 129 for more information.

The name of this file is different for each user. For example, the file for user BSP may be ${BSE}/lib/user/rbsp . This file contains a number of items including:

• Remote hostname • ${BSE} variable of the remote system • Remote OS/400 user ID (this is blank if the local BaanERP user ID and remote

OS/400 user ID are the same) • Remote OS/400 password (encrypted using BaanERP’s encrypt6.2 utility)

Select the Add a remote user entry menu option to create a file in the ${BSE}/lib/user directory termed r<username>, where <username> is the name assigned to the BaanERP user. If the file already exists in the ${BSE}/lib/user directory, then an entry is added to the existing file.

9.1.5 Displaying Standard OutSelect the Display standard out menu option to view the output that BaanERP sends to standard out. On a UNIX system (or while operating in the QSH shell on the AS/400), standard out is where default output is placed for a session. In turn, BaanERP for the AS/400 system also deposits default output. This option executes the Show Standard Terminal Output (DSPOUT) command to display BaanERP’s default output. There are no parameters associated with this command. Any information considered to be default output by BaanERP appears here.

9.1.6 Editing a Stream FileA number of ASCII files are contained within the BaanERP environment. These files make up BaanERP’s runtime data dictionary, and so on. It is sometimes necessary to edit these files outside of the BaanERP application sessions.

Select the Edit a stream file menu option to edit a stream file (for example, an ASCII file) for BaanERP on the AS/400 system. This option executes the Edit Files (EDTF) command used by the AS/400 system to edit stream and database files. Enter the name of the stream file to be edited in the stream file parameter (see Figure 54 on page 91).

90 BaanERP Implementation for AS/400

Figure 54. Edit Files (EDTF) Display

Figure 55 shows the data within the ${BSE}/lib/ubsp file as it appears when using the Edit Files (EDTF) command on the AS/400 system.

Figure 55. Example of Editing Stream File ${BSE}/lib/user/ubsp

Edit Files (EDTF) Type choices, press Enter. Stream file to edit: . . . . . . STMF ’/baanerp/bse/lib/user/ubsp' DataBase file to edit: . . . . . FILE Library: . . . . . . . . . . . *LIBL Member to be edited: . . . . . . MBR *FIRST

Bottom F3=Exit F4=Prompt F5=Refresh F12=Cancel F13=How to use this display F24=More keys

Edit File: /baanerp/bse/lib/user/ubsp Record . : 1 of 15 by 9 Column: 1 of 59 by 74 Control : CMD ....+....1....+....2....+....3....+....4....+....5....+....6....+....7....+ ****************** Beginning of data ******************** unixuser:bsp usertype:S pacc:b50a compnr:802 language:2 compauth:000 lockdelay:-1 startprogram_gui: ottdskmbrowser -n1 -mmtccom000000001 startprogram_inet: ttdskbbrowser -n2 -mmtccom000000001 startmenu:mtccom000000001 toolbar1:0 toolbar2:0 stp_win_def:0 exec_perms:010 timezone: Europe/Amsterdam F2=Save F3=Save/Exit F10/11=Left/Right F12=Cancel F16=Find F17=Chg F15=Copy (C) COPYRIGHT IBM CORP. 1996, 1996..

BaanERP Operations 91

9.2 BaanERP Enterprise Tools

Within the BaanERP software is a series of related modules entitled Enterprise Tools. This package contains BaanERP sessions related to:

• Directory structure • User management • Device management • Text management • Database management • Job management • Version and release control • Audit management • Menu management • License management

To completely administer and control the day-to-day activities within a BaanERP environment on the AS/400 system, it is necessary to access the BaanERP Menu Browser and execute sessions within the Enterprise Tools package. These sessions are contained within the Device and Job Management components of the BaanERP Menu Browser tree structure.

9.2.1 Device QueuesThe Device Queue is the table (ttaad320 ) within the Application Administration module of the BaanERP Enterprise Tools package containing all of the print requests from the BaanERP application sessions. This table is used by BaanERP’s printer daemon to register and manage the print requests.

These print requests remain in this table indefinitely. From time to time, it is necessary to purge this file. Otherwise, the table can grow quite large and adversely affect general system performance. Purge this table manually by executing the Purge Device Queue (ttaad3221m000 ) session, within the BaanERP Enterprise Tools package, as shown in Figure 56.

Figure 56. Purge Device Queue Session (ttaad3221m000)

92 BaanERP Implementation for AS/400

The purpose of the Purge Device Queue session is to remove the print requests from the device queue. Print requests are purged from the device queue by any combination of user, sequence number, status, and printed date or time. Enter the desired purge information into the Purge Device Queue session parameters (see Figure 56) and press the "Purge" button. The appropriate print requests are removed based on the parameters delivered.

This session is executable at any time, even during normal production hours. This session does not delete any active print requests. Nevertheless, this session may adversely affect system performance based on the amount of data selected to be purged. Often, this session is placed in the BaanERP Job Manager (see Section 9.2.2, “Job Manager” on page 93) to ensure this table is cleared periodically at off-peak hours.

In addition to the print request table, a temporary file is generated and stored in the ${BSE}/tmp directory. This temporary file remains in the ${BSE}/tmp directory until the Delete Delay Time for the request passes. However, BaanERP users with a Delete Delay Time of "0" create print requests with an infinite Delete Delay Time. None of these print requests expire. In this case, none of the temporary files associated with these print requests are removed from the ${BSE}/tmp directory and, therefore, must be purged manually by using the RMVLNK command.

9.2.2 Job ManagerBatch jobs consist of one or more sessions running non-interactively (batch mode) in BaanERP batch. Jobs are generally resource-intensive tasks that should be run at non-peak hours. BaanERP provides a job scheduler within the Application Administration module of the BaanERP Enterprise Tools package termed the Job Manager.

The main purpose of the Job Manager is to reduce the system load during normal office hours by running resource-intensive print and processing sessions outside of normal office hours. Doing this improves the overall system performance in a BaanERP environment. All job data is stored in the following tools tables:

• ttaad500—Job data • ttaad501—Sessions by job • ttaad503—Job input variables (session parameters) • ttaad505—Job daemon indicators • ttaad506—Calendars • ttaad507—Dates by calendar • ttaad510—Job history • ttaad511—Job session history • ttaad512—Job session history

These tables are used by BaanERP’s job daemon to register and manage the job requests. Be aware that changing the data in these tables through any method other than the Job Management sessions within Enterprise Tools is improper and may cause unpredictable results.

An understanding of how to create, activate, and cancel jobs is needed for proper administration of the BaanERP environment. Some important choices when creating or maintaining a job in the Job Manager include determining whether the job is periodical or not and how to activate that job.

BaanERP Operations 93

Jobs are company specific and are stored in the default company of the "creating user" as defined in the User Data session of BaanERP (refer to Chapter 11, “User Management, Security, and Permissions” on page 129, for more information). The sessions used to create a job are stored in the tools tables of company 000 commonly referred to as BaanERP’s Application Data Dictionary.

The procedure for job creation using the BaanERP Job Management sessions (see Figure 57) are:

1. Execute the Job Data session.2. Insert a new job and specify the job parameters.3. Execute the sessions to be executed by the job.4. Enter the session parameters that will generate the desired output.5. Select make job and insert the session into the created job.6. Activate the job with the Activate Jobs session.

Figure 57. Job Management Procedure

When inserting a new job, consider these parameters (see Figure 58):

• Periodical

This parameter determines whether a job runs only once or periodically. A "No" value denotes single execution of the job and the job is deleted after execution. A "Yes" value signifies multiple execution of the job on every specified period or date. A fixed period job executes once a day, week, or month. Fixed date jobs require the use of a customized calendar and execute based on the data within this calendar.

• Job waiting after execution

This parameter stipulates whether a periodical job must be executed automatically after the last execution. A "Yes" value designates the automatic execution of the job at the next scheduled execution date. A "No" value means the job will not start automatically at the next scheduled execution date. Any job with this parameter set to "No" must be started manually using the Activate Job session.

� � � � � � � � �

� � � � � � � � � � �

� � �

� � �

� � � � � � �

� � � �

� � � � � � � � � � �

� � � � �

� � � � � � � �� � � � �� � � � � � �

� � � � � � � � � � � � �

� � � � � �

94 BaanERP Implementation for AS/400

• Status

This parameter indicates what state the job is currently in and determines whether execution is pending, complete, or even possible. The status may include:

Free Job is inactive (jobs with this status are started with the Activate Job session).

Running Job is active.

Waiting Job is active and waiting for the execution date and time.

In queue Job will be executed when running the job daemon.

Blocked Job is blocked and cannot be activated.

Canceled Job is canceled (either by running the Cancel Jobs session or when the maximum duration is exceeded).

Runtime error An error occurred during job execution.

Figure 58. Maintain Job Data Session (ttaad5100s000)

To have a job generate the desired output, one or more sessions must be attached to it. To accomplish this, call the desired session, insert the session parameters required to generate the desired output, and choose the "make job" option from either the pull-down menu or the "make job" button.

If there is a date field in the parameters of the selected session being added to a job, the question "Consider the difference between entered date and system date?" is asked (see Figure 59 on page 96).

BaanERP Operations 95

Figure 59. Example of the Prompt Displayed when Date Parameters are Present

The Entered date is the date entered when creating the job. The System date is the date BaanERP retrieves from the operating system (OS/400).

Answer "No" to denote the entered date as a constant or "Yes" to designate a date floating with the system date.

When adding sessions to a job, consider these parameters (see Figure 60 on page 97):

• Device

Specifies the device to which the output of the session is directed.

• Action on error

Specifies what action the Job Manager will take in case an error occurs in one of the attached sessions. These actions include:

Interrupt The Job Manager generates a status runtime error for the job and the job will be stopped.

Continue The job finishes and does not generate any messages.

Restart session The session in error is restarted if an error occurs during execution. If the error repeats, the Job Manager generates a status runtime error for the job and the job is stopped.

• Number of sessions to skip

Specifies the number of sessions to be skipped if an error occurs and the number of sessions to be skipped in case of no error.

• Active

Specifies whether this particular session will execute when the job is run. The session is skipped when running the job if this parameter is set to "No".

• Company

Specifies the company the session must run under.

96 BaanERP Implementation for AS/400

Figure 60. Add Session to a Job Session (ttaad5102s000)

Jobs are activated by running the Activate Job session within the Enterprise Tools package (see Figure 61). After a job is activated, the status changes to "waiting." The job remains in "waiting" status until the execution date and time equals the system date and time. Only jobs with a status of "free" may be activated from this session.

Figure 61. Activating a Job Session (ttaad5203m000)

Jobs are canceled using the Cancel Job session within the Enterprise Tools package (see Figure 62 on page 98). The job remains in the tools tables with a status of "canceled." If the job is executing an attached session when canceled, the active session is completed. All remaining sessions are not started and the job is placed in a "canceled" status.

BaanERP Operations 97

Figure 62. Cancel Jobs Session (ttaad5204m000)

Job history is retained when jobs are executed by the Job Manager. This history information is viewed and printed using the Job History and Print Job History sessions within the Enterprise Tools package (see Figure 63 and Figure 64).

Figure 63. Job History Session (ttaad5510m000)

98 BaanERP Implementation for AS/400

Figure 64. Print Job History Session (ttaad5411m000)

As with most history data, purging is necessary from time to time to reduce the size of the history files and maintain an acceptable level of performance. Obsolete job history information is purged using the Delete Job History session within the BaanERP Enterprise Tools package (see Figure 65).

Figure 65. Delete Job History Session (ttaad5210m000)

BaanERP Operations 99

100 BaanERP Implementation for AS/400

Chapter 10. BaanERP Printing

This chapter begins by introducing the concepts of AS/400 printing. This discussion provides you with an understanding of the features and facilities of the AS/400 spooled management system. This overview is followed by a discussion on the activities that must be performed on the AS/400 system to manage BaanERP host printing. Finally, this chapter discusses the management of BaanERP printing in an AS/400 environment.

10.1 AS/400 Printing

Many of the prerequisites for AS/400 operations, including host controlled printing, are available as a default with the OS/400. The system administrator only has to define an output queue to hold a BaanERP spooled file directed to the AS/400 system. Standard AS/400 commands are available to manage printing of the spooled output.

The following items are the major components of AS/400 host printing and are described to give you an understanding of the capabilities of using AS/400 spool management:

• Printer device description • Output queue • Printer file definition • Printer writer • Spooled file

Figure 66. AS/400 Host Printing

An application creates a spooled file. The data is from the application and 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

BaanERPReport

Printer FileDefinition

Output Queue

Printer WriterReport Printer

DeviceDescriptionSTRPRTW TR

or STRRM TW TR

CRTOUTQ

CRTDEVPRT

AS/400Spooled File

© Copyright IBM Corp. 1998 101

generate the report on the printer. During this process, the printer writer takes information from the printer device description.

10.1.1 AS/400 Printer Attachment This section shows the different printer attachment methods on the AS/400 system depending on the type of printer. The following attachment methods are a few of possible alternatives:

• Printers attached to a workstation controller or to an IBM 5x94 (Remote Control Unit)

• IPDS (Intelligent Printer Data Stream) printers LAN attached • ASCII printers attached to PCs • ASCII printers LAN attached

Note that these are printers directly attached and controlled by an AS/400 system, or in other words, 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 Section 10.1.7.2, “TCP/IP LPR and LPD Printing” on page 109.

For information on printing SCS, IPDS, AFPDS, or USERASCII spooled files on the different attachment methods and for information on IBM printers, refer to the AS/400 Printer Device Programming, SC41-5713, and IBM AS/400 Printing V, SG24-2160.

Figure 67. AS/400 Printer Attachment

10.1.1.1 Printers Attached to WSC or 5x94 Several IBM printers (including SCS or IPDS) can be attached directly to AS/400 workstation controllers by twinaxial cable. The same printers can also be attached by twinaxial cable to a Remote Control Unit IBM 5x94.

Local

BaanERP

5X94Controller

AS/400

RS/6000S/390

Remote

PC

LAN-attached

102 BaanERP Implementation for AS/400

10.1.1.2 IPDS Printers LAN-Attached Any IPDS printers with an IBM AFCCU (Advanced Function Common Control Unit) can be LAN-Attached to an AS/400 system (for example, IBM 3130, 3160, InfoPrint 60, InfoPrint 62, 3900, and InfoPrint 4000). These printers support one or more of the following attachments: SNA Token-Ring, SDLC, TCP/IP Token-Ring, and TCP/IP Ethernet.

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.

Using the I-DATA 7913 Printer LAN Attachment box (TCP/IP Token-Ring or Ethernet), it is also possible to attach the following IBM IPDS printers on the LAN: IBM 3812, 3816, 3912, 3916, 3112, 3116, 4028, 4230, and 6400.

10.1.1.3 ASCII Printers Attached to PCs All ASCII printers can be connected to a PC using the standard parallel or serial port. PC5250 sessions are used to print AS/400 spooled files on the PC. When a spooled file is sent to a PC5250 printer session, it needs to be converted to an ASCII data stream supported by the target printer. There are three ways that this conversion occurs:

• PC5250 transform, based on a Printer Definition Table (PDT) • PC5250 transform, based on the Windows 95/NT printer driver • Host print transform

10.1.1.4 ASCII Printers LAN-Attached ASCII printers may be attached directly on the LAN using Token-Ring or Ethernet connections. Two system drivers (*IBMPJLDRV and *HPPJLDRV) allow you to attach ASCII printers on the LAN:

• The *IBMPJLDRV driver supports all of the IBM printers (for example, IBM 4039 plus, 4312, 4317, and 4324) attached with a LAN card (TCP/IP address).

• The *HPPJLDRV driver supports all of the HP and HP compatible printers (for example, HP4 and HP5) attached using an HP JetDirect card (TCP/IP address).

10.1.2 AS/400 Controllers and DevicesThe AS/400 system can automatically configure any controller or device (printer or display) attached to twinaxial or ASCII controllers. The same is done for devices attached to an IBM 5494-EXT attached using LAN or WAN (Token-Ring or Ethernet).

This is accomplished by selecting automatic configuration through the system value QAUTOCFG . This is done using the Work with System Value (WRKSYSVAL) command, WRKSYSVAL QAUTOCFG.

Automatic configuration also occurs for any Client Access or Telnet devices. The system value that controls this is called QAUTOVRT. WRKSYSVAL allows the changing as in QAUTOCFG .

Automatic configuration for remote controllers can be configured using the system value QAUTORMT. For additional information on local device and automatic configuration, refer to the AS/400 Local Device Configuration,

BaanERP Printing 103

SC41-5121. For additional information on remote work station support, refer to the Remote Work Station Support, SC41-5402.

10.1.3 AS/400 Output QueueAn output queue is a list of spooled files waiting to print. A single output queue may have spooled files from many different jobs and many different users. In some cases, a single job may place spooled files on more than one output queue. Spooled files from a single output queue can be directed to multiple printers.

10.1.4 Printer FilesWhenever 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 file

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, while 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 the Data Description Specification Guide, SC41-5712. An example of a system-supplied printer file is QSYSPRT in QSYS library.

10.1.5 Spooled FilesThe spooled files stored in output queues can have different origins and different formats (data streams):

• Spooled files can be created on the AS/400 system by an application, or by pressing the print screen key.

• With Client Access/400, the network printing function can direct PC output to an AS/400 output queue.

• You may also receive spooled files from host systems (IBM S/390), UNIX systems (IBM RS/6000), OEM systems, or other AS/400 systems.

104 BaanERP Implementation for AS/400

Figure 68. Data Streams and Printer Devices

10.1.5.1 Data Stream TypesThe AS/400 system supports different data streams and can automatically create the majority of them. The printer device type parameter in the printer file determines the type of data stream to be created.

Figure 69. Create Printer File—Printer Device Type Parameter

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.

AS/400 Applications

S/390 or Other

Systems

CA/400 Network Printing

Spooled File

Printer Writer

SCS Printer IPDS Printer

AFP(*NO)

IPDS Printer

AFP(*YES)

ASCII Printer

SCS IPDS ASCIIIPDS

Create Printer File (CRTPRTF) Type choices, press Enter. File . . . . . . . . . . . . . . MYPRTF Name Library . . . . . . . . . . . *CURLIB Name, *CURLIB Source file . . . . . . . . . . *NONE Name, *NONE Library . . . . . . . . . . . Name, *LIBL, *CURLIB Source member . . . . . . . . . *FILE Name, *FILE Generation severity level . . . 20 0-30 Flagging severity level . . . . 0 0-30 Device: Printer . . . . . . . . . . . *JOB Name, *JOB, *SYSVAL Printer device type . . . . . . *SCS *SCS, *IPDS, *LINE... Text 'description' . . . . . . . *SRCMBRTXT Bottom F3=Exit F4=Prompt F5=Refresh F10=Additional parameters F12=Cancel F13=How to use this display F24=More keys

BaanERP Printing 105

• *IPDS (Intelligent Printer Data Stream)

A host-to-printer data stream used for AFP (Advanced Function Printing) 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.

• *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 SCS (SNA character string) 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 the following figure.

106 BaanERP Implementation for AS/400

Figure 70. Data Stream Transforms when Printing to an IPDS AFP (*YES) Printer

10.1.5.2 AS/400 Host Print TransformThe host print transform function allows SCS-to-ASCII and AFPDS-to-ASCII conversion to take place on the AS/400 system instead of by 5250 emulators. Having the conversion take place on the AS/400 system provides the following advantages:

• Consistent output for most ASCII printers

The host print transform function is capable of supporting many different types of ASCII printer data streams (for example, the Hewlett-Packard Printer Control Language (PCL), the IBM Personal Printer Data Stream (PPDS), and the Epson FX and LQ data streams). Having the conversion done on the AS/400 system ensures that the resultant ASCII printer data stream provides the same printed output regardless of the emulator or device the printer is physically attached to.

• Support for many different ASCII printers

Currently, each emulator supports a limited number of ASCII printers. With the host print transform function, most IBM printers and a large number of OEM printers are supported.

• Customized printer support

Workstation customizing objects that come with the host print transform function can be updated by the user to change or add characteristics to a particular printer. Also, if the host print transform function does not have a workstation customizing object for a printer you want to use, you can create your own.

Figure 71 on page 108 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.

IPDS Data

Stream

AFPDSData

Stream

SCS Data

Stream

Data Stream Converter

SCSIPDS

AFPDSIPDS

IPDS Printer AFP(*YES)

Printer Writer Printer Writer Printer Writer

Data Stream Converter

IPDSAFPDSIPDS

Data Stream Converter

AFPDSIPDS

Printer Driver

BaanERP Printing 107

Figure 71. Host Print Transform

10.1.6 Printer Writer A printer writer is an OS/400 program that takes spooled files from an output queue and sends them to a printer defined on the AS/400 system. More than one printer writer can be started to the same output queue (10 is the limit). However, each writer name must be unique and of the same type.

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.

10.1.7 Remote System PrintingRemote 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.

10.1.7.1 Remote Writer ProgramA remote writer is an OS/400 program that takes spooled output files from a remote output queue and sends them to the specified remote system. The remote writer, which is a system job, sends the spooled output files using SNADS, TCP/IP, or Internetwork Packet Exchange (IPX). This function is known as remote system printing on the AS/400 system. The Start Remote Writer (STRRMTWTR) command is used to initiate remote system printing.

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.

108 BaanERP Implementation for AS/400

Figure 72. Remote System Printing

10.1.7.2 TCP/IP LPR and LPD Printing You can request to have your spooled file sent and printed on any system in your TCP/IP network. The line printer requester (LPR) is the sending, or client portion, of a spooled file transfer. On the AS/400 system, the Send TCP/IP Spool File (SNTCPSPLF), the TCP/IP LPR command, or remote system printing provide this function by allowing you to specify what system you want the spooled file printed on and how you want it printed. When sending a spooled file, the host print transform function can also be used to transform SCS or AFPDS spooled files into ASCII.

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.

Figure 73. TCP/IP LPR and LPD

10.1.8 Client Access/400 PrintingIn the Client Access for Windows 95/NT environment, it is possible to print PC application output on an AS/400 printer, and AS/400 application output on a PC printer. Or, by using a combination of these functions, you can print PC application output on another PC printer. For further information, refer to the Inside AS/400 Client Access for Windows 95/NT V3R1M2, SG24-4748, or AS/400 Printing V, SG24-2160.

A S /4 00

S poo led F ile

A S /4 00

S /390

O ther S ystem

P S F /2

N etW are4

IPX

TC P/IP , SN A

TC P/IP

SN A

TC P/IPS N A

D ES TT YP :*O S400

D ES TT YP :*O TH ER

D ES TT YP :*O S400

D ES TT YP :*S 390

D ES TT Y P:*P SF 2

D ES TT YP :*N D S

AS/400 Output Queue

Host Print Transform

LPR

LPD

Remote Printer Queue

Printer

Control File

Data File(s)

Return Code

BaanERP Printing 109

When using AS/400 Client Access for your printing needs, two different types of printing capabilities are provided:

• Network printing • Printer emulation

10.1.8.1 Network PrintingPrinting PC application output to SCS, IPDS, or ASCII printers attached to the AS/400 system is called network printing. This allows PC users to identify AS/400 attached printers as their network attached printer. The following examples of AS/400 attached printers can be used as target printers:

• SCS printers, twinax attached • IPDS printers, configured AFP (*YES) or AFP (*NO), twinax or LAN attached • ASCII printers, attached to PCs or LAN attached

Client Access/400 provides SCS and AFP printer drivers, which convert PC application output from ASCII to EBCDIC if the target printer is an SCS or IPDS printer. This conversion occurs on the PC before the spooled file is placed in an AS/400 output queue.

Windows drivers have to be used if the target printer is an ASCII printer. In this case, the spooled file in the AS/400 output queue is shown with a *USERASCII Device Type (DEVTYPE) attribute.

10.1.8.2 Printer EmulationPrinting AS/400 application output on PC attached printer using facilities such as CA/400 is referred to as printer emulation. In this case, AS/400 spooled files in an SCS or an AFP data stream must be converted into an 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 Section 10.1.5.2, “AS/400 Host Print Transform” on page 107.

Redirecting PC application output using the AS/400 system to another PC printer in the network is a combination of the previous two capabilities. PC generated output is sent to an AS/400 output queue in an ASCII printer data stream and

110 BaanERP Implementation for AS/400

then printed on a Client Access/400 attached ASCII printer. This brings the AS/400 spooling capabilities to PC application output.

10.2 Spool Management

The following section describes the AS/400 commands used to manage printed output directed to the AS/400 spooling system. This includes:

• Creating output queues – Local printing – Remote printing

• Starting the printer writers – Local printers – Remote printers

• Working with output queues

10.2.1 Creating Output QueuesThe following section describes the steps to create AS/400 output queues to support host printing using BaanERP.

10.2.1.1 Local Printing First, key in CRTOUTQ (AS/400 system is not case sensitive), and press the F4 key. See the following examples of the CRTOUTQ display.

Figure 74. Create Output Queue (CRTOUTQ) Display (Part 1 of 2)

Create Output Queue (CRTOUTQ) Type choices, press Enter. Output queue . . . . . . . . . . > BAANLCLQ Name Library . . . . . . . . . . . > QGPL Name, *CURLIB Maximum spooled file size: Number of pages . . . . . . . *NONE Number, *NONE Starting time . . . . . . . . Time Ending time . . . . . . . . . Time + for more values Order of files on queue . . . . *FIFO *FIFO, *JOBNBR Remote system . . . . . . . . . *NONE User defined option . . . . . . *NONE Option, *NONE + for more values More... F3=Exit F4=Prompt F5=Refresh F10=Additional parameters F12=Cancel F13=How to use this display F24=More keys

BaanERP Printing 111

Figure 75. Create Output Queue (CRTOUTQ) Display (Part 2 of 2)

This output queue normally has a printer device started using the Start Printer Writer (STRPRTWTR) command. However, the same output queue can also be used just as a report repository. The printouts or spooled files reside there until printed, deleted, or moved to another output queue.

10.2.1.2 Remote PrintingThis section focuses on creating an output queue for LAN or WAN printing capability. It shows how to configure it to directly print to a printer that supports LPR/ LPD printer daemons. It also explains how to direct output to another host (whether another AS/400 system, a UNIX system, or a Windows NT server) using TCP/IP and LPR/LPD daemons. This facilitates the AS/400 system to use a LAN or WAN attached printer, or a printer attached to another AS/400 system, other hosts, or other servers.

For additional information on output queues refer to the "Spool Support" chapter in Data Management, SC41-5710.

Figure 76 shows an example for creating an output queue for a printer attached to the LAN. First, key in the CRTOUTQ command, and press the F4 key.

Create Output Queue (CRTOUTQ) Type choices, press Enter. User defined object: Object . . . . . . . . . . . . *NONE Name, *NONE Library . . . . . . . . . . Name, *LIBL, *CURLIB Object type . . . . . . . . . *DTAARA, *DTAQ, *FILE... Text 'description' . . . . . . . An output queue for AS/400 Host Printing (Local) Additional Parameters Display any file . . . . . . . . *yes *NO, *YES, *OWNER Job separators . . . . . . . . . 0 0-9, *MSG Operator controlled . . . . . . *YES *YES, *NO Data queue . . . . . . . . . . . *NONE Name, *NONE Library . . . . . . . . . . . Name, *LIBL, *CURLIB Authority to check . . . . . . . *OWNER *OWNER, *DTAAUT Authority . . . . . . . . . . . *USE Name, *USE, *ALL, *CHANGE... Bottom F3=Exit F4=Prompt F5=Refresh F12=Cancel F13=How to use this display F24=More keys

112 BaanERP Implementation for AS/400

Figure 76. Create Output Queue (CRTOUTQ) Display (Part 1 of 3)

On this display, enter the following parameter values:

• Output queue —Name of the output queue

• Library —Name of the library for the output queue

• Remote system —*INTNETADR indicates that the printer is connected to the system using TCP/IP

• Remote printer queue —Specify PASS

Figure 77. Create Output Queue (CRTOUTQ) Display (Part 2 of 3)

Create Output Queue (CRTOUTQ) Type choices, press Enter. Output queue . . . . . . . . . . > BAANRMTQ Name Library . . . . . . . . . . . > QGPL Name, *CURLIB Maximum spooled file size: Number of pages . . . . . . . *NONE Number, *NONE Starting time . . . . . . . . Time Ending time . . . . . . . . . Time + for more values Order of files on queue . . . . *FIFO *FIFO, *JOBNBR Remote system . . . . . . . . . > *INTNETADR Remote printer queue . . . . . . > PASS More... F3=Exit F4=Prompt F5=Refresh F12=Cancel F13=How to use this display F24=More keys

Create Output Queue (CRTOUTQ) Type choices, press Enter. Writers to autostart . . . . . . 1 1-10, *NONE Queue for writer messages . . . QSYSOPR Name Library . . . . . . . . . . . *LIBL Name, *LIBL, *CURLIB Connection type . . . . . . . . > *IP *SNA, *IP, *IPX, *USRDFN Destination type . . . . . . . . > *OTHER *OS400, *OS400V2, *PSF2... Host print transform . . . . . . *YES *YES, *NO Manufacturer type and model *IBM4317 Workstation customizing object *NONE Name, *NONE Library . . . . . . . . . . . Name, *LIBL, *CURLIB Image configuration . . . . . . *NONE *NONE, *IMGA01, *IMGA02... Internet address . . . . . . . . > ' 99.99.99.99 ' Destination options . . . . . . *NONE Print separator page . . . . . . *YES *YES, *NO More... F3=Exit F4=Prompt F5=Refresh F12=Cancel F13=How to use this display F24=More keys

BaanERP Printing 113

On this display, enter the following parameter values:

• Writers to autostart —1

• Connection type —*IP (When CNNTYPE(*IP) is specified, destination-dependent options are added to the control file which is sent to the LPD server.)

• Destination type —*OTHER

• Manufacturer type and model —Enter a value according your target printer type (in this example,*IBM4317).

• Internet address —The IP address of your printer (in this example, 99.99.99.99). Note that the Internet address is only prompted if *INTNETADR is specified for the remote system.

Figure 78. Create Output Queue (CRTOUTQ) Display (Part 3 of 3)

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 (Internet Protocol) 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.

10.2.2 Starting AS/400 Printer WritersBefore a printer can print the spooled files, a printer writer program must be started using either the autostart writer option or one of the following commands:

• STRPRTWTR (Start Printer Writer) • STRRMTWTR (Start Remote Writer)

Create Output Queue (CRTOUTQ) Type choices, press Enter. User defined option . . . . . . *NONE Option, *NONE + for more values User defined object: Object . . . . . . . . . . . . *NONE Name, *NONE Library . . . . . . . . . . Name, *LIBL, *CURLIB Object type . . . . . . . . . *DTAARA, *DTAQ, *FILE... User driver program . . . . . . *NONE Name, *NONE Library . . . . . . . . . . . Name, *LIBL, *CURLIB Text 'description' . . . . . . . > ' Remote Output Queue For Baan Printing 99.99.99.99' Additional Parameters Display any file . . . . . . . . > *owner *NO, *YES, *OWNER Job separators . . . . . . . . . 0 0-9, *MSG Operator controlled . . . . . . *YES *YES, *NO More... F3=Exit F4=Prompt F5=Refresh F12=Cancel F13=How to use this display F24=More keys

114 BaanERP Implementation for AS/400

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) or Command Start (GO CMDSTR) command.

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.

10.2.2.1 Local Printer Writer The following displays show how to start a printer writer for a locally attached printer.

Figure 79. STRPRTWTR Display (Part 1 of 2)

Start Printer Writer (STRPRTWTR) Type choices, press Enter. Printer . . . . . . . . . . . . > PRT01 Name, *ALL, *SYSVAL Output queue . . . . . . . . . . > BAANLCLQ Name, *DEV Library . . . . . . . . . . . Name, *LIBL, *CURLIB Queue for writer messages . . . > *REQUESTER Name, *DEVD, *REQUESTER Library . . . . . . . . . . . Name, *LIBL, *CURLIB Form type options: Form type . . . . . . . . . . *ALL Form type, *ALL, *STD, *FORMS Message option . . . . . . . . *INQMSG *INQMSG, *MSG, *NOMSG... File separators . . . . . . . . *FILE 0-9, *FILE Drawer for separators . . . . . *DEVD 1-255, *DEVD, *FILE Additional Parameters Writer . . . . . . . . . . . . . *DEV Name, *DEV More... F3=Exit F4=Prompt F5=Refresh F12=Cancel F13=How to use this display F24=More keys

BaanERP Printing 115

Figure 80. Additional information for the STRPRTWTR DIsplay (Part 2 of 2)

Most of the parameters needed for a user or operator to start a printer writer is on the first display. 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).

The second display specifies if the printer should end when no ready files are available, allow direct print (used to allow a program to direct print to the device bypassing the queue; this can be used in a barcode scenario), check page alignment, and initialize the writer. The other parameters include:

• Spooled file • Job name • User • Number • Spooled file number • Starting page

These parameters are used to print or reprint a specific spooled file. The information for these parameters are retrieved by using the WRKOUTQ (Work Output Queue) 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.

10.2.2.2 Remote Printer Writer The following display shows how to start a printer writer for a remotely attached printer.

Start Printer Writer (STRPRTWTR) Type choices, press Enter. 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

116 BaanERP Implementation for AS/400

Figure 81. Start Remote Writer (STRRMTWTR) Display

The STRRMTWTR command is different. It starts the writer using an output queue name that was created as a remote queue. Some of the parameters are the same as the STRPRTWTR command. The command specifies the queue for messages, formtype, writer name, and auto-end options.

Once the remote writer is started, all files in a ready status are sent or printed to the remote printer or remote system.

10.2.3 Work with Output Queues Now that the queue has been 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.

Start Remote Writer (STRRMTWTR) Type choices, press Enter. Output queue . . . . . . . . . . > BAANRMTQ Name, *ALL Library . . . . . . . . . . . *LIBL Name, *LIBL, *CURLIB Queue for writer messages . . . *requester Name, *OUTQ, *REQUESTER Library . . . . . . . . . . . Name, *LIBL, *CURLIB Form type options: Form type . . . . . . . . . . *ALL Form type, *ALL, *STD, *FORMS Message option . . . . . . . . *NOMSG *NOMSG, *INQMSG, *MSG... Additional Parameters Writer . . . . . . . . . . . . . *OUTQ Name, *OUTQ, *SYSGEN Auto-end options: Automatically end writer . . . *NO *NO, *YES If yes, when to end . . . . . *NORDYF *NORDYF, *FILEEND Bottom F3=Exit F4=Prompt F5=Refresh F12=Cancel F13=How to use this display F24=More keys

BaanERP Printing 117

Figure 82. Work with All Output Queues Display

From this display, you can access all output queues. Through the options shown Figure 82, you can change output queue attributes, hold an entire output queue, delete, work with (and display stored spooled files), release the queue, change the description of the queue, or clear all spooled files stored in the queue.

Figure 83. Option 5 on Output Queue BAANRMTQ Display

Figure 83 shows the Work with Output Queue screen. This display allows you to work with individual or group of spooled files. In the top right-hand corner, the

Work with All Output Queues Type options, press Enter. 2=Change 3=Hold 4=Delete 5=Work with 6=Release 8=Description 9=Work with Writers 14=Clear Opt Queue Library Files Writer Status A970118 QGPL 0 RLS A97011861 QGPL 0 RLS A97011862 QGPL 0 RLS A97011863 QGPL 0 RLS BAANRMTQ QGPL 0 BAANRMTQ RLS CFARRELL QGPL 0 RLS COOK QGPL 0 RLS COOKPFREXP QGPL 0 RLS COOKRB QGPL 0 RLS COOKSAV QGPL 0 RLS ERROR QGPL 0 RLS ITSOSRV QGPL 0 RLS More... Command ===> F3=Exit F4=Prompt F5=Refresh F12=Cancel F24=More keys

Work with Output Queue Queue: BAANRMTQ Library: QGPL Status: RLS/WTR Type options, press Enter. 1=Send 2=Change 3=Hold 4=Delete 5=Display 6=Release 7=Messages 8=Attributes 9=Work with printing status Opt File User User Data Sts Pages Copies Form Type Pty QPJOBLOG QTCP QTFTP00275 SND 2 1 *STD 5 QPJOBLOG QTCP QTSMTPBRCL RDY 2 1 *STD 5 QPJOBLOG QTCP QTLPD55129 RDY 1 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

118 BaanERP Implementation for AS/400

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 contains all of the output queue status.

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.

10.3 BaanERP Printing Considerations

This section discusses the facilities available to produce reports from BaanERP applications and sessions. Printed output from BaanERP sessions can be directed to the following:

• AS/400 Printer Spool Management • Windows Printer Subsystems • Stream files on disk

The print management facility centers on the devices defined within BaanERP, and are selected by the users to specify how the required report is to be output.

10.3.1 BaanERP DevicesWhen a BaanERP user requires a report to be prepared, a BaanERP printer device is specified on the report generation session. This session determines the type of output and the device (such as a printer or a file) on which the output is produced.

A BaanERP printer device must be defined prior to producing a BaanERP report. The key specifications for defining a BaanERP printer device are:

• A device name • A device type

In addition, if the device produces a printed report the following information is required:

• Printer driver • Device type • Paper type

If the device writes the report to a file, the relevant file information must be supplied.

10.3.1.1 BaanERP Device TypesWhen defining a BaanERP device for printing, a BaanERP printer device type from the following list is identified to produce the output:

• Printer • Windows printer • Direct • Logical printer • Append to file • Rewrite file • Screen

BaanERP Printing 119

PrinterThis device type is used when the BaanERP output is to be managed by AS/400 print spooled management facilities. The printer daemon (PDAEMON6 job on the AS/400 system) is invoked in the creation of a spooled file. The generation of the output can be scheduled based on parameters specified at the time the task is initiated.

Printing from BaanERP to the AS/400 spooling system requires a print output queue to be created on the AS/400 system (refer to Section 10.2.1, “Creating Output Queues” on page 111) prior to printing to the BaanERP device. The selected report is initially generated through interaction with the Bshell and is placed in a temporary BaanERP file ${BSE}/tmp using the BaanERP print format. A record is also added to the BaanERP device queue table (ttaad320).

The printer daemon picks up the temporary file content and invokes the filter program. This program formats the data for the printer using the appropriate printer driver (or filter file) to prepare the output.

Figure 84. BaanERP Device Type—Printer

Once the spooled output is produced in the AS/400 print output queue, it comes under the control of the AS/400 spooled management system as described earlier in this chapter.

Windows PrinterThis device type is used to send output directly to a Windows printer defined on the PC workstation. This printer can be attached directly to the client’s window desktop, to a Windows NT server, or an Internet Protocol addressable printer on the LAN or WAN.

Spooled FIles

Printer Daemon

PDAEMON6

table (ttaad320 )

out put queue

reportrequest

BshellPrinterDriver

Filter6

shell script

BarcodeScripts

$BSE_TMP

120 BaanERP Implementation for AS/400

The report data from a session running in the Bshell is submitted to a BWPRINT.EXE program on the PC workstation through a remote execute call. The program spools the job to a Windows print subsystem. The AS/400 spooling subsystem does not participate in the management of output when this device type is used to print a BaanERP report.

Figure 85. BaanERP Device Type—Windows

DirectThe process of generating printed output through this device is essentially the same as with the device type printer . However, this device does not use the printer daemon. Instead, the BaanERP Bshell executes the filtering program and directly generates the printed output (any barcode printing requirements are processed by the barcode shell scripts). The output becomes available the AS/400 spooled management system.

WindowsSpooled

FIles

reportrequest

Bshell

bwprint.exe

WindowsPrinting

Subsystem

Windows printer

BaanERP Printing 121

Figure 86. BaanERP Device Type—Direct

Logical PrinterHost defined printers (type Printer and Direct) can be grouped together as logical printers. When a BaanERP session prints to a logical printer, the application prepares the output to be produced on the most appropriate printer in the group based on required paper size, font type, and availability of the defined printer.

Append to FileThe output from the BaanERP session is directed to the specified stream file and is appended to the data at the end of the file.

Rewrite FileThe output from the BaanERP session is directed to the specified stream file and over-writes the data in the file.

ScreenThe output from the BaanERP session appears on the users screen.

10.3.2 Defining BaanERP DevicesBaan devices are defined through the following BaanERP Menu path:

Baan ERP Tools—>Device Management—>Device Data

The are also defined by running the BaanERP session ttaad3500m000 . Through this session, a device is named and defined to the BaanERP software environment. Once a device is configured, the end user only has to know the printer name (as defined in BaanERP) to print any particular report.

When the display in Figure 87 on page 123 appears, then you can select the New icon or select File—>New .

re p ortre q uest

B she ll

P rin te rD rive r

F ilte r6

she ll sc rip t

B a rco deS crip ts

S p o o led F Ile s

ou t p u t q u eue

122 BaanERP Implementation for AS/400

Figure 87. BaanERP—Device Data

Defining a BaanERP Printer Device Type (Printer)Figure 88 on page 123 shows an example of the information required to define a BaanERP device to use an AS/400 output queue.

Figure 88. Example of a BaanERP Device Type (Host Printer)

BaanERP Printing 123

This window contains the following fields:

• Device —This is a unique BaanERP Device name for the BaanERP user to specify at the time of printing a report.

• Description —A description for the device.

• Device Type —Select Printer to define the device to use the AS/400 print spool management facilities.

• Locale —This is left blank.

• Driver —Specify the printer driver associated with the selected printer device. For example, specify IBMSCS, which converts the BaanERP print format to an SNA Character String (SCS).

• Device Queue —The AS/400 output queue to use. This example shows the format library or output queue. More than one BaanERP device can be directed to the same AS/400 output queue.

• Paper Type —This is the paper type to be used by this printer.

Select Save to update the Device Data window, and make the new device available to the BaanERP software environment.

Defining a BaanERP Device Type (Windows Printer)Figure 89 shows an example of the information required to define a BaanERP device to use a Windows printer.

Figure 89. Example of a BaanERP Device Type (Windows Printer)

This window contains the following fields:

• Device —This is a unique BaanERP Device name for the BaanERP user to specify at the time of printing a report.

• Description —A description for the device.

124 BaanERP Implementation for AS/400

• Device Type —Specify Windows Printer to indicate that BaanERP Windows printing is to be used.

• Locale —Specify ISO-8859-1 Western Europe 8-bit.

• Device Queue —Intentionally left blank. Uses all properties of the default windows printer defined on the desktop.

• Paper Type —This is the paper type to be used by this printer.

Select Save to update the Device Data window, and make the new device available to the BaanERP software environment.

10.3.2.1 Printer DriversBaanERP printer drivers (or filter files) associate tag lines in the report to the specific printer control language code (for example, PCL). The drivers can be found in the folder $BSE/lib/printinf/<manufacturer_character> . For example, if the printer to be used is an IBM printer, the folder is $BSE/lib/printf/i . The actual file name is determined by the specific printer to be used. For example, the Hewlett-Packard Laserjet 4 printer uses the printer driver specified as $BSE/lib/printf/h/hp_lj4 . The IBM SCS printer driver is located in the $BSE/lib/printf/i/ibmscs directory. Printer drivers are stream files, which are independent of the BaanERP software, and can be created to support any attached printer.

A few BaanERP printer drivers are delivered with the software as examples, but Baan does not support a specific set of printers. Instead, Baan expects that, based on the drivers delivered, printer drivers for any printer can be created as needed.

Use the AS/400 stream file Edit Files (EDTF) command to edit the contents of a printer driver.

10.3.2.2 BaanERP Barcode PrintingBarcode printing using the BaanERP environment requires the use of specialized printer font cartridges, as well as special barcode filter scripts. Barcode filter scripts are located in ${BSE}/lib/barcode .

There may also be third party developed printer drivers that work with BaanERP. For more information, see Appendix G, “Supplementary and Complementary Products” on page 303. Please contact the vendors for availability. The IBMSCS driver does not support barcode printing.

10.3.2.3 BaanERP Paper TypesBaanERP devices are assigned specific paper types. A paper type specifies the paper size, orientation and font to be used. They are defined using the path: BaanERP Tools—>Device Management—>Paper Types , or using the BaanERP session ttaad3110m000 .

Defining Paper Types in BaanERPWhen you select the Paper Type option from the menu browser, the following display appears. From the ttaad3110m000 session display, select either File—>New or the New icon.

BaanERP Printing 125

Figure 90. Paper Type Display—Session ttaad3110m000

The following panel allows you to define a new paper type with a landscape orientation.

Figure 91. New Paper Type

When you select Specific—>Fonts by Paper Type , a display appears that defines the font type and paper type dimensions. The following display is an example of where the paper is defined to have a width of 132 characters and height of 60 characters using Near Letter Quality font.

126 BaanERP Implementation for AS/400

Figure 92. Font and Paper Specifications

The printer driver (or filter) used with the device must support the fonts specified in the paper type definition.

10.3.2.4 PostScript PrintingPostScript printing is used extensively in BaanERP. The Baan Enterprise Modeler uses PostScript printing and a PostScript printer is mandatory. This is to allow printing of the business and process flows that are generated using the Baan Enterprise Modeler. Besides the Baan Enterprise Modeler module, there may be PostScript defined user reports that also require a PostScript driver and PostScript capable printer.

10.3.3 Printing ErrorsErrors in the print process are normally trapped in one of several logs that are located in ${BSE}/log on the server. These log files are called log.BSHELL6.2 or log.PDAEMON6.2. These logs may not trap all print problems.

On the Windows client, the file bw.log in the client’s $BSE/log ($BSE is the path in which the BaanERP Windows interface is installed) is the log for the BaanERP Windows interface.

BaanERP Printing 127

128 BaanERP Implementation for AS/400

Chapter 11. User Mana gement, Securit y, and Permissions

This chapter describes how to configure users to work with BaanERP on the AS/400 system. User management has to be considered from the AS/400 security perspective as well as from the BaanERP software environment. These two perspectives have to synchronized before users can effectively use the BaanERP application.

For more information about AS/400 security considerations, please refer to AS/400 Security - Basic, SC41-5301.

11.1 Securit y Overview in an AS/400 S ystem

This section introduces basic terms about security levels, users, and authorities in the AS/400 system. AS/400 users are defined through user profiles. They can be organized into groups, and have special capabilities and access restrictions.

Each User Profile contains information that describe an AS/400 system user, their privileges, and restrictions when using the system. It also lists the objects that the user owns or is authorized to use.

11.1.1 Securit y LevelsThe AS/400 system has five levels of security controlled by the entry in the QSECURITY system value. We recommend that you use level 40. These levels include:

• Level 10 —There is no user authentication or resource protection. No password is required to sign on (only limited support will be available in the near future).

• Level 20 —Password: User authentication through user profile and password checking; no resource protection. Authorized users have access to all objects and resources on the system.

• Level 30 —Password and Resource: User authentication and resource protection. Users require authority to access objects.

• Level 40 —Password, Resource, and Operating System Integrity—User authentication, resource protection, and machine interface protection.

• Level 50 —Password, Resource and enhanced Operating System Integrity—User authentication, resource protection, and machine interface protection. Security level 50 is intended for AS/400 systems with high security requirements and the need to meet US Department of Defense C2 security standards. BaanERP has not been tested at this level of security at the time at which this document was written.

To display or change this system value, type the following statement:

WRKSYSVAL QSECURITY or CHGSYSVAL QSECURITY <value>

Changes to the security level value becomes effective after the next IPL.

11.1.2 User ClassesThe AS/400 system has a hierarchy of five user classes. These provide a convenient way to assign special authorities to a user. A higher class can perform

© Copyright IBM Corp. 1998 129

all of the functions of a lower class. For example, *SECOFR includes the privileges of *SECADM by default. The five user classes are:

• *SECOFR (Security Officer)—Overall authority to manage system security and all authority to all objects on the system.

• *SECADM (Security Administrator)—User profile administration.

• *PGMR (Programmer)—No special authority to perform system functions.

• *SYSOPR (System Operator)—General system operations, housekeeping, and system backup.

• *USER (End User)—No special authorities to perform system functions.

The levels of authority is dependent of the specified level of security (system value QSECURITY). For more information please refer to AS/400 Security Reference, SC41-5302.

11.1.3 User ProfilesUser profiles contain security-related information, such as:

• How the user signs on the system • What the user is allowed to do after signing on • What objects are owned by the user • What private authorities the user has to the objects • How the user's actions are audited

You must have *SECADM or higher in the user class of your user profile. You must also be authorized to the user profile to create, change, and delete user profiles.

11.1.4 Grou p ProfilesA user profile may optionally be linked to one or more group profiles. This allows all members of the group to share common attributes, common access to selected objects, and common ownership of objects. The group profile belongs to is specified in the user profile. A user can belong to up to 16 groups.

However, only one level of grouping is permissible. For example, if the user profile JULIA belongs to the group profile BAANUSR, BAANUSR cannot belong to another group profile.

Group profiles are used to organize users along job functions. The group profiles also simplify the assignment and administration of object authorities by authorizing users through a smaller number of group entries. When designing groups, it is important that the group ownership concepts are well understood and that good naming conventions are used.

A group profile is implemented as a user profile. That is, it is created just like a user profile, and when granting authority, the AS/400 system does not treat groups any differently than user profiles. For easy management, it is better that

*PUBLIC represents the authority granted to all user profiles not indicated explicitly in the access authorizations to an object.

Note

130 BaanERP Implementation for AS/400

user and group profiles be used as separate entities. One way to enforce this is to set the group profile password to *NONE. This prevents any sign on to the profile.

Users belonging to a particular group profile can be displayed using the command DSPUSRPRF USRPRF (<group_name>) TYPE(*GRPMBR) .

11.1.5 AuthoritiesIn AS/400 system 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. 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, and execute) to the data in an object without having full authority to manipulate the entire object.

The authorities described in the following sections are independent (not hierarchical). For some operations, a combination of object rights and data rights are required.

11.1.5.1 Object Ri ghtsThis section describes the objects rights:

*OBJOPR The object operational authority controls the use of an object and the capability to look at the description of the object. It is needed to open a file and is, therefore, usually assigned in combination with the desired data rights.

*OBJMGT The object management authority controls the move, rename, and change attribute functions for 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.

*AUTLMGT This authority is needed to manage the contents of an authorization list associated with the object. This is a specialized security authorization that is not usually grouped with the other object authorities.

*OBJALTER This authority is needed to alter the attributes of database files and change the attributes of SQL packages.

Primary Group is an object characteristic and is used to give authorization to the object through one Group Profile. You can specify a primary group for an object. The name of the primary group profile and the primary group's authority to the object are stored with the object. Primary Group has better performance than an authorization list. When you add one user to the primary group profile, the user is authorized directly to objects. In an authorization list, you have to grant permission to the object for every user added.

Note

User Management, Security, and Permissions 131

*OBJREF This authority is needed to specify a database file as the first level in a referential constraint.

11.1.5.2 Data Ri ghtsThis section describes the data rights:

*READ Controls the ability to read data from the object.

*ADD Controls the ability to insert a new entry (such as a new record in a file) into the object.

*UPDATE Controls the ability to modify existing entries in the object.

*DELETE Controls the ability to remove existing entries (for example, records) in the object. Deleting the entire object requires *OBJEXIST authority.

*EXECUTE Controls the ability to run a program, service program, or SQL package, and to locate an object in a library or a directory.

11.1.5.3 Combination of AuthoritiesSome common combinations of authorities are given special names as an abbreviated form. These include:

*ALL Allows unlimited access to the object and its data *CHANGE Allows unlimited access to the data in the object *USE Allows data in the object to be read *EXCLUDE Allows no access to the object or its data

For example, *USE is the combination of *OBJOPR , *READ, and *EXECUTE.

11.1.6 Special AuthoritiesThe AS/400 system has special user privilege requirements for security and system administration functions. Special authorities allow certain users to administer AS/400 system security and system tasks. There are eight special authorities (not hierarchical), which include:

*ALLOBJ All object authority is granted for accessing any system resource *AUDIT Allows the user to perform auditing functions *JOBCTL Allows manipulation of job and output *SAVSYS Used for saving and restoring the system and data without having

explicit authority to objects.*SECADM Allows administration of User Profiles and Office *SERVICE Allows access to special service functions for problem diagnosis *SPLCTL Allows control of spool functions *IOSYSCFG Allows change of system configuration

11.2 AS/400 Securit y in a BaanERP Environment

This section outlines the User Profiles and Group Profiles involved in a BaanERP Software Environment on the AS/400 system.

132 BaanERP Implementation for AS/400

Figure 93. AS/400 Profiles

The AS/400 profiles used in a BaanERP Software Environment (BSE) are:

• Super-User —The "super-user" of the BaanERP environment created during installation is the BSP AS/400 user profile, which belongs to *SECOFR user class. The following objects created during the installation process have BSP as the owner, and the objects have *USE authority for all "general" users (*PUBLIC):

– All of the objects created in the BaanERP program library (<pgm_lib> ) – The BaanERP Software Environment directory (${BSE} ) and all of the

subdirectories.

• BaanERP Grou p Profile —The AS/400 group profile BSPGROUP is defined as the primary group profile for all of the objects in the ${BSE} directory and BaanERP program library (<prog_lib> )

The BaanERP library for the program objects (<pgm_lib> ) uses the library name BAANLIB as a default during installation. The default for the library with the database tables (<data_lib> ) is BAANDATA. Your library names can be different.

Multiple BaanERP environments can exist on the AS/400 system. However, unique library names must be specified for the environment, including the <pgm_lib> and the <data_lib> . More than one BaanERP database collection may use executable code in the same <pgm_lib> library.

Note

*PUBLIC *USE

<collection1>

<collection2>

<collection3>

OWNER

BAANCONNDB

*PUBLIC *EXCLUDE

<BSE1_group>

<BSE2_group>

<BSE3_group>

belon gs toUsers-1

Users-2

Users-3BSPGROUP(Primar y Grp)

<BSE1_librar y>

${BSE}1

<BSE2_librar y>

${BSE}2

<BSE3_librar y>

${BSE}3

OWNER

BSP(*SECOFR)

"su per-user" (BaanERP-AS/400 )

User Management, Security, and Permissions 133

• BSE Grou p Profile —For each BaanERP environment, a group profile (<BSE_grou p>) is created during installation. This group is the owner of the database objects in the <collection> library created during installation. The collection excludes (*EXCLUDE) "general" users (*PUBLIC) from accessing the database. The BaanERP database installation process prompts for a name of the group. The default group name is BAAN, but it can be changed.

• Users —AS/400 users are created to permit access to BaanERP objects. Each user belongs to the class *USER. These users belong to the BaanERP group profile BSPGROUP. The following standard users are also created during the installation process:

• APPLIC • TOOLS • DEMO

• DB Connection User —BAANCONNDB is a special user profile used by the database driver to connect to DB2/400 database. The profile must be in an *ENABLED state and the password should not have expired.

In a Multi-System Environment (two-tier and three-tier), users that connect to the database must have the same user identifier and password on the client and server machines.

11.3 BaanERP Securit y Conce pts

The BaanERP user management architecture has the following three levels of user security, all of which are involved in controlling access to the BaanERP environment:

• Operating System—Determines access to the operating system • Database—Specifies the manner in which a user can manipulate the database • BaanERP—Controls specific access to the BaanERP tables and sessions

BaanERP security and user management can restrict access by company, tables fields, and sessions. While this control can also be enforced through OS/400 security, it may be more practical to provide user access to select, update, insert, and delete all tables and indexes (that is *CHANGE authority on the AS/400 system). And, you can use BaanERP to control access at the detail level using specifications made in the permissions (p<Baan_id>) file (please refer to “p<Baan_id>” on page 137).

It is important to note that separate operating system users and database users do not exist on the AS/400 system. The creation of an AS/400 user defines accessibility to the OS/400 environment, and includes the fully integrated DB2 for the AS/400 relational database.

However, BaanERP still maintains a distinction between the operating system user and the database users. The standard BaanERP security concepts are also retained in the AS/400 implementation.

BaanERP separates users into two different classes. Super Users have global authority to all objects in the BaanERP environment (*ALLOBJ). Normal Users have unlimited access to the tables and indexes in the BaanERP collection at the OS/400 level. However, they need to be granted access at the BaanERP level to access any company data or execute sessions.

134 BaanERP Implementation for AS/400

The following section offers more details on the how users are managed in a BaanERP environment.

11.3.1 BaanERP Securit y FilesThis section outlines the key files involved in BaanERP user management. For more detailed information, please refer to the appropriate BaanERP documentation.

11.3.1.1 Grou p Name FileA database group allows the database administrator to assign a specific set of privileges to multiple users. Each BaanERP user belongs to a BaanERP Group. The association between a BaanERP user and the BaanERP group is specified in the db4_users file (refer Section 11.3.1.2, “User Name File” on page 135).

We advise that you use only one database group for each BSE to facilitate easy administration, but multiple database groups can be defined for a single BSE.

The BaanERP Group definitions are found in the ${BSE}/lib/db4/db4_ grou ps file. The group file associates an encrypted password with each of the group names. This is the OS/400 user profile used for object level functions such as creation and deletion of the AS/400 tables.

The first value in each entry is the group profile, and the second value is the encrypted password. A colon (:) is used to separate the values in each entry in the stream files. The following is an example of an entry in the db4_group file:

BAANGRP:T9kKk&^E)Xe>=S/&A5T^4M]V%(0LZMA

BaanERP uses this user ID for the following operations:

• Reorganizing tables • Converting to runtime (after table development) • Creating runtime (for package combinations) • Modifying codes alignment • Creating tables from a sequential dump • Creating tables

If there are several group users, users assigned to group AAA do not have the authority over tables created by group BBB . However, due to the heavy integration between tables in BaanERP, we do not advise that you have more than one group. At the very least, it means that the systems administrator has to manually adjust permissions each time a table is created.

11.3.1.2 User Name FileAll BaanERP users are represented by an entry in the {BSE}/lib/db4/db4_users directory of the AS/400 Integrated File System. This entry contains four key items of information:

• BaanERP User Name (<Baan_id>) • Database User Name • Encrypted Database User Password • BaanERP Group Name (<Baan_Gp-id>)

The following is an example of an entry in the db4_users file:

bsp:bsp:Wf@<*?yFkj5V2P|jdv%/w/#U8WVBe=Xl:BAANGRP

User Management, Security, and Permissions 135

In this example, the BaanERP user bsp accesses the database using the OS/400 user profile bsp immediately following with the encr yp ted password . The last value BAANGRP is the user profile used for the operations that require creating or deleting tables.

Each BaanERP user must have an entry in this file. However, it is not necessary that each BaanERP user has a unique OS/400 user profile. While it is possible for all BaanERP users to log into the AS/400 system as the same user, it may result in all BaanERP users with the same name when the AS/400 command WRKACTJOB is executed. This makes it difficult to identify which AS/400 jobs are in use by a particular BaanERP user.

11.3.1.3 BaanERP User Definition FilesAdditional BaanERP user information is written to the stream files located in the ${BSE}/lib/users directory. These stream files are described in the following sections:

u<Baan_id>Each BaanERP user is represented by a file with the user’s name that has a prefix of "u" and contains user-specific information. For example, the file for the john user is:

${BSE}/lib/user/ujohn

This file must exist and be readable by the OS/400 user ID associated with the particular BaanERP user in the BaanERP user name file (please refer to Section 11.3.1.2, “User Name File” on page 135). This "u" file contains a number of elements including:

• BAAN user ID • OS/400 user ID • Default company • Default package combination • User type (Normal vs. Super) • Company authorizations (Normal users only) • Terminal authorizations (Normal users only) • Additional information from the User Data session (ttaad2500m000)

An example of a user file is shown in Figure 94 on page 137.

By default, all normal BaanERP users in an AS/400 environment have select, insert, update, and delete (*CHANGE) privileges for any database object created in the DB2/400 collection.

Also, normal BaanERP users only have read and execute authority to the db4_users and db4_groups files.

Note

136 BaanERP Implementation for AS/400

Figure 94. BaanERP User File (bsp)

This stream file has no encryption. An understanding of the content of this file is useful for debugging BaanERP start-up problems. For example, an important parameter is unixuser , which designates the operating system user that is permitted to use this BaanERP user name.

r<Baan_id>Remote BaanERP users are described in a stream file with the use name prefixed by an "r." A file exists for each BaanERP remote user. BaanERP remote users access data in a client/server configuration. See Section 5.2, “Client/Server Implementations” on page 42. The r<user> file is part of Baan’s runtime data dictionary and contains a number of items including:

• Remote hostname • ${BSE} variable of the remote system • Remote OS/400 user ID (This is blank if the local BaanERP user ID and

remote OS/400 user ID are the same)

There are no r<Baan_id> files for users in a two-tier implementation.

p<Baan_id>This file specifies any special authorizations to tables in a BaanERP environment. It is used to control data available through any particular session executed by a user. The p<Baan_id> file determines the rules about information that specific users have access to and the extent of that authority. For example, a user may have authority to see information. but not modify it.

The p<Baan_id> file is the runtime data dictionary file that contains table and field level authorizations for a BaanERP "Normal User". A BaanERP "Super User" does not have a p<Baan_id> file. A "Normal User" only has a p<Baan_id> file if authorizations are set at the table or field level for that user. If no p<Baan_id> file exists for a BaanERP user, that user has authorizations to all tables in the collection. The p<Baan_id> file (like the u<Baan_id> file) is also a stream file.

11.3.2 BaanERP Securit y Mechanism on the AS/400A BaanERP user initiates access to a BaanERP Software Environment through a log-on display as shown in Figure 95 on page 138.

unixuser:bsp usertype:S pacc:b50a compnr:802 language:2 compauth:000 lockdelay:-1 startprogram_gui: ottdskmbrowser -n1 -mmtccom000000001 startprogram_inet: ttdskbbrowser -n2 -mmtccom000000001 startmenu:mtccom000000001 toolbar1:0 toolbar2:0stp_win_def:0 exec_perms:010timezone: Europe/Amsterdam

User Management, Security, and Permissions 137

Figure 95. BaanERP Logon Display

The following key information is entered:

• Host name of the BaanERP application server • Host operating system user profile name • Host password • BSE path name • Bshell Name • Optional "Set" command to override the AS/400 user name with a different

BaanERP user name

The values used on this display are used to determine:

• The OS/400 profiles used to gain access to the database • Identify the BaanERP data and session access controls to be enforced

11.3.2.1 OS/400 ProfilesFigure 96 on page 139 outlines the mechanism to determine which AS/400 user profiles are used for processing user requests.

138 BaanERP Implementation for AS/400

Figure 96. BaanERP Logon and AS/400 User Profiles

In Figure 96, note the following points:

• The OS/400 user identifier and password are used to establish access to the host AS/400 system.

• The corresponding BaanERP u<Baan_id> file is located to determine that the user is an authorized BaanERP user. If the set command is used in the log-on display, the name identifies the override BaanERP user. The operating system user parameter (unixuser) in the u<Baan_id> file identifies the OS/400 user profile that is allowed to be used with the BaanERP user identifier.

• Following the BaanERP user validation, the <baan_id> is used to access the ${BSE}/lib/db4/db4_users file to determine the corresponding user profile and password (encrypted) to access the database. The Group profile to be used for table management is also established from this table.

• The ${BSE}/lib/db4/db4_groups file is accessed to identify the encrypted password for the group profile.

Figure 97 on page 140 presents an example of a BaanERP logon where the user has logged on with the OS/400 profile name of APPLIC. Note the following points:

• APPLIC is a valid OS/400 User Profile and the user passes the first validation.

• The uapp lic stream file is found and it includes the Operating System user profile name of app lic , which ensures that the logon completes the next level of validation.

OS Userid +Password OS

Baan id DBMS id DBMS p/w Grp Name

BaanERP Authorizations

${BSE}/lib/user/u<Baan_id>- authorized OS Userid

(<Baan_id> )*

* optional command parameter -- -set USER=<Baan_id>

<Baan_id>

DBMS id + Grou p id

DBMS

object management(GROUP id)

data management(DBMS id)

Database&

Binaries etc

BaanERP

${BSE}/lib/db4/db4_users

Grp Name Group p/w

${BSE}/lib/db4/db4_ groups

u<Baan-id>

OS Userid

User Management, Security, and Permissions 139

• The app lic BaanERP user is used to scan the stream file db4_users to determine the OS/400 profile (app lic ) and password for database access and the OS/400 group profile (baangrp) for table management authority.

• The db4_grou ps file is scanned to determine the password for baangrp.

Figure 97. Example of BaanERP Logon

On the AS/400 WRKACTJOB display, all BaanERP jobs for a specific logon indicates the AS/400 profile name used in the initial logon as the user name. The Job Status Attributes (current user profile), however, shows the actual user profile that is in use at the time.

BaanERP Authorizations

UDEMO

applic

APPLIC OS

Baan id DBMS id DBMS p/w Grp Name

applic applic !2$̂ a"?{- baangrp

${BSE}/lib/user/u<Baan_id>

(applic)

applic + baan grpDBMS

object management(baangrp)

data management

(applic)

Database&

Binaries etc

BaanERP

APPLICDEMOTRAIN

BaanERP Authorizations

UAPPLIC

applic

${BSE}/lib/db4/db4_users

Grp Name Group p/w

baangrp${BSE}/lib/db4/db4_ groups

WRKACTJOB

BSHELL6 APPLIC DB4_SRV6 APPLICQBFCRECVR BAANCONDB orQBFCRECVR BAANCONDB

APPLICBAANGRP(obj mgmt)

APPLIC (data mgmt)

The user profile for accessing the database can be different from the BaanERP user name and the OS/400 user profile entered in the logon display.

This facility can be effectively used to restrict BaanERP users with OS/400 user profiles to access BaanERP objects through the BaanERP application only. The OS/400 user profile used in the BW logon screen can be mapped to a different OS/400 profile (as the DBMS user identifier) in the db4_users file. The password to the latter user profile is not required to be known by the BaanERP user to access the system.

For example, a BaanERP user logging on with a user profile of USERA can be mapped to a DBMS user profile of XXXX in the db4_users file. Thus, USERA signs on as USERA, but accesses the BaanERP database as XXXX. User profile USERA only needs read authority to the stream files in the Integrated File System.

Note

140 BaanERP Implementation for AS/400

11.3.3 DB2/400 User AdministrationBaanERP sessions (programs) are used to maintain stream files governing access to the database and functions by BaanERP users. The following sections outline the steps to create a BaanERP Group name followed by a BaanERP user. The appropriate OS/400 user profiles are created automatically when the corresponding BaanERP steps are completed. Please refer to the BaanERP documentation for a more detailed description of managing BaanERP users.

11.3.3.1 BaanERP Grou p CreationThe BaanERP Software Environment (BSE) installation process prompts for the name of a single database group (<BSE_grou p>). However, additional database groups may be created using the Database Groups session within BAAN TOOLS. However, if additional groups are created, the database administrator must ensure that the appropriate authorities are granted to the new group profile using native AS/400 commands.

BaanERP database groups are defined through the main BaanERP menu using either of the following methods to access the Database Groups session:

• BAANERP TOOLS—>Database Mana gement—>Database Grou ps • File—>Run Pro gram and the session ttdba0520m000

Figure 98 is an example of the Database Groups session window. The initial Database Group created during installation appears in the display.

Figure 98. Database Groups Session in BaanERP

The db4_groups file is updated when using the Specific—>Create and Convert to Runtime function is selected.

Figure 99 on page 142 is an example of the Database Groups sub-session.

User Management, Security, and Permissions 141

Figure 99. Database Groups Sub-session in BaanERP

A database group to which the database user belongs determines the access privileges. Before adding a BaanERP database user (see Section 11.3.3.2, “BaanERP User Creation” on page 142), the database group to which the user will be assigned must be created.

11.3.3.2 BaanERP User CreationA BaaanERP database user has access privileges to specified databases stored in the database server. BaanERP users are defined through the main BaanERP menu using either of the following methods to access the User Data session where you can view, print, and modify BaanERP users:

• BAANERP TOOLS—>User Mana gement—>General User Data—>User Data

• File—>Run Pro gram and the session ttaad2500m000

Figure 100 on page 143 is an example of how the User Data session appears in BaanERP.

142 BaanERP Implementation for AS/400

Figure 100. User Data Session in BaanERP

From the User Data session, click the New button or select File—>New from the menu. This starts a sub-session (ttams1100s000) that allows a new BaanERP user to be created.

Figure 101. User Data Sub-Session in BaanERP

Figure 102 on page 144 shows of a Database User sub-session display.

User Management, Security, and Permissions 143

Figure 102. Database Users Sub-session in BaanERP

Fill in the necessary data and click Save. To activate the user, choose Specific—>Convert Chan ges to Runtime DD .

Figure 103. Convert Changes to Runtime Data Dictionary

The Convert Changes to Runtime Data Dictionary actually writes a file (u<Baan_id>) for the user in the ${BSE}/lib/users directory. This file is part of the BaanERP runtime data dictionary, and is necessary to access BaanERP.

11.3.3.3 Linkin g Database Users to Grou psA BaanERP user has access to the BaanERP suite of applications, and is represented by the existence of a u<Baan_id> file. A BaanERP user does not have access privileges to any part of the database until that user is associated with a database user profile.

Links Between BaanERP users and database users are established through a BaanERP session that maintains the ${BSE}/lib/users/db4_users file. The links

144 BaanERP Implementation for AS/400

are defined through the BaanERP Tools function using either of the following methods:

• BAANERP TOOLS—>Database Mana gement—>DBMS Administration—> Links Between BAAN Users and Database Users (see Figure 104)

• File—>Run Pro gram and the session ttdba0510m000

Figure 104. Location of the RDBMS Section in the BaanERP Menu Structure

This accesses the User Data session where you can view, print, and modify BaanERP users. A u<Baan_id> file is necessary for each BaanERP user before the Links Between BAAN Users and Database Users session can be processed.

This session links the user information in the BaanERP User files (u<Baan_id>) with a Database User name and writes a record in the db4_users file. The user is defined in the User Data session. The user may also be defined in the Remote User Data file (r<Baan_id>) if the implementation is three-tier.

User Management, Security, and Permissions 145

Figure 105. Links Between BAAN Users and Database Users Session in BaanERP

The Table and Index Repository session in BaanERP is the session that writes the ${BSE}/lib/db4/db_stora ge file. The entry in the session is created during the installation, along with the db_storage file. There should be no need to modify this file after the installation. This file indicates the name of the BaanERP collection where the database tables are located.

Refer to the BaanERP documentation for detailed information on how BaanERP handles different levels of authorization between super users and normal users.

11.3.4 Addin g AS/400 Users To manage users authorities on the AS/400 system, you have to belong to at least a user class of *SECADM. You can create user profiles using:

• Option 1 of the Work with User Profiles (WRKUSRPRF) command • The Create User Profile (CRTUSRPRF) command

To add users from the CRTUSRPRF command, perform the following three steps:

1. Type the name of the user profile and the password and press F10 to see additional parameters (see Figure 106 on page 147). The word "More..." appears in the left corner of the screen. Press Page Down to see the next screen.

146 BaanERP Implementation for AS/400

Figure 106. CRTUSRPRF—Create User Profile

2. Type the name of the BaanERP environment grou p created during installation (<BSE_group>). Press Page Down to introduce next parameter (Figure 107).

Figure 107. CRTUSRPRF—Specify the BSE Group Profile

3. Add the supplemental group to this user, BSPGROUP, who is granted to use the application programs. Press Enter to execute the command and add the user profile. See Figure 108 on page 148.

Create User Profile (CRTUSRPRF) Type choices, press Enter. User profile . . . . . . . . . . > YOUR_USER Name User password . . . . . . . . . > YOUR_PWD Name, *USRPRF, *NONE Set password to expired . . . . *NO *NO, *YES Status . . . . . . . . . . . . . *ENABLED *ENABLED, *DISABLED User class . . . . . . . . . . . *USER *USER, *SYSOPR, *PGMR... Assistance level . . . . . . . . *SYSVAL *SYSVAL, *BASIC, *INTERMED... Current library . . . . . . . . *CRTDFT Name, *CRTDFT Initial program to call . . . . *NONE Name, *NONE Library . . . . . . . . . . . Name, *LIBL, *CURLIB Initial menu . . . . . . . . . . MAIN Name, *SIGNOFF Library . . . . . . . . . . . *LIBL Name, *LIBL, *CURLIB Limit capabilities . . . . . . . *NO *NO, *PARTIAL, *YES Text 'description' . . . . . . . User Description More... F3=Exit F4=Prompt F5=Refresh F12=Cancel F13=How to use this display F24=More keys

Create User Profile (CRTUSRPRF) Type choices, press Enter. Additional Parameters Special authority . . . . . . . *USRCLS *USRCLS, *NONE, *ALLOBJ... + for more values Special environment . . . . . . *SYSVAL *SYSVAL, *NONE, *S36 Display sign-on information . . *SYSVAL *SYSVAL, *NO, *YES Password expiration interval . . *SYSVAL 1-366, *SYSVAL, *NOMAX Limit device sessions . . . . . *SYSVAL *SYSVAL, *YES, *NO Keyboard buffering . . . . . . . *SYSVAL *SYSVAL, *NO, *TYPEAHEAD... Maximum allowed storage . . . . *NOMAX Kilobytes, *NOMAX Highest schedule priority . . . 3 0-9 Job description . . . . . . . . QDFTJOBD Name Library . . . . . . . . . . . *LIBL Name, *LIBL, *CURLIB Group profile . . . . . . . . . > BAANGRP Name, *NONE Owner . . . . . . . . . . . . . *USRPRF *USRPRF, *GRPPRF More... F3=Exit F4=Prompt F5=Refresh F12=Cancel F13=How to use this display F24=More keys

User Management, Security, and Permissions 147

Figure 108. CRTUSRPRF—Specify Supplemental Group Profile (BSPGROUP)

Create User Profile (CRTUSRPRF) Type choices, press Enter. Group authority . . . . . . . . *NONE *NONE, *ALL, *CHANGE, *USE... Group authority type . . . . . . *PRIVATE *PRIVATE, *PGP Supplemental groups . . . . . . BSPGROUP Name, *NONE + for more values Accounting code . . . . . . . . *BLANK Document password . . . . . . . *NONE Name, *NONE Message queue . . . . . . . . . *USRPRF Name, *USRPRF Library . . . . . . . . . . . Name, *LIBL, *CURLIB Delivery . . . . . . . . . . . . *NOTIFY *NOTIFY, *BREAK, *HOLD, *DFT Severity code filter . . . . . . 0 0-99 Print device . . . . . . . . . . *WRKSTN Name, *WRKSTN, *SYSVAL Output queue . . . . . . . . . . *WRKSTN Name, *WRKSTN, *DEV Library . . . . . . . . . . . Name, *LIBL, *CURLIB Attention program . . . . . . . *SYSVAL Name, *NONE, *SYSVAL, *ASSIST Library . . . . . . . . . . . Name, *LIBL, *CURLIB More... F3=Exit F4=Prompt F5=Refresh F12=Cancel F13=How to use this display F24=More keys

The need for the inclusion of group and supplemental group profiles are required only if the particular user profile is a DBMS profile. These specifications are not necessary if the user profile is only used to log on to the AS/400 system.

Note

148 BaanERP Implementation for AS/400

Chapter 12. Backup and Recovery for BaanERP

Backup and recovery for BaanERP uses the AS/400 system save and restore commands. These commands are supplied with the AS/400 Operating System. This chapter discusses these commands, and shows examples of how you should use them in a BaanERP environment. This chapter also discusses journal and journal receiver management, commitment control, and high availability solutions from Solution Developers (SD).

12.1 Backup and Recovery Requirements

The backup and recovery requirements depend on the availability goals for a specific installation. Consider the following factors:

• Cost to the business resulting from a loss of availability during the failure • Probability of the failure occurring • Cost of the backup strategy such as operator time, unavailability during

backup, media cost, storage costs, and so on

The cost and benefits vary depending not only on the location of the installation, but also on the company policies. They also depend on the availability of the required skills to perform the backup and recovery operations.

The strategy should cover not only the loss of the database, as well as the suite of application code. The strategy should consider recovery from a disaster resulting in loss of the computer site. It must include the following components:

• System —Including the operating system (OS/400), user profiles, authorities, configurations, system, and network values.

• Application software —Required for normal operations of the business, including compilers, utilities libraries, application and general purpose libraries (QGPL), job descriptions, output queues, data areas, message queues, and other application dependent objects.

• Databases —Containing the organization’s information.

12.2 BaanERP Objects

The BaanERP implementation on the AS/400 system uses the traditional AS/400 library structure to store executable programs and the database. It also uses the Integrated File System (IFS) to store BaanERP stream file application objects.

12.2.1 Integrated File SystemThe BaanERP application uses an object storage management concept similar to personal computers and UNIX operating systems. However, on the AS/400 system, BaanERP uses the Integrated File System (IFS), which also has the same storage management capabilities as described above.

BaanERP uses the Integrated File System to store information about the BaanERP Software Environment (BSE). The Integrated File System is also used to access the BaanERP program library (<pgm_lib>) in QSYS.LIB using pointers called symbolic links.

© Copyright IBM Corp. 1998 149

A symbolic link, which is also called a soft link, is a path name. When the system encounters a symbolic link, it follows the path name provided by the symbolic link and continues on any remaining path that follows the symbolic link. If the path name begins with a /, the system returns to the / (“root”) directory and begins following the path from that point. If the path name does not begin with a /, the system continues searching in the same directory as the symbolic link.

Unlike a hard link, a symbolic link is an object (of object type *SYMLNK). It can exist without pointing to an object that exists. You can use a symbolic link, for example, to provide a path to a file that will be added or replaced later.

Also, unlike a hard link, a symbolic link can cross file systems. For example, a user of a program that is working in one file system can use a symbolic link to access a file in another file system.

For further information, you can refer to Integrated File System Introduction, SC41-5711.

12.2.1.1 BaanERP LibrariesThe objects in Table 2 are associated with the BaanERP product, and are created during the BaanERP installation process.

Table 2. BaanERP Installed Libraries

Note: The sizes in Table 2 do not include customer data, the journal receivers (approximately 1.2 GB during installation), or the demonstration company.

12.3 Backup Facilities

Backup and recovery options for BaanERP on an AS/400 system are managed using native AS/400 facilities . Backup and Recovery Media Services/400 (BRMS/400) provides automated backup and archival operations, and tape management services. For additional information on BRMS/400, refer to AS/400 Backup Recovery and Media Services, SC41-4345.

Library/Directory Description Size (Approx)

<collection> Database Tables 1.0GB

BAANCOMMON Job Description 78KB

<pgm_lib> Programs 0.5GB

${BSE} Stream files 0.6GB

The BaanERP installation defaults and uses the library name BAANLIB (<pgm_lib> ) for the program objects, and BAANDATA (<collection> ) for the database tables. We used the defaults in this chapter. Your library names can be different. BAANCOMMON only contains an AS/400 job description used for autostart jobs.

The variables <pgm_lib> and <collection> may be used interchangeably in this section with the default library names, BAANLIB and BAANDATA.

Note

150 BaanERP Implementation for AS/400

An integral part of OS/400 provides many facilities to save and restore information on the AS/400 system. These can be selected from menu options or used in user written programs, depending on the backup requirements.

While we did not develop a full backup and recovery strategy in this section, we discussed some considerations and included some example backup programs for reference. This chapter does not cover all save and restore scenarios because each one is unique to their save strategy or reason for restore. Please refer to Backup and Recovery, SC41-5304, for more information on the subject.

Figure 109 through Figure 112 on page 154 illustrate the functions performed by the standard AS/400 save and restore menu options and commands.

Figure 109. Library Save Commands and Save Menu Options

L ic e n s e d In te rn a l C o d e

O S /4 0 0 O b je c ts in Q S Y S

U s e r P r o f ile s

P r iv a te A u th o r i t ie s

C o n f ig u r a t io n O b je c ts

IB M - S u p p lie d D ir e c to r ie s

O S /4 0 0 O p t io n a l L ib r a r ie s Q H L P S Y S , Q U S R T O O L

L ic e n s e d P r o g r a m L ib r a r ie sQ R P G , Q C B L , Q x x x x

IB M L ib r a r ie s w / U s e r D a taQ G P L , Q U S R S Y S

U s e r L ib r a r ie s< p g m _ l ib > , < c o l le c tio n >

D o c u m e n ts a n d F o ld e rs

D is tr ib u t io n O b je c ts

O b je c ts in D ir e c to r ie s

S A V S E C D T A

S A V S Y S

S A V C F G

S A V

S A V L IB* IB M

S A V L IB* A L L U S R

S A V D L O

S A V

SA

VS

TG

O p t io n s f r o m S a v e M e n u S a v e C o m m a n d s

2 2

2 3

2 1

2 3

S A V L IB* N O N S Y S

Backup and Recovery for BaanERP 151

Figure 110. Library Restore Commands and Restore Menu Options

L ic e n s e d In te rn a l C o d e

O S /4 0 0 O b je c ts in Q S Y S

U s e r P ro f i le s

C o n f ig u ra tio n O b je c ts

IB M -S u p p lie d D ire c to r ie s

O S /4 0 0 O p tio n a l L ib ra r ie sQ H L P S Y S , Q U S R T O O L

L ic e n s e d P ro g ra m L ib ra r ie sQ R P G , Q C B L , Q x x x x

IB M L ib ra r ie s w / U s e r D a taQ G P L , Q U S R S Y S

U s e r L ib ra r ie s< p g m _ lib > , < c o lle c t io n >

F i le d D o c u m e n ts a n d F o ld e rsD is tr ib u tio n O b je c ts

O b je c ts in D ire c to r ie s

S a v e d C h a n g e s in L ib ra r ie s , D o c u m e n ts , a n d D ire c to r ie s

J o u rn a le d C h a n g e s

P r iv a te A u th o r it ie s

2 2

2 3

2 1

2 3

A L L R S T A U T

A P Y J R N C H G

R S T L IB , R S T O B J , R S T D L O , R S T

R S T

R S T D L O

R S T L IB* A L L U S R

R S T L IB* IB M

R S T L IB* N O N S Y S

R S T

R S T C F G

R S T U S R P R F

IP L o n In s ta ll S y s te m M e n u

O p t io n o n In s ta lle d L ic e n s e dIn te rn a l C o d e (L IC ) S c re e n

Re

sto

re S

tora

ge

from

De

dic

ate

d S

erv

ice

To

ols

R e s to r e M e n u P a r t s o f th e S y s te m P r o c e d u r e fo r R e s to r in g

152 BaanERP Implementation for AS/400

Figure 111. Save Commands for the Integrated File System (IFS)

Note: The following file systems cannot be saved:

• NFS • QFileSvr.400 • QOPT • QNTC

R o o t ( / )

Q S Y S .L IB ( L ib r a r y )

Q D L S( D o c u m e n t L ib r a r y

S e r v ic e s )

Q L A N S r v( O S / 2 W a r p S e r v e r )

Q O p e n S y s( O p e n S y s t e m s )

Q N e t W a r e( N o v e l l N e t w a r e )

U s e r - D e f in e d F i leS y s t e m ( / d e v / Q A S P x x / )

( O th e r F i le S y s t e m s )

F i l e S y s t e m S a v e C o m m a n d s

S A V

S A V S Y S , S A V C F G , S A V S E C D T A , S A V L I B , S A V O B J , S A V C H G O B J , S A V

S A V D L OS A V

S A V

S A V

S A V

S A V

S A V

Backup and Recovery for BaanERP 153

Figure 112. Save and Restore Commands for the Integrated File System (IFS)

12.3.1 OS/400 Save and Restore CommandsAll AS/400 save and restore commands are provided in the base OS/400 operating system. If you need backup and save media management, AS/400 Backup and Recovery Media Services (BRMS) can accomplish this.

Save and restore functions can be accessed by several different OS/400 commands. They are used or accessed by using the commands, themselves, or the GO command to access a menu. The common save and go commands are listed here:

SAVDLO Save Document Library ObjectsSAVLIB Save LibrarySAVOBJ Save ObjectSAVSTG Save StorageSAVSYS Save SystemSAVCHGOBJ Save Changed ObjectsSAV Save Integrated File System Object

Root (/)

QSYS.LIB (Library)

QDLS(Document Library

Services)

QLANSrv(OS/2 W arp Server)

QOpenSys(Open Systems)

QNetW are(Novell Netware)

User-Defined FileSystem (/dev/QASPxx/)

(Other File Systems)

File S ystem Save Commands

SAV

SAVSYS, SAVCFG, SAVSECDTA, SAVLIB, SAVOBJ, SAVCHGOBJ, SAV

SAVDLOSAV

SAV

SAV

SAV

SAV

SAV

Restore Commands

RST

SC41-5304Chapters 12 & 13RSTUSRPRF, RSTAUT, RSTCFG, RSTLIB, RSTOBJ, RST

RSTDLORST

RST

RST

RST

RST

RST

154 BaanERP Implementation for AS/400

GO CMDSAV Displays a menu of save commandsGO SAVE Displays a menu of save optionsGO BACKUP Displays a menu of backup tasks

Restore commands can be accessed by several different OS/400 commands. They are used or accessed by using the commands, themselves, or the GO command to access a menu. The common restore and go commands are listed here:

RSTDLO Restore Document Library ObjectsRSTLIB Restore LibraryRSTOBJ Restore ObjectsRSTAUT Restore User Authorities to ObjectsRSTCFG Restore System ConfigurationRSTUSRPRF Restore User Profiles and Authority TablesRST Restore Integrated File System ObjectsGO CMDRST Displays menu or panel group of restore commandsGO RESTORE Displays menu or panel group of restore tasks

Notice that there is no restore system command since this is done as a dedicated service tools function. Nor is there is a restore changed object command. There are other restore commands, but they are not listed or described here.

This chapter does not intend to explain each command in detail. If you want detailed information on the save and restore commands please refer to Backup and Recovery, SC41-5304, or CL Reference, SC41-5722.

12.3.1.1 Save Commands Requiring a Dedicated SystemA dedicated system (restricted state) on the AS/400 system only has the console job running. No users or other applications can use the system.

We list the commands that require a dedicated system. If you wrote your own save or backup programs using save-while-active and the system is in a dedicated mode, the save-while-active processing is ignored.

The commands are:

• SAVSYS • SAVSTG • SAVLIB LIB(*NONSYS)

12.3.1.2 Save Commands not Requiring a Dedicated SystemThe commands in the following list do not require a dedicated system (restricted state). However, due to AS/400 system locking of objects, care must be taken not to interrupt user production that executes these saves. The commands are:

• SAV • SAVCFG • SAVCHGOBJ OBJ(*ALL) LIB(<library-name>) • SAVCHGOBJ OBJ(*ALL) LIB(*ALLUSR) • SAVDLO • SAVLIB LIB(*IBM) • SAVLIB LIB(*ALLUSR) • SAVOBJ OBJ(<object-name/library-name>) • SAVSECDTA

Backup and Recovery for BaanERP 155

12.3.2 Save-While-ActiveThere is a capability on the AS/400 system that allows for saving information while the environment is still available to users. This capability is called save-while-active .

The save-while-active function of the AS/400 system is an option on several save commands. It allows you to use the system during all or part of the backup process. It allows modification of objects during most of the time that they are being saved. In contrast, other save functions provided on the system allow no access to the objects as they are being saved, or only allow the objects to be read as they are being saved. The save-while-active function can be used together with your other backup and recovery procedures to reduce or eliminate system outage for particular save operations.

The system performs the save-while-active function by maintaining an image of the object being saved as it existed at a single point in time. This point in time is called the checkpoint for an object, and the image of the object is called the checkpoint image . It can be viewed as if the system is maintaining two images of an object as it is being saved. One image contains the updates to the object with which normal system activity works. The checkpoint image is used only by the save-while-active job to save the object to the media. The system does not maintain two complete images of the object being saved. It only maintains two images of the data being changed as the save is performed.

When more than one object is being saved, you can choose whether the checkpoint images for the objects should be synchronized. With full synchronization, the checkpoints for all of the objects occur at the same time (actually, during a time period in which no changes can occur to the objects). With library synchronization, the checkpoints for all of the objects in a library occur at the same time. With system-defined synchronization, the checkpoints for the objects may occur at different times.

The term "save-while-active" may imply that objects can be changed at any time during the save operation, but this is not true. The system allocates (locks) objects as it obtains checkpoint images. Objects cannot be changed during the checkpoint processing. After the system obtains the checkpoint images, the objects may be changed.

The amount of time that the system is unavailable to users during the backup process is referred to as the save outage . The easiest and recommended way to use the save-while-active function is to reduce your save outage by ending your applications that change objects until after the checkpoint images are obtained. You can request the save-while-active function to send a notification when the checkpoint processing is complete and it is safe to start your applications again. When the save-while-active function is used in this way, the save outage can be much less than with normal save operations.

You can also use the save-while-active function to eliminate your save outage, but the performance and response time of your applications will be affected. Your recovery procedures will also be affected. You need to use journaling and commitment control to simplify your recovery procedures. BaanERP utilizes both.

156 BaanERP Implementation for AS/400

12.3.2.1 Save-While-Active RestrictionsThe following topics provide information about how the save-while-active function can be used in your save strategy to reduce the time during which the system is not available during save operations. After reviewing your applications and the considerations discussed in these topics, you can make an informed decision about how to use save-while-active operations in your backup and recovery strategy. You may conclude one of the following points:

• Your current save operations are adequate for your scheduled save windows. • Critical application libraries are candidates for save-while-active processing. • Critical application libraries are candidates but may require modification to

minimize restore recovery procedures. • Critical documents or folders are candidates. • All application libraries are candidates because of a compressed save window.

Other procedures used in your backup and recovery strategy still apply and should be considered when reviewing your backup and recovery procedures. Using the save-while-active function in your daily save operations may place additional requirements on your restore recovery procedures and your disaster recovery plan.

Reduce Save OutageIf the requirement is to just reduce your outage for particular save operations, you can end the applications that make changes to the objects being saved until the system has established a checkpoint for each of those objects. Then, no additional recovery procedures are necessary when restoring the objects from the save-while-active media. Therefore, the recommended method for performing a save-while-active request is to end the applications. Then, start the applications again after the checkpoint processing for all application-dependent objects has completed. Examples of application-dependent objects are data areas and physical files used by applications.

You can specify to have a message sent after checkpoint processing is completed for all objects within a particular library or for all libraries in the save request. The applications can be started again when all application-dependent objects have reached a checkpoint. The checkpoint images of the objects that are saved to the media then appear as if a dedicated save was performed at the time the applications were ended.

This method does not eliminate your save outage, but can substantially reduce it. If you are saving objects from multiple libraries and a common application-dependency that spans the libraries exists, wait until checkpoint processing has completed for all the libraries in the save request before starting the applications.

Eliminate Save OutageThe save-while-active function can eliminate your outage for particular save operations. However, you may have more complex and potentially longer recovery procedures after restoring objects from the save-while-active media. To understand the need for the potentially more complex recovery procedures, you need to understand application boundaries.

For save-while-active purposes, an application boundary is defined to be a point in time when all of the objects that a particular application depends on are at a consistent state in relationship to each other and the objects are also in a state

Backup and Recovery for BaanERP 157

where the application can be started or started again. If the applications are allowed to update the objects being saved as the objects reach a checkpoint, the system cannot determine if the images of the objects that are saved to the media are at application boundaries. The application boundaries must be maintained by the user. The user may also need to define additional recovery procedures to bring the objects to a consistent state in relationship to each other. Consider each of the following points when determining these recovery procedures:

• Whether the objects on which the applications dependent consist entirely of database files, or they depend on other object types such as data areas.

• Whether the objects on which the applications depend are contained in a single library, or span multiple libraries.

• Whether the database files on which the applications depend are journaled.

• Whether the changes made to the objects by the applications are being made under commitment control.

For a BaanERP AS/400 system implementation or environment, you can start by ending BaanERP using the ENDBAAN command. The SAV command can be run with save-while-active set to *SYNC. By specifying *SYNC, all objects are synchronized for ease of recovery. For the BaanERP database collection (<collection>), you can specify *SYNCLIB , while saving the library using the SAVLIB or SAVCHGOBJ commands until the checkpoint message is received. When it is received, the program starts BaanERP using the STRBAAN command. Please refer to the example programs for samples of what message to wait for and how to execute after receipt.

12.3.3 Concurrent SavesAnother way to shorten backup or save time is to perform concurrent saves. Executing concurrent saves requires the use of two or more tape drives. Take care not to overlap the saves.

To use concurrent saves in the BaanERP environment, use a tape device to save the BSE environment located in the Integrated File System and another tape device to save the BaanERP database collection (<collection>). This allows faster checkpoint processing in a save-while-active save and a faster return to production for the BaanERP weekly backup.

12.3.4 JournalingAS/400 system journaling uses two object types: journals (*JRN) and journal receivers (*JRNRCV). The journal acts like a funnel. All database table adds, changes, and deletes are received by the journal, and the journal writes them to the journal receivers. The journal receivers are the keeper of the above changes. Setting up journaling is normally the responsibility of the customer and ensures that the objects are journaled. This is done using the Start Journal Physical File (STRJRNPF) command. BaanERP utilizes an SQL collection that automatically establishes a journaling environment. This is done for each collection created on the AS/400 system.

The BaanERP installation process creates an SQL collection (or library) whose name is specified during installation (<collection> which defaults to BAANDATA), journaling objects (a journal and journal receivers), and a set of logical files that are built over the AS/400 system cross-reference files.

158 BaanERP Implementation for AS/400

The BaanERP journal is created in the system disk pool or Auxiliary Storage Pool (ASP 1). An ASP is a set of disk or DASD grouped together. We recommend that you create the journal receivers in a user ASP. This allows more control of journal receiver growth and helps isolate the disk I/Os to separate disk units. This usually provides better performance than with the journals and journal receivers in the same ASP. If during the creation of the journal receivers a user ASP is specified, storage is allocated in a user ASP and not the system ASP. The journal receivers are created in a non-library ASP, which means that the user ASP can only be used for journals (*JRN), journal receivers (*JRNRCV), and save files (*SAVF). No other objects can be placed in a non-library ASP. Refer to Appendix A, “Adding a User Auxiliary Storage Pool” on page 217, for more information.

For additional information on journals and journal receivers, please refer to the Backup and Recovery Guide, SC41-5304.

12.3.4.1 Managing Your Journaling EnvironmentA key concern in any environment that uses journaling is how to manage the disk space used. As stated above, BaanERP uses journaling and commitment control extensively. This means that you must have in place a journal management scenario.

The AS/400 system has several ways to manage the disk space used by journal receivers. However, you must be careful when choosing some of these options. Some methods you can use include:

• Keeping records of which files and access paths are being journaled • Evaluating the impact on journaling when new applications or logical files are

added • Regularly detaching, saving, and deleting journal receivers

Journal receivers enable you to recover transactions to your important files. They also provide an audit trail of activity that occurs on your system. Protect your journal receivers by regularly detaching them and saving them. You can also have the system take over the job of changing journal receivers by specifying MNGRCV(*SYSTEM) for the journal.

If disk utilization is a problem on your system, you can free storage for journal receivers when you save them. Freeing storage is preferable to deleting journal receivers. Journal receivers whose storage has been freed still appear in the receiver directory for the journal. If disk utilization is not a problem, leave the journal receivers on the system until you have saved all the journaled files.

Changing Journal ReceiversYou can use the Change Journal (CHGJRN) command to change the attributes of the journal. You also use the CHGJRN command to change the receiver for a journal (detach the current receiver, and create and attach a new receiver) and to reset the sequence number for journal entries.

You can change the Manage receiver parameter (MNGRCV) or the Receiver size option (RCVSIZOPT) parameter for the journal only if you are also changing the journal receiver.

You can use the CHGJRN command at any time, even if the files being journaled are open. Detaching a journal receiver and attaching a new one does not

Backup and Recovery for BaanERP 159

interrupt normal system functions or affect the files that are being journaled. No database changes are lost.

Try to schedule the changing of journal receivers at times when activity is low. The system writes an entry in both the new and old journal receivers indicating that a new receiver was attached. In addition, a performance penalty is associated with each open file when you change journal receivers. If changes that are made to the journaled files are in memory but have not yet been written to disk, the system forces them to auxiliary storage before changing the journal receiver. The performance impact is similar to that for closing a database file.

If you use system change-journal management, the system changes journal receivers for you. The performance penalty associated with open files does not apply when the journal is changed.

When you use JRNRCV(*GEN) on the Change Journal (CHGJRN) command, the system creates the new receiver with the same attributes as the currently attached receiver, and in the same library. These attributes include the owner, private authorities, public authority, object auditing, ASP identifier, threshold, and text. You can also use the CHGJRN command to attach a maximum of 2 journal receivers can be attached at one time.

Resetting the Sequence Number for the JournalNormally, when you change journal receivers, you continue the sequence number for journal entries by specifying SEQOPT(*CONT), which is the default. When the sequence number becomes large, you can specify SEQOPT(*RESET) on the CHGJRN command to start the numbering at 1. You can reset the sequence number only when all changes are forced to auxiliary storage for all journaled objects and commitment control is not active for the journal. Resetting the sequence number has no effect on how the new journal receiver is named.

Some conditions prevent you from resetting the sequence number, such as an active commit cycle. If the system cannot reset the sequence number, you receive the message CPF7018. If you attempt to use the CHGJRN command with the same journal receiver name and SEQOPT(*CONT), you may receive the message CPF701A. To recover, delete the journal receiver and use the CHGJRN command again.

If you use system change-journal management support (MNGRCV(*SYSTEM)) for a journal, the sequence number for the journal is reset to 1 whenever you perform an IPL. When you perform an IPL, the system performs the change journal operation for every journal on the system that specifies MNGRCV(*SYSTEM). The operation that the system performs is equivalent to CHGJRN JRN(xxx) JRNRCV(*GEN) SEQOPT(*RESET). The sequence number is not reset if journal entries exist that are needed for the IPL or for commitment control.

The maximum sequence number is 2147483136. If this number is reached, journaling stops for that journal. Whenever you change journal receivers, the system tells you what the starting sequence number is. You receive message CPF7019 if you approach the sequence number limit.

The system sends a warning message (CPI70E7) to the journal's message queue when the sequence number exceeds 2147000000. If you use system change-journal management support (MNGRCV(*SYSTEM)) for the journal, the

160 BaanERP Implementation for AS/400

system attempts to change the journal and reset the sequence number. The message is sent only if the attempt is not successful.

When a journal receiver is detached, it cannot be reattached to any journal. You can perform these actions with a detached journal receiver:

• Save or restore it • Display entries • Retrieve entries • Receive entries • Use it to apply or remove journaled changes • Use it to compare journaled images • Display its status or position in a receiver chain • Delete it • Replicate it with the remote journal function

Deleting Journal ReceiversYou can use the Delete Journal Receiver (DLTJRNRCV) command to delete a journal receiver if you no longer need it. You can also use an option from the Work with Journal Receiver Directory display to delete a journal receiver. Use the Work with Journal Attributes (WRKJRNA) command and press F15 to access the Work with Journal Receiver Directory display.

If you have space on your system, wait to delete journal receivers until they are unlikely to be needed for a recovery (the journaled files have been saved). Restoring journal receivers before applying or removing journaled changes may significantly increase your recovery time. Do not allow the user ASP to fill up and overflow into the system ASP.

If you are journaling only for access path protection or for commitment control and do not need the journal receivers to recover journaled changes, you can have the system delete journal receivers that are no longer needed. Specify MNGRCV(*SYSTEM) and DLTRCV(*YES) for the journal.This is not recommended in a BaanERP environment.

You cannot delete a journal receiver that is attached to a local journal. Journal receivers must be deleted in the same order that they were attached to a journal except that a damaged or inoperable receiver can be deleted regardless of this restriction. If an attached receiver is damaged, you must detach it (CHGJRN command) before you delete it. You can also delete a journal receiver in the middle of a receiver directory chain if one of the following conditions are true:

• The corresponding dual receiver still exists and is usable (was not saved with storage freed)

• The journal has DLTRCV(*YES) specified • The journal is a remote journal

If you need the journal receivers for a recovery, ensure that they are not deleted without first being saved. Display the journal receiver directory by using the

WRKJRNA command and pressing F15 from the Work with Journal Attributes display. The receiver directory shows which receivers are saved. A date of 00/00/00 in the Save date column indicates that a journal receiver is not saved.

If you attempt to delete a receiver that has not been saved, the system sends the inquiry message CPA7025. If the reply to the message is ignore (I), the journal receiver is deleted. If the reply is cancel (C), the operation is not completed. You

Backup and Recovery for BaanERP 161

can use the system reply list to specify the reply that the system sends for a particular job.

Note: No message is sent when the system deletes a journal receiver if you have specified DLTRCV(*YES) for the journal. By specifying DLTRCV(*YES), you have indicated that you do not need the journal receivers for user recovery.

Deleting a JournalEach journal on the system causes additional time and resources to be used at each IPL after an abnormal end. If you no longer need a journal, delete it using the Delete Journal (DLTJRN) command. The system does not allow a journal to be deleted if any of the following conditions exist:

• Files are being journaled to it • Commitment control is active, and the journal is associated with a commitment

definition • Any of the associated remote journals have a journal state of *ACTIVE

If you need to recover files that were journaled to a journal that you deleted, restore the journal from a saved copy or create a new journal with the same name in the same library. Restore all of the needed receivers before using the Apply Journaled Changes (APYJRNCHG) or Remove Journaled Changes (RMVJRNCHG) command to apply or remove changes with that journal. You can use an option on the Work with Journals (WRKJRN) display to re-associate any journal receivers that are still on the system. If the receivers were created on earlier versions, you must restore them from newest to oldest.

Saving Journals and Journal ReceiversYou can use these commands to save journals and journal receivers:

• SAVOBJ • SAVCHGOBJ • SAVLIB

You can save a journal receiver when it is attached to the journal. You should save the journal receiver again when it is no longer attached, so that you save all of the journal entries.

When you save a journal receiver that is no longer attached, you can free storage. However, a journal receiver whose storage is freed must be restored before it can be used for recovery. For additional information on journals and journal receivers, please refer to the manual Backup and Recovery, SC41-5304.

12.3.5 Commitment ControlCommitment control and journaling are complementary recovery products. Both are supplied in the base AS/400 operating system. It is the responsibility of the customer, for in-house developed applications, or the application software provider to include commitment control logic or boundaries.

Commit control is the capability to reverse or rollback changes, or ensure that all changes were made to all database tables successfully. If not, or, if the application was written to use commit control, you can rollback the changes.

Since we do not cover the entire implementation of commitment control in this section, refer to Backup and Recovery, SC41-5304, for further information.

162 BaanERP Implementation for AS/400

Terms Used with Commitment ControlThis section briefly defines commitment control terms.

Commitment definition Contains information about the resources that are under commitment control for a job or an activation group.

Commitment boundary Is established by starting commitment control or by performing a commit operation. For a particular commitment definition, a commitment boundary is defined to be anytime there are no outstanding uncommitted changes for the objects that are being changed under commitment control. When a committable change is made to a committable resource, the current LUW (Logical Unit of Work) is no longer at a commitment boundary.

Commit operationEstablishes a new commitment boundary. A rollback operation brings the objects that are being changed for the current LUW back to the previous commitment boundary.

Resource manager A program or function that is responsible for making changes to committable resources. For local database files, it is the database management function. For remote resources, the communications program is the resource manager.

Transaction manager A program or function that is responsible for managing all the resource managers on a system. It communicates with transaction managers on other systems. On the AS/400 system, the transaction manager function is part of the operating system.

Committable resource A local or remote AS/400 object that can be placed under commitment control.

Committable change A change to a committable resource that can be committed or rolled back. A committable change is referred to as pending or uncommitted until the change is committed or rolled back.

Initiator The system where the program is running that requests a commit or rollback operation for a LUW.

Agent Any system where a resource manager, other than the initiator, is participating in an LUW.

12.4 Saving in a BaanERP Environment

This section outlines a simple backup strategy that may satisfy the needs of a BaanERP installation. We categorize the BaanERP environment backup into three backup strategies:

• Initial BaanERP save • Weekly BaanERP save • Daily BaanERP save

Backup and Recovery for BaanERP 163

12.4.1 Initial BaanERP SaveAn initial save of the BaanERP environment can be done in two ways. Depending on what you may need or want to do with the backup predicts which save command you use. For this example, we suggest that a full system backup is done. This save can be accomplished in two ways:

• Option 21 from the Save menu

This saves the entire system, including the AS/400 system library, user profiles, system configuration, IBM licensed program product libraries, all user libraries, document libraries, and the Integrated File System (IFS).

Option 21 requires a dedicated system or restricted state, which means that no subsystems, except the controlling subsystem (for example QCTL, is available, and only to support the console. Upon completion, the controlling subsystem is restarted, and the system is made ready for production. If the STRBAAN command is not in the IPL start-up program, it has to be issued by someone such as the system operator to start the BaanERP back up.

Figure 113 is an example of the display you see when you issue the GO SAVE command.

Figure 113. AS/400 Save Menu Display

Select option 21 and press Enter to view the information in Figure 114 on page 165.

SAVE Save

Select one of the following: Save System and User Data 21. Entire system 22. System data only 23. All user data Save Document Library Objects 30. All documents, folders, and mail 31. New and changed documents, new folders, all mail 32. Documents and folders 33. Mail only 34. Calendars More... Selection or command ===> 21 F3=Exit F4=Prompt F9=Retrieve F12=Cancel F13=Information Assistant F16=AS/400 Main menu

164 BaanERP Implementation for AS/400

Figure 114. First Display after Selecting Option 21

When you press Enter to continue, the display in Figure 115 appears.

Figure 115. Second Display after Selecting Option 21 (Part 1 of 2)

Fill in the tape device name and decide if you want the system to prompt you for additional responses, or run without any intervention. We suggest that the Prompt for Commands parameter be set to a "N" so the backup goes unattended, except for tape mount messages.

Save the Entire System What this option will do o End all subsystems o Save the Licensed Internal Code o Save the operating system o Save the security data o Save the device configuration objects o Save all user libraries (including libraries for licensed programs) o Save all documents and folders o Save all distribution and mail objects o Save all directories o Start the controlling subsystem What this option will not do o Save the contents of job queues, output queues, or data queues that exist on the system Press Enter to continue. F3=Exit F12=Cancel (C) COPYRIGHT IBM CORP. 1980, 1998.

Specify Command Defaults Type choices, press Enter. Tape devices . . . . . . . . . TAP01 Names

Prompt for commands . . . . . N Y=Yes, N=No Check for active files . . . . Y Y=Yes, N=No Message queue delivery . . . . *BREAK *BREAK, *NOTIFY Start time . . . . . . . . . . *CURRENT *CURRENT, time Vary off network servers . . . *NONE *NONE, *ALL, *LANSERVER, *NETWARE, *BASE, *AIX More... F3=Exit F12=Cancel

Backup and Recovery for BaanERP 165

Leaving the "Y" in the Prompt for commands field takes you through each command, and also allows you to specify the overrides for each save command to be executed. By leaving the default, the save does not execute unattended since user input is needed, and an Enter key must be pressed. Selecting the default (Y) for the Check for active files , the tape media is checked to ensure that data is expired before it is written over. If the data is not expired, a message is sent to change the tape, or to write over the existing data. Specify *NOTIFY for the Message queue delivery field. If left at the default, messages break in and affect the completion of the save. By leaving the default of *CURRENT for the Start time field, the save starts immediately, unless a start time is specified. The start time must be entered in 24-hour format.

Pay close attention to the start time parameter if the save is not going to be performed immediately. If you have an Integrated PC Server (IPCS), enter *ALL for Vary off network servers . If you page down, the display in Figure 116 appears.

Figure 116. Second Display after Selecting Option 21 (Part 2 of 2)

You can leave the defaults unless you are using a User Defined File System (UDFS). Specify Y for print system information for a report to be used in case of system recovery. Once you press the Enter key, the backup starts.

This backup or save, when completed, produces an offline copy of the entire system to tape. These tapes can be used for recovery purposes of the entire system or individual objects.

If you purchase the Application Development Tools Licensed Program Product (LPP), you can use a Source Entry Utility (SEU) to enter CL commands and develop your own program to run this save. In Appendix J, “Sample Save Programs” on page 333, we provide some example code that saves the entire system, but no guarantee is expressed or implied. You should be familiar with the OS/400 editor, CL commands, and how to create an object.

Specify Command Defaults Type choices, press Enter. Unmount file systems . . . . . N Y=Yes, N=No Print system information . . . N Y=Yes, N=No Bottom F3=Exit F12=Cancel

166 BaanERP Implementation for AS/400

• Save Storage (SAVSTG)

The second type of backup or save that can be done for the initial save is using the AS/400 system Save Storage (SAVSTG) command. SAVSTG does a sector-by-sector save of the storage used on disk or DASD. It does not consider individual objects. Therefore, the SAVSTG media can only be used on the system on which it was created, and to restore the entire system. You cannot restore individual objects or libraries from a save storage media. For further information, refer to Backup and Recovery, SC41-5304, or CL Reference, SC41-5722.

12.4.2 Weekly BaanERP SaveA weekly BaanERP backup or save is the same as the initial save, except you do not have to save the OS/400 system library or the IBM Licensed Program Libraries. The only time you need to save them is before or after Program Temporary Fix (PTF) installations, or before a new operating system version installation. For this save scenario, we assume that only the BaanERP environment needs saving and the IBM libraries are saved when needed.

There are two distinct commands used to save the BaanERP environment: the SAV and the SAVLIB commands. Please refer to Appendix J, “Sample Save Programs” on page 333, for examples. Also refer to Backup and Recovery, SC41-5304, or The System Administrator’s Companion to AS/400 Availability and Recovery, SG24-2161, for more information.

12.4.3 Daily BaanERP SaveA daily BaanERP backup or save can be exactly like the BaanERP weekly backup. However, as with most commercial installations, system availability must be kept to a maximum. There are two distinct functions that can assist. One is using the SAVCHGOBJ command on the BaanERP database library. This saves all objects that changed since the last full save. This can be a save time, since this backup does not save information that did not change since the last weekly BaanERP backup.

The BaanERP ${BSE} directory can be backed up using the SAV command. This command has a similar option through the parameter called CHGPERIOD. To use this option, you specify the reserved value *LASTSAVE . For the CHGPERIOD(*LASTSAVE) option to be effective, the initial and weekly BaanERP SAV commands must specify UPDHST(*YES). The default on the SAV command is UPDHST(*NO).

12.5 Restoring in a BaanERP Environment

There are two main AS/400 restore scenarios. One scenario is restoring the entire system including the system library due to an entire system or site failure. The other scenario is restoring the BaanERP environment.

12.5.1 Restoring Entire System and BaanERP EnvironmentWe not document the entire system restore scenario because it is lengthy and documented in the manual Backup and Recovery, SC41-5304. We list the major steps and commands that are needed to accomplish this. They are:

Backup and Recovery for BaanERP 167

• Restore or install System Licensed Internal Code from Alternate IPL device (either CD-ROM or tape)

• Install the operating system from the Alternate IPL device • Restore User Profiles (RSTUSRPRF) • Restore Configuration (RSTCFG) • Restore All Libraries (RSTLIB) • Restore Document Library Objects (RSTDLO) • Restore Integrated File System (RST) • Apply Journal Changes (APYJRNCHG) • Restore Public and Private Authorization (RSTAUT) • Validate the BaanERP environment for consistency • Save the Integrated File System using the SAV command (Optional) • Save *ALLUSR Libraries with the SAVLIB (Optional) • Start Production Environment

Again, this is a simply stated recovery scenario. Take care to recover your environment from the failure.

12.5.1.1 Correct Order for Restoring Objects Associated with a JournalFor the system to automatically re-establish your journaling environment, restore objects in this sequence:

1. Journals2. Based-on physical files3. Dependent logical files4. Journal receivers

When these objects are in the same library, the system restores them in the correct sequence. When these objects are in different libraries, you must restore them in the correct sequence, or you must manually re-establish your journaling environment after the restore operation.

12.5.1.2 Restoring the BaanERP EnvironmentBaanERP has two distinct parts: the ${BSE} directory and BaanERP libraries. Each of these parts can be restored separately or at the same time. Depending on your backup strategy used, you may have other recovery functions to accomplish.

You can choose to backup the ${BSE} and database tables in a weekly fashion, and backup the changed objects (changed from the last weekly backup) daily using *SYNC save-while-active options. The ${BSE} directory is saved using the SAV command. Use the RST command to restore it. An example RST command restoring the entire BaanERP directory, including all subdirectory trees, is shown in Figure 117 on page 169. If you chose to use this example, be sure that it is correct for your environment.

168 BaanERP Implementation for AS/400

Figure 117. Restore (RST) Command to Restore a BSE

The database tables can also be restored independently of the ${BSE} directory. If the database tables are saved with the Save Library (SAVLIB) command, you can restore all database tables, or restore an individual table. Even though the database tables were saved with a SAVLIB command, you can use the RSTLIB or the RSTOBJ command to restore the data. However, restoring only some of the database tables may impact the integrity of the database.

The example in Figure 118 restores the entire library called BAANDATA which includes all database tables.

Figure 118. Restore Library (RSTLIB) Command Display to Restore Database Tables

12.5.1.3 Recovering the BaanERP Database TablesThe BaanERP environment extensively uses AS/400 journaling and commitment control. Recovering the database tables is made easier with the use of journaling and commit control.

The first step to recover database tables is to determine the exact date and time an object was restored. This can be done with the AS/400 system Display Object Description (DSPOBJD) command. For example, if you issue the command DSPOBJD OBJ(BAANDATA) OBJTYPE(*LIB), the example in Figure 119 on page 170 shows the information you may see.

Display Command String RST DEV('/qsys.lib/tap01.devd') OBJ(('/baanERP' *INCLUDE)) SUBTREE(*ALL)

Press ENTER to continue. F3=Exit F5=Refresh F12=Cancel F13=How to use this display F24=More keys

Display Command String

RSTLIB SAVLIB(BAANDATA) DEV(TAP01) ENDOPT(*REWIND) MBROPT(*ALL)

Press ENTER to continue. F3=Exit F5=Refresh F12=Cancel F13=How to use this display F24=More keys

All of our examples show restoring the entire database table library. Due to the integration of the BaanERP environment, we recommend that you do not restore individual or groups of database tables. Similarly the save and restore of the ${BSE} should also be done at the same time.

Attention

Backup and Recovery for BaanERP 169

Figure 119. Display Object Description (DSPOBJD) Display—First Screen

If you select option 5 (Display full attributes) and page forward a few screens, the following figure appears.

Figure 120. Display Object Description (DSPOBJD) Display—Full Attributes

Notice the save/restore information. This shows you the date and time that library BAANDATA was saved. This can be used as your starting point for applying journal entries.

The next step is to find the first journal entry for the first physical file (database table) in library BAANDATA. Once you have this information, you can use the APYJRNCHG command. You start by using the AS/400 system Display File Description (DSPFD) command to look at attribute information. For example, if you issue the command DSPFD FILE(BAANDATA/*ALL) TYPE(*ATR) FILEATR(*PF), the following display appears (Figure 121 on page 171).

Display Object Description - Basic Library 1 of 1 Library: QSYS Type options, press Enter. 5=Display full attributes 8=Display service attributes Opt Object Type Attribute Size Text 5 BAANDATA *LIB PROD 4685824 COLLECTION - created

Bottom F3=Exit F12=Cancel F17=Top F18=Bottom

Display Object Description - Full Library 1 of 1 Object . . . . . . . : BAANDATA Attribute . . . . . : PROD Library . . . . . : QSYS Owner . . . . . . . : BSP Type . . . . . . . . : *LIB Primary group . . . : *NONE Storage information: Size . . . . . . . . . . . . . . . : 4685824 Offline size . . . . . . . . . . . : 4685824 Freed . . . . . . . . . . . . . . : NO Compressed . . . . . . . . . . . . : INELIGIBLE Auxiliary storage pool . . . . . . : 1 Object overflowed . . . . . . . : NO Save/Restore information: Save date/time . . . . . . . . . . : 08/27/98 15:36:25 Restore date/time . . . . . . . . : Save command . . . . . . . . . . . : SAVLIB Device type . . . . . . . . . . . : Save file Save file . . . . . . . . . . . . : QGPL/BAANDATA Bottom Press Enter to continue. F3=Exit F12=Cancel

170 BaanERP Implementation for AS/400

Figure 121. Display File Description (DSPFD) Display

The DSPFD command gives the first database table name. The name shown in Figure 121 is TCFCE00001 in the library BAANDATA. This information is located in the area called File Description Header and the parameter called FILE.

The next step is to find out the save entry in the journal QSQJRN for file TCFCE00001 in library BAANDATA. Once this information is known, you can apply journal changes to all database tables. You start by using the AS/400 system Display Journal (DSPJRN) command. For example, if you issue the command DSPJRN JRN(BAANDATA/QSQJRN) FILE((BAANDATA/TCFCE00001)) JRNCDE((F)), the following display appears.

Figure 122. Display Journal Entries (DSPJRN) Display

As shown in Figure 122, the first journal entry is numbered or at sequence 10774. This information is used to start applying the journaled changes with the AS/400 system APYJRNCHG command. Figure 123 on page 172 shows an example of the command that can be used to apply all journal changes from the journal QSQJRN in the library BAANDATA, using journal receivers JRNRCV0001 through JRNRCV0002 in library BAANDATA. It starts at journal entry 10774, and honors any and all commitment boundaries done by the BaanERP application. Your environment may be different than what is shown in Figure 123.

Find . . . . . . *...+....1....+....2....+....3....+....4....+....5....+....6....+....7....+... 8/27/98 Display File Description DSPFD Command Input File . . . . . . . . . . . . . . . . . . . : FILE *ALL Library . . . . . . . . . . . . . . . . . : BAANDATA Type of information . . . . . . . . . . . . : TYPE *ATR File attributes . . . . . . . . . . . . . . : FILEATR *PF System . . . . . . . . . . . . . . . . . . : SYSTEM *LCL File Description Header File . . . . . . . . . . . . . . . . . . . : FILE TCFCE00001 Library . . . . . . . . . . . . . . . . . . : BAANDATA Type of file . . . . . . . . . . . . . . . : Physical File type . . . . . . . . . . . . . . . . . : FILETYPE *DATA Auxiliary storage pool ID . . . . . . . . . : 01 Data Base File Attributes Externally described file . . . . . . . . . : Yes SQL file type . . . . . . . . . . . . . . . : TABLE More... F3=Exit F12=Cancel F19=Left F20=Right F24=More keys

Display Journal Entries Journal . . . . . . : QSQJRN Library . . . . . . : BAANDATA Type options, press Enter. 5=Display entire entry Opt Sequence Code Type Object Library Job Time 10774 F MS TCFCE00001 BAANDATA QPADEV000A 15:42:35

F3=Exit F12=Cancel

Backup and Recovery for BaanERP 171

Figure 123. Apply Journaled Changes (APYJRNCHG) Command Display

12.5.2 High Availability SolutionsThe High Availability (HA) solution for a BaanERP environment on systems other than an AS/400 system makes use of a shared disk pool. The rest of the disks are replicated or mirrored.

The AS/400 system High Availability solution differs in that there are no shared disk pool. In addition to the high degree of disk protection afforded by RAID-5 and mirroring, information on the AS/400 system can be asynchronously replicated on to another AS/400 system using journaling.

12.5.2.1 AS/400 High Availability ProvidersThere are several High Availability solution providers for the AS/400 system. They are provided by Independent Software Vendors (ISVs).

The main vendors and their respective Web pages are:

• Lakeview Technology —www.lakeviewtech.com • Vision Solutions —www.visionsolutions.com • Data Mirror Corporation —www.datamirror.com

12.5.2.2 AS/400 Remote JournalingStarting with OS/400 V4R2M0 or a later release installed on your system, you can take advantage of the remote journal function. The remote journal function allows you to associate a journal on a remote system with a journal on a local system. Journal entries on the local system are replicated to the remote journal receiver.

The remote journal function helps to efficiently replicate journal entries to one or more systems. You can use the remote journal function with application programs to maintain a replica database. Previous to V4R2M0, you could accomplish a similar function by using the Receive Journal Entry (RCVJRNE) command. In that environment, the RCVJRNE exit program receives journal entries from a journal,

Display Command String APYJRNCHG JRN(BAANDATA/QSQJRN) FILE((BAANDATA/*ALL *ALL)) RCVRNG(BAANDATA/JRNRCV0001 BAANDATA/JRNRCV0002) FROMENT(10774) CMTBDY(*YES)

Press ENTER to continue. F3=Exit F5=Refresh F12=Cancel F13=How to use this display F24=More keys

The vendors listed above are the main providers of AS/400 system High Availability solutions. Contact these vendors to ensure that their product works in a BaanERP environment. Also, BaanERP licensing issues may exist in a High Availability scenario. This licensing must be clarified with Baan or the Baan software provider.

Note

172 BaanERP Implementation for AS/400

and sends the journal entries to the remote system by using whatever communications method is available. All of this processing occurs asynchronously to the operation that is causing the journal-entry deposit and takes place at an application layer of the system. The remote journal function replicates journal entries to the remote system at the Licensed Internal Code layer. Moving the replication to this lower layer provides the following:

• The remote system handles more of the replication overhead • Improved overall system performance and journal-entry replication

performance • An option is available to have replication occur synchronously to the operation

that is causing the journal entry deposit • Journal receiver save operations can be moved to the remote system

The following figure shows an overview of AS/400 remote journaling.

Figure 124. AS/400 Remote Journaling Overview

As shown, the primary or local system application changes the database files or tables, which are journaled. The transport sends the changes to the remote journal. After receipt, the backup system using a user-written exit program receives the journal entry, and processes it. The change is written to the database file or table.

Refer to the manual entitled Backup and Recovery, SC41-5304, for more information on remote journaling.

12.5.2.3 System Managed Access Path ProtectionSystem Managed Access Path Protection (SMAPP) can greatly reduce the amount of time it takes to perform an IPL after an abnormal end. It is an automatic function that runs without attention. SMAPP determines which access

Application

DB Files or Tables

Journal Journal

Receive and Apply

Jobs

RCVJRNE request

Returnentry

Primary (Local) System

Call to RCVJRNE exit program...processing

DB Files or Tables

Backup (Remote) System

Transport

Machine Instruction Layer (MI)

DBOperation

Backup and Recovery for BaanERP 173

paths to protect without any intervention by the user. It automatically adjusts or makes changes in the environment such as when adding new applications or new hardware.

SMAPP does not require any setup and you do not have to change your applications. You do not have to journal any physical files or even use journaling at all. You simply need to determine your policy for access path recovery:

• How long you can afford to spend rebuilding access paths during an IPL after a failure

• How to balance access path protection with other demands on system resources

• Whether to have different target times for recovering access paths for different ASPs

You may need to experiment with different target recovery times for access paths to achieve the correct balance for your system. If you configure additional user ASPs, you should also evaluate your access path recovery times.

SMAPP creates and manages its own internal journals and journal receivers. You cannot use these journals and journal receivers for any other journaling functions. They do not appear on the Work with Journals display. You do not need to, nor can you, save them to tape.

SMAPP requires additional auxiliary storage for journal receivers. However, SMAPP is designed to keep the additional disk usage to a minimum. SMAPP manages journal receivers and removes them from the system as soon as they are no longer needed.

You may choose to journal some access paths yourself by using the Start Journaling Access Path (STRJRNAP) command. This is called explicit journaling. To journal an access path explicitly, you must first journal all of the underlying physical files. SMAPP does not require that the underlying physical files be journaled.

The reason for choosing to journal an access path explicitly is that you consider the access path (and the underlying files) absolutely critical. You want to make sure that the files are available as soon as possible when the system is started after an abnormal end.

Under SMAPP, the system looks at all access paths to determine how it can meet the specified target times for recovering access paths. It may not choose to protect an access path that you consider critical. When the system determines how to meet the target times for recovering access paths, it considers only access paths that are not explicitly journaled.

You can allow the system to determine which access paths to protect. Specify target recovery times for access paths for the entire system or for ASPs. Your system has a default recovery time for access paths for the entire system of 150 minutes when it is shipped. You can use the Edit Recovery for Access Paths (EDTRCYAP) command to see and change the target recovery times for access paths. This command also allows you to see how much space the system is using for system-managed access-path protection (SMAPP).

174 BaanERP Implementation for AS/400

SMAPP provides a simple method to reduce your recovery time after an abnormal system end. SMAPP manages the required environment for you. You do not need to use any type of journal management to use SMAPP.

Refer to the manual entitle Backup and Recovery, SC41-5304, for additional information on System Managed Access Path Protection (SMAPP).

Backup and Recovery for BaanERP 175

176 BaanERP Implementation for AS/400

Chapter 13. System Performance Tuning

This chapter describes how to review the performance of an AS/400 system running BaanERP applications. This includes:

• Introducing the more important aspects that influence the performance of an AS/400 system environment.

• Monitoring and tuning AS/400 system performance.

Chapter 7, “BaanERP AS/400 Work Management” on page 61, provides information about BaanERP AS/400 work management. For more AS/400 system performance information, refer to the OS/400 Work Management Guide, SC41-5306, and the OS/400 Performance Tools Guide, SC41-5340.

13.1 Performance Concepts

This section presents an overview of some key considerations for good system performance by introducing the fundamentals of queuing and delay cost scheduling.

13.1.1 Queuing ConceptsThe work of a single job (or transactions within that job) is comprised of several tasks or services. The invitation to perform the work required by a task is called a request , while the required work is performed by a server . The time taken to complete the work of the task is called the service time .

Queuing is a concept that applies to computer resources just as it does to people waiting in line at the supermarket or waiting to use a bank's Automated Teller Machine (ATM). In general, the time it takes to get a request or unit of work serviced, depends on three primary parameters. This may include a request to complete the purchase at the supermarket counter, complete a transaction at the ATM, perform a disk I/O operation, or use the CPU. The primary parameters are:

• The number of waiters in the line ahead of a new request • The number of servers responding to requests • The service time to complete a request once given to the server, which is a

function of the speed of the server and the amount of work to do

Consider a service point where certain tasks are performed for requestors of service. Generally, requests for service are responded to in the order in which they arrive. Therefore, those arriving first are responded to first and leave the service point first. This is shown in the following figure.

Figure 125. Queuing Concept Diagram

Queue

Arrive

at queue

Requester Server RequestServiced

© Copyright IBM Corp. 1998 177

If the rate of arrival of requests is greater than the rate at which they leave after being serviced, a queue is built at the server. The total response time to have a request serviced is the sum of time spent in:

• The queue waiting to be serviced • The request actually being serviced

When the queue grows longer, the total time taken for a request to be serviced becomes longer, and more time is spent waiting in the queue. The following basic principles govern queuing:

• A single server can service only one request at a time. • Multiple concurrent requests are queued for service. • The higher the server usage, the greater the wait or queuing time is.

In the AS/400 system environment, examples of service requestors are applications and system tasks. Examples of service providers where a queue may build up are the CPU, I/O processors, and disk arms. The equivalent functions of requestors and servers are also present within the client system and the communications network.

It is outside the scope of this chapter to discuss the mathematical equations to determine the effect of queuing. A queuing multiplier (QM) is a measure of queuing. The formula for computing the queuing multiplier assumes:

• Work arrives at random intervals. • Requests for the resources are not all the same.

The Queuing Multiplier equation is represented by:

QM = 1 / (1 - U)

U is utilization. As the usage of a server increases (more work for the server), queuing can account for a much longer elapsed time for work (or request) completion.

The redbook AS/400 Performance Management, SG24-4735, contains a table showing the approximate QM for a range of CPU utilization values. For example, for a CPU that is 67% used, QM = 3. This means that on the average, there are three requests in the queue (you and two others ahead of you). Therefore, assuming an average of 0.2 seconds of CPU to service a request and one CPU, an interactive transaction (response time) takes a minimum of 0.6 seconds to complete usage of the CPU.

The queuing multiplier is an important factor when projecting the impact of adding work or additional hardware on current system performance. Systems with performance problems often show resources with high queuing multiplier factors.

The Performance Tools/400 "Transaction Report—Job Summary" lists the CPU queuing multiplier determined for the collected data. You need to collect AS/400 system performance data with trace information to produce this report (see Section 13.3.6, “Collecting AS/400 Performance Data” on page 195 for the steps needed to do this).

The simplified queuing theory discussed before assumes a single queue of requestors and a single server. In the high-end models of the AS/400 system product range, multiprocessor (N-way) systems have more than one central

178 BaanERP Implementation for AS/400

processor executing instructions, even though there is only a single queue of requestors (task dispatch queue). In this situation, the increased number of servers reduces the queuing multiplier and the average queue length.

13.1.2 Response TimeResponse time is the elapsed time between the request for service and the completion of that service. In an interactive AS/400 system environment, it is the time between the user pressing the enter key (or a function key) and the keyboard unlocking with the information on the display. For a BaanERP end-user, the interactive response time is the time between pressing a window button and the information appearing on the screen.

13.1.2.1 Queuing Multiplier EffectFollowing the discussion on queuing theory, it is necessary to visualize the effect of server utilization on queue length (as represented by the queuing multiplier) and consequently on response time.

Response time is directly related to queue length. The queuing multiplier is a measure of the queue length. Thus, response time changes with server utilization are similar to that for the queuing multiplier. A graph of the queuing multiplier against server utilization is shown in the following figure.

Figure 126. Graph of Queuing Multiplier

The queuing multiplier is a measure of the queue length. U is the utilization of the resource providing the service.

The queuing multiplier values used in the formulas for disk and CPU service time can be shown graphically. A curve shows the utilization at various rates and the significance of the knee . The knee of the curve is the point where a change in utilization produces a correspondingly higher change in the queuing multiplier. That is, the change along the Y-axis (queuing multiplier) is significantly greater than the change along the X-axis (utilization). The knee of this curve is the maximum utilization point up to which a certain resource should be driven. After this knee, service time becomes less stable and may increase dramatically for

System Performance Tuning 179

small utilization increases. In Figure 126 on page 179, you can see that at around 70% utilization, the knee of the curve appears.

Not all resources react the same. There are different recommended maximum values for the different resources such as CPU, disk, memory, controllers, remote lines, IOPs, and so on. The differences in sensitivity of the various components arise from relative service times differences. See Section 13.3.1, “AS/400 Performance Indicator Guidelines” on page 185, for more information on this. The OS/400 Performance Tools/400 Guide, SC41-5340, provides more information on queuing.

13.1.2.2 Client/Server Response TimeIn a client/server environment, the response time perceived by the user is the total response time of the following service providers:

• Client system —When a user at a client system (such as a PC) requests information, that request is first processed by the PC and translated to a request to the server system.

• Communication line (to server system) —The request is sent through the line to the server (such as a database or application or file server).

• Server system —The server system accepts the request and performs the requested functions.

• Communication line (from server system) —The server response is sent back to the client.

• Client system —The client receives the information, performs further processing as necessary, and presents the final response to the user's request.

These providers are shown in the following figure.

Figure 127. Components of Response Time

Therefore, the total response time experienced by a client/server application user is the total of the service times of the:

• Client system • Communication line • Server system

Typically, a server system functions in an environment with multiple requestors. The response time experienced by a requestor is affected not only by the function of the particular task, but also by the workload introduced by other concurrent requestors and the relative servicing priority assigned to them.

U ser C lien t S ys tem

S erve rS ys tem

C lien t/S e rve r E n tity

L ine T im e

L ine T im e

180 BaanERP Implementation for AS/400

Client PCs, on the other hand, are single user systems where the contention for resources is minimal. However, with the introduction of multi-tasking operating systems, and more concurrent activity on the PCs, resource contention is becoming a significant contributor to overall client/server performance.

The number of times information has to move between the client and server (communications flow) and the amount of data moved before a response is completed also increases the response time.

13.1.2.3 Components of AS/400 Response TimeWithin a system, there are many functions contributing to the response time of the system, including CPU and disk I/O time. There are also wait times associated with these servers, including waiting for CPU and disk I/O, that are associated with queuing.

Each transaction uses communications line capacity, CPU time, main storage, and disk accesses, and has to be scheduled for the CPU using a priority classification. The interactive response time experienced by an AS/400 system user is the total of many components, as shown in the following figure.

Figure 128. Components of AS/400 Response Time

Note the following points:

• There is a transmission time delay for the transaction to reach the CPU (which can be significant in situations such as when using remote workstations.)

• Once the transaction reaches the system, the system's response time measurement begins. • The job may have to wait for an activity level at the system. • Once the activity level is entered, resource utilization begins, which

includes: – CPU processing time (including queuing) – Disk I/O time (including queuing)

• There may also be periods of inactivity when the transaction is waiting in a variety of states that are reported in the Performance Tools/400 reports, and discussed in the redbook AS/400 Performance Management, SG24-4735, including:

– Ineligible activity time (excess time in an activity level) – Short waits – Short waits (extended) – Object or record seize or lock conflict

A S /4 0 0 S ys te m R e s p o n s e T im e

A c tiv e W a it

C P U D is k In e lig ib leS h o rtW a it

S h o rtW a itX

S e iz e /lo c kC o n flic t

System Performance Tuning 181

• There is a transmission delay in the response reaching the user. • Time is taken by the user workstation to process the information for

presentation.

The components of the response time diagram show that the CPU is only one of the resources (servers) involved in the response time. Disk service time must also be included in response time expectations. Additional wait times (such as exceptional wait times including waiting for record or object locks, waiting for communication line data transmission, and so on) can play an important part in actual response times experienced by a user. They must be considered when analyzing performance problems.

13.1.3 Dynamic Priority SchedulingThe AS/400 system has an optional job dispatching and scheduling function called Dynamic Priority Scheduling (DPS). It is implemented in the Licensed Internal Code (LIC) layer and can be turned on or off by the user with the system value QDYNPTYSCD. The benefits are:

• No job or set of jobs can monopolize the CPU.

• Low priority jobs, typically used for batch work, have a chance to progress.

• Jobs that use too much resource are penalized by having their priority reduced.

• Job response time or throughput behaves much the same as fixed priority scheduling.

The DPS algorithm changes the current priority of jobs whose assigned run priority (RUNPTY) is in the range of 10 to 99 and schedules them to use the CPU based on each job’s "delay cost." Job priorities one through nine are not included in DPS processing as are most LIC tasks because they run at a priority higher than that of any user or system job.

A job’s delay cost is periodically computed by DPS based on how long the job has been waiting on the task dispatching queue (TDQ) as well as its current priority. If the job’s delay cost indicates that it has been waiting too long without getting any CPU time, the job’s priority is adjusted to make it more likely to receive CPU time sooner.

Use the system value QDYNPTYSCD to select whether to activate DSP, while the system uses it to determine the algorithm for scheduling jobs running on the system. The default setting is to use DPS (a value of "1"). To use fixed priority scheduling, the system value should be set to "0."

The DPS scheme allows CPU resources to be spread to all jobs in the system with the following objectives:

• Prevent long running, batch-type interactive transactions, such as a query, from running at priority 20 for the entire transaction time.

• Ensure that lower priority jobs eventually get some system resources.

With fixed priority scheduling, when high priority (20) jobs consume as much as 70% or more of the CPU, the lower priority (50) jobs rarely get much CPU time. In this situation, DPS allocates more of the CPU to the lower priority work at a cost of a small degradation in the higher priority work.

182 BaanERP Implementation for AS/400

13.1.3.1 Delay Cost TerminologyThe following list contains short descriptions for the key terms needed to fully understand DPS on the AS/400 system:

Delay Cost Refers to how expensive it is to keep a job in the system. The longer the job spends waiting on the TDQ for the CPU, the larger its delay cost. With DPS active, a high delay cost causes the priority 10 through 89 job’s priority to increase over time. The same as the priority value, jobs of higher delay cost are given the CPU ahead of other jobs of lower delay cost.

Waiting Time Used to determine the delay cost of a job at the time the dispatcher inspects the job. The amount of time that the job has been waiting on the TDQ to use the CPU affects the new delay cost value.

Delay Cost Curves The end-user interface for setting job priorities has not changed. However, internally the priority of a job is mapped to a set of delay cost curves. The delay cost curves are used to determine a job’s delay cost based on how long it has been waiting on the TDQ and its RUNPTY. The delay cost is used to determine how much to adjust the job’s priority and possibly reposition the job on the TDQ list.

On a lightly-loaded system, a job’s delay cost normally stays at its initial value. If overall system CPU utilization is not at the limit, jobs do not climb the delay cost curve and, therefore, stay at the same priority relative to all other jobs. As CPU utilization increases, jobs start to climb their respective delay cost curves. However, this has little, if any, effect on job priorities and job dispatching sequences.

As the workload causes the CPU utilization to approach the 80% to 90% level, some of the jobs on lower (flatter) slope curves (lower priority) that have waited a long time for the CPU can begin to overtake jobs on higher slope curves that have waited in the TDQ for a shorter period of time. This is when the DPS benefits overall system throughput as the lower priority jobs can use some CPU time.

When the CPU utilization is at 100%, the lower priority jobs can climb quite a way up their respective delay cost curves and overtake (that is, their priority becomes higher) jobs on other curves. This is when the DPS algorithm is working to provide resources to all jobs.

Priorities of jobs are divided into groups and then are assigned to different delay cost curves. Jobs in the same class have the same CPU resource usage limits. Internally, each class is associated with a unique delay cost curve. This gives some preferential treatment to jobs of higher user priorities at low system utilization similar to the effect of fixed priority scheduling.

The slope of the delay cost curves controls how quickly the delay cost changes and influences the rate of priority changes to jobs in that class. The slope is defined as the quotient of the delay cost divided by the wait time. For example, a job in a class with priorities 10 through 16 moves further up the cost curve than a job in a class with priorities 17 through 22 or higher, which moves in the same amount of wait time.

System Performance Tuning 183

Reset When a job leaves the wait or ineligible state and enters the active state (that is, W->A or I->A job state transition) and is put on the TDQ, its cost is at its initial value and its priority is set to its original assigned priority.

Another situation is once a job uses some amount of CPU time and reaches the limit of the delay cost, its delay cost is minimal. It is "reset," which causes it to "slide" down to the start of the curve. That is, it is now at the lowest priority value in that delay cost curve’s range. As a result, it may be lower than the job’s assigned priority. This allows other jobs on the same curve to eventually catch-up and use the CPU.

A job’s initial RUNPTY value determines on which delay cost curve it is. When a job reaches the limit of its delay cost, it is reset and dropped down one class. As the job’s delay cost subsequently increases again, it moves back to its original class curve.

Note:

• Jobs that leave an activity level are reset to their assigned run priority when they return to the activity level.

• Jobs that are promoted as a result of seize or lock priority adjust are not reset while they are in the promoted state. They are re-evaluated sometime after the seize or lock is released.

13.1.3.2 Priority Mapping to Delay Cost CurvesThe mapping scheme divides the 99 "user" job priorities into two categories:

• User priority 0 through 9

This range of priorities is for critical jobs such as system jobs or high priority applications that should not be delayed by other application jobs. Jobs in this range are not overtaken by user jobs or lower priority jobs. This is true even though it is possible that a job’s delay cost can cause its priority to be higher than that of a priority 9 or higher (lower number) job. Jobs with an assigned priority 0 through 9 are dispatched before any job that is on any delay cost curve class regardless of the other job’s delay cost.

Note: You should generally not assign long-running, resource intensive jobs within this range of priorities.

• User priority 10 through 99

This range of priorities is for jobs that execute in the system with dynamic priorities. In other words, the dispatching priorities of jobs in this range can change if their delay cost is high and DPS is active.

With this mapping scheme and using the default priorities of 20 for interactive jobs and 50 for batch jobs, users generally see that the relative performance for interactive jobs is better with DPS, along with the benefit that batch jobs experience less CPU starvation.

13.2 Performance Analysis—An Approach

This section outlines an approach to addressing performance issues with BaanERP on the AS/400 system. Perform the following steps:

184 BaanERP Implementation for AS/400

1. Perform AS/400 System Monitoring (refer to Section 13.3, “AS/400 System Monitoring” on page 185).

Conduct a "snapshot" analysis using such commands as WRKSYSSTS, WRKDSKSTS, WRKACTJOB, WRKSBSJOB, and WRKSYSACT. For a more complete review, collect AS/400 system performance data and use Performance Tools/400 to analyze the data. Check on:

• CPU usage, memory faulting, and job queuing • Disk arm activity and space usage • Job activity (high CPU or disk usage) • Job status (waiting on a message—in "snapshot" mode only)

2. Perform AS/400 System Tuning as necessary (refer to Section 13.4, “AS/400 System Tuning” on page 200).

This is where you make changes (one at a time) based on the information that you gathered in the first step. You may make changes to:

• Pools and activity levels • Job priority • Subsystem descriptions

3. Repeat Step 1 and Step 2 until you achieve an acceptable level of AS/400 system resource tuning.

13.3 AS/400 System Monitoring

This section introduces the concept of AS/400 system performance monitoring. These facilities can be used to assist in viewing AS/400 system resource utilizations to help narrow down and minimize possible contentions between applications and jobs running on the system.

13.3.1 AS/400 Performance Indicator GuidelinesSome key AS/400 system resource utilization indicators that affect performance are:

• Memory faulting rates

This indicates the frequency of faulting in a memory pool. In general, attempt to keep these values as low as possible.

Thus, the total number of faults that occur in a pool is not the only important consideration. A pool used by many jobs can show a much higher average

These guidelines must be used in conjunctions with the performance and response time objectives of the installations. The values must not be viewed as definite limits.

Note

The important consideration for memory faulting is the number of memory faults per second that each active job (thread) can experience without impacting response times.

Note

System Performance Tuning 185

number of faults per second compared to a pool of the same size with a lower number of active jobs.

For example, if there are 10 active jobs in a pool showing 100 faults per second, the number of faults per job per second is 10. Assuming a disk service time of 0.01 seconds, the delay resulting from memory faulting is 0.1 seconds per second (or 10% of response time). On the other hand, if there are only two active jobs in the same pool, there is an average of 50 faults per job, at a "cost" of 0.5 seconds per job per second (or 50% of the response time).

You can determine the effects that faulting has on performance. The following examples may help you to understand this:

– Any faults that occur affect the response time of an interactive transaction. Each fault adds approximately 10 to 30 milliseconds to end-user response time (the time that is required to read required information from disk into main storage). For example, if your disk response time is 20 milliseconds, and your transaction has 5 faults per transaction, then the faults will add approximately 0.10 seconds to your end user response time (.020 X 5= .10).

– As the number of transactions increase, a given volume of faults affect a smaller percentage of transactions. For example, if you have 10 faults per second and 10 transactions per second, you average 1 fault per transaction. However, if you have 10 faults per second and 100 transactions per second, on average a fault will occur for only 10% of transactions. Batch job duration is similarly affected by faulting.

– Each fault uses some of the cycles available in the main processor. As more faults occur, the processor uses more cycles. Due to increased complexity, the amount of processing cycles increases as the volume of work that is handled by the system increases.

– If you add main storage to reduce your faulting rate, you also lower the utilization of the AS/400 system processor. This leaves more processing cycles available to handle more transactions.

– As your faults increase, the amount of disk I/O increases. If you have very few disk arms, these faults can cause your disk utilizations to increase more rapidly than if you have many disk arms. As your disk arm utilization increases, the time required to process disk I/Os increases.

Looking at specific pools, consider the following:

– Machine (*MACHINE) Pool —This is always system pool 1 and the faulting rates should be maintained below 10 faults per second (sum of DB and non-DB faults). You can increase the pool by 10% until the faults per second are satisfactory.

– Base (*BASE) Pool —This is system pool 2. If only system jobs and subsystem programs are running in the base pool, the fault rate for that pool should be less than 30 faults per second . You need to decrease another pool to increase the base pool.

By default, BaanERP runs in the base pool. However, if you define a separate memory pool for BaanERP, the applicable system pool number is different. If you run other applications on the same AS/400 system as BaanERP, we recommend that you define a separate pool for BaanERP.

186 BaanERP Implementation for AS/400

BaanERP jobs on the AS/400 system are not recognized as interactive jobs. The following section applies to the traditional 5250-type session.

– Interactive Pool —As a general rule, this pool should have faulting rates under 200 faults per second . To get more specific, use the following formula to calculate the approximate number of page faults per transaction:

((DB faults + non-DB faults) / active —> wait) X 60

A—>W can be found by pressing the F11 key from the AS/400 system Work with System Status (WRKSYSSTS) command. If the result of the calculation is greater than 20, and the number increases as more users sign-on to the system, you may need to increase storage in that pool.

Another rule is that W—>I should be kept small (for example, less than 10% of A—>W). If you see any W—>I, increase MAXACT by 5-10 until the W—>I is 0. After you increase the MAXACT value, press the F10 key to reset the statistics. You should wait at least 5 minutes before the F5 key is pressed to refresh the display.

– User Pool —For user pools, the fault rate alone is not necessarily a measure of good or poor performance. Response time and throughput are the actual measures of performance. Therefore, you should tune your pools by moving storage from pools with better performance to pools with poor performance. Continue to move the storage to the pool with poor performance until performance improves. Do not decrease a pool by more than 10% at one time.

• Disk space usage

This is expressed as a percentage of the total space available in the system Auxiliary Storage Pool (ASP 1). When BaanERP and any other applications are active, the usage indicated by system displays includes all permanent objects as well as any temporary objects created by the AS/400 system to manage system activity. You should review your disk usage during peak activity. Excessive disk space usage can impact performance, but is not directly related to the percentage used, only the available disk space. Ensure that you allow adequate disk space for growth of the database and usage should not normally exceed 90%.

• Disk arm utilization

High disk arm utilization can result in queuing for disk requests to be serviced. While higher utilization can be supported by the new AS/400 system disk drives, we recommend that you maintain average arm utilization under 40%.

• Number of activity levels

Activity levels are the number of jobs (threads) that can be active in a memory pool. A job must allocate an activity level prior to being serviced by the CPU. When jobs queue for an activity level, you notice transitions from Wait-to-Ineligible (W—>I).

The number of activity levels for a BaanERP system does not need to be more than the total number of BaanERP jobs running in the subsystem if only BaanERP is running in the pool. If you use the base pool, you need to make some allowances for the AS/400 system subsystem programs that run in this pool by default. However, in situations where the system is memory constrained, you may consider reducing the number of activity levels to a lesser value. If the memory pool is shared by other applications, a suitable

System Performance Tuning 187

value needs to be set to provide adequate activity levels to utilize the CPU effectively.

• AS/400 system resource utilization

Generally, the faster the resource is, the higher the utilization threshold is. Here are some performance threshold guidelines that may be used with numbers seen from AS/400 system commands or Performance Tools/400 reports:

– Communications

• Interactive environments: 30-50% • Large transfer: 80-95%

– IOP

• Interactive environments: 60% • Large transfer: >60%

– CPU

• Interactive environments: 70%

13.3.2 Using AS/400 Native CommandsFor general performance monitoring of the overall AS/400 system, use OS/400 commands. Interactive monitoring commands show only current information. You can also collect and store performance data for later analysis and comparison using a command.

The AS/400 system Work with System Value (WRKSYSVAL) command enables you to work with (display or change) system values that provide many default values for the entire system. There are other AS/400 system commands that enable you to work with statistical information gathered during an identified time interval (shown as elapsed time at the top of the display). These commands include:

• Work with System Status (WRKSYSSTS) • Work with Disk Status (WRKDSKSTS) • Work with Active Jobs (WRKACTJOB) • Work with Subsystem Jobs (WRKSBSJOB)

The information can usually be:

• Updated by extending the measurement time (F5 key). • Reset and a new time interval started (F10 key).

We recommend the time interval for observation to be not less than five minutes . For a more detailed analysis, use data collected by the AS/400 system Start Performance Monitor (STRPFRMON) command, which collects data over specified periods into system-created database files in a specified library. The performance data collection capability is a part of the standard operating system (refer to Section 13.3.6, “Collecting AS/400 Performance Data” on page 195, for more information). You can use Performance Tools/400 to analyze the collected data (refer to Section 13.3.7, “AS/400 Performance Tools” on page 197, for more information).

188 BaanERP Implementation for AS/400

13.3.3 AS/400 System ValuesThe following section describes a few system values that you should review to optimize overall AS/400 system performance.

13.3.3.1 AS/400 WRKSYSVAL CommandUse the AS/400 system Work with System Values (WRKSYSVAL) command to view and change system values. Please refer to the OS/400 Work Management Guide, SC41-5306, or on-line help text for more information on these system values. You may want to consider the values in the following display.

Figure 129. Work with System Values (WRKSYSVAL) Display

13.3.4 AS/400 System and Disk StatusThe following section provides information on AS/400 system resource utilization for a particular time interval, including:

• Disk capacity and usage of the system Auxiliary Storage Pool (ASP 1). • Faulting rate per second in each memory pool. • Queuing of jobs running in each memory pool.

13.3.4.1 AS/400 WRKSYSSTS CommandUse the AS/400 system Work with System Status (WRKSYSSTS) command to see general system information. Spend an elapsed time of at least five minutes when performing an interactive analysis of AS/400 system resource utilization (the F10 key restarts elapsed time and the F5 key extends the elapsed time). Use

Work with System Values

Position to . . . . . . Starting characters of system value Subset by Type . . . . . *ALL F4 for list Type options, press Enter. 2=Change 5=Display System Option Value Type Description

QACTJOB *ALC Initial number of active jobs QADLACTJ *ALC Additional number of active jobs

QADLTOTJ *ALC Additional number of total jobs

QBASACTLVL *STG Base storage pool activity level QBASPOOL *STG Base storage pool minimum size

QDYNPTYSCD *SYSCTL Dynamic priority scheduler

QJOBMSGQFL *ALC Job message queue full action QJOBMSGQMX *ALC Maximum size of job message queue

QMCHPOOL *STG Machine storage pool size

QPFRADJ *SYSCTL Performance adjustment

QTOTJOB *ALC Initial total number of jobs QTSEPOOL *STG Time slice end pool

System Performance Tuning 189

F21 to ensure that the assistance level is *Intermediate . Figure 130 shows an example of the information you may see.

Figure 130. Work with System Status (WRKSYSSTS) Display—Paging Data

Run this command during typical levels of activity and check the following items:

• % CPU used indicates the amount of CPU used during the elapsed time. If any batch processes are running at the time, this value can be high. If CPU usage is sustained at a high level, you may have a saturated processor.

• % system ASP used indicates the amount of disk space used of the total available in the system ASP. This value includes the amount of disk space occupied by permanent objects and temporary objects created during normal AS/400 system operations.

• Total refers to the total disk space in the entire system (system and user ASPs) and excludes any disk space that is used for disk protection such as when using RAID-5 or mirroring.

• Current unprotect used indicates the amount of disk space currently used by temporary objects.

• Maximum unprotect indicates the maximum amount of disk space used by temporary objects since the last IPL.

• Pool Size (K) is the amount of main storage or memory, in KB, in each pool.

• DB and non-DB fault is a measure of faults per second, and is the only measure to determine how the AS/400 system uses the available memory in each pool. Make sure you review the total number of faults per second in each pool and not the number of pages.

Note: By default, all BaanERP jobs run in pool 2 (*BASE).

Work with System Status

% CPU used . . . . . . . : 31.4 Auxiliary storage: Elapsed time . . . . . . : 00:00:00 System ASP . . . . . . : 62.09 G Jobs in system . . . . . : 11184 % system ASP used . . : 64.9092 % addresses used: Total . . . . . . . . : 62.09 G Permanent . . . . . . : .007 Current unprotect used : 1411 M Temporary . . . . . . : .016 Maximum unprotect . . : 1443 M Type changes (if allowed), press Enter. System Pool Reserved Max -----DB----- ---Non-DB--- Pool Size (K) Size (K) Active Fault Pages Fault Pages 1 112488 38900 +++++ .0 .0 .0 .0 2 362848 0 33 .0 .0 .0 .0 3 5240 0 5 .0 .0 .0 .0 4 43712 0 36 .0 .0 6.0 6.0 Bottom Command ===> F3=Exit F4=Prompt F5=Refresh F9=Retrieve F10=Restart F11=Display transition data F12=Cancel F24=More keys

190 BaanERP Implementation for AS/400

Use the F11 key to view information on the AS/400 system job transitions that occur in each memory pool. Figure 131 shows an example of the information you may see.

Figure 131. Work with System Status (WRKSYSSTS) Display—Transition Data

Check the following items:

• Max Active is the maximum number of jobs that can use the processor concurrently in that pool. If the activity level is too low, the jobs may transition to the ineligible condition. If the activity level is too high, excessive page faulting may occur.

• Wait->Inel measures the transition of jobs from the wait state to the ineligible state where a job is ready to run but cannot secure an activity level. A high value indicates that the value set for maximum active jobs (described above) in that memory pool is too low.

Press the F11 key multiple times to toggle through other display that provide additional information.

13.3.4.2 AS/400 WRKDSKSTS CommandUse the AS/400 system Work with Disk Status (WRKDSKSTS) command to see AS/400 system disk activity and to help determine if any disk units are having a potential impact on overall system performance. Spend an elapsed time of at least five minutes when performing an interactive analysis of AS/400 system resource utilization (the F10 key restarts the elapsed time and the F5 key extends the elapsed time). Figure 132 on page 192 shows an example of the information you may see.

Work with System Status

% CPU used . . . . . . . : 7.7 Auxiliary storage: Elapsed time . . . . . . : 00:00:02 System ASP . . . . . . : 62.09 G Jobs in system . . . . . : 11185 % system ASP used . . : 64.9126 % addresses used: Total . . . . . . . . : 62.09 G Permanent . . . . . . : .007 Current unprotect used : 1412 M Temporary . . . . . . : .016 Maximum unprotect . . : 1443 M Type changes (if allowed), press Enter. System Pool Reserved Max Active-> Wait-> Active-> Pool Size (K) Size (K) Active Wait Inel Inel 1 112488 38904 +++++ 27.3 .0 .0 2 362848 0 33 246.3 .0 .0 3 5240 0 5 .0 .0 .0 4 43712 0 36 27.3 .0 .0 Bottom Command ===> F3=Exit F4=Prompt F5=Refresh F9=Retrieve F10=Restart F11=Display pool data F12=Cancel F14=Work with subsystems F24=More keys

System Performance Tuning 191

Figure 132. Work with Disk Status (WRKDSKSTS) Display

Check the following items:

• % Used indicates the amount of space used on the disk unit listed. It should not exceed 90% on any disk except the first disk (or the first two disks if they are mirrored).

Note: Ensure you have adequate spare disk space to allow for growth in the database.

• % Busy is a key factor in disk performance and should remain under 40%.

13.3.5 Active Jobs on the AS/400 SystemThe following section provides information on active system and BaanERP jobs running on the AS/400 system.

13.3.5.1 AS/400 WRKACTJOB CommandUse the AS/400 system Work with Active Jobs (WRKACTJOB) command to see all of the jobs running on the AS/400 system and within each of the active subsystems. Detailed information is provided including:

• Subsystem • Job name • User identifier • Job type • CPU usage (%) • Job function • Job status • Memory pool • Job priority • CPU usage (seconds) • Disk I/O count

Work with Disk Status

Elapsed time: 00:00:26 Size % I/O Request Read Write Read Write % Unit Type (M) Used Rqs Size (K) Rqs Rqs (K) (K) Busy 1 6606 1967 ++++ .0 16.0 .0 .0 .0 16.0 0 1 6606 1967 ++++ .3 7.0 .2 .0 4.0 16.0 0 2 6713 7516 60.9 64.0 4.4 .1 63.9 4.0 4.4 13 11 6713 7516 60.9 24.4 4.3 .4 24.0 17.2 4.1 7 12 6713 7516 61.0 43.7 4.6 .2 43.4 4.0 4.6 11 13 6713 7516 61.0 46.0 4.8 .0 45.9 4.0 4.8 5 14 6713 7516 61.0 13.4 4.9 .1 13.3 4.0 4.9 5 15 6713 7516 60.9 35.2 4.4 .1 35.1 4.0 4.4 7 16 6713 7516 61.0 78.5 4.4 .0 78.4 4.0 4.4 5 17 6713 7516 61.0 64.1 4.8 .2 63.8 4.0 4.8 11 Bottom Command ===> F3=Exit F5=Refresh F12=Cancel F24=More keys

192 BaanERP Implementation for AS/400

Figure 133 shows an example of the information you may see.

Figure 133. Work with Active Jobs (WRKACTJOB) Display—Status

Check the following items:

• CPU % is on the display twice. The top value is the percentage of time the entire system was busy during the elapsed time. It may be higher than the sum of the active jobs displayed because it includes the processing unit time used by system overhead, excluded jobs, and jobs that have ended during the measurement time interval. If there are multiple processors on the system, this field contains the average for all the processors. The middle value is the percent of processing unit time attributed to a particular job over the elapsed time.

• Function indicates the last high-level function initiated by the job and can be a command or program running. This may help you explain a high CPU % for the system or a job.

• Status shows you the status of the job, or if it is currently running or in some sort of wait state.

Use the F11 key to view additional information on the jobs running on the AS/400 system. Figure 134 on page 194 shows an example of the information you may see.

Work with Active Jobs

CPU %: 2.6 Elapsed time: 03:57:48 Active jobs: 211 Type options, press Enter. 2=Change 3=Hold 4=End 5=Work with 6=Release 7=Display message 8=Work with spooled files 13=Disconnect ... Opt Subsystem/Job User Type CPU % Function Status BAAN QSYS SBS .0 DEQW DB4_SRV6 BSP BCI .0 TIMW PDAEMON6 BSP BCI .0 SIGW SHMTIME6 BSP BCI .0 SIGW QSYSWRK QSYS SBS .0 DEQW QBFCLISTEN BAANCONNDB BCH .0 PGM-QBFCLISTEN SELW QBFCRECVR BAANCONNDB BCI .0 TIMW

Parameters or command ===> F3=Exit F4=Prompt F5=Refresh F10=Restart statistics F11=Display elapsed data F12=Cancel F14=Include F24=More keys

System Performance Tuning 193

Figure 134. Work with Active Jobs (WRKACTJOB) Display—Elapsed Data

Check the following items:

• Pool is the identifier of the system-related pool from which the job's main storage is allocated. These identifiers are not the same as those specified in the subsystem description, but they are the same as the system pool identifiers shown on the WRKSYSSTS display. By default, all BaanERP jobs run in memory pool 2 (*BASE) and the memory pool that jobs run in can be changed by modifying the appropriate subsystem description and routing entry.

• Pty is the run priority of the job. By default, all BaanERP jobs run at a priority of 20 and the run priority for jobs can be modified by changing the associated values in the class used by the AS/400 system subsystem description.

• AuxIO is the elapsed number of auxiliary storage I/O operations. It is the number of storage read and write operations the job makes during the measurement time interval. It includes both database and non-database paging.

If you press the F11 key one more time, you see the thread information. If you see multiple threads running under a job, select option 5 (Work with) and then option 20 (Work with threads, if active) to see Total CPU, Aux I/O, and Run Priority for each thread. BaanERP jobs should only have one thread (the initial thread).

You can limit the jobs that appear when using the WRKACTJOB command to a specific BaanERP job by specifying the job name on the JOB parameter. For example, to look at all of the BaanERP jobs called BSHELL6, you can issue the command:

WRKACTJOB JOB(BSHELL6)

You can limit the subsystems that appear when using the WRKACTJOB command to a specific BaanERP subsystem by specifying the subsystem name

Work with Active Jobs

CPU %: 29.6 Elapsed time: 00:00:41 Active jobs: 220 Type options, press Enter. 2=Change 3=Hold 4=End 5=Work with 6=Release 7=Display message 8=Work with spooled files 13=Disconnect ... --------Elapsed--------- Opt Subsystem/Job Type Pool Pty CPU Int Rsp AuxIO CPU % BAAN SBS 2 0 264.7 1 .2 BSHELL6 BCI 2 20 4.1 0 .0 DB4_SRV6 BCI 2 20 411.9 32 .6 DB4_SRV6 BCI 2 20 1.0 0 .0 PDAEMON6 BCI 2 20 389.6 45 .5 SHMTIME6 BCI 2 20 300.3 15 .1 More... Parameters or command ===> F3=Exit F4=Prompt F5=Refresh F10=Restart statistics F11=Display thread data F12=Cancel F14=Include F24=More keys

194 BaanERP Implementation for AS/400

on the SBS parameter. For example, to look at all of the BaanERP jobs running in the BAAN subsystem, you can issue the command:

WRKACTJOB SBS(BAAN)

If you want to see the same information sorted in order for a particular field (by CPU usage, for example), position the cursor over the column heading (CPU % column) and press the F16 key.

13.3.5.2 AS/400 WRKSBSJOB CommandUse the AS/400 system Work with Subsystem Jobs (WRKSBSJOB) command to see certain subsystems and jobs. For example, to see the BAAN subsystem, issue the command:

WRKSBSJOB SBS(BAAN)

The following figure shows an example of the information you may see.

Figure 135. Work with Subsystem Jobs (WRKSBSJOB) Display

13.3.6 Collecting AS/400 Performance DataPerformance data can be collected on the AS/400 system by using the AS/400 system Start Performance Monitor (STRPFRMON) command. This facility is available as a standard feature of the operating system. We recommend that you start the AS/400 Performance Monitor after starting the BaanERP applications and allowing the application to run for a while so it can stabilize. End the AS/400 Performance Monitor before stopping BaanERP. This gives you data that covers normal user activity and excludes any overhead involved in starting and ending BaanERP.

To start the performance monitor, type in the STRPFRMON command and press the F4 key. Figure 136 on page 196 shows an example of the information you may see.

Work with Subsystem Jobs

Subsystem . . . . . . . . . . : BAAN Type options, press Enter. 2=Change 3=Hold 4=End 5=Work with 6=Release 7=Display message 8=Work with spooled files 13=Disconnect Opt Job User Type -----Status----- Function BSHELL6 BSP BATCHI ACTIVE BSHELL6 BSP BATCHI ACTIVE BSHELL6 BSP BATCHI ACTIVE DB4_SRV6 BSP BATCHI ACTIVE DB4_SRV6 BSP BATCHI ACTIVE DB4_SRV6 BSP BATCHI ACTIVE DB4_SRV6 BSP BATCHI ACTIVE PDAEMON6 BSP BATCHI ACTIVE More... Parameters or command ===> F3=Exit F4=Prompt F5=Refresh F9=Retrieve F11=Display schedule data F12=Cancel

System Performance Tuning 195

Figure 136. Start Performance Monitor (STRPFRMON) Display—F4 Prompt

The parameters that you probably want to change on this display are:

• Member • Library • Text description • Time interval (in minutes) • Stops data collection • Hour • Minutes

The files created by this command are described in the OS/400 Work Management Guide, SC41-5306, and users can write their own queries to analyze the data. Performance Monitor files all start with the prefix QAPM. However, we recommend using Performance Tools/400 to print reports and analyze the data.

In most situations, the performance monitor is started with a trace type of TRACE(*NONE), or no job level trace data is collected. This is acceptable as the first step to analyze performance from a system level. However, we suggest that you initially use the trace option (TRACE(*ALL)) because it saves having to re-run the application again if it seems that system level performance information indicates no bottlenecks and application analysis is required.

Performance data with the trace option provides detailed information of activity on the AS/400 system at the application level. In general, the Performance Tools/400 System Report and Component Reports use system level or "sample data" for their output (system level information).

There is also an option on the STRPFRMON command to start the database monitor. This can also be done with the AS/400 system Start Database Monitor (STRDBMON) command. This starts the collection of database performance

Start Performance Monitor (STRPFRMON) Type choices, press Enter. Member . . . . . . . . . . . . . *GEN Name, *GEN Library . . . . . . . . . . . . QPFRDATA Name Text 'description' . . . . . . . *SAME Time interval (in minutes) . . . 15 5, 10, 15, 20, 25, 30, 35... Stops data collection . . . . . *ELAPSED *ELAPSED, *TIME, *NOMAX Days from current day . . . . . 0 0-9 Hour . . . . . . . . . . . . . . 2 0-999 Minutes . . . . . . . . . . . . 0 0-99 Data type . . . . . . . . . . . *ALL *ALL, *SYS Select jobs . . . . . . . . . . *ALL *ALL, *ACTIVE Trace type . . . . . . . . . . . *NONE *NONE, *ALL Dump the trace . . . . . . . . . *YES *YES, *NO Job trace interval . . . . . . . .5 .5 - 9.9 seconds Job types . . . . . . . . . . . *DFT *NONE, *DFT, *ASJ, *BCH... + for more values Start database monitor . . . . . *NO *YES, *NO More... F3=Exit F4=Prompt F5=Refresh F10=Additional parameters F12=Cancel F13=How to use this display F24=More keys

196 BaanERP Implementation for AS/400

statistics for a specified job or all jobs on the system and the statistics are placed in a specified database file and member. This should be used with caution since it can be CPU intensive depending on the type of database activity being performed.

We advise that you get instructions from a person with AS/400 performance analysis expertise to provide you with guidance on collecting and analyzing this information. The redbook AS/400 Performance Management, SG24-4735 may be able to offer some assistance with this.

13.3.7 AS/400 Performance ToolsThe AS/400 system licensed program, Performance Tools/400, is a set of commands and programs that provides tools for analysis, printing detailed reports, and graphical views of AS/400 system resource usage.

After performance data is collected, run the Performance Tools/400 Advisor against the collected data. Reviewing the Advisor messages may direct you to specific system tuning actions. Assuming you need to further analyze the collected Performance Monitor data, you can print various Performance Tools/400 reports. Performance Monitor data may be collected on any system, but you need the Performance Tools/400 Manager feature on the system to print reports. The performance data library may be placed in a save file or saved to a tape and restored onto a system with the Manager feature.

Apart from the Work with System Activity (WRKSYSACT) command, all Performance Tools/400 options use data gathered by the Performance Monitor.

13.3.7.1 AS/400 WRKSYSACT CommandUse the AS/400 system Work with System Activity (WRKSYSACT) command to interactively work with the jobs and LIC tasks currently running in the system. The WRKACTJOB and WRKSBSJOB commands cannot show LIC task information. It gives a snapshot of user jobs, system jobs, and system tasks using CPU and disk resources. The display can be refreshed automatically. This command is only available with Performance Tools/400. Figure 137 on page 198 shows an example of the information you may see.

System Performance Tuning 197

Figure 137. Work with System Activity (WRKSYSACT) Display

Note: Only one user can use this command at a time.

Some of the important function keys that can be used are:

• F10=Update list —Refreshes the display with the most recent performance statistics

• F11=View x —Changes the display between the default view and synchronous/asynchronous DB/non-DB read/write views

• F13=Display jobs and tasks —Shows both active jobs and tasks • F14=Display jobs only —Shows only jobs • F15=Display tasks only —Shows only tasks • F16=Sequence by I/O or CPU —Causes the jobs and tasks to be displayed in

decreasing order of processing unit utilization (CPU) or input/output (I/O) operations performed

• F19=Automatic refresh —Sets up the automatic refresh mode

Another nice feature of the WRKSYSACT command is that AS/400 performance data can be gathered for a specified number of intervals (of a certain time length) and the output sent to a database file (OUTPUT(*FILE)). Then the AS/400 system Print Activity Report (PRTACTRPT) command can be used to print reports from that performance data.

13.3.7.2 Performance Review OptionsThis section introduces a few of the important features of the Performance Tools/400 licensed program. For more information about using these tools, please refer to the OS/400 Performance Tools/400 Guide, SC41-5340, and the redbook AS/400 Performance Management, SG24-4735.

If you installed AS/400 Performance Tools on your AS/400 system, the menu shown in Figure 138 on page 199 appears when you enter GO PERFORM on the command line.

Work with System Activity

Automatic refresh in seconds . . . . . . . . . . . . . . . . . 5 Elapsed time . . . . : 00:00:00 Overall CPU util . . : 56.9 Type options, press Enter. 1=Monitor job 5=Work with job Total Total Job or CPU Sync Async PAG Opt Task User Number Thread Pty Util I/O I/O Fault BSHELL6 BSP 105268 00000024 20 47.8 0 0 0 DB4_SRV6 BSP 105269 00000005 20 4.2 0 0 0 QBFCRECVR BAANCONNDB 105270 0000000A 20 2.4 0 0 0 CFINT01 0 .6 0 0 0 IPRTR00019 0 .6 0 0 0 Bottom F3=Exit F10=Update list F11=View 2 F12=Cancel F19=Automatic refresh F24=More keys

198 BaanERP Implementation for AS/400

Figure 138. Performance Tools Main Menu (PERFORM) Display

The following section briefly outlines some of the functions behind the menu in Figure 138:

• Advisor uses Performance Monitor information to recommend performance tuning changes. It can also point out other problems affecting system performance. After analyzing the data, it produces a set of messages under the headings called Recommendations and Conclusions. However, it does not identify or fix all performance problems. We recommend that you use the Advisor as an initial view of the overall system performance data.

• Print performance report enables you to print such useful information as:

– System Report prints an overview of what happened on the system.

– Component Report prints performance data by job, user, pool, disk, IOP, local workstation, and exception.

– Transaction Report prints information about the transactions that occurred during the time that the performance data was collected.

– Lock Report prints a report that is used to determine whether jobs are delayed during processing because of unsatisfied lock requests or internal machine waits.

– Job Report prints performance data about jobs that were active during the time that the performance data was collected.

– Pool Report prints performance data about pools.

– Resource Report prints performance data about the system resources (such as disks and work station controllers).

– Batch Job Trace Report prints performance data about batch jobs traced through time. Resources utilized, exceptions, and state transitions are reported.

PERFORM IBM Performance Tools for AS/400

Select one of the following: 1. Select type of status 2. Collect performance data 3. Print performance report 4. Capacity planning/modeling 5. Performance utilities 6. Configure and manage tools 7. Display performance data 8. System activity 9. Performance graphics 10. Advisor 70. Related commands Selection or command ===> F3=Exit F4=Prompt F9=Retrieve F12=Cancel F13=Information Assistant F16=System main menu (C) COPYRIGHT IBM CORP. 1981, 1998.

System Performance Tuning 199

Print and file these reports periodically to build a history of the workload and resource utilization on the AS/400 system.

• Display performance data allows you to review performance information interactively. However, we do not recommend that you do not perform this on a heavily loaded production system, since you may impact other users' response times.

• Performance graphics enables you to view and print a selection of graphs to assist in identifying potential AS/400 system resource bottlenecks.

13.3.7.3 Performance ExplorerPerformance Explorer (PEX) is a data collection tool that helps the user identify the causes of performance problems that cannot be identified by collecting data using the Performance Monitor or by doing general trend analysis. Two reasons to use Performance Explorer include:

• Isolating performance problems • Modeling the performance of applications

The collection functions and related commands of Performance Explorer are part of the base OS/400 operating system. The reporting function and its associated commands are part of the Performance Tools/400 licensed product, the Manager feature. The redbook AS/400 Performance Explorer Tips and Techniques, SG24-4781, provides examples of the Performance Explorer functions and examples of the enhanced Performance Explorer trace support. This is an advanced tool that is not meant for novice users. It requires an in-depth understanding of AS/400 system performance and what information is specifically desired or needs to be identified.

13.4 AS/400 System Tuning

This section describes a few techniques that you may use to improve AS/400 system performance. Naturally, before making any tuning adjustments, review interactive AS/400 system performance information from AS/400 system native commands such as WRKSYSSTS and WRKDSKSTS. Refer to Section 13.3.2, “Using AS/400 Native Commands” on page 188. Also review information from the performance reports printed out of Performance Tools/400 using gathered Performance Monitor data. Refer to Sections 13.3.6, “Collecting AS/400 Performance Data” on page 195 and 13.3.7, “AS/400 Performance Tools” on page 197.

13.4.1 Initial AS/400 TuningUsing the guidelines for the key performance indicators on the AS/400 system (refer to Section 13.3.1, “AS/400 Performance Indicator Guidelines” on page 185), you can make changes to AS/400 system parameters one at a time. You should then monitor the effect of the change by monitoring system performance to ensure that your change improved system performance. Once you are satisfied, you can proceed to make a different change and monitor it. This way you know the affects of each change and what the combination of all changes caused.

200 BaanERP Implementation for AS/400

13.4.1.1 Manual Tuning of Pools and Activity LevelsYou can tune the system manually by interactively watching the system and making changes. If you do this, you need to turn off the AS/400 system automatic performance adjuster which is controlled with the system value QPFRADJ. A value of "0" turns automatic tuning off. This can be done by using the WRKSYSVAL command and take option 2 (Change). This has to be done so that your changes are not overridden by the system. Then, use the WRKSYSSTS command and make changes to:

• Pool Sizes —The memory allocated to each memory pool • Max Active —The number of jobs that can be active in a storage pool

Make sure that the number of memory page faults is minimized and within guidelines. Figure 139 shows an example of the information you may see.

Figure 139. Work with System Status (WRKSYSSTS) Display

13.4.1.2 Automatic Tuning of Pools and Activity LevelsAlternatively, you can use the base OS/400 automatic performance adjustment facility by setting the system value QPFRADJ to a value other than 0. This can be done by using the WRKSYSVAL command and take option 2 (Change). Figure 140 on page 202 shows an example of the information you may see.

Work with System Status % CPU used . . . . . . . : 26.9 Auxiliary storage: Elapsed time . . . . . . : 00:00:12 System ASP . . . . . . : 62.09 G Jobs in system . . . . . : 11204 % system ASP used . . : 64.8583 % addresses used: Total . . . . . . . . : 62.09 G Permanent . . . . . . : .007 Current unprotect used : 1373 M Temporary . . . . . . : .016 Maximum unprotect . . : 1453 M Type changes (if allowed), press Enter. System Pool Reserved Max -----DB----- ---Non-DB--- Pool Size (K) Size (K) Active Fault Pages Fault Pages 1 112488 38916 +++++ .0 .0 .0 .0 2 362848 0 33 .3 .3 .4 1.3 3 5240 0 5 .0 .0 .0 .0 4 43712 0 36 .0 .0 4.3 4.3 Bottom Command ===> F3=Exit F4=Prompt F5=Refresh F9=Retrieve F10=Restart F11=Display transition data F12=Cancel F24=More keys

System Performance Tuning 201

Figure 140. Work with System Values (WRKSYSVAL) Display—Option 2 (Change)

You can see that the valid choices for the system value are:

• 0=No adjustment —No automatic performance adjustment is made by the system and the existing values for system pool sizes and activity levels are used.

• 1=Adjustment at IPL —Each time the system performs an IPL, the system makes automatic performance adjustments to achieve good utilization of system resources.

• 2=Adjustment at IPL and automatic adjustment —Each time the system performs an IPL and periodically thereafter, the system examines the machine configuration, jobs running on the system, storage requirements, and so on, and makes automatic performance adjustments to achieve effective utilization of system resources.

• 3=Automatic adjustment —The system periodically examines the machine configuration, jobs running on the system, storage requirements, and so on, and makes automatic performance adjustments to achieve effective utilization of system resources. Performance adjustment at IPL does not take place.

Note: The default shipped value is 2.

Each choice performs a different degree of system tuning. Here are the results of changing the system value:

• If system value QPFRADJ is set to "1," the following performance values are changed:

– Machine pool size (QMCHPOOL system value) – Base pool activity level (QBASACTLVL system value) if the controlling

subsystem is QBASE or QCTL – Pool number 2 in subsystem QGPL/QSPL is changed to use shared pool

*SPOOL – Pool size and activity level for shared pool *SPOOL – Pool number 2 in subsystem QBASE is changed to use shared pool

*INTERACT if the controlling subsystem is QBASE or QCTL – Pool size and activity level for shared pool *INTERACT

• If system value QPFRADJ is set to "2," the following performance values are changed:

Change System Value System value . . . . . : QPFRADJ Description . . . . . : Performance adjustment Type choice, press Enter. Performance adjustment . . . . 2 0=No adjustment 1=Adjustment at IPL 2=Adjustment at IPL and automatic adjustment 3=Automatic adjustment

F3=Exit F5=Refresh F12=Cancel

202 BaanERP Implementation for AS/400

– Machine pool size (QMCHPOOL system value) – Base pool activity level (QBASACTLVL system value) if the controlling

subsystem is QBASE or QCTL – Pool number 2 in subsystem QGPL/QSPL is changed to use shared pool

*SPOOL – Pool size and activity level for shared pool *SPOOL – Pool number 2 in subsystem QBASE is changed to use shared pool

*INTERACT if the controlling subsystem is QBASE or QCTL – Pool size and activity level for shared pool *INTERACT – Pool size and activity level for shared pools *SHRPOOL1-10

• If system value QPFRADJ is set to "3," the following performance values are changed:

– Machine pool size (QMCHPOOL system value) – Base pool activity level (QBASACTLVL system value) if the controlling

subsystem is QBASE or QCTL – Pool size and activity level for shared pool *SPOOL – Pool size and activity level for shared pool *INTERACT – Pool size and activity level for shared pools *SHRPOOL1-10

When you use the automatic tuning feature (QPFRADJ=1, 2 or 3), define the following parameters using the AS/400 system Work with Shared Storage Pools (WRKSHRPOOL) command followed by the F11 key. Figure 141 shows an example of the information you may see.

Figure 141. Work with Shared Storage Pools (WRKSHRPOOL) Display—Tuning Data

Check the following items:

• Priority is the priority of the pool relative to the priority of other storage pools. The valid range for priority is 1 to 14, where 1 is the highest priority and 14 is the lowest priority. Identifying a pool as high priority (with a lower numeric value) increases its tendency to be given more memory over a pool with a

Work with Shared Pools

Main storage size (K) . : 524288 Type changes (if allowed), press Enter. -----Size %----- -----Faults/Second------ Pool Priority Minimum Maximum Minimum Thread Maximum *MACHINE 1 10.54 100 10.00 .00 10.00 *BASE 2 .38 100 10.00 2.00 100 *INTERACT 1 10.00 100 5.00 .50 200 *SPOOL 2 1.00 100 5.00 1.00 100 *SHRPOOL1 2 1.00 100 10.00 2.00 100 *SHRPOOL2 2 1.00 100 10.00 2.00 100 *SHRPOOL3 2 1.00 100 10.00 2.00 100 *SHRPOOL4 2 1.00 100 10.00 2.00 100 *SHRPOOL5 2 1.00 100 10.00 2.00 100 *SHRPOOL6 2 1.00 100 10.00 2.00 100 More... Command ===> F3=Exit F4=Prompt F5=Refresh F9=Retrieve F11=Display text F12=Cancel

System Performance Tuning 203

lower priority. Thus, sequence your pools in the order of importance with the more important memory pools having relatively lower values. More than one pool can have the same priority if they are equally important.

For example, in a BaanERP multiple BSE environment where there is a production system and a development system, consider setting the pool that supports the production system (*BASE pool for example) at a priority level of 2 and the pool that runs the development system at a priority level of 3.

• Size % is the percentage of total main storage to allocate to a storage pool and establishes the range of sizes that a particular pool may have. When a pool is idle, the storage size may be reduced to the minimum size specified whereas when a pool is busy, the storage size may be increased to the maximum size specified. Specifying a suitable lower limit prevents critical memory pools from being drained during periods of low activity. This impacts the system's ability to react rapidly to a sudden surge in activity.

• Faults/Second indicates the number of acceptable page faults per second for the system to use as a guideline (or that can be experienced by the pool):

– Minimum specifies a low value for the minimum page faults per second for a pool. This reduces the likelihood of the pool surrendering memory to another pool. Until the pool hits this lower threshold, it is acceptable for this pool to further reduce the faulting rate.

– Thread specifies an acceptable page faulting rate per second for each thread. A thread is counted as active if it used any CPU time in the last twenty seconds.

– Maximum specifies a low value for the maximum page faults per second for a pool. This increases the likelihood of the pool being given memory from another pool to reduce its faulting rate to below the specified value. Use the page fault value of Minimum and Thread to calculate the maximum page fault guideline using the following formula:

MINIMUM + (THREAD * Active Threads)

This is stating that the sum of the minimum faults and the total faults of all the active threads must be lower than the maximum specified. Faults per thread per second is a computed average, so it is not possible to measure this.

For example, consider a BaanERP memory pool with an interactive workload. If the average response time is one second, and you require the memory faulting overhead to be under 10%, the memory faulting time should be under 0.1 second. If the disk response time is 10 milliseconds, the allowable memory faults per interactive job is 10 (that is, 0.1/0.01). If there are 7200 transactions per hour (2 per second), the total allowable faults per second for the pool is 20 (faults per request x requests per second = 10 * 2). If it is estimated that there are 40 active threads in the pool, the value to be entered here is 0.5 (total faults per number of active threads).

13.4.1.3 Disk Space and Arm UtilizationThe values at the upper right hand corner of the WRKSYSSTS display give you an indication of the disk space used by the system. Ensure that this provides adequate capacity for growth in the database. Look at the system when there is

204 BaanERP Implementation for AS/400

high activity because this can increase the amount of temporary disk space used by the system.

If disk usage is high, take steps to reduce disk space usage by deleting objects that are not required. From the AS/400 system menu DISKTASKS, you can access the AS/400 system Retrieve Disk Information (RTVDSKINF) and Print Disk Information (PRTDSKINF) commands. The RTVDSKINF command allows you to start a batch job to gather disk space information into a physical file. The PRTDSKINF command allows you to print reports from that information and this can be sorted by library, folder, owner, or object. Or, an overall system report can be run. This is helpful in identifying the largest objects on your system and objects that may not have been used in a while. Also, use the CPROBJ command for compression of less frequently used objects.

You can also attempt to recover any space occupied by deleted records in a physical file. Even though BaanERP database files on the AS/400 system are defined to reuse deleted records (REUSEDLT=*YES), depending on the activity of your database, there can be an accumulation of deleted records that may increase your disk occupancy beyond what is necessary. You can use the AS/400 system Reorganize Physical File Member (RGZPFM) command to release the space occupied by deleted records. To determine the number of deleted records in a file, you can use the AS/400 system Display File Description (DSPFD) command. Alternatively, you may need to install additional disk drives to support your disk space requirements.

When looking at disk arm utilization from the WRKDSKSTS display, if one or more disk units are approaching the recommended threshold values and there are no memory constraints resulting in excessive memory faulting (associated disk arm activity), you may need to install additional or faster disk drives to reduce disk arm utilization. You may also have too many drives on a particular bus or IOP causing poor disk performance. Figure 142 on page 206 shows an example of the information you may see from WRKDSKSTS.

System Performance Tuning 205

Figure 142. Work with Disk Status (WRKDSKSTS) Display

Impact of Database Growth on AS/400 PerformanceThe AS/400 system uses a binary radix tree structure to implement indexes. This organization allows a search for a specific index key to be completed using a binary search approach that minimizes the number of searches in finding the required index. Also, when a page segment of a binary radix tree becomes full, the tree is partitioned at a higher level in the tree to minimize the number of page segments that have to be searched. This structure is referred to as a partitioned binary radix tree .

On an average, a specific key can be located in approximately 20 tests in an index of one million entries! Thus, the size of a database file has a relatively low impact on accessing a particular row by index. Naturally, if the entire file has to be processed (as in creating a full customer list, for example), the total processing time is directly related to the file size.

13.4.1.4 AS/400 System Resource UtilizationOther than CPU percent which is visible using such native commands as WRKSYSSTS, WRKACTJOB, and WRKSYSACT, you probably need to run Performance Monitor and use Performance Tools/400 to determine the exact utilization of system hardware like IOPs and communications. This information may show up as excessive page faulting in the machine pool, or as jobs running in a subsystem like QCMN. However, you cannot specifically see IOP or communications utilization.

13.4.2 Expert CacheExpert cache is a part of OS/400. When you turn it on, the system automatically adjusts storage pool paging characteristics and determines the best approach for handling data in the pool. For example, consider the following points:

Work with Disk Status Elapsed time: 00:00:00 Size % I/O Request Read Write Read Write % Unit Type (M) Used Rqs Size (K) Rqs Rqs (K) (K) Busy 1 6606 1967 ++++ .0 .0 .0 .0 .0 .0 0 1 6606 1967 ++++ .0 .0 .0 .0 .0 .0 0 2 6713 7516 63.7 .0 .0 .0 .0 .0 .0 0 11 6713 7516 63.7 .0 .0 .0 .0 .0 .0 0 12 6713 7516 63.7 2.2 4.0 2.2 .0 4.0 .0 0 13 6713 7516 63.8 2.2 4.0 2.2 .0 4.0 .0 100 14 6713 7516 63.7 .0 .0 .0 .0 .0 .0 0 15 6713 7516 63.7 .0 .0 .0 .0 .0 .0 0 16 6713 7516 63.7 .0 .0 .0 .0 .0 .0 0 17 6713 7516 63.7 .0 .0 .0 .0 .0 .0 0 Bottom Command ===> F10=Restart statistics F13=Reset statistics F24=More keys

206 BaanERP Implementation for AS/400

• If objects are referred to sequentially, the system brings larger blocks of data into memory and delays writing changes of data to disk. This reduces the number of I/O operations and reduces the disk arm contention.

• If objects are referred to randomly, the system does not bring in large blocks of data because that does not reduce the number of I/O operations.

Use expert cache for the BaanERP pool if possible and turn it off only in case of main storage constraints. By default, all BaanERP jobs run in pool 2 (*BASE).

Use the AS/400 system Change Shared Storage Pool (CHGSHRPOOL) or Work with Shared Storage Pools (WRKSHRPOOL) commands to turn on expert cache (*CALC) for a pool. The following is an example of the information you may see using WRKSHRPOOL.

Figure 143. Work with Shared Pools (WRKSHRPOOL) Display—Pool Data

13.4.3 Set Object Access (SETOBJACC) CommandOn the AS/400 system there is a Set Object Access (SETOBJACC) command that allows selected database or program objects to be loaded into memory, which reduces the amount of disk accesses for it. For database objects, you can load just the data (data space) or the index (access path). In some cases, you can only guess which files are candidates for SETOBJACC by knowing the application. Performance Tools/400 may also be used to try and narrow down an object that is accessed frequently. Reducing the number of disk accesses improves performance if disk I/O is impacting response times.

A separate pool should be created when using the SETOBJACC command. In the example, pool 3 is defined in the BaanERP subsystem called BAAN by using the AS/400 command CHGSBSD.

Prior to using the SETOBJACC command, use the Clear Pool (CLRPOOL) command to write all memory pages to disk.

Work with Shared Pools

Main storage size (K) . : 524288 Type changes (if allowed), press Enter. Defined Max Allocated Pool -Paging Option-- Pool Size (K) Active Size (K) ID Defined Current *MACHINE 112488 +++++ 112488 1 *FIXED *FIXED *BASE 362848 33 362848 2 *CALC *CALC *INTERACT 43712 36 43712 4 *FIXED *FIXED *SPOOL 5240 5 5240 3 *FIXED *FIXED *SHRPOOL1 0 0 *FIXED *SHRPOOL2 0 0 *FIXED *SHRPOOL3 0 0 *FIXED *SHRPOOL4 0 0 *FIXED *SHRPOOL5 0 0 *FIXED *SHRPOOL6 0 0 *FIXED More... Command ===> F3=Exit F4=Prompt F5=Refresh F9=Retrieve F11=Display tuning data F12=Cancel

System Performance Tuning 207

Figure 144. Clear Pool (CLRPOOL) Display

The size of the pool must be large enough to hold the programs, files, or the indexes that you want to load into memory. If only part of an object fits in the memory pool, you may experience poorer performance than before using the SETOBJACC command.

The database objects loaded into memory using the SETOBJACC command must be selected with a good understanding of the application and database. Again, a frequently accessed file loaded into memory improves overall performance by reducing the number of physical disk I/Os.

Figure 145. Set Object Access (SETOBJACC) Display

In a BaanERP environment, you may consider placing the objects included in the the shared memory file into a special pool using the SETOBJACC command.

13.4.4 Run PriorityAll BaanERP jobs in an AS/400 system subsystem run at the same priority, which is determined by the corresponding class. Thus, interactive jobs compete for the CPU at the same priority as batch jobs.

13.4.4.1 BaanERP System PriorityBaanERP has a separate class called BAAN. By changing the priority in a particular class, it is possible to change the run priority of all the jobs within that subsystem. The AS/400 system Change Class (CHGCLS) command can be used to change a class. If you have multiple BSE’s on the same AS/400 system, you can separately define run priorities for each one because each BSE will have its

Clear Pool (CLRPOOL) Type choices, press Enter. Storage pool: Shared pool or subsystem name BAAN Name, *JOB, *SHRPOOL1... Pool identifier . . . . . . . 3 1-10

Bottom F3=Exit F4=Prompt F5=Refresh F12=Cancel F13=How to use this display F24=More keys

Set Object Access (SETOBJACC) Type choices, press Enter. Object . . . . . . . . . . . . . BAANOBJ Name Library . . . . . . . . . . . BAANLIB Name, *LIBL, *USRLIBL... Object type . . . . . . . . . . *FILE *FILE, *PGM Storage pool: Shared pool or subsystem name BAAN Name, *JOB, *BASE... Pool identifier . . . . . . . 3 1-10

Bottom F3=Exit F4=Prompt F5=Refresh F12=Cancel F13=How to use this display F24=More keys

208 BaanERP Implementation for AS/400

own subsystem description and execution class. Thus, it is possible to run all jobs for a production BaanERP system at a higher priority (for example, priority 20) than the development system (for example, priority 40).

13.4.4.2 BaanERP Job PriorityIt is also possible to alter the run priorities of individual BaanERP jobs. For example, you can lower or raise the run priority of a BaanERP job by using the AS/400 system Change Job (CHGJOB) command. The priority of running is a value ranging from 1 (highest priority) through 99 (lowest priority) that represents the importance of the job when it competes with other jobs for machine resources. This command requires a qualified job name as input. Figure 146 shows an example of the information you may see.

Figure 146. Change Job (CHGJOB) Display

If you want to change the priority of a particular BaanERP job, the corresponding database server jobs must be also changed.

Make sure you do not decrease or increase the priorities of BaanERP jobs too much because this can severely impact the throughput of BaanERP jobs or other BaanERP transactions running in the subsystem.

13.4.5 Separate Memory Pool for a BaanERP BSEAs an installation default, all BaanERP jobs are routed into system pool 2 (the base pool) and possibly may compete for system resources (activity levels, memory, and CPU) with other applications running with BaanERP.

Separate memory pools for each application helps minimize the contention for memory. You can route BaanERP jobs into a different pool by stopping BaanERP (the ENDBAAN command), change the pool definition for the subsystem by assigning either a private pool or a shared pool (*SHRPOOL1 in Figure 147 on page 210), and start everything back up. If you assign a separate private memory

Change Job (CHGJOB) Type choices, press Enter. Job name . . . . . . . . . . . . > BSHELL6 Name, * User . . . . . . . . . . . . . > BSP Name Number . . . . . . . . . . . . > 104957 000000-999999 Job priority (on JOBQ) . . . . . *SAME 0-9, *SAME Output priority (on OUTQ) . . . 5 1-9, *SAME Print device . . . . . . . . . . PRT01 Name, *SAME, *USRPRF... Output queue . . . . . . . . . . *DEV Name, *SAME, *USRPRF, *DEV... Library . . . . . . . . . . . Name, *LIBL, *CURLIB Run priority . . . . . . . . . . 20 1-99, *SAME Bottom F3=Exit F4=Prompt F5=Refresh F10=Additional parameters F12=Cancel F13=How to use this display F24=More keys

System Performance Tuning 209

pool, the QPFRADJ performance adjuster does not manage the pool even if the function is turned on.

To change a subsystem, use the AS/400 system Change Subsystem Description (CHGSBSD) command. Figure 147 shows an example of the information you may see.

Figure 147. Change Subsystem Description (CHGSBSD) Display

Use the WRKSHRPOOL command to set the size of the shared memory pool.

13.4.6 Installing Additional BaanERP BSEsYou may want to consider having multiple BaanERP BSE’s on the same AS/400 system with the objective of isolating the interactive work from the batch work as an example. This gives you the additional flexibility of setting up the class where the batch jobs run so they have a lower priority than the interactive jobs.

You need to be aware that running multiple BSE’s on a system can result in an increased demand for AS/400 system resources such as memory and disk space.

13.4.7 LAN CommunicationsConsider checking into and implementing the following changes to reduce AS/400 system communications traffic and improve communications performance.This section discusses some Local Area Network (LAN) communications parameters that affect performance.

13.4.7.1 SNAFor SNA communications, the following key performance parameters need to be considered. These include:

• Maximum frame size (MAXFRAME) • LAN maximum outstanding frames (LANMAXOUT) • LAN acknowledgment frequency (LANACKFRQ)

The following displays show examples of LAN Token-Ring parameters affecting performance. They can be viewed using the AS/400 system Change Line

Change Subsystem Description (CHGSBSD) Type choices, press Enter. Subsystem description . . . . . > BAAN Name Library . . . . . . . . . . . > BAANLIB Name, *LIBL, *CURLIB Storage pools: Pool identifier . . . . . . . > 1 1-10, *SAME Storage size . . . . . . . . . > *SHRPOOL1 Number, *BASE, *NOSTG... Activity level . . . . . . . . Number + for more values Maximum jobs . . . . . . . . . . *SAME 0-1000, *SAME, *NOMAX Text 'description' . . . . . . . *SAME Bottom F3=Exit F4=Prompt F5=Refresh F10=Additional parameters F12=Cancel F13=How to use this display F24=More keys

210 BaanERP Implementation for AS/400

Description (Token-Ring) (CHGLINTRN) and Display Controller Description (DSPCTLD) OPTION(*TMRRTY) commands.

Figure 148. Change Line Description Token-Ring (CHGLINTRN) Display

Figure 149. Display Controller Description (DSPCTLD) *TMRRTY Display

• Maximum frame size (MAXFRAME) —The default is 1994. For large data transfers, consider making the frame size larger if it is supported by the remote system or client. If you make the frame size larger than 1994, you need

Change Line Desc (Token-Ring) (CHGLINTRN) Type choices, press Enter. Line description . . . . . . . . > LINETRN Name Resource name . . . . . . . . . *NWSD Name, *SAME, *NWID, *NWSD Vary on wait . . . . . . . . . . *NOWAIT *NOWAIT, 15-180 seconds Maximum controllers . . . . . . 40 1-256, *SAME Line speed . . . . . . . . . . . 16M *SAME, 4M, 16M, *NWI Duplex . . . . . . . . . . . . . *HALF Character value, *SAME... Maximum frame size . . . . . . . 1994 265-16393, *SAME, 265, 521... Activate LAN manager . . . . . . *YES *SAME, *YES, *NO TRLAN manager logging level . . *OFF *SAME, *OFF, *MIN, *MED, *MAX TRLAN manager mode . . . . . . . *OBSERVING *SAME, *OBSERVING... Log configuration changes . . . *LOG *SAME, *LOG, *NOLOG Token-ring inform of beacon . . *YES *SAME, *YES, *NO Local adapter address . . . . . 400000001005 400000000000-7FFFFFFFFFFF... Functional address . . . . . . . *SAME *SAME, *NONE, C00000000001... + for more values More... F3=Exit F4=Prompt F5=Refresh F12=Cancel F13=How to use this display F24=More keys

Display Controller Description Controller description . . . . . . : TRNCTL02 Option . . . . . . . . . . . . . . : *TMRRTY Category of controller . . . . . . : *APPC LAN frame retry . . . . . . . . . : 10 LAN connection retry . . . . . . . : 10 LAN response timer . . . . . . . . : 30 LAN connection timer . . . . . . . : 70 LAN acknowledgement timer . . . . : 1 LAN inactivity timer . . . . . . . : 100 LAN acknowledgement frequency . . : 1 LAN max outstanding frames . . . . : 2 LAN access priority . . . . . . . : 0 LAN window step . . . . . . . . . : *NONE More... Press Enter to continue. F3=Exit F11=Display keywords F12=Cancel

System Performance Tuning 211

to be aware that a single large file transfer conversation may negatively impact performance for other remote system and client applications.

The line description specifies the maximum frame size supported after a vary on of the line. A control unit MAXFRAME parameter can specify to default to the line description or a frame size larger or smaller than supported by the line description MAXFRAME size.

If the controller specifies a smaller frame size, that smaller frame size is used. If the controller frame size specifies a larger value, the AS/400 system uses the line description frame size.

In addition, consider that the remote system or client may have different frame sizes specified. The AS/400 system always uses the smaller of either the AS/400 system frame size or the remote system or client frame size. This is negotiated with XID frames at the initial vary on of the controller. The agreed-to size can be viewed in the help text for AS/400 system message CPF5908:

Message . . . . : Controller XZY033 contacted on line LINETRN.Cause . . . . . : If controller XZY033 is on a local area network, the negotiated size is 1929.

• LAN acknowledgment frequency (LANACKFRQ) —This parameter on the Token-Ring controls how many frames are received before a response is sent to the session partner. A suggested value is "1."

• LAN maximum outstanding frames (LANMAXOUT) —This parameter on the Token-Ring controls how many frames are sent before a response is expected from the session partner. A suggested value is "2."

13.4.7.2 TCP/IPFor TCP/IP communications, the following key performance parameters need to be considered.

• Maximum transmission unit (MTU) size • Window size • Frame size

The Maximum Transmission Unit (MTU) size is used similarly to the SNA maximum length RU size. The window size is used similarly to SNA pacing, but is the number of characters that can be sent before an acknowledgment is required. SNA pacing is the number of RUs that can be sent before an acknowledgment is required.

The following provides additional TCP/IP considerations for frame size, MTU size, and window size:

• Frame size —TCP/IP can use the line description frame size (MAXFRAME parameter) to determine the number of data characters to send in a single physical transmission. We recommend using the largest frame size supported by your network.

You can specify that TCP/IP use the line description frame size by specifying Maximum transmission unit = *LIND. This is shown on the AS/400 system Add TCP/IP Interface (ADDTCPIFC) command example in Figure 150 on page 213.

212 BaanERP Implementation for AS/400

Figure 150. Add TCP/IP Interface (ADDTCPIFC) Display

However, like the SNA mode MAXLENRU parameter, a TCP/IP parameter may override the MAXFRAME size value and cause a smaller frame to be sent. For TCP/IP support, this is the Maximum Transmission Unit (MTU) parameter on the Add TCP/IP Route (ADDTCPRTE) command.

• MTU size —Where the SNA mode MAXLENRU value defaults to *CALC, which fits nicely into the maximum frame size, the MTU parameter defaults to 576 bytes. This number is the default because it is the minimum size supported in the already existing TCP/IP networks. The number ensures TCP/IP data can be successfully routed worldwide.

However, if you have control of your TCP/IP network, you should make your MTU value as large as possible. Rochester lab performance testing recommends an MTU value of up to 16388 for TRN and 1500 for Ethernet. Note that the line description MAXFRAME value must be equal to or greater than the MTU value for successful operation.

Figure 151 on page 214 is an example of the AS/400 system ADDTCPRTE command help text, showing possible values for the MTU.

Add TCP/IP Interface (ADDTCPIFC) Type choices, press Enter. Internet address . . . . . . . . n.n.nn.nnn Line description . . . . . . . . LINETRN Name, *LOOPBACK Subnet mask . . . . . . . . . . Associated local interface . . . *NONE Type of service . . . . . . . . *NORMAL *MINDELAY, *MAXTHRPUT... Maximum transmission unit . . . *LIND 576-16388, *LIND Autostart . . . . . . . . . . . *YES *YES, *NO PVC logical channel identifier 001-FFF + for more values X.25 idle circuit timeout . . . 60 1-600 X.25 maximum virtual circuits . 64 0-64 X.25 DDN interface . . . . . . . *NO *YES, *NO TRLAN bit sequencing . . . . . . *MSB *MSB, *LSB

Bottom F3=Exit F4=Prompt F5=Refresh F12=Cancel F13=How to use this display F24=More keys

System Performance Tuning 213

Figure 151. Add TCP/IP Route (ADDTCPRTE) MTU Parameter Help Text

• Window size —TCP/IP window size can be specified for sending (TCP send buffer size) and receiving (TCP receive buffer size) as shown on the AS/400 system Change TCP/IP Attributes (CHGTCPA) command help text in Figure 152 on page 215.

Add TCP/IP Route (ADDTCPRTE) .............................................................................. : Maximum transmission unit (MTU) - Help : : : : Specifies the maximum size (in bytes) of IP datagrams that can be : : transmitted through this route. A datagram is a basic unit of : : information passed over an internet network. The minimum size of any : : maximum transmission unit value is 576 bytes. : : : : The possible values are: : : 576 : : The maximum transmission unit (MTU) is 576 bytes. : : : : *IFC : : The maximum transmission unit (MTU) is the MTU of the interface that : : is associated with this route. : : : : maximum-transmission-unit : : Specify a value for the maximum transmission unit in bytes. The : : maximum MTU that can be specified for this route depends on the type : : of physical connection to the network. The following table lists : : the maximum MTU values that can be specified based on the line type: : : : : X.25 4096 : : Token ring (4 meg) 4060 : : Token ring (16 meg) 16388 : : Ethernet 802.3 1492 : : Ethernet Version 2 1500 : : DDI 4352 : : Frame relay 8177 : : Wireless 802.3 1492 : : Wireless Version 2 1500 : : : : Notes: : : 1. TCP/IP uses the route MTU value to calculate the size of the : : datagrams it sends. For best performance, specify a value : : that is no smaller than the smallest MTU used by host systems : : along the entire path of this route. If this information is : : not available, use the default value of 576. : ..............................................................................

214 BaanERP Implementation for AS/400

Figure 152. Change TCP/IP Attributes (CHGTCPA) TCPRCVBUF Parameter Help Text

Specify minimum TCP buffer send and receive sizes of 8192. The AS/400 system performance improves with values up to 64386.

Although you can specify values, the system and workstation you are communicating with may support smaller frame size, MTU size, and window size values than you specify. The only way to determine exactly what is used is to review a communication line trace (see Section E.12, “AS/400 Communications Trace” on page 279 for the steps to perform a communications trace).

Note: If only OLTP ("fast response") applications are used, the larger frame, MTU, and window sizes may not actually be necessary. The larger values are more important when large amounts of data are being exchanged.

• Another suggestion is to change the TCP/IP configuration using the AS/400 Configure TCP/IP (CFGTCP) command to add entries for common hosts to the local host table and then have the system search the local host table before the remote name server.

Change TCP/IP Attributes (CHGTCPA) .............................................................................. : TCP receive buffer size (TCPRCVBUF) - Help : : : : Specifies what to allocate for the default receive buffer size. The TCP : : receive window size is based on this value. Decreasing this value : : decreases the amount of data that the remote system can send before : : being read by the local application. Decreasing this value may improve : : performance in situations where many retransmissions occur due to the : : overrunning of a network adapter. : : : : Notes: : : : : 1. User Datagram Protocol (UDP) does not have a configurable receive : : buffer size. : : : : 2. This value is also used as the default receive buffer size by IP : : over SNA processing. : : : : 3. Setting this parameter does not guarantee the size of the TCP : : receive buffer. This is the default buffer size that is used for : : initial TCP connection negotiations. An individual application : : can override this value by using the SO_RCVBUF socket option. For : : more information see the Sockets Programming book, SC41-5422. : ..............................................................................

System Performance Tuning 215

216 BaanERP Implementation for AS/400

Appendix A. Adding a User Auxiliary Storage Pool

Creation of a user Auxiliary Storage Pool (user ASP) allows the available installed disk space to be partitioned and managed as separate entities. In an AS/400 system environment, we strongly recommend that a user ASP is created to place the journal receivers produced during database activity.

Consider creating the user ASP as soon as possible while there is little data on the disk drives. During the process of defining the user ASP, the operating system has to allocate the specified disk drives to the user ASP and move any data from these drives over to the system ASP. Creating a user ASP is also only available through Dedicated Service Tools (DST), which is only accessed during a manual or attended IPL of the AS/400 system.

This appendix shows the steps needed to create a user ASP by moving disk units out of the system ASP. For more information on ASPs or these steps, refer to the manual entitled Backup and Recovery, SC41-5304.

A.1 Checking the Disk Configuration

An easy way to determine the current disk configuration is to use the AS/400 system Work with Disk Status (WRKDSKSTS) command. Figure 153 shows an example of the information you may see.

Figure 153. Work with Disk Status (WRKDSKSTS) Display

If you press the F11 key once, you can see additional information such as in which configured ASP’s the disk units are located and what disk protection (if any) they are using. Figure 154 on page 218 is an example of the information you may see.

Work With Disk Status

Elapsed time: 00:00:00 Size % I/O Request Read Write Read Write % Unit Type (M) Used Rqs Size (K) Rqs Rqs (K) (K) Busy 1 6606 1967 98.4 .0 .0 .0 .0 .0 .0 0 1 6606 1967 98.4 .0 .0 .0 .0 .0 .0 0 2 6713 7516 58.6 .0 .0 .0 .0 .0 .0 0 11 6713 7516 58.1 .0 .0 .0 .0 .0 .0 0 12 6713 7516 58.0 .0 .0 .0 .0 .0 .0 0 13 6713 7516 58.1 .0 .0 .0 .0 .0 .0 0 14 6713 7516 58.1 .0 .0 .0 .0 .0 .0 0 15 6713 7516 58.0 .0 .0 .0 .0 .0 .0 0 16 6713 7516 58.0 .0 .0 .0 .0 .0 .0 0 17 6713 7516 58.0 .0 .0 .0 .0 .0 .0 0 Bottom Command ===> F3=Exit F5=Refresh F12=Cancel F24=More keys

© Copyright IBM Corp. 1998 217

Figure 154. Work with Disk Status (WRKDSKSTS) Display—ASP and Disk Protection

For example, Figure 154 indicates that all the disks are in ASP 1 (the system ASP). All except the first two, which are mirrored (MRR), are protected using RAID-5 or device parity protection (DPY).

A.2 Configuring a New User ASP

Reallocation of disk drives to create a new user ASP requires a dedicated system. The time required to perform this operation can take from a few minutes to a few hours depending on the number of disks installed and the amount of data on the system.

A.2.1 Starting Dedicated Service Tools

If the AS/400 system is powered on and active, you need to ensure that all users have signed off from the system. Then, perform the following steps.

1. Place the AS/400 key or keystick in the control panel if applicable.

2. Place the system in Manual mode on the control panel.

3. Power down the system with the AS/400 system Power Down System (PWRDWNSYS) command with restart set to *YES. Figure 155 on page 219 is an example of the PWRDWNSYS command.

Work with Disk Status

Elapsed time: 00:00:00 --Protection-- Unit ASP Type Status Compression 1 1 MRR ACTIVE 1 1 MRR ACTIVE 2 1 DPY ACTIVE 11 1 DPY ACTIVE 12 1 DPY ACTIVE 13 1 DPY ACTIVE 14 1 DPY ACTIVE 15 1 DPY ACTIVE 16 1 DPY ACTIVE 17 1 DPY ACTIVE

Bottom Command ===> F3=Exit F5=Refresh F12=Cancel F24=More keys

Ensure that you have the Dedicated Service Tools (DST) user identification and password. Contact your computer system’s security officer or your IBM Engineer for this information.

Note

218 BaanERP Implementation for AS/400

Figure 155. Power Down System (PWRDWNSYS) Display

4. When the following display appears during the manual IPL, select option 3 (Use Dedicated Service Tools (DST)).

Figure 156. Manual IPL—IPL or Install the System Display

Power Down System (PWRDWNSYS) Type choices, press Enter. How to end . . . . . . . . . . . *IMMED *CNTRLD, *IMMED Delay time, if *CNTRLD . . . . . 3600 Seconds, *NOLIMIT Restart options: Restart after power down . . . *YES *NO, *YES Restart type . . . . . . . . . *IPLA, *SYS, *FULL IPL source . . . . . . . . . . . *PANEL *PANEL, A, B, D

Bottom F3=Exit F4=Prompt F5=Refresh F10=Additional parameters F12=Cancel F13=How to use this display F24=More keys

IPL or Install the System

Select one of the following: 1. Perform an IPL 2. Install the operating system 3. Use Dedicated Service Tools (DST) 4. Perform automatic installation of the operating system 5. Save Licensed Internal Code

Adding a User Auxiliary Storage Pool 219

5. The following screen appears. Sign on using the appropriate Dedicated Service Tools (DST) user profile and password.

Figure 157. Dedicated Service Tools (DST) Sign On Display

6. When the Use Dedicated Service Tools (DST) menu appears as shown in Figure 158, select option 4 (Work with disk units).

Figure 158. Dedicated Service Tools (DST) Main Menu Display

7. From the next menu, select option 1 (Work with disk configuration), option 3 (Work with ASP configuration), and option 6 (Move units from one ASP to another). A menu (Figure 159) appears that allows you to select the disk drives to be included in the new user ASP.

Figure 159. DST Specify ASP to Move Disk Units Display

Dedicated Service Tools (DST) Sign On Type choice, press Enter.

DST user . . . . . . . . . . _______ DST password . . . . . . . . _______

Use Dedicated Service Tools (DST) Select one of the following: 1. Perform an IPL 2. Install the operating system 3. Work with licensed internal code 4. Work with disk units 5. Work with DST environment 6. Select DST console mode 7. Start a service tool 8. Perform automatic installation of the operating system 9. Work with save storage and restore storage 10. Work with remote DST support

Specify ASP to Move Disk Units To move units to different ASPs, specify the ASP that you want to move each one to in the 'New ASP' field. Specify the units to be moved, press Enter. New Current Serial -Protected-- -Unprotected- ASP ASP Unit Number Type Model Size %Used Size %Used 1 0 0.00% 4124 41.50% 1 00-0193825 6602 030 0 0.00% 1031 82.00% 2 00-0163477 6602 030 0 0.00% 1031 29.00% 2 3 00-0190494 6602 030 0 0.00% 1031 27.00% 2 4 00-17900 6602 030 0 0.00% 1031 28.00%

220 BaanERP Implementation for AS/400

8. Confirm your choices in the resulting screens. The system sets up the new user ASP. All disk drives are moved in parallel. This may take some time to complete.

9. When the process is complete, you can hit the F3 or F12 keys to back up to the main DST menu shown in Figure 156 on page 219. Before starting the IPL, we recommend that the AS/400 system be put into Normal mode on the control panel. After the IPL completes, the user ASP is ready for use.

If you are moving multiple disk drives to a new ASP, try to choose disk drives spread over multiple disk IOPs and in multiple RAID-5 sets. This offers better system performance.

Note

Adding a User Auxiliary Storage Pool 221

222 BaanERP Implementation for AS/400

Appendix B. LAN/TCP Configurations

This appendix describes the process of configuring Transmission Control Protocol/Internet Protocol (TCP/IP) on the AS/400 system. If you want an extensive knowledge about TCP/IP on the AS/400 platform, refer to the manuals OS/400 TCP/IP Configuration and Reference, SC41-5420.

Note: You have to configure TCP/IP prior to installing the BaanERP product.

B.1 TCP/IP Configuration

The TCP/IP communications protocol function is packaged with OS/400 and also as a separate Licensed Program Product (LPP) called AS/400 TCP/IP Connectivity Utilities/400. Together these include:

• BOOTP (Bootstrap Protocol) • DHCP (Dynamic Host Configuration Protocol) • DNS (Domain Name System) • FTP (File Transfer Protocol) • HTML (Hypertext Markup Language) • IP over Twinax • LPD (Line Printer Daemon) • LPR (Line Printer Requester) • NETSTAT (Network Status) • PING (Packet InterNet Groper) • POP (Post Office Protocol) • PPP (Point-to-Point Protocol) • REXEC (Remote Execution) • RIPv2 (Routing Information Protocol) • RouteD (Route Daemon) • SLIP (Serial Internet Protocol) • SMTP (Simple Mail Transfer Protocol) • SNMP (Simple Network Management Protocol) • TELNET (Teletypewriter Network) • TFTP (Trivial File Transfer Protocol) • WSG (Workstation Gateway)

B.2 Network Environment

You can connect many types of networks with TCP/IP by simply configuring the proper type of line. The AS/400 system supports different types of network environments such as:

• Ethernet Networks • Token-Ring Networks • Asynchronous Transfer Mode (ATM) Networks • Frame-relay Networks • Wireless Networks • Distributed Data Interface Networks

You must configure the proper communications line based on the hardware you installed on the AS/400 system.

© Copyright IBM Corp. 1998 223

B.3 Step-by-Step Configuration of TCP/IP

The following instructions show you how to configure a basic TCP/IP connection. You need at least one workstation connected to the AS/400 system to do this. The configuration process is complete once you ping successfully each application server and the database server.

B.3.1 Scenario

Here is a simple Ethernet network to show you how to configure TCP/IP. In Figure 160, you see an Ethernet network with one AS/400 system and one personal computer. The configuration is shown from the AS/400 system perspective.

Figure 160. Ethernet Network Example

B.3.1.1 Collect the Network ParametersYou need to know the addresses and subnet mask of your AS/400 system, router, and gateway. You also need your local domain name and the host name of your AS/400 system. In this scenario, we used the following information:

• Network address —9.4.73.128 • Subnet mask —255.255.255.128 • Domain name —SYSNAM123.IBM.COM • AS/400 host Internet address/name —9.4.73.129/SYSNAMA

B.3.1.2 Sign On to the AS/400 SystemSign on the AS/400 system as user QSECOFR (or someone who has the special authority of *IOSYSCFG).

Network Address: 9.4.73.128

AS/400 PC

IP Address 9.4.73.130IP Address 9.4.73.129

If you are the network administrator and you never plan to attach your network to the worldwide 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

224 BaanERP Implementation for AS/400

B.3.1.3 Create a Line DescriptionIn this scenario, use an Ethernet line. To see other types of lines refer to the manual OS/400 TCP/IP Configuration and Reference, SC41-5420, Appendix A, "Configuring a Physical Line for TCP/IP communications."

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 communications resources as shown here:

WRKHDWRSC TYPE(*CMN)

When you press Enter, the display shown in Figure 161 appears.

Figure 161. Work with Hardware Resources (WRKHDWRSC) Display

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:

CRTLINETH

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). Most commands for configuring communications require *IOSYSCFG special authority.

Note

Work with Communication Resources

Type options, press Enter. 5=Work with configuration descriptions 7=Display resource detail Opt Resource Type Status Text

CC13 2629 Operational Comm Processor LIN20 6181 Operational LAN Adapter CMN24 6181 Operational Ethernet Port LIN22 6149 Operational LAN Adapter CMN25 6149 Operational Token-Ring Port LIN28 2699 Operational Comm Adapter CMN29 2699 Operational V.24 Port CMN30 2699 Operational Comm Port CC14 6617 Operational File Server IOP LIN30 2723 Operational LAN Adapter CMN32 2723 Operational Ethernet Port LIN33 2724 Operational LAN Adapter CMN33 2724 Operational Token-Ring Port More... F3=Exit F5=Refresh F6=Print F12=Cancel

LAN/TCP Configurations 225

Fill in the line name and resource name and press enter. The display shown in Figure 162 appears. In this example, the resource name is CMN24 and the line name LINETH01.

Note that step 2 and step 3 can also be done in the following way:

Type option 5 (Work with configuration descriptions) in the Opt field shown in Figure 161 on page 225. Then, the Work with Configuration Descriptions display appears. In this display, type option 1 (Create) in the Opt field. The display shown in Figure 162 appears.

Figure 162. Create Line Description (Ethernet) (CRTLINETH) Display

B.3.2 Creating a TCP/IP Interface

You need the IP and subnet mask addresses to create a TCP/IP interface. Perform the following steps:

1. Go to the CFGTCP menu and choose option 1 (Work with TCP/IP Interfaces). The following display appears.

Figure 163. CFGTCP Menu Display—Work with TCP/IP Interfaces

Create Line Desc (Ethernet) (CRTLINETH) Type choices, press Enter.

Line description . . . . . . . . > LINETH01 Name Resource name . . . . . . . . . > CMN24 Name, *NWID, *NWSD Online at IPL . . . . . . . . . *YES *YES, *NO Vary on wait . . . . . . . . . . *NOWAIT *NOWAIT, 15-180 seconds Local adapter address . . . . . *ADPT 020000000000-7EFFFFFFFFFF... Exchange identifier . . . . . . *SYSGEN 05600000-056FFFFF, *SYSGEN Ethernet standard . . . . . . . *ALL *ETHV2, *IEEE8023, *ALL Line speed . . . . . . . . . . . 10M Character value, 10M, 100M... Duplex . . . . . . . . . . . . . *HALF Character value, *HALF... SSAP list: Source service access point . *SYSGEN 02-FE, *SYSGEN SSAP maximum frame . . . . . . *MAXFRAME, 265-1496, 265... SSAP type . . . . . . . . . . *CALC, *NONSNA, *SNA, *HPR + for more values Text 'description' . . . . . . . *BLANK More... F3=Exit F4=Prompt F5=Refresh F12=Cancel F13=How to use this display F24=More keys

Work with TCP/IP Interfaces

Type options, press Enter. 1=Add 2=Change 4=Remove 5=Display 9=Start 10=End Internet Subnet Line Line Opt Address Mask Description Type

127.0.0.1 255.0.0.0 *LOOPBACK *NONE

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

226 BaanERP Implementation for AS/400

2. Select option 1 (Add) to add a TCP/IP interface to the table and press Enter. The following display appears.

Figure 164. Add TCP/IP Interface (ADDTCPIFC) Display

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 165. Note the message at the bottom that states the TCP/IP interface was added successfully.

Figure 165. CFGTCP Menu Display—Work with TCP/IP Interfaces

B.3.3 Creating a TCP/IP Host Table Entry

A host table entry allows you to associate a host name (for example SYSNAMA) to an Internet address (for example 9.47.73.129). To do this, perform the following tasks:

1. Select option 10 (Work with TCP/IP host table entries) on the CFGTCP menu and press Enter. The display in Figure 166 on page 228 appears.

Add TCP/IP Interface (ADDTCPIFC)

Type choices, press Enter. Internet address . . . . . . . . > '9.4.73.129' Line description . . . . . . . . lineth01 Name, *LOOPBACK Subnet mask . . . . . . . . . . 255.255.255.128 Associated local interface . . . *NONE Type of service . . . . . . . . *NORMAL *MINDELAY, *MAXTHRPUT... Maximum transmission unit . . . *LIND 576-16388, *LIND Autostart . . . . . . . . . . . *YES *YES, *NO PVC logical channel identifier 001-FFF + for more values X.25 idle circuit timeout . . . 60 1-600 X.25 maximum virtual circuits . 64 0-64 X.25 DDN interface . . . . . . . *NO *YES, *NO TRLAN bit sequencing . . . . . . *MSB *MSB, *LSB

Bottom F3=Exit F4=Prompt F5=Refresh F12=Cancel F13=How to use this display F24=More keys

Work with TCP/IP Interfaces

Type options, press Enter 1=Add 2=Change 4=Remove 5=Display 9=Start 10=End Internet Subnet Line Line Opt Address Mask Description Type 9.47.73.129 255.255.255.128 LINETH01 *ELAN 127.0.0.1 255.0.0.0 *LOOPBACK *NONE

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.

LAN/TCP Configurations 227

Figure 166. 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 167.

Figure 167. Add TCP/IP Host Table Entry (ADDTCPHTE) Display

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 168.

Figure 168. CFGTCP Menu Display—Work with TCP/IP Host Table Entries

Work with TCP/IP Host Table Entries

Type options, press Enter. 1=Add 2=Change 4=Remove 5=Display 7=Rename Internet Host Opt Address Name

127.0.0.1 LOOPBACK

Bottom F3=Exit F5=Refresh F6=Print list F12=Cancel F17=Position to

Add TCP/IP Host Table Entry (ADDTCPHTE) Type choices, press Enter. Internet address . . . . . . . . > 9.4.7.129 Host names: Name . . . . . . . . . . . . . > SYSNAMA

Name . . . . . . . . . . . . . > SYSNAMA.SYSNAM123.IBM.COM Text 'description' . . . . . . . 'Entry for AS/400 (SYSNAMA) '

Bottom F3=Exit F4=Prompt F5=Refresh F12=Cancel F13=How to use this display F24=More keys

Work with TCP/IP Host Table Entries

Type options, press Enter. 1=Add 2=Change 4=Remove 5=Display 7=Rename 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

228 BaanERP Implementation for AS/400

B.3.4 Configuring Local Domain and Host Name

The local host and domain name are used to identify the AS/400 system within the TCP/IP domain it is in. POP and SMTP mail servers require that the local host and domain name be configured.

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 following display appears.

Figure 169. Change TCP/IP Domain (CHGTCPDMN) Display

In this example, 9.4.73.129 is the IP address of DNS server.

If you need more information about the local host name and domain name, see the manual AS/400 TCP/IP Configuration and Reference, SC41-5420.

B.3.5 Starting TCP/IP

Before any TCP/IP services are available, TCP/IP processing must be initialized and activated. The steps to start TCP/IP are:

1. Select option 3 (Start TCP/IP) from the TCP/IP Administration menu using the command:

GO TCPADM

You can also choose to enter the Start TCP (STRTCP) command. Both initialize and activate TCP/IP processing. They also start the TCP/IP interface control job which starts all interfaces with an AUTOSTART value set to *YES. It starts the TCP/IP server jobs.

2. Allow a few moments for TCP/IP to start. Then, enter the command:

WRKACTJOB SBS(QSYSWRK) JOB(QT*)

The job QTCPIP should appear as shown in Figure 170 on page 230. After this job is started, you can proceed with TCP/IP connection verification.

Change TCP/IP Domain (CHGTCPDMN) Type choices, press Enter. Host name . . . . . . . . . . . 'SYSNAMA' Domain name . . . . . . . . . . 'SYSNAM123.IBM.COM'

Host name search priority . . . *LOCAL *REMOTE, *LOCAL, *SAME

Internet address . . . . . . . '9.4.73.129'

Additional Parameters Port . . . . . . . . . . . . . . 53 1-65535, *SAME Protocol . . . . . . . . . . . . *UDP *UDP, *TCP, *SAME More... F3=Exit F4=Prompt F5=Refresh F10=Additional parameters F12=Cancel F13=How to use this display F24=More keys

LAN/TCP Configurations 229

Figure 170. Work with Active Jobs (WRKACTJOB) Display—QTCPIP Job

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

B.3.6 Verifying TCP/IP Connection

Use the PING command to verify TCP/IP configuration. Perform the following steps:

1. To test the TCP/IP code without sending anything out of the Ethernet adapter, specify the special host name LOOPBACK:

PING LOOPBACK

The display shown in Figure 171 on page 231 should appear.

Work with Active Jobs

CPU %: 2.2 Elapsed time: 00:01:21 Active jobs: 219 Type options, press Enter. 2=Change 3=Hold 4=End 5=Work with 6=Release 7=Display message 8=Work with spooled files 13=Disconnect ... Opt Subsystem/Job User Type CPU % Function Status

QTCPIP QTCP BCH .0 DEQW QTFTP01357 QTCP BCH .0 CMD-CHGJOB ICFW QTGTELNETS QTCP BCH .0 DEQA QTLPD00266 QTCP BCH .0 DEQW QTMSNMP QTCP BCH .0 PGM-QTOSMAIN DEQW QTSMTPSRVR QTCP BCH .0 PGM-QTMSSRCP SELW QTWSG02808 QTMTWSG BCH .0 TIMW Bottom Parameters or command ===> F3=Exit F4=Prompt F5=Refresh F10=Restart statistics F11=Display elapsed data F12=Cancel F14=Include F24=More keys

230 BaanERP Implementation for AS/400

Figure 171. PING LOOPBACK Display—Successful Ping Messages

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, instructing the adapter to send the data to its own Ethernet address. If you have a correct configuration, a display shown in Figure 172 appears.

Figure 172. PING RMTSYS Display—Successful Ping Messages

If the PING execution ends unsuccessfully, the display in Figure 173 on page 232 appears.

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. ===>

F3=Exit F4=Prompt F9=Retrieve F10=Include detailed messages F11=Display full F12=Cancel F13=Information Assistant F24=More keys

Command Entry Request level: 4 Previous commands and messages: > ping rchasm02 Verifying connection to host system RCHASM02.rchland.ibm.com at address 9.5.69.211. PING request 1 from 9.5.69.211 took 34 ms. 256 bytes. TTL 64. PING request 2 from 9.5.69.211 took 27 ms. 256 bytes. TTL 64. PING request 3 from 9.5.69.211 took 9 ms. 256 bytes. TTL 64. PING request 4 from 9.5.69.211 took 9 ms. 256 bytes. TTL 64. PING request 5 from 9.5.69.211 took 10 ms. 256 bytes. TTL 64. Round-trip (in milliseconds) min/avg/max = 9/17/34 Connection verification statistics: 5 of 5 successful (100 %).

Bottom Type command, press Enter. ===>

F3=Exit F4=Prompt F9=Retrieve F10=Include detailed messages F11=Display full F12=Cancel F13=Information Assistant F24=More keys

LAN/TCP Configurations 231

Figure 173. PING RMTSYS—Unsuccessful Ping Messages

If you have other error messages, see the manual OS/400 TCP/IP Configuration and Reference, SC41-5420, Appendix E, "TCP/IP Problem Analysis."

B.4 Connecting through a Gateway or Different Network

If you have to connect with a remote host in a different network or subnetwork to the local host (or you use a gateway), it is necessary to configure a route. For example, suppose someone using a PC is attempting to use the TELNET application to start a remote terminal session on this AS/400 system. Obviously, the application on the PC must know the route or path to reach the AS/400 system. But your AS/400 system must also be able to determine the route back to the PC. If the PC and your AS/400 system are not on the same network, a routing entry must exist both on the PC and on the AS/400 system.

A TCP/IP interface must be defined before defining a route. A TCP/IP interface implicitly defines a direct route. This is because interfaces define a route to a network to which the AS/400 system is directly connected. Routes added using the route commands are called indirect routes because they define a route to a network that the AS/400 system is not connected to directly. 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. Use the Work with TCP/IP Route Entries display to add route information or to display, change, print, or remove route information.

B.4.1 Scenario

In this scenario, there are two Ethernet networks, and 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.

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. ===>

F3=Exit F4=Prompt F9=Retrieve F10=Include detailed messages F11=Display full F12=Cancel F13=Information Assistant F24=More keys

232 BaanERP Implementation for AS/400

Figure 174. Two Ethernet LANs Connected with Routers Example

B.4.2 Route Configuration

To configure a TCP/IP route, perform the following steps:

1. Select option 2 (Work with TCP/IP routes) from the CFGTCP menu and press enter. The following display appears.

Figure 175. CFGTCP Menu Display—Work with TCP/IP Routes

2. Select option 1 (Add) to add an entry to the TCP/IP routes. The display shown in Figure 176 on page 234 appears.

Network Address: 9.4.73.128

AS/400

PC

IP Address 9.4.73.130IP Address 9.4.73.129

PC

Network Address: 9.5.7.128

IP Address 9.5.7.131IP Address 9.5.7.130

PC

Router

PC PC

Router 9.4.73.193

9.5.7.194

(SYSNAMA)

Work with TCP/IP Routes

Type options, press Enter. 1=Add 2=Change 4=Remove 5=Display Route Subnet Next Preferred Opt Destination Mask Hop Interface *DFTROUTE *NONE 9.4.73.193 *NONE

Bottom F3=Exit F5=Refresh F6=Print list F11=Display type of service F12=Cancel F17=Top F18=Bottom

LAN/TCP Configurations 233

Figure 176. Add TCP/IP Route (ADDTCPRTE) Display

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)

B.5 Starting an FTP Session

FTP provides the functions of transferring files between two TCP/IP hosts. Since FTP is built on the services of TCP, it provides a reliable end-to-end connection during the file transfer operation. Security is provided by the normal user ID and password authentication.

You can start FTP from a workstation with the following command:

FTP HOSTNAME

Hostname is the AS/400 remote system. Once the session is connected and you do not type something within five minutes, the session is closed by the AS/400 system. You have to repeat the FTP command to re-start the connection.

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 177 on page 235 appears.

Add TCP/IP Route (ADDTCPRTE) Type choices, press Enter. Route destination . . . . . . . > 9.5.7.128 Subnet mask . . . . . . . . . . > '255.255.255.128' Type of service . . . . . . . . *NORMAL *MINDELAY, *MAXTHRPUT... Next hop . . . . . . . . . . . . > '9.4.73.193' Preferred binding interface . . *NONE Maximum transmission unit . . . *IFC 576-16388, *IFC Route metric . . . . . . . . . . 1 1-16 Route redistribution . . . . . . *NO *NO, *YES Duplicate route priority . . . . 5 1-10

Bottom F3=Exit F4=Prompt F5=Refresh F12=Cancel F13=How to use this display F24=More keys

234 BaanERP Implementation for AS/400

Figure 177. CFGTCP Menu Display—Configure TCP/IP Applications

2. Select option 10 (Change FTP attributes) and press Enter. The following display appears.

Figure 178. Change FTP Attributes (CHGFTPA) Display

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.

Configure TCP/IP Applications

Select one of the following: 1. Configure SNMP agent 2. Configure RouteD 3. Change Trivial FTP Attributes 4. Configure BOOTP 5. Change DDM TCP attributes 6. Change DHCP attributes 10. Change FTP attributes 11. Configure TELNET 12. Configure SMTP 13. Change LPD attributes 14. Configure HTTP 15. Configure workstation gateway 16. Change POP attributes More... Selection or command ===> F3=Exit F4=Prompt F9=Retrieve F12=Cancel

Change FTP Attributes (CHGFTPA)

Type choices, press Enter. Autostart servers . . . . . . . *YES *YES, *NO, *SAME Number of initial servers . . . 3 1-20, *SAME, *DFT Inactivity timeout . . . . . . . 600 0-2147483647, *SAME, *DFT Coded character set identifier 00819 1-65533, *SAME, *DFT Server mapping tables: Outgoing EBCDIC/ASCII table . *CCSID Name, *SAME, *CCSID, *DFT Library . . . . . . . . . . Name, *LIBL, *CURLIB Incoming ASCII/EBCDIC table . *CCSID Name, *SAME, *CCSID, *DFT Library . . . . . . . . . . Name, *LIBL, *CURLIB Bottom F3=Exit F4=Prompt F5=Refresh F12=Cancel F13=How to use this display F24=More keys

LAN/TCP Configurations 235

236 BaanERP Implementation for AS/400

Appendix C. Fiber-Optics Connection for a Three-Tier Configuration

This section describes the use of high speed fiber-optic links in a BaanERP System implementation on an AS/400 platform. Only a brief introduction is given here. For further information on configuration, pricing, and implementation guidelines, contact the OptiConnect Services Center (OSC) through your IBM Marketing Representative at:

• IBM Rochester: Telephone number 507-253-9030 • External e-mail ID for OSC: [email protected]

The OptiConnect Services Center requires details of your AS/400 hardware configurations for your BaanERP three-tier implementation.

C.1 Introduction to OptiConnect/400

The concept of a two-tier and three-tier AS/400 configuration is presented in Chapter 5, “BaanERP Topology Options” on page 41. Three-tier implementation of BaanERP is also referred to as client/server configurations. See Section 5.2, “Client/Server Implementations” on page 42. Here, the application servers are the clients, and the database server is the server.

OptiConnect/400 is a fiber-optics based solution to efficiently implement a three-tier solution for your BaanERP applications. OptiConnect/400 consists of a set of hardware that allows multiple AS/400 systems to connect to each other through fiber-optic cables, and software that is used by BaanERP to move data quickly across that connection. The connection between any two AS/400 systems is not a communications type connection such as LAN, ISDN, or FDDI. Rather, each AS/400 system in an OptiConnect/400 network is connected to a dedicated, shared I/O bus. Each system in the network is connected to every other system in the same network through this shared I/O bus. The connection may be best viewed as a device connection where one system accesses another system as if it is an attached device. The data transfer rates provided by the fiber-optic link between the shared I/O bus are in the 1 Gbps range. The software used to move data across is lightweight with a normal path length much shorter than other communications methods. OptiConnect/400 , hardware and software was specifically designed for the high-speed transfer of data from one AS/400 system to another.

C.2 OptiMover for OS/400 (5799-FWQ)

To move data across the fiber-optic link between the database server and an application server, the AS/400 implementation of BaanERP System uses the services of OptiMover for OS/400 , which is available as program number 5799-FWQ. This program offers a set of system APIs that gives the using program access to the facilities of the OptiConnect/400 hardware. This program offering does not use DDM files as does the OptiConnect/400 program offering.

There is an information-only RPQ number, 843871, that describes OptiConnect/400 in greater detail.

Note

© Copyright IBM Corp. 1998 237

The protocol across the fiber-optics connection is a private protocol similar to a device connection.

Thus, the OptiMover APIs allow for inter-process communications between two jobs that run on different systems. There is no attempt to make a remote file appear local, as is the case with DDM files. Figure 179 illustrates the use of the OptiMover APIs.

Figure 179. OptiMover and BaanERP Systems

The OptiMover program provides a good price-performance solution for BaanERP three-tier implementations on the AS/400 system. More information about OptiMover is found in the publication, OptiMover for the AS/400, SC41-0626.

C.3 Three-Tier Configurations Using OptiMover for OS/400

A network of AS/400 systems for BaanERP consists of two or more PowerPC-based machines connected together by fiber-optic cables. One machine in this network is designated as the hub machine. The others are referred to as satellite machines. Figure 180 on page 239 illustrates a network consisting of one hub machine and two satellite machines.

Fiber-O ptic Connections

OptiMover

System-B

OptiMover

OptiMover

Fiber-O ptic Connections

System-A System-C

Fiber-O ptic Connections

238 BaanERP Implementation for AS/400

Figure 180. A Single Path Network

The hub machine provides the communication route for all machines on the network. This includes communications between the hub and a satellite, as well as communications between two satellites. There is no processing overhead of any significance on the hub machine. If the hub machine fails for any reason, all communications routed through this hub also fail. Consequently, the network can fail.

A dual path configuration is also available. This introduces a redundant hub into the network so that if one hub fails, the redundant hub can take over and the network remains operational. Figure 181 on page 240 illustrates a network consisting of two hub machines and two satellite machines.

Fiber-O ptic Connections

OptiMover

Optim over

OptiMover

Fiber-O ptic Connections

SatelliteM ach ine

SatelliteM ach ine

HubM ach ine

System -A System -C

System -B

Fiber-Optics Connection for a Three-Tier Configuration 239

Figure 181. A Dual Path Network

C.4 BaanERP Server Location

OptiMover/400 support does not enforce any restrictions on where the BaanERP database or application servers should be located. However, given the importance of the hub machine in the communications network and the critical nature of the BaanERP database server, the OptiMover/400 hub and BaanERP database server are best located on the same machine, while the BaanERP application servers are located on the satellite machines.

If a satellite machine fails, only the corresponding application server is impacted. The failure of the hub results in both communications and the BaanERP database becoming unavailable. This arrangement reduces the exposure of the total system to a single point of failure only and maximizes the availability. The system has the potential to be available as long as the hub machine is up.

The arrangement of database and application servers is illustrated in Figure 182 on page 241.

RedundantHub Machine

Fiber-Optic Connections

OptiMover

OptiMover

HubMachine

OptimoverOptiMover

SatelliteMachine

SatelliteMachine

Fiber-Optic Connections

Fiber-Optic Connections

System-D

System-B

System-CSystem-A

240 BaanERP Implementation for AS/400

Figure 182. BaanERP Server Placement

On the other hand, if the database server is placed on a satellite machine, the availability of the system is impacted if the satellite (and the associated database server) or if the OptiMover/400 hub machine fails.

C.5 Configuring and Ordering Process

The OptiMover/400 program (5799-FWQ) can be ordered at anytime. A copy of the OptiMover/400 program is required for each machine in the network. Some of the hardware components are I-listed RPQs, indicating that they can be ordered only through an IBM Representative after approval is obtained from the OptiConnect Service Center at IBM Rochester.

Fiber-Optic Connections

OptiMover

Optimover

Application Server

OptiMover

Fiber-Optic Connections

HubMachine

SatelliteMachine

SatelliteMachine

ApplicationServer

ApplicationServer

DatabaseServer

Fiber-Optics Connection for a Three-Tier Configuration 241

Table 3 on page 242 presents two examples of the components required implement OptiMover/400.

Table 3. OptiMover/400 Requirements

To order the requirements to connect an BaanERP three-tier implementation, perform the following tasks:

1. Determine the required capacity of the AS/400 systems and the network.

2. Advise the OptiConnect Services Center of the AS/400 configurations and the BaanERP server placement.

Upon receiving the configuration details, the OptiConnect Services Center provides the IBM Representative with:

• Detailed product ordering information • Connection diagrams • Installation instruction sheets

Based on this information, the IBM Representative can determine the price and place an order for the products.

The OptiMover software is installed from the distribution media using the RSTLICPGM command. Enter 5799FWQ as the identifier of the licensed program on this command. Adding the OptiMover software to the system causes a new library, QSOC, containing all of the objects for the OptiMover software to be included on the system.

Once the hardware and the software are installed, the QSOC subsystem must be started using the STRSBS QSOC/QSOC command. Then, use the DSPOPCLNK command to verify the connections between the hubs and satellites. This command presents a display that shows the system name, followed by the OptiMover resources for the system name, followed by the OptiMover resources for that system. If the status of the resources is Active, or Varied on, the support is installed correctly.

All of the hardware and software involved in an OptiMover/400 network are supported through normal IBM hardware and software support channels.

Feature RPQ Description

Single Hub Two Satellites

Dual HubsTwo Satellites

Hub Each

SatelliteEach Hub

Each Satellite

#5072 System UnitExpansion Tower 1 - 1 -

#2685 843873 Bus Receiver 2 - 3 -

- 843877 20m Cables 4 - 5 -

#2688 843875 1063MB Optical Link Card - 1 1 1

5799-FWQ - OptiMover/400 1 1 1 1

242 BaanERP Implementation for AS/400

Appendix D. Sizin g Considerations

The purpose of this appendix is to briefly describe the process used to size a server to support the Baan application. It is not the intent of this chapter to prescribe sizing for the server or benchmark performance for a specific customer configuration. Rather, general guidelines are given to help you understand the sizing methodology.

A customer-specific sizing recommendation should always be provided through a qualified Baan reseller that has a thorough understanding of the customer application requirements. For more information, please see Appendix F, “Support for BaanERP” on page 289.

Many times during a customer implementation, a question arises as to whether a system is sized properly. When addressing these issues in a BaanERP environment, it is helpful to have a general understanding of the terminology used in describing BaanERP user definition.

D.1 Definitions

BaanERP users are described in three different ways:

• Named users —Users that are defined to the system and can potentially log onto the application.

• Connected and lo gged-on users —Users that are connected to the BaanERP application and use a single license count.

• Active, concurrent users —Connected and logged in users that are actively using the BaanERP application. These users actually consume system I/O and CPU resources.

There is a special user type that is commonly referred to in the Baan sizing literature as Baan Reference User (BRU). This describes an active user that has a load factor value of 1, which is used to define the capacity of the system. When the Baan Company benchmarks a system for application or database performance, it is referred to as supporting a certain number of Baan Reference Users (BRU).

D.2 Sizin g Methodolo gy

The person sizing or evaluating the performance of a Baan system must have an in-depth understanding of the Baan application architecture and client/server model (see Chapter 4, “BaanERP Architecture” on page 23, and Chapter 5, “BaanERP Topology Options” on page 41). As described in Chapter 5, the BaanERP servers can be configured with all functions running on a single server (host mode) or in a three-tier model with application and database services running on separate machines (Baan Client/Server). In all cases, the presentation service runs on a PC client.

The sizing of the BaanERP system is based upon a user profile. The user profile is a composite of the BaanERP packages and the number of users using those packages (for example, manufacturing, finance, field service, and so on). Each user profile generates a relative load on the system. The load factor for a

© Copyright IBM Corp. 1998 243

particular BaanERP package is determined by the Baan Company’s Porting and Benchmarking Center and is published in a sizing guide for use by the Baan company, application resellers, and consulting and technology partners. The load factor for each package is multiplied times the number of users per user profile to arrive at the Baan Reference User count for a given package.

However, the way in which a particular package is implemented can significantly effect the load on the system. Consulting with an experienced Baan technical expert is highly recommended prior to arriving at a final BRU count for a system.

Generally, the user profile developed in the pre-sales cycle changes as the client learns more about the BaanERP functionality and begins the business process re-engineering during the BaanERP implementation. One can assume that the user profile assignments change from the initial estimates to the time the client begins using BaanERP in a production environment. It is essential that the implementation staff reviews the sizing assumptions made during the system design phase prior to “going live” with BaanERP. These assumptions can be made more accurate by engaging an experienced Baan technical consultant in the user profile definition and sizing analysis.

An example of a BRU calculation can be given using 65 Finance Package users. If the load factor for Finance is 2, the total BRU count for Finance is 130 (65*2). This number represents an estimate of system CPU resources necessary to meet the performance requirements for that particular package.

Some user profiles are difficult to model. The packages that have an unpredictable load or require more extensive considerations are listed here:

• Product configurator sales users (abbreviated in the Baan sizing literature as PCF)

• PCF design users (developing PCF design scripts and running uncompiled scripts)

• BaanERP Projects

• Lot Control

• Aerospace and Defense (A&D) industry templates

• Dynamic Enterprise Modeling: Strategy Execution (DEM SE)

• Field data level authorizations in the Baan Tools security and user authorization setup

• Other BaanSeries products

• Other third party products

It is difficult to give absolute recommendations that apply to every customer site. However, extensive use of any of the above modules in a production system requires careful consideration to prevent an unfavorable impact on system performance.

D.3 Batch Processin g

In BaanERP, batches are programs run without user interaction (MRP, backflushing, cost rollups, PRP, and month-end finance processing). Even heavy

244 BaanERP Implementation for AS/400

print programs, SQL reports, and client data access tools are in fact batches and add an unpredictable load on the system.

BaanERP takes advantage of performance boosting technology for a number or print and batch programs. Tables are loaded into memory to improve access time for often-used data. Parallel programming and subtask dispatching is added to large processes, such as MRP, to decrease the elapsed time for a process. However, since parallelism leads to a higher period load on the server, keep in mind several guidelines when evaluating the batch impact on a BaanERP server:

• An SMP (symmetric multi-processor) machine is needed for a database server as the number of concurrent batches increase. When there is significant concurrent batch activity, the application server may also need additional CPUs.

• If a customer has a large number of batch processes, using the job scheduler is encouraged to offload batch processes to off-peak periods.

• In certain environments, a dedicated system may be desired for use as a dedicated reporting or batch application server.

D.4 Network Sizin g

The network is an important consideration in the sizing and performance of a BaanERP system. The server can be properly sized and tuned. However, if the network has little available bandwidth or too much latency, perceived response times suffer.

There are several considerations to apply when sizing BaanERP server network solutions. Database driver considerations depend on placement and application architecture (see Chapter 5, “BaanERP Topology Options” on page 41).

Each of these connections have minimum bandwidth and latency requirements. As these requirements are continually refined by the Baan Company, the customer is referred to a Baan reseller or pre- or post-sales technical consultant for the latest network infrastructure requirements.

Some batch processes can generate a significant amount of network traffic. We recommend that to reduce the WAN traffic caused by these batches that you only run certain processes from a client attached to a network local to the host server.

D.5 Memor y

The memory calculation for BaanERP is based on the number of connected users, the base amount of memory to support the OS/400 and BaanERP core functions, and requirements of the database driver. The server model (two-tier versus three-tier) also impacts the memory model.

In many cases, users have multiple, active Baan sessions. Each logged in session requires a small amount of memory even though they are not consuming CPU cycles. The internal memory requirements for a batch process running from the job manager is the same as that of an actual user.

Sizing Considerations 245

D.6 BaanERP Sizin g Considerations

The Baan Reference User (BRU) that is referred to in the previous descriptions is the standard by which systems are benchmarked for use in a BaanERP environment. A server is referred to as supporting a certain number of BRUs. Given the natural variations between customer sites, a server should never be sized to 100% utilization. That is to say that if the number of users, number of users per profile, batch overhead, and architecture layout point to the need for 1320 BRU system, it is generally a good idea to size for growth within the server. Also, use a server with a minimum of 20% capacity for growth above the BRU requirement. In this example, a 1584 BRU benchmark system may be the best minimum recommendation.

As with any complex client server product, sizing a server becomes easier with experience, knowledge of the application, and knowledge of the customer business processes. The BaanERP applications are constantly growing in functionality and the introduction of a new package to a customer environment should not be made without considering the relative load factor of the new application package.

Business processes that may be added later in an implementation can easily add a batch style performance load on the system. EDI processes have a batch-style profile. Many customers see an increase in end-user generated reports using tools such as Crystal Reports or Safari. These can place a significant, unpredictable load on the system. The Data Access Layer (DAL), which is new in BaanERP, opens the application significantly, but can have a negative performance impact.

In many of these cases, the best method to introduce these new applications includes a performance benchmark performed using the tools described in Section 13.3, “AS/400 System Monitoring” on page 185, a controlled introduction of the new functionality, and a formal performance review. Some processes are best managed through formal IT operations and scheduling of BaanERP batch jobs. If traditional IT change management processes are followed and continuous performance monitoring is performed, the AS/400 BaanERP solution provides consistent reliable, high volume transaction processing for companies that choose to use this architecturally flexible product.

246 BaanERP Implementation for AS/400

Appendix E. Problem Determination

This appendix is intended to help you diagnose and manage problems that you may encounter in running BaanERP on the AS/400 system. Chapter 13, “System Performance Tuning” on page 177 provides information regarding system tuning for performance problems.

Please refer to Appendix F, “Support for BaanERP” on page 289 for the defect support structure for BaanERP on the AS/400 system implementations.

E.1 BaanERP System Logs

BaanERP system logs are stored on the AS/400 system in the IFS directory ${BSE}/log, where ${BSE} is the qualified name of the BSE (/baanERP/bse in the following example). To see if there are any BaanERP system logs, use the AS/400 system Work with Object Links (WRKLNK) command:

WRKLNK OBJ('/baanERP/bse/log/*') DETAIL(*EXTENDED)

Figure 183 shows an example of the information you may see.

Figure 183. Work with Object Links (WRKLNK) Display of BaanERP System Logs

On the AS/400 system, this data is stored as stream files (*STMF object type) and may not be viewable (or formatted nicely when viewed). Use the AS/400 system Display Stream File (DSPSTMF) command or Edit Files (EDTF) to see the contents of a particular log. For example, DSPSTMF STMF(/baanerp/bse/log/log.install6.2 ) command resulted in the display in Figure 184 on page 248.

Work with Object Links Directory . . . . : /baanERP/bse/log Type options, press Enter. 3=Copy 4=Remove 5=Next level 7=Rename 8=Display attributes 11=Change current directory ... Opt Object link Type Attribute Text log.aad4100 STMF log.install.iex128 > STMF log.install6.2 STMF log.oiex1287 STMF log.oiex1288 STMF log.BDBPOST6.2 STMF log.BDBRECO6.2 STMF log.BSHELL6.2 STMF log.COMPRES6.2 STMF More... Parameters or command ===> F3=Exit F4=Prompt F5=Refresh F9=Retrieve F12=Cancel F17=Position to F22=Display entire field F23=More options

© Copyright IBM Corp. 1998 247

Figure 184. Display Stream File (DSPSTMF) Display of BaanERP System Log

Use the F13 key to convert the data into a readable format if it is not already.

Another way to look at stream files is with the AS/400 system Edit Files (EDTF) command, which is also option 6 from the BAANMAIN menu. For example, the EDTF STMF(/baanerp/bse/log/log.shmtime6.2 ) command resulted in the following display.

Figure 185. Edit Files (EDTF) Display of BaanERP System Log

Display Stream File Stream file. . . : /baanerp/bse/log/log.install6.2 Offset . . . . . : 0 Size : 10201 Control. . . . . : Find . . . . . . : ...+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+....0....+....1....+....2....+....3. Created subsystem description BAANLIB/BAAN Created job queue BAANLIBBAAN Created job description BAANLIB&sbsd Added a job queue entry to subsystem description BAANLIB/BAAN Created class BAANLIBBAAN Created routing entry for subsystem BAANLIB/BAAN Unknown error has occurred. Check job log for details Program has terminated abnormally. Check previous messages in job log for more information Unknown error has occurred. Check job log for details Program has terminated abnormally. Check previous messages in job log for more information Unknown error has occurred. Check job log for details Program has terminated abnormally. Check previous messages in job log for more information Unknown error has occurred. Check job log for details

Edit File: baanerp/bse/log/log.shmtime6.2 Record . : 225 of 240 by 9 Column: 1 of 132 by 74 Control : CMD ....+....1....+....2....+....3....+....4....+....5....+....6....+....7....+ 1998-09-03[16:51:59]:E:root: ******* S T A R T of Error message ******* 1998-09-03[16:51:59]:E:root: Log message called from /port_BDUX72.freak.as4 1998-09-03[16:51:59]:E:root: Pid 3275 Uid 1017 Euid 1017 Gid 0 Egid 0 1998-09-03[16:51:59]:E:root: user_type S language 2 user_name root tty loc 1998-09-03[16:51:59]:E:root: Errno 3021 (The value specified for the argume 1998-09-03[16:51:59]:E:root: Log_mesg: get_sem failed 1998-09-03[16:51:59]:E:root: ******* E N D of Error message ******* 1998-09-03[16:51:59]:E:root: 1998-09-03[16:51:59]:E:root: ******* S T A R T of Error message ******* 1998-09-03[16:51:59]:E:root: Log message called from /port_BDUX72.freak.as4 1998-09-03[16:51:59]:E:root: Pid 3275 Uid 1017 Euid 1017 Gid 0 Egid 0 1998-09-03[16:51:59]:E:root: user_type S language 2 user_name root tty loc 1998-09-03[16:51:59]:E:root: Errno 3021 (The value specified for the argume 1998-09-03[16:51:59]:E:root: Log_mesg: rel_sem -2147483648 failed 1998-09-03[16:51:59]:E:root: ******* E N D of Error message ******* F2=Save F3=Save/Exit F10/11=Left/Right F12=Cancel F16=Find F17=Chg F15=Copy

248 BaanERP Implementation for AS/400

The most current information is located at the bottom of the logs. Date, time-stamp, and user information are located on the far left. If you are not using a display in 132 character mode, use the F10 and F11 keys to move the display left and right to view truncated characters.

Note: You have to be careful not to make any changes to the data since you are using an "editor."

Another nice feature of EDTF is the ability to use it against a directory and easily change to subdirectories without having to get out of EDTF. When a desired stream file needs to be displayed, it can be done from a menu option. In the following example, the directory /baanerp/bse/lib is displayed. You can see that option 5=Display can be used against a directory, such as BSFfonts, to see any directories or objects in it or a stream file such as audit_spec.

Figure 186. Edit Files (EDTF) Display of a Directory

Edit File: /baanerp/bse/lib Locate . : Record . : 16 of 40 2=Edit 4=Delete File 5=Display 6=Path Size 9=Recursive Delete OPT Object link Alc Size Owner Last Change Last Use unicode *DIR BSP 98/10/19 17:12 98/10/20 15:25 zoneinfo *DIR BSP 98/10/19 17:25 98/10/20 15:26 zonerules *DIR BSP 98/10/19 17:26 98/10/19 18:51 BSFfonts *DIR BSP 98/10/19 17:26 98/10/20 15:25 audit_spec 4K BSP 98/08/19 06:07 98/08/19 06:07 bms_mask 8K BSP 98/10/20 08:33 98/10/22 15:19 datecurr 16K BSP 98/08/19 06:07 98/10/22 15:19 dtopt1 32K BSP 98/08/19 06:07 98/08/19 06:07 dtopt2 32K BSP 98/08/19 06:07 98/10/22 15:19 dtopt3 32K BSP 98/08/19 06:07 98/08/19 06:07 dtopt4 32K BSP 98/08/19 06:07 98/08/19 06:07 shm_param 4K BSP 98/10/19 19:23 98/10/19 19:23 kernel_cfg 32K BSP 98/08/19 06:06 98/10/19 14:05 tables_audit 4K BSP 98/08/19 06:07 98/10/21 22:26 tss_c6.2 16K BSP 98/08/19 06:07 98/10/23 14:35 tss_locale6.2 4K BSP 98/08/19 06:07 98/10/23 14:35 F3=Exit F9=Locate F16=Sort F12=Cancel

The DSPSTMF and EDTF commands are located in a library called QGPTOOLS. If the library or commands are not on your system, the source code for them is in the QUSRTOOL library. They need to be compiled (if you have the ILE C compiler) before they can be used. File QATTINFO and members TGPADSFI (DSPSTMF) and TGPAESFI (EDTF) contain information on the full functionality of the tools and how they are created. The commands can also be downloaded directly through PTF SF49052. The PTF cover letter contains the instructions on how to get the tools out of the PTF save-file. There are also other commands or tools provided in the QGPTOOLS library and they are all provided as is. They may be used in their current form or modified to meet your individual requirements.

Note

Problem Determination 249

The AS/400 system Qshell interpreter (QSH) can also be used with BaanERP system logs. For more information on QSH, see Section E.11, “Qshell Interpreter (QSH)” on page 276. You start by issuing the AS/400 system Start QSH (STRQSH) command, then UNIX-like commands, such as cd ${BSE}/log , to change to the log directory. Use the ls -ltr command to show the contents of the directory in reverse order of update (most recently updated listed last). Figure 187 shows an example of the information you may see in 132 character mode.

Figure 187. QSH Display of BaanERP System Logs—‘ls -ltr’ Command

If you issue the cat command, you can view the contents of a log entry. Figure 188 on page 251 shows an example of the information you may see looking at the second log in 132 character mode.

250 BaanERP Implementation for AS/400

Figure 188. QSH Display of BaanERP System Log—‘cat’ Command

If you are not using a display in 132 character mode, use the F11 key to toggle line wrap or truncate mode on and off. This allows you to view truncated characters.

Another way to view the logs is to use the Windows 95 Explorer. From the menu bar, go to View and select Details . This provides more information such as the date and times that the logs were created. Figure 189 shows an example of the information you may see.

Figure 189. Windows 95 Explorer Display of BaanERP System Logs

Problem Determination 251

While opening up a file, the system may display an Open With window asking you what program to use to open the file you selected. WordPad seems to work nicely. If you receive an error stating that the file cannot be opened because it is currently in use, right click the object and choose Copy . Then, somewhere in the window, right-click and choose Paste . You should be able to view the copy. Figure 190 shows an example of the information you may see.

Figure 190. Word Pad Display of a BaanERP System Log

The most current information is located at the bottom of the logs. The date, time-stamp, and user information are located on the far left.

The best way to view the logs is using the BaanERP program or session ttstperrlog , which easily allows you to see the list of the available BaanERP logs and then display them. Start by selecting File—>Run Program from a BaanERP menu browser. The program to run is ttstperrlog. After selecting OK, the window in Figure 191 on page 253 appears.

252 BaanERP Implementation for AS/400

Figure 191. Display Error Log Session (ttstperrlog)

After selecting the log and pressing OK, the following window appears and asks where the output should be placed. In this case, the display is selected.

Figure 192. Select Device Session (ttstpsplopen)

After pressing Continue, the display in Figure 193 on page 254 appears.

Problem Determination 253

Figure 193. Display Browser of BaanERP Log Using Session ttstperrlog

The most current information is located at the bottom of the logs. The date, time-stamp, and user information are located on the far left.

E.2 Baan Windows (BW) Client Errors

When an error occurs in BW, for example when trying to connect or run a BW program, the reason for the error may be displayed in a pop-up message window or written to a BW log.

E.2.1 BW Message Windows

When a BW message window pops up, it attempts to tell you the reason for the error. In the following display, there was a security error because the proper links between the BaanERP user trying to connect and the operating system or database are not setup properly.

Figure 194. BW Pop-up Message Window

After viewing the information in the window, it can be closed. The option dialog window is still active and does not close through normal methods. To get rid of the window, select Output to Console as shown in the display Figure 195 on page 255.

254 BaanERP Implementation for AS/400

Figure 195. BW Option Dialog Window

This brings up a MS-DOS window that you can close. Respond Yes on the following window (Figure 196). All option dialog windows should collapse.

Figure 196. Windows 95 BW Shutdown Window

E.2.2 BW Logs

To locate BW logs for the client or PC, you have to look in the BW directory or folder where the BW client was installed on the PC. They are in the log subdirectory. One way to look at these logs is using MS-DOS in Windows 95. Start by issuing MS-DOS commands such as cd \progra~1\Baan\BW\log to change to the log directory and dir to see if there are any BW logs. Figure 197 on page 256 shows an example of the text you may see in a MS-DOS window.

Problem Determination 255

Figure 197. MS-DOS Text of BW Logs—‘dir’ Command

To view a log, issue a command such as type bw.log |more , where the |more switch only displays one page at a time. If you want to go right to the bottom of the log, where the most current entries are, you would leave |more off. The following figure shows an example of the text you may see in a MS-DOS window.

Figure 198. MS-DOS Text of a BW Log—‘type bw.log |more’ Command

The best way to view the logs is using the Windows 95 Explorer. From the menu bar, go to View and select Details . This gives more information such as the date and times that the logs were created. Figure 199 on page 257 shows an example of the information you may see.

C:\Program Files\Baan\BW\log>dir

Volume in drive C is ITSO Volume Serial Number is 35D1-A551 Directory of C:\Program Files\Baan\BW\log

. <DIR> 05-22-98 8:59a .

.. <DIR> 05-22-98 8:59a ..BW LOG 5,529 09-14-98 3:10p BW.logCOPYOF~1 LOG 2,973 08-24-98 1:58p Copy of BW.log 2 file(s) 8,502 bytes 2 dir(s) 481,525,760 bytes free

C:\Program Files\Baan\BW\log>

1998-08-24[13:39:49]bsp: ********** E N D of Log message **********1998-08-24[13:40:23]bsp:1998-08-24[13:40:23]bsp: ******* S T A R T of Log message *******1998-08-24[13:40:23]bsp: Log message called from .\shell.cpp: #843 keyword: TsShellWidgetRec::createWindow()1998-08-24[13:40:23]bsp: user_type S language 2 user_name bsp tty s1998-08-24[13:40:23]bsp: Errno 0 bdb_errno 01998-08-24[13:40:23]bsp: Windows error 0 (The operation completed successfully.)

1998-08-24[13:40:23]bsp: Windows Sockets error 01998-08-24[13:40:23]bsp: Log_mesg: 2 : The parent already has a modal child or is disabled1998-08-24[13:40:23]bsp: ********** E N D of Log message **********

1998-08-26[14:28:29]bsp: ******* S T A R T of Log message *******1998-08-26[14:28:29]bsp: Log message called from .\sockdata.cpp: #656 keyword: SocketData::recv(SOCKET , char * , int )1998-08-26[14:28:29]bsp: user_type S language 2 user_name bsp tty s1998-08-26[14:28:29]bsp: Errno 0 bdb_errno 01998-08-26[14:28:29]bsp: Windows error 0 (The operation completed successfully.)

1998-08-26[14:28:29]bsp: Windows Sockets error 0-- More --

256 BaanERP Implementation for AS/400

Figure 199. Windows 95 Explorer Display of BW Logs

While opening up a file, the system may pop up an Open With window that asks you what program to use to open the file you selected. WordPad seems to work nicely. If you receive an error stating that the file cannot be opened because it is currently in use, right-click the object and choose Copy . In the window, right-click and choose Paste . You should then be able to view the copy. The following figure shows the information you may see.

Figure 200. WordPad Display of a BW Log

The information in a BW log is laid out the same as a BaanERP system log with the most current information located at the bottom of the log. The date, time-stamp, and user information are located on the far left.

Problem Determination 257

E.3 Baan Windows (BW) Programs

When working or debugging problems in BW, it is helpful to know which program is called or going to be called before it is selected. This information can be determined by looking at the bottom of the BW window. As shown in Figure 201, click once on Export Version Dump . This shows (at the bottom of the window) that the program tgbrg1235m000 will run, once that option is selected (double-clicked).

Figure 201. BW Menu and Selected Program Window

This is also helpful as a shortcut since from anywhere, you can select from the menu bar File—>Run Program and enter in the name of the program (tgbrg1235m000 in this case). It is the same as selecting (double-clicking) on the menu option itself.

E.4 AS/400 QHST System Log

The AS/400 system maintains a history log called QHST that contains a high-level trace of system activities such as system, subsystem, job information, device status, and system operator messages. To see this information, use the AS/400 system Display Log (DSPLOG) command. The default action for the command is just to show the current day’s log, but it allows you to specify the beginning and ending dates and times for a period in which you want to review the system log. Figure 202 on page 259 is an example of the information you may see when pressing the F4 key to prompt the DSPLOG command.

258 BaanERP Implementation for AS/400

Figure 202. Display Log (DSPLOG) Display—F4 Prompt

Use the F10 key to bring up additional parameters, which allow QHST to be sorted by a particular job name (for example, BSHELL6) or message identifier (for example, CPF0A51).

Figure 203 is an example of the information you may see when pressing enter to actually see the AS/400 system history log.

Figure 203. Display Log (DSPLOG) Display—Contents

Display Log (DSPLOG) Type choices, press Enter. Log . . . . . . . . . . . . . . QHST QHST Time period for log output: Start time and date: Beginning time . . . . . . . . *AVAIL Time, *AVAIL Beginning date . . . . . . . . *CURRENT Date, *CURRENT, *BEGIN End time and date: Ending time . . . . . . . . . *AVAIL Time, *AVAIL Ending date . . . . . . . . . *CURRENT Date, *CURRENT, *END Output . . . . . . . . . . . . . * *, *PRINT, *PRTWRAP Bottom F3=Exit F4=Prompt F5=Refresh F10=Additional parameters F12=Cancel F13=How to use this display F24=More keys

Display History Log Contents Job 104927/QTCP/IPC_BOOT6 ended on 08/24/98 at 09:35:38; 1 seconds used; end Job 104929/BSP/BSHELL6 started on 08/24/98 at 09:35:38 in subsystem BAAN in B Job 104709/QTCP/QTRXC00256 ended on 08/24/98 at 09:35:38; 1 seconds used; end Job 104928/BSP/BAAN ended on 08/24/98 at 09:35:39; 1 seconds used; end code 0 Job 104930/BSP/DB4_SRV6 started on 08/24/98 at 09:35:42 in subsystem BAAN in Job 104931/BAANCONNDB/QBFCRECVR started on 08/24/98 at 09:36:50 in subsystem Job 104930/BSP/DB4_SRV6 ended on 08/24/98 at 09:43:09; 1 seconds used; end co Job 104931/BAANCONNDB/QBFCRECVR ended on 08/24/98 at 09:43:09; 1 seconds used Job 104929/BSP/BSHELL6 ended on 08/24/98 at 09:43:14; 4 seconds used; end cod Job 104932/QTCP/QTRXC00234 started on 08/24/98 at 09:43:18 in subsystem QSYSW Job 104933/QTCP/IPC_BOOT6 started on 08/24/98 at 09:43:18 in subsystem QSYSWR Job 104934/BSP/BAAN started on 08/24/98 at 09:43:19 in subsystem BAAN in BAAN Job 104933/QTCP/IPC_BOOT6 ended on 08/24/98 at 09:43:19; 1 seconds used; end Job 104789/QTCP/QTRXC00285 ended on 08/24/98 at 09:43:19; 1 seconds used; end Job 104935/BSP/BSHELL6 started on 08/24/98 at 09:43:19 in subsystem BAAN in B Job 104934/BSP/BAAN ended on 08/24/98 at 09:43:19; 1 seconds used; end code 0 Job 104936/BSP/DB4_SRV6 started on 08/24/98 at 09:43:22 in subsystem BAAN in More... Press Enter to continue. F3=Exit F10=Display all F12=Cancel

Problem Determination 259

More detailed information is available for any of these messages by pressing the "help" function key (F1) while the cursor is over a message. Messages are explained in more detail in Section E.7, “AS/400 Messages” on page 265.

You can roll forward and backward through QHST while in DSPLOG and by default. The system keeps 14 days worth of system logs. This can be controlled through the Operational Assistant CLEANUP menu.

E.5 AS/400 Message Queues

On the AS/400 system, important information in the form of messages can be sent to message queues. To look at messages on a message queue, use the AS/400 system Display Messages (DSPMSG) command. There are both user message queues and system message queues.

If you select the default for the DSPMSG command’s Message Queue (MSGQ) parameter, you display the message queue for the user that you are currently signed on as. Figure 204 shows an example of the information you may see when issuing the DSPMSG command signed on as user BSP.

Figure 204. Display Message (DSPMSG) Display—User BSP

If you change the message queue to QSYSOPR, you can view the messages sent from the AS/400 system to the system operator. Figure 205 on page 261 is an example of the information you may see issuing the DSPMSG MSGQ(QSYSOPR) command.

Display Messages

Queue . . . . . : BSP Program . . . . : *DSPMSG Library . . . : QUSRSYS Library . . . : Severity . . . : 00 Delivery . . . : *NOTIFY Type reply (if required), press Enter. Job 105019/BSP/DB4_SRV6 completed normally on 08/24/98 at 13:57:40. Job 105022/BSP/DB4_SRV6 completed normally on 08/24/98 at 14:02:32. Job 105017/BSP/BSHELL6 completed normally on 08/24/98 at 14:02:57. Job 105032/QTCP/IPC_BOOT6 completed normally on 08/24/98 at 14:08:42. Job 105033/BSP/BAAN completed normally on 08/24/98 at 14:08:43. Job 105035/BSP/DB4_SRV6 completed normally on 08/24/98 at 14:08:46. Job 105036/BSP/DB4_SRV6 completed normally on 08/24/98 at 14:08:47. Job 105034/BSP/BSHELL6 completed normally on 08/24/98 at 14:11:21. Job 105038/QTCP/IPC_BOOT6 completed normally on 08/24/98 at 14:11:51. Job 105039/BSP/BAAN completed normally on 08/24/98 at 14:11:52. Job 105041/BSP/DB4_SRV6 completed normally on 08/24/98 at 14:11:55. Job 105042/BSP/DB4_SRV6 completed normally on 08/24/98 at 14:11:56. Job 105040/BSP/BSHELL6 completed normally on 08/24/98 at 14:13:20. Bottom F3=Exit F11=Remove a message F12=Cancel F13=Remove all F16=Remove all except unanswered F24=More keys

260 BaanERP Implementation for AS/400

Figure 205. Display Message (DSPMSG) Display—QSYSOPR

More detailed information is available for any of these messages by pressing the "help" function key (F1) while the cursor is over a message. Messages are explained in more detail in Section E.7, “AS/400 Messages” on page 265.

E.6 Working with AS/400 Job Logs

Every BaanERP job running in an AS/400 system subsystem has an associated job log. The job log for a job records those messages that were sent between the BaanERP job and the OS/400 operating system.

The job log is initialized when the job is started and remains in existence until the job ends. When a job ends normally, the job log may be deleted or written to a spooled file where it can be viewed or printed. When a job ends abnormally, a job log is usually produced. This is controlled by the message logging attributes specified for the job and the end code of the job. For example, if the message level value of the LOG parameter on the CHGJOBD and CHGJOB commands is set to *NOLIST, a job log is not produced unless the end code is 20 or greater. A job end code of 0, which indicates a normal completion, does not usually produce a job log. To obtain a job log in any case, you can change the job descriptions used by the BaanERP jobs to a message level value for the LOG parameter to *SECLVL using the command:

CHGJOBD JOBD(BAANLIB/BAANJOBD) LOG(4 00 *SECLVL) LOGCLPGM(*YES)

This change remains in effect after the next restart of BaanERP or the next time a job is started that uses this job description. During the installation of BaanERP, the installation jobs inherit the attributes from the job that started the installation. To make sure that a spooled file is generated, before starting or restarting the installation, change your interactive job using the command:

CHGJOB JOB(*) LOG(4 00 *SECLVL) LOGCLPGM(*YES)

Display Messages

Queue . . . . . : QSYSOPR Program . . . . : *DSPMSG Library . . . : QSYS Library . . . : Severity . . . : 90 Delivery . . . : *HOLD Type reply (if required), press Enter. CMN02. Adapter has inserted or left the ring on line ITSCTRNO. Adapter has inserted or left the ring on line ITSCTRNO. Adapter has inserted or left the ring on line ITSCTRNO. Adapter has inserted or left the ring on line ITSCTRNO. Adapter has inserted or left the ring on line ITSCTRNO. Job 093945/QSVMSS/QCQRCVDS was ended by user BAAN. Job 093948/QSVMSS/QCQEPMON was ended by user BAAN. Adapter has inserted or left the ring on line ITSCTRNO. Adapter has inserted or left the ring on line ITSCTRNO. Volume PEL not under media management control. Writer 105240/QSPLJOB/BAANRMTQ started. Writer 105240/QSPLJOB/BAANRMTQ ended normally. Bottom F3=Exit F11=Remove a message F12=Cancel F13=Remove all F16=Remove all except unanswered F24=More keys

Problem Determination 261

While a job is running, use the WRKACTJOB command, enter option 5 (Work With) next to the desired job, and select option 10 (Display job log, if active or on job queue) to view the job log. This shows you high-level messages. To see all of the messages, press the F10 (Display detailed messages) key. If there is more than one page, you need to press the page-up key to see the beginning. The following figure shows an example of the information you may see.

Figure 206. AS/400 Job Log Display

More detailed information is available for any of these messages by pressing the "help" function key (F1) while the cursor is over a message. The messages are explained in more detail in Section E.7, “AS/400 Messages” on page 265.

If you know the name of the job, you can also use the AS/400 system Display Job (DSPJOB) or Work with Job (WRKJOB) commands. The default action for the commands is to display the current interactive job, but you can also give the name of a BaanERP job such as BSHELL6. If only one job is found, you are taken to the Work with Job display. Here, you can select option 10 for the job log. Figure 207 on page 263 shows an example of the information you may see when you issue the WRKJOB command, and there is only one job active.

Display All Messages

Job . . : DB4_SRV6 User . . : BSP Number . . . : 104445 Job 104445/BSP/DB4_SRV6 started on 08/20/98 at 17:15:54 in subsystem BAAN in BAANLIB. Job entered system on 08/20/98 at 17:15:54. Job 104445/BSP/DB4_SRV6 changed by A0113I47. Job 104445/BSP/DB4_SRV6 changed by A0113I47.

Bottom Press Enter to continue. F3=Exit F5=Refresh F12=Cancel F17=Top F18=Bottom

262 BaanERP Implementation for AS/400

Figure 207. Work with Job (WRKJOB) Display of a Singular Job

If multiple jobs are found, you see a display that lists all of them. The Status field tells you if the job is currently active or has ended, and there is just a job log on an output queue. Select option 1 (Select) next to the job that you want. Figure 208 shows an example of the information you may see issuing the WRKJOB command and there are multiple jobs.

Figure 208. Work with Job (WRKJOB) Display of Multiple Jobs

Work with Job

Job: BSHELL6 User: BSP Number: 105057 Select one of the following: 1. Display job status attributes 2. Display job definition attributes 3. Display job run attributes, if active 4. Work with spooled files 10. Display job log, if active or on job queue 11. Display call stack, if active 12. Work with locks, if active 13. Display library list, if active 14. Display open files, if active 15. Display file overrides, if active 16. Display commitment control status, if active More... Selection or command ===> F3=Exit F4=Prompt F9=Retrieve F12=Cancel

Select Job

Type option, press Enter. 1=Select Entered Option Job User Number Type -----Status----- System BSHELL6 BSP 105057 BCI ACTIVE 08/24/98 BSHELL6 BSP 105026 BCI OUTQ 08/24/98 BSHELL6 BSP 105010 BCI OUTQ 08/24/98 BSHELL6 BSP 104966 BCI OUTQ 08/24/98 BSHELL6 BSP 104957 BCI ACTIVE 08/24/98 BSHELL6 BSP 104935 BCI OUTQ 08/24/98 BSHELL6 BSP 104929 BCI OUTQ 08/24/98 BSHELL6 BSP 104792 BCI OUTQ 08/22/98 BSHELL6 BSP 104712 BCI OUTQ 08/21/98 BSHELL6 BSP 104702 BCI OUTQ 08/21/98 BSHELL6 BSP 104628 BCI OUTQ 08/21/98 BSHELL6 BSP 104621 BCI OUTQ 08/21/98 BSHELL6 BSP 104576 BCI OUTQ 08/21/98 BSHELL6 BSP 104505 BCI OUTQ 08/20/98 More... F3=Exit F12=Cancel Duplicate jobs found.

Problem Determination 263

If a job is still active, enter the AS/400 system Display Job Log (DSPJOBLOG) command to view its job log. The default action for the command is to display the current interactive job, but you can also give the qualified job name of a BaanERP job. Every job on the AS/400 system has a job name, job user, and a unique six-digit number. In Figure 208 on page 263, you can see the job name as BSHELL6, the job user as BSP, and the unique job numbers. If a job is still active and you want to create a spooled file or print out of the job log, use the following AS/400 system command:

DSPJOBLOG JOB(qualified job name) OUTPUT(*PRINT)

Use the AS/400 system Work with Spooled Files (WRKSPLF) command with SELECT(*CURRENT), or the WRKJOB command with JOB(*) and option 4 (Work with spooled files), to locate the generated spool file.

If a job has ended and you need to locate the spooled file for the job log, there are several ways to do this. One method is to use the WRKSPLF command and enter the user name that was associated with the job. In Figure 208, the user is BSP, so the command WRKSPLF SELECT(BSP) can be used. Job logs can be identified by their name and by default. The name of the spooled file for a job log is QPJOBLOG. They are usually placed on the output queue QEZJOBLOG. If you know the name of the output queue, the AS/400 system Work with Output Queue (WRKOUTQ) command can also be used to find job logs.

To view a job log spooled file, enter option 5 (display) next to the appropriate entry in the list. See Section E.7, “AS/400 Messages” on page 265, for an example of how a printed job log appears.

Another way to look at job logs is to use AS/400 Operations Navigator. In Figure 209, all jobs are displayed. The BaanERP DB4_SRV6 job is selected by using the right mouse button.

Figure 209. AS/400 Operations Navigator—Job Log Selection Window

Selecting the job log results in the display shown in Figure 210 on page 265.

264 BaanERP Implementation for AS/400

Figure 210. AS/400 Operations Navigator—Job Log Display

Note in Figure 209 on page 264 that Properties is another option to choose when you right-click a job to display job attributes such as run priority and message logging.

E.7 AS/400 Messages

Message objects on the AS/400 system are stored in an object called a message file (*MSGF) and can be viewed using the AS/400 system Display Message Description (DSPMSGD) command. The default message file searched is QCPFMSG, which contains normal OS/400 messages (for example, CPF, CPI, and so on). When pressing the "help" function key (F1) while the cursor is over a message from a display such as DSPLOG or DSPJOBLOG, or while viewing a spooled file of a job log, the following elements are present in every message. Note the following points when calling for support:

Message ID A seven character unique ID for the message. The first three characters form a prefix that identifies the origin of the message. Some of the most common prefixes are:

• MCH—The message originated from Licensed Internal Code (LIC). • CPx—The message originated from the operating system (OS/400).

The last character of the prefix can vary. For example, you can see prefixes such as CPI, CPD, or CPF.

• BAI—The message originated from BaanERP. • SQL—The message originated from SQL run-time.

Message Type The type of the message. There are several message types and they convey what type of situation has occurred. Some of the more common ones to see are:

Problem Determination 265

• Completion —A message that conveys completion status of work.

• Diagnostic —A message that indicates errors in a system function, errors in an application, or errors in input data.

• Escape —A message that describes a condition for which a program must end abnormally. This is probably the most important one since it indicates an error situation, while other types convey information about events that have occurred and may not necessarily be an error condition.

• Information —A message that provides general non error-related information.

• Inquiry —A message that conveys information but also asks for a reply.

• Notify —A message that describes a condition for which a program requires corrective action or a reply.

• Reply —A message that is a response to a received inquiry or notify message.

• Request —A message that contains a command for processing by a request processor, such as a command entry.

• Sender Copy —A copy of an inquiry or notify message that is kept in the sender's message queue.

Severity The severity of the condition being reported and is a two-digit number that can be from 00 to 99, where 00 is the lowest severity and 99 is the highest severity. Typically, a severity level of 40 or above is a critical condition that needs attention. Some of the more common ones to see are:

• 00 (Informational) —For informational purposes only; no reply is needed. The message can indicate that a function is in progress or that a function has completed successfully.

• 10 (Warning) —A potential error condition exists. The program may have taken a default, such as supplying missing data. The results of the operation are assumed to be successful.

• 20 (Error) —An error has been found, but it is one for which automatic recovery procedures probably were applied; processing has continued. A default may have been taken to replace the wrong data. The results of the operation may not be correct. The function may not have completed; for example, some items in a list ran correctly, while other items did not.

• 30 (Severe error) —The error found is too severe for automatic recovery procedures and no defaults are possible. If the error was in the source data, the entire data record was skipped. If the error occurred during a program, it leads to an abnormal end of program (severity 40). The results of the operation are not correct.

• 40 (Severe error) —Abnormal end of program or function. The operation has ended, possibly because the program was not able to handle data that was not correct or because the user canceled it.

• 50 (Abnormal end of job or program) —The job was not started or failed to start, a job-level function may not have been done as required, or the job may have been canceled.

266 BaanERP Implementation for AS/400

• 60 (System status) —Issued only to the system operator message queue. It gives either the status of or a warning about a device, a subsystem, or the system.

• 70 (Device integrity) —Issued only to the system operator message queue, indicating that a device is not working correctly or is in some way no longer operational.

• 80 (System alert and user messages) —A condition exists that, although not severe enough to stop the system now, can become more severe unless preventive measures are taken.

• 90 (System integrity) —Issued only to the system operator message queue. Describes a condition where either a subsystem or system cannot operate.

• 99 (Action) —Some manual action is required, such as entering a reply or changing printer forms.

Date and TimeThe date and time the message was sent.

From ProgramThe name of the program that sent the message. The name can be in one of three formats:

• The name starts with a # character. This means the sending program was in Licensed Internal Code.

• The name consists of only library and program names. For example, OS/400 program names usually start with a Q and are in library QSYS. This is an old style program referred to as an Original Program Model (OPM) program. A program with a name of this type is not an ILE C program.

• The name consists of four parts: library, program, module, and procedure names. This format is used for ILE programs. For ILE C, the procedure name is the C function name. When the name is in this form, the library and program names are probably on the initial line of the message with the module and procedure names following in the next lines.

From Program Instruction NumberThe point in the sending program from where the message was sent. If this field contains a number, the sending program is not an ILE program. It is an OPM program and the number represents an MI instruction number. If the field contains the value *STMT, the program is an ILE program. This key value is used to signify that the number is not given on this line but on a following line. It also indicates that the number is a statement number relative to the source of the From Procedure that is also identified on a following line.

To ProgramThe name of the program to which the message was sent. Again, this name can be in one of the formats previously explained for the From Program. Additionally, the program name field can have the special value *EXT, which means the message was sent to the interactive session rather than a program.

Problem Determination 267

To Program Instruction NumberThe point in the program where the To Program was stopped at when the message was sent. This field can contain a number or the special value *STMT, the same as previously described for the From Program Instruction Number.

MessageA text description of the condition being reported.

Cause A likely cause of the condition.

RecoveryWhat actions should be taken, if any. If an answer is required, a list of possible choices is shown.

When looking at message details (F1 key) from a display such as DSPLOG or DSPJOBLOG, Figure 211 shows an example of the information you may see.

Figure 211. AS/400 System Message Display—F1 Key

To obtain additional information such as the from and to programs, press the F9 key. Figure 212 on page 269 shows an example of the additional information you may see.

Additional Message Information Message ID . . . . . . : CPF0A51 Severity . . . . . . . : 00 Message type . . . . . : Information Date sent . . . . . . : 09/08/98 Time sent . . . . . . : 00:02:40 Message . . . . : Performance monitor 110194/QPGMR/QPFRMON started at 00:02:40 09/08/98. Cause . . . . . : The job was started from job queue Q1PSCHQ2 in QMPGLIB. The performance monitor was submitted to the job queue by 110193/QPM400/Q1PPMSUB. The data will be put into the performance data collection database files located in library QMPGDATA with member name Q982510002.

Bottom Press Enter to continue. F3=Exit F6=Print F9=Display message details F12=Cancel F21=Select assistance level

268 BaanERP Implementation for AS/400

Figure 212. AS/400 System Message Display—F9 Key

When looking at a spooled file or printed version of a job log, Figure 213 shows an example of the information you may see in the 132 character mode.

Figure 213. QPJOBLOG Spooled File Display

If you are not using a display in the 132 character mode, use the F19 and F20 keys to move the display left and right to view the truncated characters. We recommend viewing job logs in the 132 character mode.

Display Message Details Message ID . . . . . . : CPF0A51 Severity . . . . . . . : 00 Date sent . . . . . . : 09/08/98 Time sent . . . . . . : 00:02:40 Message type . . . . . : Information CCSID . . . . . . . . : 65535 From job . . . . . . . . . . . : QPFRMON User . . . . . . . . . . . . : QPGMR Number . . . . . . . . . . . : 110194 From program . . . . . . . . . : QPMMINIT To message queue . . . . . . . : QSYSOPR Library . . . . . . . . . . : QSYS Bottom Press Enter to continue. F1=Help F3=Exit F12=Cancel

Problem Determination 269

When debugging, the escape type messages are important since they report error conditions encountered by the BaanERP jobs while they were running. However, some escape conditions are anticipated by the program, and the condition is handled so the job can continue. If an escape message is returned to the program, it must be anticipated and managed by the program, or the BaanERP job is terminated abnormally by the operating system. If you are looking at the job log for an active job and there is an escape message that is not followed by a termination message, you can be certain that the program managed the error condition so it could continue.

It is also important, when debugging, to find out if messages in the job log are related to the problem seen by the end user. If you see an error outside of a job log, sometimes you can associate it with a message in the job log. For example, if you see "SQL error "-913" occurred...", you can search for the message "SQL0913" in a job log. You need to verify if the time stamp in the job log matches the time stamp in which the error occurred (a few seconds of tolerance are allowed) to make sure this is the same event. In any case, especially in the case of an SQL0901, check what messages were sent prior to this message. Look for escape-type messages around the time of the error.

If you are reviewing a job log in a spooled file, you can determine if an escape message was handled by looking at the messages that follow. If you see an escape-type message and it is followed in the job log by another escape message with an ID of CPF9999 or CEE9901, the first escape message was not handled. In the event an escape message is not handled, the system gives the program a second chance by sending out this generic escape message. Some programs do not want to listen for and handle specific escape conditions. Rather, they want to handle errors at a general level. Thus, these programs take action on the CPF9999 escape message, not on the first escape message.

If the program does not take action on the CPF9999 escape, it is cancelled by the system. If you see the escape message CEE9901, you know the program was cancelled. Although only the program is cancelled, the structure of a BaanERP job is such that the entire job ends abnormally. The only program running in that job is the BaanERP program. When it is cancelled, the job is empty and it ends.

In Figure 214 on page 271, you can see that a MCH3601 was issued right before the CEE9901 and was the real cause of the problem. It should be investigated further.

270 BaanERP Implementation for AS/400

Figure 214. QPJOBLOG Spooled File Display

In some cases, a program sends one or more diagnostic messages before it sends the escape message. A diagnostic message provides more information about the condition being reported by the escape message that follows.

However, there are some types of messages that generally can be found in the job logs and do not indicate an error condition. These include such messages as the starting and ending of the job and objects being created or deleted. They have a message type of information or completion.

Messages on message queues and in job logs are also viewable using AS/400 Operations Navigator. When displayed, they appear similar to the one in Figure 215 on page 272.

Problem Determination 271

Figure 215. AS/400 Operations Navigator—Message Details Display

E.7.1 BaanERP AS/400 Messages

BaanERP installation error messages issued on the AS/400 system start with BAI (for example, BAI0001 or BAI0014). They are stored in a message file called BAANINSMSG in the BaanERP library where the rest of the BaanERP objects are stored.

E.8 BaanERP Objects

During the installation process, there are many different objects loaded onto the AS/400 system to support BaanERP. They consist of libraries, objects in libraries and directories in IFS.

E.8.1 The BaanERP Libraries

During the installation process for BaanERP on the AS/400 system, multiple libraries are created. The BAANCOMMON library contains the QBFCLISTEN job description (*JOBD) which starts QBFCLISTEN job in QSYSWRK subsystem. This job is only used for remote database access (three-tier) through TCP/IP or OptiMover.

A QBFCLISTEN job description also exists in the BaanERP (<pgm_lib>) library. This is only used for local (two-tier) socket connections and is started with the STRBAAN command for the particular BSE.

The BaanERP database collection (<collection> ) contains journals (*JRN) and journal receivers (*JRNRCV), and physical (PF) and logical (LF) files (*FILE). All other BaanERP programs and commands are stored in a user named library

272 BaanERP Implementation for AS/400

(<pgm_lib>). To display the objects in a library, use the AS/400 system Work with Libraries (WRKLIB) command and option 12 (Work with objects) or Display Library (DSPLIB) command.

The system creates a symbolic link between the programs in the user-defined library and IFS directories such as ${BSE}/etc/AS400, Settings/lib, and ${BSE}/bse/bin, where ${BSE} is the qualified name of the BSE (/baanERP/bse shown below). To see this, issue the following AS/400 command:

WRKLNK OBJ('${BSE}/etc/AS400.Settings/lib/*') DETAIL(*EXTENDED)

E.8.2 The BaanERP IFS Directory Structure

The installation process also places BaanERP application objects into the AS/400 Integrated File System (IFS). The main directory is called ${BSE}, where ${BSE} is the qualified name of the BSE. This is subdivided into directories called DICT, DEMO, and BSE. Figure 46 on page 81 shows some of the key BaanERP objects in the IFS.

E.8.3 The BaanERP Profiles

To locate the BaanERP profiles, use the AS/400 system command:

WRKLNK OBJ('${BSE}/lib/user/*') DETAIL(*EXTENDED)

${BSE} is the qualified name of the BSE (see /baanERP/bse in the following example). This shows you the objects that start with the letter "u" and the name of the user profile. The dash (-) at the end of an object means that it is an older or replaced version of the object. Figure 216 shows an example of the information you may see.

Figure 216. Work with Object Links (WRKLNK) Display of BaanERP User Profiles

Here is a list of user profiles created by the installation process (taken from the BaanERP installation guide):

Work with Object Links Directory . . . . : /baanERP/bse/lib/user Type options, press Enter. 3=Copy 4=Remove 5=Next level 7=Rename 8=Display attributes 11=Change current directory ... Opt Object link Type Attribute Text uapplic STMF uapplic- STMF ubaan STMF ubaan- STMF ubsp STMF ubsp- STMF udemo STMF udemo- STMF uqsecofr STMF More... Parameters or command ===> F3=Exit F4=Prompt F5=Refresh F9=Retrieve F12=Cancel F17=Position to F22=Display entire field F23=More options

Problem Determination 273

• BSP—A user profile containing the *SECOFR class. This user profile is created in the installation if it does not already exist. The installation prompts for a password if this password is created. All of the objects created by the installation are changed to have BSP as their owner.

• BSPGROUP—A user profile that is used as a group. All objects created by the installation are changed to let BSPGROUP be the group owner. The password for this user is set to *NONE.

• DEMO—A user profile with *USRCLS authority. The initial password for this user will be set to BAAN123.

• TOOLS—A user profile with *USRCLS authority. The initial password for this user will be set to BAAN123.

• APPLIC—A user profile with *USRCLS authority. The initial password for this user will be set to BAAN123.

• BAANCONNDB —A user profile with minimum authorities that are used by the database driver to make database connections. The initial password for this user is CONNDB. This information is in the stream file ${BSE}/etc/AS400.Settings/db4connect.

Note: Make sure that the profile is not *DISABLED and that the password on all systems is the same. You may want to change the system value QPWDEXPITV to *NOMAX. Otherwise, when the password for BAANCONNDB expires, you have to use the CHGUSRPRF command to mark the password as not expired.

Use the AS/400 system Work with User Profiles (WRKUSRPRF) command to view more details about any of these user profiles.

E.9 OptiMover/400

It is required that the QSOC subsystem run on the application server machine and the database server machine when using OptiMover/400. If it is not running on all of the machines in a three-tier network, connections between the multiple machines cannot be established. To check if the subsystem is up, run the AS/400 system commands:

WRKACTJOB SBS(QSOC) or WRKSBS (look for QSOC)

If the subsystem is not up, run the AS/400 system command:

STRSBS SBSD(QSOC/QSOC)

We recommend that the same job description and user profile be used by both the application server and the database server to which it is connected. The user profile must have the same password on both systems.

E.10 Common Problems

The following section outlines a few of the most commonly encountered problems of running BaanERP on the AS/400 system.

274 BaanERP Implementation for AS/400

E.10.1 Unable to Start BaanERP

These problems are due to errors made in the setup and startup of BaanERP, not errors while running BaanERP. If you receive error messages trying to connect users to the system, check the:

• BAAN subsystem with jobs such as DB4_SRV6, PDAEMON6, SHMTIME6, QBFCLISTEN, and QBFCRECVR that are up and running.

• QSYSWRK subsystem with TCP/IP (QTCPIP) and REXEC (QTRXCnnnnn) jobs that are up and running.

Use the WRKACTJOB or WRKSBSJOB commands to see jobs running in a subsystem. Section 7.2.3, “Displaying the BaanERP Subsystem and Jobs” on page 71, shows what a normal system should have up and running.

You should also check for:

• TCP/IP and server support

Ensure that TCP/IP support is active or started using the WRKACTJOB SBS(QSYSWRK) command, and examine the jobs running under that subsystem. The job name for TCP/IP itself is QTCPIP. Another way to see if TCP/IP is active is to ping the host using its IP address. If this is not running, you must start TCP/IP using the AS/400 system Start TCP/IP (STRTCP) command. The AS/400 system Work with TCP/IP Network Status (NETSTAT) command can be used to review the status of the TCP/IP network.

The Remote Execution (REXEC) server jobs, which monitor for and process requests from REXEC client users, also run in the QSYSWRK subsystem. They are in the form QTRXCnnnnn, where nnnn is a five-digit decimal number. If they are not running, use the STRTCP command to start the application servers if the REXEC attribute’s Autostart Servers (AUTOSTART) parameter is set to *YES. Or, run the AS/400 system Start TCP/IP Server (STRTCPSVR) command with a SERVER parameter of *REXEC or *ALL.

• Remote file system authority

In a three-tier environment, the application server uses the remote file system to read or write IFS stream files to the database server. It is required that the AS/400 system user profile be replicated on the database server. The copy on the database server must be identical to the original, including the password. The remote file system determines the user profile and password for the job under which the read or write operation is performed. It attempts to run that operation on the database server using that same user profile and password. If the profile does not exist on the database server or the password is different, the operation fails. Thus, the AS/400 system user profile on the application server must exist on the database server.

• MTXW

If you encounter a situation where many jobs show a status of MTXW after issuing the STRBAAN command, and they remain for a long period of time, consider terminating and restarting BaanERP. You may also want to check if the following command works or goes from one system to another:

WRKLNK OBJ('/QFileSvr.400/RemoteLocationName/*') DETAIL(*EXTENDED)

If not, you may need to restart the host servers on the AS/400 system by using the Start Host Server (STRHOSTSVR) command.

Problem Determination 275

E.10.2 Running BaanERP

While running BaanERP on the AS/400 system, if you notice a marked slowing of response times, check for:

• System operator messages

There may be messages issued from jobs to the QSYSOPR system operator. An example of this is when you run the database monitor (STRDBMON command) for some time. A "file full" condition may occur that results in all of the BaanERP jobs waiting for operator intervention with the status of MSGW.

• Object locks

Use the WRKACTJOB command to look at the BaanERP jobs and see if the job status shows LCKW for long periods of time. This indicates a conflict accessing an object on the system. Option 12 from the Work with Job display shows the locks held by a job. Once you find the object that is causing the problem, issue the AS/400 system Work with Object Locks (WRKOBJLCK) command to work with the object lock requests in the system for it. Another place to look is in the job log for "resource busy" messages such as SQL0913.

• Disk occupancy

Use the AS/400 system Work with System Status (WRKSYSSTS) command to check the disk usage of the system ASP (ASP 1). The AS/400 system Work with Disk Status (WRKDSKSTS) command can be used to look at the disk space usage of specific disk units or user ASPs (for example, ASP2, which may contain journal receivers). Do not allow user ASPs to exceed their capacity and overflow into the system ASP. Extremely full disk units (or an ASP) can cause poor system performance.

• Errors in logs of message queues

Check BaanERP system logs, BW client logs, the AS/400 system QHST system log, AS/400 system job logs, the AS/400 system QSYSOPR message queue, and AS/400 system user message queues to look for errors that can impact user response times. Chapter 13, “System Performance Tuning” on page 177, provides more information regarding system tuning for performance problems.

E.11 Qshell Interpreter (QSH)

This section explains the Qshell interpreter (QSH) that is available on the AS/400 system and how it can be used in BaanERP problem determination. It basically provides a UNIX-like interface and commands that can be used against the AS/400 system’s Integrated File System (IFS).

E.11.1 QSH Description

QSH is a command interpreter for the AS/400 system that is based on POSIX and X/Open standards. With QSH, you can:

• Run commands from either an interactive session or a script file • Write shell scripts that can be run without modification on other systems • Work with files in any file system supported by the Integrated File System • Run interactive threaded programs that do thread-safe I/O to and from an

interactive session • Write your own utilities to extend the capabilities provided by QSH

276 BaanERP Implementation for AS/400

QSH is based on the POSIX 1003.2 standard and X/Open CAE specification for Shell and Utilities. It has many features that make it like the Korn shell (ksh), and it is upwardly compatible with the Bourne shell (sh). QSH provides the following features:

• Quoting including the escape character, literal quotes, and grouping quotes • Parameters and variables including positional parameters and special

parameters • Word expansions including tilde expansion, parameter expansion, command

substitution, arithmetic expansion, field splitting, path name expansion (for example, wild carding), and quote removal

• Input and output redirection including here documents • Commands including pipelines, lists, and compound commands

A command is sometimes called a utility and is classified as either built-in or regular. A built-in utility is one that QSH can run directly without having to search for it. A regular utility is a separate program object that QSH finds in the path. Qshell support is packaged in two products:

• Qshell Interpreter is option 30 of Operating System/400 (5769-SS1) and includes the Qshell interpreter (or QSH) and its built-in utilities.

• Qshell Utilities for AS/400 (5799-XEH) is a PRPQ (P84307) and includes the regular utilities that are run in the Qshell environment.

The built-in utilities provide the ability to:

• Define aliases • Work with parameters and variables • Run commands • Manage jobs • Work with files and directories • Write scripts • Read and write input and output • Develop Java programs

Some of the more common utilities are:

• alias —Define or display aliases • cd—Change working directory • command —Run a simple command • echo —Write arguments to standard output • exit —Exit from the shell • java—Run Java program • jobs —Display status of jobs in the current session • kill —Terminate or signal processes • print —Write output • printf —Write formatted output • pwd —Return working directory name • read—Read a line from standard input • unalias —Remove alias definitions

Qshell Utilities for AS/400 (5799-XEH) provides regular utilities to:

• Work with files and directories • Build and install applications • Manipulate data

Problem Determination 277

Some of the more common utilities are:

• cat—Concatenate and print files • cmp —Compare two files • cp—Copy files • find —Find files • grep —Search a file for a pattern • ls—List the directory contents • mkdir —Make directories • mv—Move files • rmdir —Remove directories • system —Run the AS/400 CL command

See the documentation that comes with each product for directions on installing it on your AS/400 system. You should install the Qshell Interpreter option first and then install Qshell Utilities for AS/400.

For more information on Qshell, check out the AS/400 Partners in Development (PID) Web site at: www.softmall.ibm.com/as400/qshell

This Web site includes a complete description for each utility.

E.11.2 Starting QSH

You start an interactive QSH session with the AS/400 system Start QSH (QSH or STRQSH) command. This starts a session where you can enter commands and view the output from the commands. While the QSH session is running, you can use the following function keys:

• F3 (Exit )—Close the terminal window and end the QSH session. • F5 (Refresh) —Refresh the output area. • F6 (Print) —Print the output area to a spooled file. • F7 (Up)—Roll output area up one page. • F8 (Down) —Roll output area down one page. • F9 (Retrieve) —Retrieve a previous command. You can press this key multiple

times to retrieve any previous command. For example, to retrieve the second to last command you entered, press this key two times. You can also select a specific command to be run again by placing the cursor on that command and pressing this key. When the interactive job is running in a double-byte CCSID, this key is not available.

• F11 (Toggle line wrap) —Toggle the line wrap or truncate mode in the output area. In line wrap mode, lines longer than the width of the terminal window are wrapped to the next line. In truncate mode, the portion of a line beyond the width of the terminal window is not shown.

• F12 (Disconnect) —Disconnect from the QSH session. This key only closes the terminal window and does not end the QSH session. You can redisplay the disconnected QSH session by running the STRQSH command again.

• F13 (Clear) —Clear the output area. • F17 (Top)—Display top of output area. • F18 (Bottom) —Display bottom of output area. • F19 (Left) —Shift the output area to the left. • F20 (Right) —Shift the output area to the right. • F21 (Command entry) —Display a command entry window where you can

enter CL commands.

278 BaanERP Implementation for AS/400

System request function 2 (End previous request) can be used to interrupt the currently running command. For example, if you have a run-away program, you can usually end it with system request 2. After the program is ended, you can enter another command.

E.11.3 Using QSH for Problem Determination

As seen in Section E.1, “BaanERP System Logs” on page 247, QSH can be used to view files in the ISF. Therefore, the cd command can be used to change to the ${BSE}/log directory. The ls command can be used to see what log files exist. The cat command can be used to the logs. The grep command can be used to return only certain lines in a log file such as only those for a certain user. It may also be helpful for people new to the AS/400 system but with a UNIX background, since they may be able to move around the IFS better in QSH than using the WRKLNK command.

E.12 AS/400 Communications Trace

Sometimes when trying to track down an AS/400 system problem, it may be determined that the problem is not with the system, but possibly somewhere between the AS/400 system (server) and the end user (client). OS/400 provides a communication trace facility that can show detailed information exchanged between the AS/400 system and a remote station or control unit.

Note: A large volume of information is gathered, even for a rather short period of time. Therefore, we recommend that the trace be activated for the shortest possible period.

Users with the correct levels of authority can invoke the function either through System Service Tools (SST) which is started by the AS/400 system Start System Service Tools (STRSST) command or by using the AS/400 system Start Communications Trace (STRCMNTRC) command. The trace can also be ended from SST or by using the AS/400 system End Communications Trace (ENDCMNTRC) command. After ending the trace, the output can be formatted in many different ways. For example, when using TCP/IP, the output can be narrowed down to a specific IP address. This is helpful when looking for problems between the AS/400 system and a specific device. Use the following sequence to perform a communications trace using SST.

1. Issue the STRSST command. The display in Figure 217 appears.

Figure 217. System Service Tools (SST) Display—Main Menu

System Service Tools (SST) Select one of the following: 1. Start a service tool 2. Work with active service tools 3. Work with disk units 4. Work with diskette data recovery

Selection F3=Exit F10=Command entry F12=Cancel

Problem Determination 279

2. Select option 1 (Start a service tool). The following display appears.

Figure 218. System Service Tools (SST) Display—Option 1

3. Select option 3 (Work with communications trace), and the following display appears.

Figure 219. System Service Tools (SST) Display—Option 3

4. Press the F6 key to start a trace. The display in Figure 220 on page 281 appears.

Start a Service Tool Warning: Incorrect use of this service tool can cause damage to data in this system. Contact your service representative for assistance. Select one of the following: 1. Product activity log 2. Trace Licensed Internal Code 3. Work with communications trace 4. Display/Alter/Dump 5. Licensed Internal Code log 6. Main storage dump manager 7. Hardware service manager Selection F3=Exit F12=Cancel F16=SST menu

Work with Communications Traces Type options, press Enter. 2=Stop trace 4=Delete trace 6=Format and print trace 7=Display message 8=Restart trace Configuration Opt Object Type Trace Description Protocol Trace Status (No active traces)

F3=Exit F5=Refresh F6=Start trace F10=Change size F11=Display buffer size F12=Cancel

280 BaanERP Implementation for AS/400

Figure 220. System Service Tools (SST) Display—F6 Key

5. Complete the line description name, a meaningful text description, the largest buffer size allowed, and stop on buffer full. Press the Enter key, and the trace goes active (see the following display). The F5 key refreshes the display.

Figure 221. System Service Tools (SST) Display—Option 3

6. Recreate the problem and stop the trace using menu option 2 (stop trace). Remember that it does not take long for the buffer to fill up. After the trace stops, select option 6 (Format and print trace). The display in Figure 222 on page 282 appears.

Start Trace Type choices, press Enter. Configuration object . . . . . . . Line_Name Type . . . . . . . . . . . . . . 1 1=Line, 2=Network interface 3=Network server Trace description . . . . . . . . Some Meaningful Text Buffer size . . . . . . . . . . . 9 1=128K, 2=256K, 3=2M, 4=4M 5=6M, 6=8M, 7=16M, 8=32M 9=64M Stop on buffer full . . . . . . . Y Y=Yes, N=No Data direction . . . . . . . . . 3 1=Sent, 2=Received, 3=Both Number of bytes to trace: Beginning bytes . . . . . . . . *CALC Value, *CALC Ending bytes . . . . . . . . . *CALC Value, *CALC F3=Exit F5=Refresh F12=Cancel

Work with Communications Traces Type options, press Enter. 2=Stop trace 4=Delete trace 6=Format and print trace 7=Display message 8=Restart trace Configuration Opt Object Type Trace Description Protocol Trace Status LINETRN LINE SOME MEANINGFUL TEXT TRN ACTIVE

F3=Exit F5=Refresh F6=Start trace F10=Change size F11=Display buffer size F12=Cancel

Problem Determination 281

Figure 222. System Service Tools (SST) Display—Option 6 (Part 1 of 2)

7. If you want TCP/IP information, enter a "Y" next to Format TCP/IP data only. Press the Enter key, and the following display appears. If desired, enter specific IP addresses to narrow down the report.

Figure 223. System Service Tools (SST) Display—Option 6 (Part 2 of 2)

8. When done, the system creates a spooled file called QPCSMPRT with detailed information regarding communications activity during trace time and formatted the way you specified. You may need someone familiar with looking at these files to determine what looks normal.

As an alternative, use the STRCMNTRC and ENDCMNTRC commands. Figure 224 and Figure 225 on page 283 show examples of using these commands.

Format Trace Data Configuration object . . . . : LINETRN Type . . . . . . . . . . . . : LINE Type choices, press Enter. Controller . . . . . . . . . . *ALL *ALL, name Data representation . . . . . 3 1=ASCII, 2=EBCDIC, 3=*CALC Format RR, RNR commands . . . N Y=Yes, N=No Format Broadcast data . . . . N Y=Yes, N=No Format MAC or SMT data only . N Y=Yes, N=No Format UI data only . . . . . N Y=Yes, N=No Format SNA data only . . . . . N Y=Yes, N=No Format TCP/IP data only . . . Y Y=Yes, N=No Format IPX data only . . . . N Y=Yes, N=No F3=Exit F5=Refresh F12=Cancel

Select IP addresses to format Configuration object . . . . : LINETRN Type . . . . . . . . . . . . : LINE Type choices, press Enter. IP address . . . . . . . . . . *ALL *ALL, address IP address . . . . . . . . . . *ALL *ALL, address

F3=Exit F5=Refresh F12=Cancel

282 BaanERP Implementation for AS/400

Figure 224. Start Communications Trace (STRCMNTRC) Display

Figure 225. End Communications Trace (ENDCMNTRC) Display

E.13 AS/400 Job Trace

When a detailed analysis of a specific job is needed, OS/400 also has a job trace facility. It can show such data as program, module, or procedure call and return sequences. The information present in the printed report includes:

• Time stamp —Based on the AS/400 clock or system time

• Library/program —Indicates the program and library involved

• Resource utilization by program —Measures the following:

• CPU utilization • DB/non-DB reads

• OS/400 program "debug" information unique to the OS/400 component —This can be data being passed or messages being sent between modules or programs.

Follow these steps to perform a job trace:

1. Issue the AS/400 system Start Service Job (STRSRVJOB) command, and the display in Figure 226 on page 284 appears.

Start Communications Trace (STRCMNTRC) Type choices, press Enter. Configuration object . . . . . . > LINE_NAME Name Type . . . . . . . . . . . . . . > *LIN *LIN, *NWI, *NWS Buffer size . . . . . . . . . . > *MAX *MIN, *MAX, 128K, 256K, 2M... Data direction . . . . . . . . . *BOTH *SND, *RCV, *BOTH Trace full . . . . . . . . . . . > *STOPTRC *WRAP, *STOPTRC Number of user bytes to trace: Beginning bytes . . . . . . . *CALC Number, *CALC Ending bytes . . . . . . . . . Number, *CALC Communications trace options . . *ALLDTA *ALLDTA, *RMTCTL, *RMTMAC... Trace description . . . . . . . Some Meaningful Text

Bottom F3=Exit F4=Prompt F5=Refresh F12=Cancel F13=How to use this display F24=More keys

End Communications Trace (ENDCMNTRC) Type choices, press Enter. Configuration object . . . . . . Line_Name Name Type . . . . . . . . . . . . . . *LIN *LIN, *NWI, *NWS

Bottom F3=Exit F4=Prompt F5=Refresh F12=Cancel F13=How to use this display F24=More keys

Problem Determination 283

Figure 226. Start Service Job (STRSRVJOB) Display

This is done against the job about which you want to gather information. You need to know the qualified job name (for example, job name, user, or number). This can be found from AS/400 system commands such as WRKACTJOB or WRKJOB.

2. Issue the AS/400 system Start DEBUG (STRDBG) command, and the following display appears.

Figure 227. Start Debug (STRDBG) Display

This places the job into debug mode and sometimes places more messages into the job log. Make sure that Trace Full is set to *STOPTRC, Update production files is set to *YES, and OPM source level debug is set to *YES.

3. Issue the AS/400 system Trace Job (STRTRC) command, and the display in Figure 228 on page 285 appears.

Start Service Job (STRSRVJOB) Type choices, press Enter. Job name . . . . . . . . . . . . > BAAN Name User . . . . . . . . . . . . . > BSP Name Number . . . . . . . . . . . . > 094199 000000-999999

Bottom F3=Exit F4=Prompt F5=Refresh F10=Additional parameters F12=Cancel F13=How to use this display F24=More keys

Start Debug (STRDBG) Type choices, press Enter. Program . . . . . . . . . . . . *NONE Name, *NONE Library . . . . . . . . . . . Name, *LIBL, *CURLIB + for more values Default program . . . . . . . . *PGM Name, *PGM, *NONE Maximum trace statements . . . . 200 Number Trace full . . . . . . . . . . . *STOPTRC *STOPTRC, *WRAP Update production files . . . . *YES *NO, *YES OPM source level debug . . . . . *YES *NO, *YES Service program . . . . . . . . *NONE Name, *NONE Library . . . . . . . . . . . Name, *LIBL, *CURLIB + for more values

More... F3=Exit F4=Prompt F5=Refresh F10=Additional parameters F12=Cancel F13=How to use this display F24=More keys

284 BaanERP Implementation for AS/400

Figure 228. Trace Job (TRCJOB) Display

This starts the tracing of the job. Make sure that Trace option setting is set to *ON, Trace type is set to *ALL, Maximum storage to use is set to 16000, and Trace full is set to *STOPTRC.

4. Issue the AS/400 command Change Job (CHGJOB) command, and the following display appears.

Figure 229. Change Job (CHGJOB) Display

This forces the job to produce a job log if it is not already set to do so. Make sure that Message logging is set to 4, 00, and *SECLVL .

5. Recreate the problem or error.

Trace Job (TRCJOB) Type choices, press Enter. Trace option setting . . . . . . *ON *ON, *OFF, *END Trace type . . . . . . . . . . . *ALL *ALL, *FLOW, *DATA Maximum storage to use . . . . . 16000 1-16000 K Trace full . . . . . . . . . . . *STOPTRC *WRAP, *STOPTRC Program to call before trace . . *NONE Name, *NONE Library . . . . . . . . . . . Name, *LIBL, *CURLIB Select procedures to trace: Program . . . . . . . . . . . *ALL Name, *ALL, *NONE Library . . . . . . . . . . Name, *LIBL, *CURLIB Type . . . . . . . . . . . . . *PGM, *SRVPGM + for more values Bottom F3=Exit F4=Prompt F5=Refresh F12=Cancel F13=How to use this display F24=More keys

Change Job (CHGJOB) Type choices, press Enter. Job name . . . . . . . . . . . . > BSHELL6 Name, * User . . . . . . . . . . . . . > BSP Name Number . . . . . . . . . . . . > 104957 000000-999999 .........Message logging: Level . . . . . . . . . . . . 4 0-4, *SAME Severity . . . . . . . . . . . 00 0-99, *SAME Text . . . . . . . . . . . . . *SECLVL *SAME, *MSG, *SECLVL, *NOLIST

F3=Exit F4=Prompt F5=Refresh F12=Cancel F13=How to use this display F24=More keys

Problem Determination 285

6. Issue the following commands to end the trace of the job, end debug mode, and end the service job:

• TRCJOB SET(*OFF) • ENDDBG • ENDSRVJOB

7. When done, the system creates a spooled file called QPSRVTRC with detailed information regarding job activity during the trace time. You may need someone familiar with looking at these files to determine what looks normal. Figure 230 shows an example of the information you may see.

Figure 230. QPSRCTRC Job Trace Spooled File Display

An alternative approach is to use the start job trace function available within Performance Tools/400. The quick steps to perform this are:

1. Type in GO PERFORM to go to the Performance Tools/400 main menu.2. Select option 5 (Performance utilities.)3. Select option 1 (Work with job traces).4. Select option 1 (Start job trace).5. Recreate the problem or error.6. Select option 2 (Stop job trace).7. Select option 3 (Print job trace reports).

E.14 Preparing for IBM Remote Support

The following steps should be completed by the customer as a prerequisite to AS/400 system Remote Support. This allows access from IBM through the ECS link. The steps are:

1. Ensure the system is at a current PTF CUM (cumulative) level and any required PTFs are installed.

286 BaanERP Implementation for AS/400

2. For IBM to sign on to the system, the customer must create a user profile on the AS/400 system with QSECOFR authority. If IBM has access to BaanERP through Baan Internet (BI), then they also need a user ID in BaanERP with super user authority.

3. The user profile that IBM uses to sign on to the system must be enrolled in the system distribution directory for IBM to use the SNADS functions (or the ability to send data to and from the customer’s system). This can be checked using the AS/400 system Work with Directory Entries (WRKDIRE) command. Option 1 (Add) can be used to add a user if they are not already in the system distribution directory.

4. If IBM wants to use SNADS, then they need to know the current system name. This can be checked using the AS/400 system Display Network Attributes (DSPNETA) command.

5. Determine which AS/400 system hardware resource the ECS line QESLINE is using. This is usually LIN011, but may be different, such as CMN11, depending on the customer’s configuration. This can be checked using the AS/400 system Display Line Description (DSPLIND) command:

DSPLIND LIND(QESLINE)

6. The hardware resource mentioned above must not be in use by anybody else and must be varied off before IBM can use it. This can be checked using the AS/400 system Work with Hardware Resources (WRKHDWRSC) command and specifying that you want to look at the communications hardware. Enter:

WRKHDWRSC TYPE(*CMN)

Select option 5 (Work with configuration descriptions) next to the resource, and option 8 (Work with configuration status) next to each configuration description. Use option 2 (Vary off) to vary off anything that is varied on.

7. The phone number for the ECS modem should be determined and written on a location such as on the modem or the phone jack that the modem plugs into since this information is not located anywhere on the AS/400 system. This is the number IBM will dial to get into the system. The modem should also be properly configured. For example, if you have an IBM 7855 modem, it should be in synchronous mode.

8. The system IBM wants to access may not have a modem attached for some reason or IBM may have problems connecting. As an alternative solution, have IBM dial into a different AS/400 system (if available) and Telnet or pass through to the desired system. This is not the desired connection by IBM.

9. After everything is set up correctly and the information IBM needs to sign on is ready, the customer uses the AS/400 system Start Remote Support (STRRMTSPT) command. The values for all parameters are given to the customer by IBM since they change each time IBM makes a connection. The End Remote Support (ENDRMTSPT) command is used to clean everything up.

Problem Determination 287

288 BaanERP Implementation for AS/400

Appendix F. Support for BaanERP

This appendix outlines the support available for BaanERP on the AS/400 system and also contains additional information that a Baan or AS/400 customer may find useful.

F.1 Marketing and Technical Support

When you need help with marketing situations and opportunities or if you need more technical assistance with BaanERP on the AS/400 system in a pre-sales environment, you may find this section beneficial.

Contact a National IBM Baan Competence Center for first-level support with BaanERP on AS/400 issues. These "champions" can assist you in locations where there are no local competence centers. In addition to this, the AS/400 Division has established the AS/400 Technology Solutions Center (TSC) based in Rochester, Minn. to assist you. IBM Global Services (IGS) is also available to provide services to help customers integrate standard application software packages such as BaanERP. Figure 231 displays a typical flow of customer contact from initial inquiry time up to the proposal or final sale time.

Figure 231. AS/400 BaanERP Marketing and Technical Support

F.1.1 Competence Centers

There are competence centers in most countries worldwide. The purpose of these centers is to provide the sales and technical support needed for successful BaanERP implementations. Many of these centers are jointly staffed by IBM and Baan to achieve the required synergy. The National IBM Baan Competence Centers provide first-level support for the joint IBM-Baan sales force. If you need help in a Baan related customer situation, you can contact these centers in your country.

Customer

IBM ERP Solution Pre-Sales

Technical Support

IBM Baan International Competence Center (ICC)

AS/400 Technology Solutions

Center (TSC)

IBM ERP Solution Sales

System Implementors,

ISV Sales

Proposal/Sale

Web sites

Forums

Redbooks

Marketing Tools

Questionnaires

© Copyright IBM Corp. 1998 289

F.1.1.1 North America IBM/ERP Pre-Sales TeamThe mission of the North America IBM/ERP Pre-Sales Team is to provide technical sales support for ERP opportunities by providing hardware sizing estimates and general marketing information for specific ERP applications in North America and Latin America. At this time, the team provides hardware sizing estimates for Baan and other ERP applications. The sizing process consists of gathering requirements using a sizing questionnaire, analyzing the data according to the sizing guidelines, and documenting the hardware recommendation in a sizing deliverable.

The IBM/ERP Pre-Sales Team is a centralized team located outside of Philadelphia, Pennsylvania in the United States. The team has almost five years of experience in sizing systems for ERP applications. The team members average over 10 years of technical sales support experience with IBM platforms. Sizings are performed primarily for North America and Latin America. The team is recognized around the world for its knowledge and experience with sizing ERP applications. The team can recommend hardware for ERP applications on the RS/6000, AS/400, Netfinity, and S/390 platforms.

Sizing is an iterative process, which is performed many times for prospective or installed customers. During this process many factors often change, including the customer's requirements, the functionality of the ERP software, and the technology. As a result of this process, it is difficult to measure the accuracy of the sizing. IBM's sizing approach is to be conservative in anticipation of the changing factors. This approach has contributed to successful installations for many of our customers. As of the writing of this redbook, the current sizing questionnaire is only applicable to Baan IVc, but should be updated to BaanERP in the near future. If you want to obtain a copy of the sizing questionnaire, you can do this in one of the following ways:

• Self service from 800-IBM-4FAX. Order document 8650 "IBM/Baan IVc Sizing and Planning Questionnaire"

• Contact the IBM/ERP Pre-Sales Team at 800-426-0222

• Send an e-mail to [email protected]

F.1.1.2 EMEA IBM Baan Pre-Sales Support CenterAs of the writing of this redbook, an IBM Baan Pre-Sales Support Center for EMEA based in the Netherlands is being put together and should be available shortly. Their clients will be IBM and Baan sales representatives and Baan resellers. They plan on providing help with sizings, configurations, technical hints and tips, and proposal inserts. At the moment, the best way to contact them is to send an e-mail to: [email protected]

F.1.1.3 IBM Baan International Competency CenterThe IBM Baan International Competency Center (ICC) is the second-level support for national competence centers. For example, it provides additional assistance to the North America IBM/ERP Pre-Sales Team and EMEA IBM Baan Pre-Sales Support Center mentioned above. Among its many tasks are:

• Benchmarking and performance optimization • Complex sizing support • Sizing guidelines, sizing guides, and sizing tools • IBM/Baan ICC intranet and Internet site content management

290 BaanERP Implementation for AS/400

F.1.2 AS/400 Technology Solutions Center

The AS/400 Technology Solutions Center's (TSC) ERP team provides AS/400 system platform-specific technical support for marketing and implementation of BaanERP on the AS/400 system. This team of AS/400 system specialists at the TSC assists the Baan Competence Centers, business partners, BaanERP consultants and implementation partners to better understand the AS/400 system as the platform of choice for BaanERP. They assist in the smooth implementation of BaanERP on the AS/400 system by managing AS/400 system related issues arising during installation, and identifying sources of technical information.

To find out more information about the TSC, you can go to their Web site at: iws.as400.ibm.com/Service/welcome_2.htm

If you follow the Business Management Systems (BMS) link, you arrive at a Web site that describes the BMS team, which provides specific guidance for sizing and configuring AS/400 systems, special system considerations, and installation AS/400 system problem determinations for specific BMS products.

F.1.3 IBM Global Services

IBM Global Services is available to work with business partners to ensure large and small companies direct access to innovative, value-added services and solutions no matter where they do business. They also work with customers of all sizes in a variety of industries all over the world to achieve a competitive advantage. Their business services are broken down into professional services, product support services, and network services.

F.1.3.1 Professional ServicesProfessional services deploys the knowledge and skills of experienced business and IT professionals to help customers build, integrate, and operate IT systems that run their businesses more successfully. This includes:

• Application Enabling Services • Business Intelligence Services • Business Management Services • Consulting • e-business Services • Education & Training Services • Global Transformation 2000 Services • Industry Solutions • Small and Medium Business Leadership Solutions • Strategic Outsourcing Services • Systems Integration Services

F.1.3.2 Product Support ServicesProduct support services are designed to help customers install, maintain and derive maximum value from their IT hardware and software. These include:

• Business Recovery Services • Hardware and Software Support Services • Site and Connectivity Services • Systems Management and Networking Services

Support for BaanERP 291

F.1.3.3 Network ServicesNetwork services leverage the power of network computing to help customers reach new markets or do business in totally new ways. This includes:

• Managed Data Network Services • Managed Electronic Transaction Services • Managed Internet and Intranet Services • Managed Messaging and Collaborative Services • Network Outsourcing Services

To find out more information about IBM Global Services, you can go to their Web site at: www.as.ibm.com

If you follow the Professional Services link to Application Enabling Services , you arrive at a Web site that mentions Baan products.

F.2 Defect Support

All problems and defect reports are usually channelled through the Baan Global Support organization. The normal process of defect management and escalation are followed by IBM and Baan. The TSC can be contacted in special situations to seek assistance and information on problems reported by their customers. Figure 232 displays a typical flow of a customer call from the initial problem inquiry time up to the final problem resolution.

Figure 232. AS/400 BaanERP Defect Support

F.2.1 Baan Support Services

Baan Global Support provides the comprehensive support required by large enterprises, or by smaller-sized companies that rely on their Baan solution as a mission-critical business system. Baan customers receive:

Baan Customer, System Implementor

Baan Global Support

IBM ERP Solution Pre-Sales

Technical Support

IBM Baan International Competence Center (ICC)

AS/400 Technology Solutions

Center (TSC)

In the USA?

International Screen Team

(IST)

Geographic Support

AS/400 World Wide Technical Support

AS/400 Problem

Yes

No

292 BaanERP Implementation for AS/400

• Telephone support for any technical question, provided by the local Baan Support Center during the customer’s office hours.

• Critical Incident Support for high-priority issues that cannot wait and for which there is no workaround available. Twenty-four hours a day, Critical Incident Support addresses technical issues that create business standstills or serious disruptions of a major business function, as defined by the customer.

• Access to an Interactive Support Web site that is available to the customer around the clock, seven days a week.

• A subscription to Innovation, which includes new versions, releases, updates, and patches to the customer’s existing Baan software.

F.2.1.1 Baan Support Regional HeadquartersTo contact Baan Global Support, begin by obtaining the following information:

• Baan customer number • The Baan product where the problem is occurring (this is a combination of the

package, version, and release number) • The steps needed to recreate the problem

After this information is ready, you can call or fax your problem to the Baan Global Support center nearest you. Here is a list of the available centers:

• Americas Baan Global Support

6000 28th Street SEGrand Rapids, MI 49546Phone +1 800 925 2226(toll-free US & Canada only)Fax +1 616 942 8167

• Europe/Middle East/Africa Baan Global Support

Horapark 46717 LZ EdeThe NetherlandsPhone +31 (0)318 644444Fax +31 (0)318 644000

• Asia/Pacific Baan Global Support

9 Temasek Boulevard #44-01Suntec City Tower 2SingaporePhone +65 336 8600Fax +65 336 8700

Note: After contacting Baan Global Support, you receive a log number for your call. Always keep this number near you in case you need to contact Baan to work on your problem further.

F.2.1.2 Interactive Support Web SiteBaan customers have access to an Interactive Support Web site that is a 24-hour source for software updates and support information of all kinds. Through the Interactive Support Web Site, a customer can:

• Search Baan's global knowledge base for answers to already-resolved support issues

Support for BaanERP 293

• Register new support questions

• Check the resolution status of existing support questions

• Explore the Product Advisory Report, a proactive report of known product issues that is updated monthly

• Browse the latest product updates

• Download software updates

• Read the on-line information source, The Support Column

The Interactive Support Web Site is user ID and password protected, so you have to contact Baan Global Support for this before attempting access. The Web site (Figure 233) for this information is at: www.support.baan.com

Figure 233. Baan Customer Support Web Site

F.2.1.3 Subscription to InnovationA subscription to Innovation is included with every Baan Global Support agreement. This provides the customer with:

294 BaanERP Implementation for AS/400

• Baan software updates for their configuration, and access to new capabilities. This benefit is especially important under the BaanSeries product strategy, which replaces major software releases with frequently updated, "assemble to order" software business objects.

• Compatibility and expandability as the customer’s company enhances its Baan system. As new software standards and innovations emerge, the upgrade path is a smooth one.

For more information about Baan support, go to their Web site at www.baan.com Select the link: Services—>Support .

F.2.2 IBM AS/400 Support Services

When a customer purchases software from IBM, they receive free support called program services. For an additional fee, they can receive access into the AS/400 Support Line. This section goes into more detail regarding the various levels of support.

F.2.2.1 Program ServicesProgram services are available to customers at no additional charge and can be used if an error suspected in IBM software. It is not intended for usage support. AS/400 system specialists help determine and solve the software problem and assist the customer in ordering software fixes (called Program Temporary Fixes, PTFs) from IBM. For program service support, customers can use Electronic Customer Support (ECS), which is the OS/400 function that allows electronic communications between the AS/400 system and IBM, facsimile, or US mail. Here are the ways to access them:

• ECS

1-800-527-8207 (used for ZIP codes 0XXXX-3XXXX)1-800-327-0949 (used for ZIP codes 4XXXX-9XXXX)

• Fax

1-800-288-9584

• US mail

IBM Corporation3605 Highway 52 NorthDept. 909/Bldg. 002-2Rochester, MN 55901

If a Support Line contract is purchased, customers can receive program services support over the telephone.

F.2.2.2 Support LineIf a customer desires usage and voice support, there is a service offering called Support Line, which is available in both monthly or hourly forms. Depending on the contract, users can call with usage or defect questions 24 hours-a-day, seven days-a-week by calling 1-800-237-5511.

The following information is required when using Support Line:

Support for BaanERP 295

• IBM Customer Number • AS/400 Machine Type • AS/400 Serial Number • Support Line Access Number (Support Line Hourly customers only)

To streamline support calls, when reporting a problem to IBM, the following information should be available:

• Problem software product name, version, and release level • Currently installed cumulative PTF number • Problem symptom • Message numbers (IDs) with message text and return codes • The steps needed to recreate the problem (if possible) • Actions already taken • AS/400 job log

Note: After contacting AS/400 Support, you receive a Problem Management Record (PMR) number for your call. Always keep this number near you in case you need to contact IBM to work on your problem further.

F.2.2.3 Consult LineWhen the call goes beyond normal usage or defects, Consult Line is available. It provides telephone access to a group of AS/400 technical experts at IBM's Manufacturing and Development site in Rochester, Minnesota, on an hourly basis. Consult Line has consultants available for such areas as:

• Interpretations • Recommendations • Analysis • Programming and application design • Performance Analysis and capacity planning • Skill intensive items • Data recoveries such as tape, diskette, optical platter, an so on • Explanation of why things are the way they are • "How to" and "step-by-step" help • Supported and un-supported products or releases • OEM devices with the AS/400 system • PRPQ support (many)

For more information on AS/400 support, please call 1-800-237-5511 and choose the marketing option.

F.2.2.4 AS/400 Support Web SiteAll AS/400 customers have access to an AS/400 worldwide technical services and support Web site. Through the support Web site, a customer can:

• Report a suspected software defect to IBM or ask technical questions directly to support personnel using the Internet if they are an AS/400 Monthly Support Line customer and are registered to use the Internet Facility.

• Order Program Temporary Fixes (PTFs) by the Internet if they are an AS/400 Monthly Support Line customer and are registered to use the Internet Facility.

• Find out the latest in AS/400 news and events.

296 BaanERP Implementation for AS/400

• Check out the AS/400 Institute which provides a single source of information to help individuals identify what is required to obtain new, or grow existing, AS/400 skills.

• Link to technical information databases such as:

– AS/400 Software Knowledge Base – AS/400 Software Problem Database (APARS) – AS/400 PTF Cover Letters – Preventive Service Planning (PSP) – Client Access Service Information – US Support Center Direct Access Phone Codes

• Link to fixes, drivers, and updates such as:

– The AS/400 software download library – The IBM software download library – AS/400 Freeware, Shareware, and Public Domain Software

• Link to such technical publications as:

– AS/400 Technical Overviews – AS/400 On-line Library – IBM Redbooks – IBM BookManager library – AS/400 Magazine (an IBM publication) – News400 Magazine – Midrange Computing Magazine – White papers on data management – IBM Technical Journals

• Link to education and certification including:

– AS/400 Web Builder's Workshop – IBM Partners in Education – AS/400 Sales School – AS/400 Education, Certification, and Publications – AS/400 Independent Training Providers – AS/400 Curriculum Spotlight – Colleges and Universities providing AS/400 curriculum

• Link to interesting sites such as:

– AS/400 Year 2000 support – IBM Announcements – iSource - IBMs Information Service

To access this information, go to the Web site: as400service.ibm.com/as400/service.html

To use AS/400 specific search engine, go to the Web site: www.search400.com/

F.2.2.5 AS/400 Informational APARsAn AS/400 system informational Authorized Program Analysis Report (APAR) is available for BaanERP that lists the current recommended PTFs and cumulative package level that BaanERP customers should have on their system. The informational APAR for V4R3 is II11434.

Support for BaanERP 297

F.2.2.6 Contact Phone NumbersHere is a convenient list of telephone reference numbers available from IBM that provide access to IBM product marketing or support information:

1-800-IBM-4YOU Provides information about any IBM Solutions or Services.1-800-IBM-IBM0 This is the AS/400 Competency Center. Provides

information about various AS/400 offerings.1-800-IBM-2YOU Provides information on PC products you want to order.1-800-IBM-CALL This is IBM Direct. Provides information for other systems

and software products.1-800-237-5511 Provides IBM software technical services and support.1-800-IBM-SERV Provides IBM hardware technical services and support.1-800-879-2755 Provides information about ordering IBM publications and

media.1-800-IBM-TEAC(H) This is IBM Education and Training Customer Service.

Provides information about IBM education or courses.

F.3 Additional Sources of Information

This section describes some additional sources of IBM and Baan information that is not specifically marketing or support oriented. These are included so that a user can find out more information about IBM and Baan.

F.3.1 IBM Web Site

The main IBM Web site is located at: www.ibm.com .

F.3.2 AS/400 Web Site

The main AS/400 Web site is located at: www.as400.ibm.com It can also be found at: as400.rochester.ibm.com

F.3.3 COMMON

COMMON is the world’s largest group of IBM and IBM-compatible information technology users. It is an international professional association serving the Global Community of organizations and individuals who have an interest in IBM-related technology. COMMON provides a member forum for developing proactive solutions to challenges attributed to technology evolution and business requirements, and provides preeminent leadership in education. Members receive unparalleled educational benefits that facilitate the effective use of information systems and enhance professional growth. It also promotes multiple vehicles for communication, an environment that encourages information exchange through interpersonal knowledge sharing, and a level of support otherwise unavailable in the information technology industry. COMMON influences the information industry through its ability to synthesize and communicate member requirements representative of the information technology community. For AS/400 users, COMMON is a way to get together with other companies and users using an AS/400 system.

Some of the benefits of becoming a COMMON member are:

• COMMON National Conferences —Two national conferences are held each year. These five-day events feature more than 850 technical, management, and industry-related sessions, with lectures and labs, plus the COMMON Expo, the industry's largest vendor exhibition. More than 3,500 attendees per

298 BaanERP Implementation for AS/400

conference (industry peers, top IBM executives, and major vendors) participate in the ultimate learning experience. You must be a member to attend.

• COMMON Regional Events —Recognizing the need for timely knowledge, COMMON stages several Regional Events each year. These events provide the most up-to-date education for IBM users at a local level. Members have access to sessions at various geographic locations all year.

• Publications —COMMON Knowledge is a magazine-style journal to help you keep up with the technology, including case studies, tutorials, industry future-views, and more.

• Requirements System —The Requirements System enables members to submit major concerns about products and services to IBM and midrange vendors 365-days-a-year. More than 1000 COMMON member requests have become features, functions, products, and services as a result of this process.

• Top Concerns Process —Top Concerns focus on high-level strategic issues such as product direction and overall industry concerns. Members vote annually, and the results are presented to IBM and the midrange industry. The 1997 Top Concerns and the 1997 Global Top Concerns can be found on their Web site.

• COMMON Support Network —Discover an unparalleled pool of peers and experts (one of the unique features of COMMON is the willingness of members to share solutions and information). This sharing in itself is worth the membership fee!

For more information about membership in COMMON you can contact COMMON directly at:

COMMON Headquarters

P.O. Box 809253Chicago, IL 60680 - 9253Phone: 312-245-5172 or 800-270-6734Fax: 312-644-0297

To find out more information about COMMON, go to their Web site at: www.common.org

F.3.4 Baan Web Site

The main Baan Web site is located at: www.baan.com

F.3.5 BaanERP Web Site

From the main Baan Web site www.baan.com, select the Software Products link and then BaanERP. This takes you to the BaanERP Web site.

F.3.6 Other Baan Web Sites

Baan has realized that the World Wide Web and the Internet is the shared platform for all of its members. On a global basis, there are more than 150 solution partners in over 50 countries that work closely together with Baan in the areas of product development, sales, consulting, and support. Baan calls this web

Support for BaanERP 299

the "Baan Web" and the members in the Web their Webpartners. Here are some links to these sites:

• www.baan.nl (Baan Main Homepage - Dutch) • www.baan-bbs.nl (Baan Business Systems - Dutch) • www.baanbusiness.com (Baan Business Innovation (BBI) Main Homepage)

F.3.7 Baan World Users

Another valuable source of information for Baan software is Baan World Users (BWU). BWU was started in 1993 when eight companies decided to combine their resources to create an active group for Baan users. Membership now stands at over 280 customers and partners internationally. This group is fully independent and is the single largest Baan users group. BWU is totally funded by its members and the sponsors at its various events. It also allows the user to be a collective voice to Baan and their Solution Partners, which provides a faster resolution of common concerns and a greater influence over future product direction.

BWU meets twice a year, once in the spring at BaanWorld and again in the fall at the BWU workshop. BaanWorld is an annual event organized by Baan in which users are invited to see the latest development within Baan. The BWU fall workshop is exclusively designed for BWU members. Attending these two events gives any user or implementer the benefit of building a link with the Baan user community.

To find out more information about BWU, you can go to their Web site at: www.bwu.org

To join BWU just follow the link BWU Membership Application and fill out the on-line form, or contact BWO directly at:

BWU Management Office

352-401 Richmond St. WestToronto, Ontario, CanadaM5V 3A8 Phone: 416-593-1792Fax: 416-593-8771Email: [email protected]

F.3.8 BaanWorld

BaanWorld is put on by Baan to showcase new products and allow users of Baan to gather together. Some of the events that happen at BaanWorld are:

• Exhibitors are on hand to show the latest developments in tools, technology, and services to maximize a customer’s return on investment in Baan.

• Special interest group meetings occur for Aerospace and Defense, Automotive, Core Manufacturing, Electronics and Construction.

• The latest in training materials, on-line and CD based learning, is displayed, as well as the available courses and schedules.

• Baan World Users (BWU) are on hand as stated before. • There are many concurrent breakout sessions, split into streams to help a user

focus on a particular area of interest. Some of the more common sessions are:

300 BaanERP Implementation for AS/400

– Customer Management, including Field Service – Supplier Management, including Supply Chain – General Business – Tools & Technology – Industry Specific – Implementation Management and DEM – Finance – Electronic Commerce, Internet and Intranet – Professional Services

To find out more information about Baanworld, you can go to their Web site at: www.baanworld.com

F.3.9 Baan Education or Training

Like any other software product or environments, Baan is a powerful and detailed product that requires education and training on the part of the end user to fully utilize it. The Baan Global Support centers were not designed to handle problems from users who do not even know Baan. As such, a certain degree of knowledge is expected before a call is placed. Baan has various training centers throughout the world to train a user on Baan software.

A user can learn the basics of navigation or take specialized courses. The training can be instructor based in a live class or can be media based using a PC with a CD-ROM, which is sometimes called Computer Based Training (CBT). There are also courses available that can be customized for an end-user or organization.

Baan also provides certification and accreditation programs. Certification is meant for consultants. It ensures that they are fully prepared for the entire life cycle of Baan system management including planning, implementation, production, and maintenance. Certification verifies an individual's content, or subject matter, and knowledge. The next step is accreditation verifies an individual's ability to transfer knowledge in a classroom setting.

For those users that require reference manuals for Baan products, Baan provides documentation or manuals in a few different forms. There is a standard set of 26 manuals, which includes all the basics for setting up and using BaanERP products and a deluxe set of 48 manuals, which includes details on the advanced and technical functions. Manuals can be purchased individually. KnowledgeQuest 4.0 is also available. It packs all of the information for all 50 user manuals onto a single CD-ROM. A convenient feature of this is that because it runs on a server, it can be accessed by many users at once (even remote users), eliminating the need for multiple sets of reference manuals. Baan also provides roadmaps to help users with the Baan education curriculum and courses.

To register for any class or order any product, a user can either call 888-597-2700 or send an e-mail to [email protected] . In Europe , a user can call 00800 2226 3382 or +31 (0)342 47 76 77, or send e-mail to [email protected] .

To find out more information about the Baan education mentioned above, go to their Web site at www.baan.com and select link Services—>Education .

Support for BaanERP 301

F.3.9.1 Baan InstituteIn 1994, Baan launched a new concept called the Baan Institute. It is a school that was designed to teach both system applications and the concept of business. They provide recruitment services for Baan partners and extensive professional training programs tailored to the needs of the different target audiences, such as junior consultants, senior consultants, developers, and so on.

The Baan Institute is a meeting point for university graduates and partners wishing to expand their junior consultant headcount. It provides the latest information and research findings in the areas of Business Processes and IT.

The Baan Institute has a facility in Putten (The Netherlands) and Hyderabad (India) and will open facilities in Reston, Virginia (US) and Hannover (Germany) later.

To find out more information about the Baan Institute, go to their Web site at: www.baan-institute.com

302 BaanERP Implementation for AS/400

Appendix G. Supplementary and Complementary Products

This appendix lists the supplementary and complementary products for both the BaanERP environment and the AS/400 system. Depending on the environment supported, some or all of the products listed are needed.

G.1 AS/400 Licensed Program Products and Features

The AS/400 system has supplementary products called Licensed Program Products. These products can be a feature to a licensed product, or a licensed product in itself. Most of these features or licensed program products are chargeable. The cost of these products can be charged by the processor group or by the number of concurrent uses or users.

Pricing of these products is not shown. These Licensed Program Products should be discussed with your BaanERP software and hardware providers for the environment supported.

G.1.1 AS/400 Operating System (OS/400) Features

As stated before, these features are add-ons to the operating system. Some or all may be needed for the BaanERP environment supported.

G.1.1.1 Chargeable • 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 • Media and Storage Extensions—Feature Code 2619 (A prerequisite feature

for using BRMS/400)

G.1.1.2 Nonchargeable • 5763-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

Other nonchargeable features are included. However, the only ones that may be of interest for a BaanERP environment are listed. The feature codes or program product numbers may change as the operating system or program product is enhanced.

G.1.2 AS/400 Licensed Program Products

These licensed program products are not necessary, but allow better management and operations of the AS/400 system and the BaanERP environment. These licensed program products include:

• 5798-AF3 AFP PrintSuite for OS/400 • 5769-BR1 Business Recovery and Media Services (BRMS/400) • 5769-AF1 AFP Utilities for AS/400 • 5769-CX2 ILE C for AS/400 • 5769-FNT AFP Fonts for AS/400 • 5769-MG1 Managed Systems Services AS/400

© Copyright IBM Corp. 1998 303

• 5769-PT1 Performance Tools/400 • 5769-PW1 Application Development Toolset for AS/400 • 5769-ST1 DB2 Query Manager and SQL Development Kit for AS/400 • 5769-XW1 AS/400 Client Access for Windows (minimum of one license) • 5799-FWQ OptiMover for AS/400

For additional information and a detailed description of these features and licensed program products, please refer to the IBM AS/400 System Handbook, GA19-5486.

G.2 Baan Solutions

Baan’s software alliances bring added an openness, robustness, and flexibility to Baan's software solutions. They also give Baan customers a high level of interoperability with complementary software applications. Baan works with its alliances from an engineering standpoint to ensure that the resulting products are well-integrated by offering increased levels of connectivity within the Baan software environment, generic APIs, Business Object Interfaces (BOIs), data dictionary interfaces, a data exchange module, and distributed data.

G.2.1 The BaanCAPPS Program

The Baan Company’s Certified Applications Program (BaanCAPPS) provides Baan customers with alliance software solutions that are truly connected to the Baan application. These connections provide a seamless exchange of data between a third party software application and the Baan application. The program operates by working with other application software companies to determine how they can connect to the Baan application in a way that best meets the needs of Baan customers or the marketplace. The result of going through the BaanCAPPS program is a certified integration that is expected to be reusable and generally available for a wide variety of customers.

G.2.2 Directory of Baan Software Alliances

This section lists the names of the Baan software alliance members. Please see the following table.

Table 4. Directory of Baan Software Alliances

Company Name Solution Area

Acta DSS

Alfa Laval Warehouse Management

Applied Automation Techniques (AAT) Time and Attendance

Aspect Development Component and Supplier management

Atrion International MSDS Reporting

BaanPDM Enterprise Information Management

Best Software Fixed Asset Reporting

BMC Software Systems and Network Management

Broadbase DSS

Business Objects, Inc. DSS

304 BaanERP Implementation for AS/400

Cognos Reporting

CommercePath Fax Management

Compuware EcoTools Systems Management

Connectware Barcode

CrossRoute Inter-Enterprise Workflow

CrossWorlds Processware

Cyborg Systems HRMS, Payroll

Delaware-Computing Quality Management

Epic Data DDC Subsystems, Barcode

Epiphany DSS

EXLibris Barcode

Fenestrae Fax Management

FRx Financial Reporting

GEIS EDI

Geneva Systems Time and Attendance, Shop Floor Data Collection

Harbinger Corporation EDI, Electronic Commerce

Hyperion Software Financial Accounting, Budgeting

i2 Technologies, Inc. Intelligent Planning and Scheduling

Information Advantage DSS

Information Builders Data Management and Reporting

Interactive Software Systems, Inc. Query and Reporting

Intermec Technologies Corporation DDC Subsystems, Barcode

Legato Database Backup

Manugistics Supply Chain Planning

McHugh Supply Chain Management

Mercury Interactive C/S Testing Solutions

Meta4 HR Management

New Dimensions Consulting Expertise

Numetrix Supply Chain Management

Optio Output Management, Electronic Forms

Oracle Discover/2000 (Reporting)

Platinum Technology Systems Management, Job Scheduling, Data Warehouse Tools

Company Name Solution Area

Supplementary and Complementary Products 305

Please send questions regarding Software Alliances to: baanca [email protected]

G.2.2.1 ACTAACTA develops and markets a suite of solutions by which companies can build and maintain enterprise data warehouses and data marts from Enterprise Resource Planning (ERP) applications. ACTA’s solutions are built around a core extraction, transformation, and loading tool that extracts data from ERP applications and non-ERP sources, transforms and cleanses the data, and loads it into a data warehouse or data mart. Certification is pending.

Main Contact:

• Email: [email protected], • Phone: (650) 691-2500 • http://www.acta.com

G.2.2.2 Alfa LavalAlfa Laval is a software provider for Warehouse Management Systems. Certification is pending.

Proloq BV Management of Dimensions within Logistical Processes

PSDI Plant Maintenance

Quest Software Output Management

Richard Morton Company Business Solutions

SCH Technologies Enterprise Fax Management, Database Backup Utilities

Seagate Software/Crystal Reporting

SigForms Document Management

St. Paul Software EDI

Sterling Commerce EDI, Electronic Commerce

Symbol Technologies DDC Subsystems, Barcode

Taxware International Sales and Use Tax

Tinoway Remote Field Service

Tivoli, Inc. Maestro

TopTier Software Hyper Data

Vastera Export Docs

Vertex Sales and Use Tax

Welcom Project Management

Zebra Barcode

Company Name Solution Area

306 BaanERP Implementation for AS/400

Main Contact:

• Email: [email protected] • Phone: +46.46.36.70.00 (Sweden) • http://www.alfalaval.com/alfalaval/

G.2.2.3 Applied Automation Techniques (AAT)AAT develops and implements manufacturing and distribution execution systems that interface real-time to business systems; providing systems for time and attendance or labor and collection or material movement; warehouse management; packing automation and shipping manifesting; and quality assurance. Certification is pending.

Main Contact:

• Email: [email protected] • Phone: (305) 819-4000 • http://www.aatech.com

G.2.2.4 Aspect DevelopmentAspect Development, Inc. is a software, data content, and services company providing component and supplier management (CSM) solutions to manufacturers. This company is a Baan Development Partner and is BaanCAPPS certified.

Main Contact:

• Email: [email protected] • Phone: (800) 941-1046 • http://www.aspectdv.com

G.2.2.5 Atrion International, Inc.Atrion International, Inc. is a developer of advanced, innovative software solutions for the management of chemicals in the workplace, transportation, and environment. Atrion is a developer of global environmental health, safety, and transportation (EHS&T) software solutions that allow corporations to safely and cost-effectively manage and distribute hazardous materials in accordance with regulatory compliance standards. Certification is pending.

Main Contact:

• Email: [email protected] • Phone: (877) 4ATRION • http://www.atrion.ca/

G.2.2.6 BaanPDMBaanPDM manages all digital information throughout the enterprise including engineering, manufacturing, maintenance, purchasing, and sales documents. BaanPDM’s enterprise-wide capabilities and multiple interfaces quickly provide all information connected to the life cycle of a product. This company is a Baan Development Partner and is BaanCAPPS certified

Main Contact:

• Email: [email protected] • Phone: (248) 799-8900 • http://www.baanpdm.com

Supplementary and Complementary Products 307

G.2.2.7 Best SoftwareBest Software is a developer and publisher of highly specialized human resource, budgeting, and fixed-asset management solutions that extend the functionality of core accounting systems. Best Software is BaanCAPPS certified.

Main Contact:

• Phone: (703) 709-5200 • http://www.bestsoftware.com

G.2.2.8 BMC SoftwareBMC Software, Inc. is a developer and vendor of Cooperative Enterprise Management Solutions that improves the management of business-critical applications and data, and optimizes the performance of mission critical data in complex computing environments. BMC Software partners with leading vendors throughout the computer industry to provide its customers with integrated enterprise-wide data, system, application, and network management solutions. BMC is BaanCAPPS certified.

Main Contact:

• Phone: (800) 841-2031 • http://www.bmc.com

G.2.2.9 BroadbaseBroadbase Information Systems provides turn-key data mart solutions to the decision support industry. Broadbase provides analytical applications for comprehensive decision support infrastructures. This company is a Baan Development Partner and is BaanCAPPS certified.

Main Contact:

• Phone: (650) 614-8300 • http://www.broadbase.com

G.2.2.10 Business Objects, Inc.Business Objects provides a solution for enterprise decision support. Business Objects offers integrated end user tools, administration products and interfaces to packaged application interfaces. It complements its product offerings with a complete range of customer support and services. Certification is pending.

Main Contact:

• Email: http://www.businessobjects.com/fcontact.htm • Phone: (800) 527-0580 • http://www.businessobjects.com

G.2.2.11 CommercePathCommercePath provides software in the production fax and messaging server market by offering document delivery and receipt solutions integrated with mainframe, client/server, and LAN applications. Certification is pending.

308 BaanERP Implementation for AS/400

Main Contact:

• Email: [email protected] • Phone: 800.600.4329 • http://www.commercepath.com/

G.2.2.12 CognosCognos is a software supplier of enterprise business intelligence tools, allowing users to easily extract critical information through data access, reporting, analysis and forecasting. Certification is pending.

Main Contact:

• Email: http://www.cognos.com/contact/sales_inquiry.html • Phone: (800) 426-4667 • http://www.cognos.com

G.2.2.13 CompuwareCompuware's products focus on helping IT professionals optimize the business applications that run the world's largest organizations. Compuware’s products are designed to support three key activities within the application development process: building the application (Build), testing it (Test), and optimizing its performance in production (Manage). Compuware is BaanCAPPS certified.

Main Contact:

• Phone: (248) 737-7300 • http://www.compuware.com

G.2.2.14 ConnectwareConnectware is a provider of Automated Data Collection solutions using barcode technology. Barcode technology enables companies to better manage integral parts of their business by increasing accuracy and efficiency while reducing costs. Connectware provides all of the essential hardware, software, and services its customers need to seamlessly integrate electronic data capture with their corporate information systems. Certification is pending.

Main Contact:

• Email: [email protected] • Phone: (514) 287-1854 • http://www.connectware.ca

G.2.2.15 CrossRouteCrossRoute Software provides cross-enterprise electronic commerce solutions that address how to streamline processes with suppliers, distributors, and customers. The CrossRoute Alliance product is cross-enterprise software that links your company to external business partners. It does this by connecting enterprise systems over the Internet or extranet, which enables business information to flow between your enterprise and your partners' in a controlled, secure environment. Certification is pending.

Main Contact:

• Phone: (800) 411-2434 • http://www.crossroute.com

Supplementary and Complementary Products 309

G.2.2.16 CrossWorldsCrossWorlds Software offers enterprise application software that integrates leading packaged applications by providing cross-application business process functionality. CrossWorlds provides solutions targeted at supporting the leading enterprise resource planning (ERP), customer interaction and human resources (HRMS) applications. Certification is pending.

Main Contact:

• Email: [email protected] • Phone: (650) 685-9000 • http://www.crossworlds.com/home.html

G.2.2.17 Cyborg SystemsCyborg Systems is an international provider of human resources, payroll, benefits administration, and time and attendance software solutions. Cyborg is BaanCAPPS certified.

Main Contact:

• Email: [email protected] • Phone: (800) 4CYBORG • http://www.cyborg.com

G.2.2.18 Delaware-ComputingDelaware-Computing is an independent supplier of information technology for the industrial sector providing laboratory automation and quality management solutions. This company is a Baan Development Partner and is BaanCAPPS certified.

Main Contact:

• Email: [email protected] • Phone: (302) 996-0490 • http://www.delaware-computing.com

G.2.2.19 Epic DataEpic Data International Inc. is a supplier of data collection solutions for the enterprise. Epic Data designs and implements automated data collection (ADC) systems that improve operational productivity, data accuracy, and data integrity for organizations with Enterprise Resource Planning (ERP) systems architecture. Epic Data is BaanCapps certified.

Main Contact:

• Phone: (303) 527-0100 • http://www.epicdata.com

G.2.2.20 EpiphanyEpiphany is a provider of software applications and solutions within Enterprise Relationship Management (ERM). Epiphany allows a company to achieve an integrated enterprise approach to the entire customer relationship by tying together the information that already exists in sales, marketing, service, finance, and manufacturing. Certification is pending.

310 BaanERP Implementation for AS/400

Main Contact:

• Email: [email protected] • Phone: (650) 496-2430 • http://www.epiphany.com

G.2.2.21 EXLibrisEXLibris (EXL) provides software to improve operating performance through real-time data collection, control, and reporting. This allows users to more effectively utilize MRP and ERP systems by deploying automated data collection and control to the execution level of an enterprise. EXL systems manage product configuration, control inventories, track lots, measure and report product quality, control material movements, record product manufacturing history, and collect information to support production testing, repair, and design improvements. EXLibris is BaanCAPPS certified.

Main Contact:

• Phone: (510) 438-4477 • http://www.exl.com

G.2.2.22 FenestraeFenestrae offers integrated fax and messaging solutions. The principal product, Faxinationâ, is sold through a worldwide network of value added resellers and distributors. Certification is pending.

Main Contact:

• Email: [email protected] • Phone: (770) 622-5445 • http://www.fenestrae.com

G.2.2.23 FRxFRx Software Corporation provides financial and management reporting capabilities to organizations around the world. The company's mission is to provide solutions that allow financial and accounting professionals to consolidate, develop, and disseminate current and meaningful financial information to end users without involving overburdened IT departments. FRx is BaanCAPPS certified.

Main Contact:

• Email: [email protected] • Phone: (800) FRx-TREE • http://www.frxsoft.com

G.2.2.24 GEISGE Information Services inter-networks companies with their business partners through the power of electronic commerce. GEIS provides solutions for the extended supply chain. This includes Electronic Data Interchange, messaging gateways, extranets, electronic catalogues, and electronic marketplaces. Certification is pending.

Supplementary and Complementary Products 311

Main Contact:

• Email: http://www.geis.com/html/contindx.html • Phone: (800) 560.GEIS • http://www.geis.com

G.2.2.25 Geneva SystemsGeneva Systems is a provider of Automated Data Collection solutions using barcode technology. Barcode technology enables companies to better manage integral parts of their business by increasing accuracy and efficiency while reducing costs. Geneva Systems is BaanCAPPS certified.

Main Contact:

• Email: [email protected] • Phone: (800) GENEVA.8 • http://www.genevasystems.com

G.2.2.26 Harbinger CorporationHarbinger Corporation is a provider of e-commerce software, services, and solutions. the company provides comprehensive and scalable e-commerce software and value added network services for desktop, midrange, and mainframe systems, and meets the market needs for Internet and Web commerce solutions. Harbinger is BaanCAPPS certified.

Main Contact:

• Email: [email protected] • Phone: (800) 578-4334 • http://www.harbinger.com

G.2.2.27 Hyperion SoftwareHyperion Software provides solutions for better business understanding and improved financial performance. Hyperion's Internet-enabled applications support and enhance enterprise-wide processes including planning, budgeting, forecasting, consolidation, and business analysis. This company is a Baan Development Partner and is BaanCAPPS certified.

Main Contact:

• Email: [email protected] • Phone: (800) 286-8000 • http://www.hyperion.com

G.2.2.28 i2 Technologies, Inc. i2 Technologies is a provider of intelligent planning and scheduling software for global supply chain management firms. Intelligent supply chain management represents an opportunity for increasing market share, cash flow, and profits. Certification is pending.

Main Contact:

• Email: [email protected] • Phone: (800) 800-3288 • http://www.i2.com

312 BaanERP Implementation for AS/400

G.2.2.29 Information AdvantageInformation Advantage develops and markets enterprise on-line analytical processing (OLAP) software applications and toolsets. Information Advantage offers a scalable, enterprise OLAP business analysis solution and technology for data warehouses and data marts. Certification is pending.

Main Contact:

• Email: [email protected] • Phone: (612) 833-3700 • http://www.infoadvan.com

G.2.2.30 Information BuildersInformation Builders offers software and services that are used in the design of enterprise reporting and decision support systems, data warehouses, cross-platform application development, and integrated application solutions. These software solutions all share a common middleware architecture for enterprise data access. Certification is pending.

Main Contact:

• Email: [email protected] • Phone: (212) 736-4433 • http://www.ibi.com

G.2.2.31 Interactive Software Systems, Inc. (ISSI)Information Systems and Services, Inc. (ISSI) is an information systems development and management company. Their Safari InfoTOOLS is a set of client/server based tools that delivers ad hoc and production report writing capabilities for the Baan community in a graphical user interface. This company is a Baan Development Partner and is BaanCAPPS certified.

Main Contact:

• Email: [email protected] • Phone: (301) 588-3800 • http://www.issinet.com

G.2.2.32 Intermec CorporationIntermec Technologies Corporation is a software supplier in the development, manufacture, and integration of automated data collection and mobile computing systems. They service customers in multiple industries to improve productivity, quality, and responsiveness of business operations, from supply chain management and enterprise resource planning to field sales and service. Intermec is BaanCAPPS certified.

Main Contact:

• Email: [email protected] • Phone: (800) 347-2636 • http://www.intermec.com

G.2.2.33 LegatoLegato Systems, Inc. is a provider of network-wide data storage management software. Their products simplify administration by providing a family of scalable

Supplementary and Complementary Products 313

storage management software products that deliver the right solution at the right price. Certification is pending.

Main Contact:

• Email: http://www.legato.com/sales/so_na.html • Phone: (650) 812-6044 • http://www.legato.com

G.2.2.34 ManugisticsManugistics' solutions for customer-centric supply chain optimization allow its clients to create and optimize their supply chains around their customers and are quick to implement, adapt easily to change and deliver rapid results. Certification is pending.

Main Contact:

• Email: http://www.manugistics.com/USMB/frm_co.htm • Phone: (301) 984-5263 • http://www.manugistics.com

G.2.2.35 McHughMcHugh Software International's product suite includes warehousing, transportation, and labor management solutions pre-configured for enterprise and mid-market logistics needs. These execution-based products, when integrated together, create McHugh's comprehensive Logistics Execution Systems (LES). LES is a business solution integrating these three critical components of the supply chain. Certification is pending.

Main Contact:

• Email: [email protected] • Phone: (800) 990-2632 • http://www.mfa.com

G.2.2.36 Mercury InteractiveMercury Interactive Corporation’s automated client/server testing solutions facilitates corporate IS organizations, system integrators, and independent software developers that identify client/server, Web application, and system errors. Mercury Interactive is BaanCAPPS certified.

Main Contact:

• Email: http://www.merc-int.com/company/contact.html • Phone: (800) TEST-911 • http://www.merc-int.com

G.2.2.37 Meta4Meta4 specializes in the development of software for human resource management. This company is a Baan Development Partner and is BaanCAPPS certified.

Main Contact:

• Email: http://www.meta4.es/fflin0i.htm • Phone: (770) 399-3139 • http://www.meta4.es/

314 BaanERP Implementation for AS/400

G.2.2.38 MicrosoftMicrosoft creates software for the personal computer in the workplace, at school, and at home. Microsoft is BaanCAPPS certified.

Main Contact:

• Email: http://register.microsoft.com/regwiz/regwiz.asp • Phone: (425) 882-8080 • http://www.microsoft.com

G.2.2.39 New DimensionsNew Dimensions provides consulting expertise in high-tech information systems and corporate management. New Dimensions is BaanCAPPS certified.

Main Contact:

• Email: [email protected] • Phone: (609) 921-0606 • http://www.ndcico.com

G.2.2.40 NumetrixNumetrix is a software provider of enterprise-wide supply chain management software solutions. Certification is pending.

Main Contact:

• Email: http://www.numetrix.com/numetrix3/information/inforeq.html • Phone: (800) 555-2173 • http://www.numetrix.com

G.2.2.41 OptioOptio Software is an industry provider of integrated electronic forms output customization and delivery systems. Certification is pending.

Main Contact:

• Email: [email protected] • Phone: (770) 283-8500 • http://www.optiosoftware.com

G.2.2.42 Oracle Oracle Corporation is a supplier of software for enterprise information management providing education, consulting, support and software products, and services for enterprise technology business infrastructure. Oracle is BaanCAPPS certified.

Main Contact:

• Email: http://www.oracle.com/siteadmin/html/email.html • Phone: (800) ORACLE1 • http://www.oracle.com

G.2.2.43 Platinum TechnologyPlatinum Technology, Inc. provides system management software products and consulting services that improve IT infrastructures. Certification is pending.

Supplementary and Complementary Products 315

Main Contact:

• Email: http://www.platinum.com/mail.htm • Phone: (800) 442-6861 • http://www.platinum.com

G.2.2.44 Proloq BVProloq BV provides IT solutions for dimension-related industries, including cable and wire and steel and paper, on the basis of Baan software. This company is a Baan Development Partner and is BaanCAPPS certified.

Main Contact:

• Email: http://www.proloq.com/mail.htm • Phone: +31 (0)318 587777 (The Netherlands) • http://www.proloq.com

G.2.2.45 PSDIPSDI develops, markets, and supports applications software used by businesses, government agencies, and other organizations to assist them in maintaining high-value capital assets such as plants, facilities, and production equipment. Certification is pending.

Main Contact:

• Phone: (781) 280-2000 • http://www.psdi.com

G.2.2.46 Quest SoftwareQuest Software provides output management software. Certification is pending.

Main Contact:

• Email: [email protected] • Phone: (800) 306-9329 • http://www.quests.com

G.2.2.47 Richard Morton Company (RMC)RMC is a provider of customer-specific business solutions offering sales, service, and support. They are also a reseller of ERP systems and a supplier of related services and products. RMC is BaanCAPPS certified.

Main Contact:

• Email: [email protected] • Phone: (630) 505-9200 • http://www.rmorton.com

G.2.2.48 SCH TechnologiesSCH Technologies provides software solutions and services that address the storage management, enterprise fax management, and distributed systems management needs of client/server users. SCH is BaanCAPPS certified.

316 BaanERP Implementation for AS/400

Main Contact:

• Email: [email protected] • Phone: (888) 724-6736 • http://www.sch.com

G.2.2.49 Seagate SoftwareSeagate Software, a subsidiary of Seagate Technology, Inc., develops tools and applications for Enterprise Information Management (EIM). Certification is pending.

Main Contact:

• Email: http://www.seagatesoftware.com/contact/emailus/ • Phone: (800) 877-2340 • http://www.seagatesoftware.com

G.2.2.50 SigFormsSigForms, Inc. provides software solutions and services for business that streamline the flow of information throughout corporate organizations. SigForms is BaanCAPPS certified.

Main Contact:

• Email: [email protected] • Phone: (800) 338-3676 • http://www.sigforms.com

G.2.2.51 St. Paul SoftwareSt. Paul Software is a provider of professional services, value-added network options, and software for integrated e-commerce solutions. Certification is pending.

Main Contact:

• Email: [email protected] • Phone: (612) 603-4400 • http://www.stpaulsoftware.com

G.2.2.52 Sterling CommerceSterling Commerce is a provider of electronic commerce (EC) software products and value-added services that facilitate electronic communications. Sterling Companies is BaanCAPPS certified.

Main Contact:

• Email: http://www.sterlingcommerce.com/ • Phone: (214) 981-1000 • http://www.sterlingcommerce.com

G.2.2.53 Symbol TechnologiesSymbol Technologies Inc. is a software provider for wireless local area networking and barcode data capture, mobile computing, and communications. Symbol Technologies is BaanCAPPS certified.

Supplementary and Complementary Products 317

Main Contact:

• Email: [email protected] • Phone: (800) 722-6234 • http://www.symbol.com

G.2.2.54 Taxware InternationalTaxware International, Inc. (formerly AVP Systems) is a tax software developer of worldwide tax systems ranging from the mainframe to electronic commerce environments. Taxware International is BaanCAPPS certified.

Main Contact:

• Email: [email protected] • Phone: (978) 741-0101 • http://www.taxware.com

G.2.2.55 TinowayTinoway International BV is an end-to-end software solution and service provider for field service automation. This company is a Baan Development Partner and is BaanCAPPS certified.

Main Contact:

• Email: [email protected] • Phone: + 31.30.6005123 (The Netherlands) • http://www.tinoway.com

G.2.2.56 Tivoli, Inc. Tivoli, Inc. is a software solution provider for unifying enterprise-wide business computing environments. Tivoli is BaanCAPPS certified.

Main Contact:

• Email: [email protected] • Phone: (800) 284-8654 • http://www.tivoli.com

G.2.2.57 TopTier SoftwareTopTier Software is a point-and-click integration and navigation business enterprise software solution provider. This company is a Baan Development Partner and is BaanCAPPS certified.

Main Contact:

• Phone: (408) 360-1700 • http://www.toptiersw.com

G.2.2.58 VasteraVastera is a provider of international trade logistic solutions, including regulatory compliance and documentation for export and import management, that caters to sites throughout the world. Vastera is BaanCAPPS certified.

318 BaanERP Implementation for AS/400

Main Contact:

• Email: [email protected] • Phone: (703) 661-9006 • http://www.vastera.com

G.2.2.59 Vertex Inc.Vertex Inc. is a provider of business tax compliance software solutions, services and research support. Vertex is BaanCAPPS certified.

Main Contact:

• Email: http://www.vertexinc.com/products40/inquiry_45.html • Phone: (800) 355-3500 • http://www.vertexinc.com

G.2.2.60 Welcom, Inc.Welcom, Inc. is a provider of business project management enterprise software and support solutions to corporations. This company is a Baan Development Partner and is BaanCAPPS certified.

Main Contact:

• Email: http://www.welcom.com/contact.html • Phone: (281) 558-0514 • http://www.welcom.com

G.2.2.61 Zebra Technologies CorporationZebra Technologies Corporation manufactures software, printers, and related supplies for business barcode labeling solutions. Certification is pending.

Main Contact:

• Phone: (800) 423-0422 • http://www.zebra.com

Supplementary and Complementary Products 319

320 BaanERP Implementation for AS/400

Appendix H. Data Porting Considerations

This appendix contains information about data porting from existing AS/400 system applications (or other third party applications) into a BaanERP environment.

H.1 BaanERP Exchange Utility

It is important to move data into or out of BaanERP for use with another software package. BaanERP has an option or utility for products that do not directly interface into BaanERP called exchange (tuxch). This option can be used for creating and reading ASCII files. The other software package must be able to export and import data using an ASCII file. This does not provide a full integration of both software products (BaanERP and other third-party software), but does allow for the exchange of data between the two products. There are some concerns and other issues that may need to be evaluated before choosing to use this option. The following section is meant only as an outline of the basic BaanERP exchange utility. Please contact the Baan company for complete and up to date details on the use and functionality of the exchange module.

H.1.1 Overview of BaanERP Exchange

The BaanERP exchange module (xch) is contained in the Utilities (tu) package. Exchange is implemented using Baan 3GL/4GL tools. The purpose of the exchange module is two-fold:

• To move data from BaanERP tables to an ASCII file • To populate BaanERP tables from an ASCII file

The exchange module can move data from third party products into BaanERP, move data from one BaanERP system to another, and replicate data between BaanERP companies. The exchange module can be viewed in four sections:

• The exchange scheme • The ASCII file • The Import section • The Export section

Figure 234 on page 322 is a structural flow chart of the layout of BaanERP exchange.

© Copyright IBM Corp. 1998 321

Figure 234. BaanERP Exchange Structure

To run an export or import of data, three elements must exist:

• Exchange scheme • ASCII file • Batch with the import or export data defined

Note that a batch is a set of tables to be exported or imported. A batch contains a number of batch lines. A batch may contain table relations for the export and the import at the same time. Batch lines have a sequence within the batch. A batch does not have to have both import and export data. When exporting or importing data, a batch is run as a single unit of work.

H.1.1.1 The Exchange SchemeThe exchange scheme is defined using the Exchange Schemes (tuxch0501m000) session. The exchange of data (import or export) is performed for each exchange scheme. This is the session where the description, the physical location of the files at the OS level, and various other details of the exchange scheme are defined. The Exchange Schemes session appears in BaanERP as shown in Figure 235 on page 323.

322 BaanERP Implementation for AS/400

Figure 235. BaanEPR Exchange Scheme Session (tuxch0501m000)

H.1.1.2 The ASCII fileThe ASCII file is defined using two sessions:

• ASCII Files (tuxch0102m000)

This session is used to define the ASCII file or files to be used by the exchange scheme. An exchange scheme can work with one or more ASCII files. Each ASCII file directly relates to only one BaanERP table. Figure 236 is an example of the ASCII File session as seen in BaanERP.

Figure 236. BaanERP ASCII Files Session (tuxch0102m000)

Data Porting Considerations 323

• ASCII File Fields (tuxch0503m000)

This session is used to define the fields that will be in the ASCII file. Note that not all of the fields in the BaanERP table need to be defined. Define only the fields that are necessary for the import or export. The following figure is an example of the ASCII File Fields session as seen in BaanERP.

Figure 237. BaanERP ASCII File Fields Session (tuxch0503m000)

H.1.1.3 The ImportThe Import section of BaanERP exchange is where data from an ASCII file is used to directly populate a BaanERP table. Note that the fields in the BaanERP table that are defined as mandatory input must be populated during the import. Otherwise, the import will fail. The import section of the exchange module consists of two main sessions:

• Table Relations (Import) (tuxch0521m000)

This session is used to define the table-level relations in an exchange scheme. Any options chosen here affect the entire table. Figure 238 on page 325 shows an example of the Table Relations (Import) session as seen in BaanERP.

324 BaanERP Implementation for AS/400

Figure 238. BaanERP Table Relations (Import) Session (tuxch0521m000)

• Field Relations (Import) (tuxch0522m000)

The purpose of this session is to define the field level relations for an exchange scheme. Figure 239 is an example of the Field Relations (Import) session as seen in BaanERP.

Figure 239. BaanERP Field Relations (Import) Session (tuxch0522m000)

Data Porting Considerations 325

H.1.1.4 The ExportThe export section of BaanERP is where the user can create an ASCII file with data from BaanERP tables. The export section of the exchange module consists of two main sessions:

• Table Relations (Export) (tuxch0531m000)

The purpose of this session is to define the table-level relations in an exchange scheme. Figure 240 is an example of how the Table Relations (Export) session appears in BaanERP.

Figure 240. BaanERP Table Relations (Export) Session (tuxch0531m000)

• Field Relations (Export) (tuxch0532m000)

The purpose of this session is to define the field-level relations for an exchange scheme. Figure 241 on page 327 shows an example of how the Field Relations (Import) session appears in BaanERP.

326 BaanERP Implementation for AS/400

Figure 241. BaanERP Field Relations (Export) Session (tuxch0532m000)

In summary, BaanERP’s exchange module can be a useful tool in moving data between a third party software package and BaanERP.

Data Porting Considerations 327

328 BaanERP Implementation for AS/400

Appendix I. The Integrated PC Server Using Windows NT

In 1998, with the delivery of OS/400 V4R2, IBM extended its range of AS/400 Integrated PC Server support to include Windows NT Server 4.0. This appendix presents an overview of the Windows NT Server running on the AS/400 system, followed by the advantages of implementing Windows NT Server on your AS/400 system.

The ability to run Windows NT Server 4.0 on the Integrated PC Server extends the AS/400 system's integration value into the LAN. It gives customers the ability to combine an AS/400 system with an Integrated PC Server running a Windows NT Server for file, print, and application serving. IBM continues to invest in and position the AS/400 system as an enterprise and general business commercial application server to run customers main business applications.

The Integrated PC Server is suited to AS/400 customers who have chosen Windows NT as their network operating system or application server and want to integrate it with the AS/400 environment. The Windows NT Server on the Integrated PC Server is not intended to provide the scalability of some PC servers on the market. However, customers can reduce the complexity and cost of managing their networks by taking advantage of this tightly integrated environment, rather than trying to work with two separate systems.

Customers using the file, print, and application server capabilities of Windows NT Server can do so without needing to purchase, install, and maintain a separate PC server. The AS/400 system becomes a single consolidated system that provides a lower total cost of ownership, compared with two separate systems, plus ease of manageability.

Any application that runs on a PC-based WIndows NT Server, except those requiring hardware not available on the Integrated PC Server, should run without restriction. Microsoft has certified the AS/400 Integrated PC Server to run NT Server 4.0. See Microsoft's hardware compatibility list for details at: http://www.microsoft.com/hwtest/hcl Choose category misc.—>company IBM .

Figure 242. AS/400 Integration of NT Server

© Copyright IBM Corp. 1998 329

All AS/400 RISC models are capable of running the Microsoft Windows NT server on the Integrated PC Server. The Integrated PC Server uses an Intel 200 MHz Pentium Pro microprocessor with up to 512MB of on-board memory and options for a maximum of three on-board LAN adapters supporting Token-Ring, or Ethernet (10MB, or 100MB). Up to 16 Integrated PC Servers can be installed in the AS/400 system, depending on the model. A display, keyboard, and mouse are connected directly to the Integrated PC Server to provide a Windows NT Server console. Parallel and serial ports are also available on the Integrated PC Server for the direct attachment of devices, such as a modem or printer.

The Pentium Pro Integrated PC Server, which is required to run Windows NT Server, can also run other Integrated PC Server based products such as Lotus Domino, Novell NetWare, and IBM Firewall for AS/400. A standard CD-ROM version of Windows NT Server purchased from a Microsoft reseller is installed directly from the AS/400 system's CD-ROM drive using an automated, AS/400 based procedure.

Windows NT Server running on the Integrated PC Server has access to AS/400 disks, tape units, and CD-ROM drive. AS/400 disk resources are allocated to Windows NT Server (up to a maximum of 128GB per server). They automatically take advantage of the AS/400 system's RAID-5 and mirroring capabilities (if configured).

Support for file-level backup and restore is provided through Windows NT interfaces, giving Windows NT Server backup applications direct access to AS/400 tape units. In addition, OS/400 backup commands can be used for disaster recovery, and ADSM/400 can provide an alternative for file-level backup and restore.

The Integrated PC Server's LAN adapters can be used for access to both Windows NT Server and the AS/400 system (for example, using AS/400 Client Access). An internal "LAN", which is really a bus connection between the Windows NT Server and the AS/400 system, provides a fast, secure connection protected from external network disruptions. This connection is used for a variety of functions including installation, user administration, and DB2/400 access.

Using the integrated administration functions of AS/400 Integration with Windows NT Server, customers can reduce the overhead of maintaining two sets of user profiles. An AS/400 operator can create or delete both an AS/400 user and a Windows NT user in a single operation. Users can change their password once on the AS/400 system and have the change automatically propagated to the Windows NT Server.

Using the new AS/400 Client Access ODBC driver running on the Windows NT Server, multiple Windows 95 and NT client applications can directly access DB2/400 data through the server without needing a Windows NT-based database.

A Windows NT Server on the Integrated PC Server is also intended to support the Citrix/Microsoft Hydra product that provides multi-user support for applications running on Windows NT Server. This enables network stations to use Windows personal applications including Baan BW running under Windows NT Server on the Integrated PC Server.

AS/400 Integration with Windows NT Server, an optional feature of Operating System/400, enables you to install and run the Windows NT Server on an

330 BaanERP Implementation for AS/400

Integrated PC Server inside your AS/400 system. You must separately purchase licenses for the Windows NT Server from your software dealer. The Windows NT Server on an Integrated PC Server uses AS/400 disk storage, as well as an AS/400 CD-ROM drive.

AS/400 Client Support for Windows NT allows the use of Microsoft’s System Message Block (SMB) protocol to enable AS/400 system applications written to the Integrated File System APIs to access data on the NT server. In V4R2, AS/400 NetServer support enabled AS/400 files to be viewed in the Network Neighborhood. This support used the System Message Block functions.

The QNTC file system is accessible from AS/400 commands, Client Access network drives, or Operations Navigator. This support works with Microsoft Windows NT installed on the Integrated PC Server, or on a stand-alone PC server.

Figure 243. Example of QNTC File System and Integrated File System

Currently, if your Windows NT applications require a higher MHz or n-way Intel processors or more than 512MB of memory, the Integrated PC Server may not be a viable solution. You may need to consider an IBM Netfinity product.

For more information, on AS/400 Integration with Windows NT Server, please refer to AS/400 - Implementing Windows NT Server on the Integrated PC Server, SG24-2164, and visit the Web page at: http://www.as400.ibm.com/NT

I.1 Advantages of the Windows NT Server on the AS/400 System

AS/400 Integration with Windows NT Server provides most of the capabilities of running Windows NT Server on a personal computer. AS/400 Integration with Windows NT Server provides the following advantages:

• Windows NT Servers on Integrated PC Servers use AS/400 disk storage, which is generally more reliable than PC hard disks.

AS/400 Users

Applications

APIs

IFS Menus and

Commands

"Root" File

System

Qsys.lib File

System

QopensysFile

System

QNTC File

System

OS/400 File

Server

NFS Server

Integrated File System Interface

. . .

AS/400 runnin gNT on IPCS

PC Server runnin g NT

The Integrated PC Server Using Windows NT 331

• Windows NT Servers on Integrated PC Servers have smaller footprints, with fewer pieces of hardware to manage, than an AS/400 system and a separate PC server.

• The storage that is allocated to Windows NT Servers on Integrated PC Servers is spread across multiple disk storage arms. It improves the disk storage access performance for certain applications. If you use mirroring or RAID on an AS/400 system, Windows NT Server implicitly uses the same disk protection.

• It transfers Windows NT Server error information to the AS/400 system. This enables remote analysis of Windows NT Server errors.

• You can create users and groups and enroll them from AS/400 to Windows NT Servers on Integrated PC Servers. This enrollment updates user parameters (such as changed passwords on an AS/400 system) from the AS/400 system to Windows NT.

• It integrates user administration function, security, server management, and backup and recovery plans between the AS/400 and Windows NT environments.

• With Client Access/400 for Windows NT V3R1M3, you can access DB2/400 data through an enhanced Open Database Connectivity (ODBC) driver. This driver enables server-to-server applications between Windows NT and Operating System/400 (OS/400). You can also use AS/400 Integration with Windows NT Server as a second tier in a three-tier client/server application.

I.2 BaanERP and Microsoft Windows NT

The BaanERP environment does not require implementation of a Microsoft Windows NT Server whether on the Integrated PC Server or a stand-alone server. However, using a front-end processor for supplementary and complementary products and other third-party software removes that processing from the BaanERP application or database servers.

332 BaanERP Implementation for AS/400

Appendix J. Sample Save Programs

This section presents example Control Language (CL) and Control Language programs. Please ensure that these examples work for your BaanERP environment before using. Test them in your environment.

For the examples, we ended BaanERP (using the ENDBAAN command) and accomplished save-while-active with a synchronization or checkpoint. This allows for an easier recovery scenario.

All of the example programs use an IBM-supplied user library called QGPL. You should create another library for these example programs, and change all QGPL references to the new library name.

To enter this code, you should have a product such as Application Development Toolset for AS/400-Source Entry Utility (SEU) (5769-PW1) installed. This is the AS/400 system editing product. The Edit Files (EDTF) command discussed in the special note in Section E.1, “BaanERP System Logs” on page 247, can also be used to edit files. PC editors may be used in this case also.

J.1 Creating Message Queue

To create a message queue, enter:

CRTMSGQ MSGQ(QGPL/SAVACT)

J.2 Starting the BaanERP Program

This program can be submitted from the daily or weekly backup. This program waits on message CPI3712, which is a checkpoint message, until it is issued. When the program receives this message, it starts the BaanERP BSE.

PGM

This material contains programming source code for your consideration. These examples have not been thoroughly tested under all conditions. IBM, therefore, cannot guarantee or imply reliability, serviceability, or function of these programs. All programs contained here are provided to you "as is". THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE EXPRESSLY DISCLAIMED. IBM provides no program services for these programs and files.

Note

The BaanERP installation uses the library name BAANLIB (<pgm_lib>) for the program objects and BAANDATA (<collection>) for the database tables. We used the defaults in this appendix. Your library names may be different.

The variables <pgm_lib> and <collection> may be used interchangeably with the default library names, BAANLIB and BAANDATA respectively.

Note

© Copyright IBM Corp. 1998 333

DCL VAR(&MSG) TYPE(*CHAR) LEN(7) LOOP: RCVMSG MSGQ(QGPL/SAVACT) WAIT(*MAX) RMV(*YES) + MSGID(&MSG) IF COND(&MSG *EQ ’CPI3712’) + THEN(GOTO CMDLBL(STR)) ELSE GOTO LOOP STR: ADDLIBLE LIB(BAANLIB) ADDLIBLE LIB(BAANDATA) /* START BAAN */ STRBAAN BSE(’/BaanERP/BSE’) DLYJOB DLY(120) ENDPGM

Once this program is created successfully with the CRTCLPGM (Create CL Program) command, it is submitted to a batch (background) subsystem (for example, QBATCH) through the SBMJOB (Submit Job) command. An example of this SBMJOB command statement is:

SBMJOB CMD(CALL PGM(QGPL/STARTBAAN)) JOB(STARTBAAN) +

JOBD(BAAN) JOBQ(QCTL) USER(BSP)

Note: Set the number of maximum active jobs in the QBATCH job queue entry greater than 1.

J.3 Daily Backup

The daily backup ends the BaanERP environment and submits the start BaanERP program to wait for the checkpoint. This program only saves changed objects in both the Integrated File System (IFS) and the BAANDATA library.

PGM

ENDBAAN: ENDBAAN BSE(’/BaanERP/BSE’)SBMJOB CMD(CALL PGM(QGPL/STARTBAAN)) JOB(STARTBAAN) + JOBD(BAAN) JOBQ(QCTL) USER(BSP)

SAV DEV(’/qsys.lib/tap01.devd’) OBJ((’/BaanERP’ +*INCLUDE)) SUBTREE(*ALL) SAVACT(*SYNC) +CHGPERIOD(*LASTSAVE) UPDHST(*YES) ENDOPT(*LEAVE) + CLEAR(*ALL)

SAVCHGOBJ OBJ(*ALL) LIB(BAANDATA) DEV(TAP01) + OBJJRN(*YES) ENDOPT(*REWIND) + CLEAR(*ALL) SAVACT(*SYNCLIB) SAVACTMSGQ(QGPL/SAVACT) ACCPTH(*YES)

ENDPGM

J.4 Weekly Backup

The weekly backup ends BaanERP access to the users to obtain a synchronization or checkpoint. Once the checkpoint is established, the BaanERP environment restarts as in the daily backup with the Start BaanERP Program. Again, the ending of BaanERP is to allow an easier recovery should it be necessary.

In case you may have other AS/400 applications, after the BaanERP environment is saved, we save the other user libraries and bypass BAANLIB and BAANDATA.

334 BaanERP Implementation for AS/400

We also save the Integrated File System (IFS) bypassing the QSYS.LIB, QDLS, and BaanERP folders.

PGM

ENDBAAN: ENDBAAN BSE(’/BaanERP/BSE’)

SBMJOB CMD(CALL PGM(QGPL/STARTBAAN)) JOB(STARTBAAN) + JOBD(BAAN) JOBQ(QCTL) USER(BSP) SAV DEV(’/qsys.lib/tap01.devd’) OBJ((’/BaanERP’ + *INCLUDE)) SUBTREE(*ALL) SAVACT(*SYNC)

SAVLIB LIB(BAANDATA BAANLIB) DEV(TAP01) + ENDOPT(*LEAVE) CLEAR(*ALL) + SAVACT(*SYNCLIB) SAVACTMSGQ(QGPL/SAVACT) + ACCPTH(*YES)

SAVCFG DEV(TAP01) SEQNBR(1) ENDOPT(*LEAVE) CLEAR(*ALL) SAVSECDTA DEV(TAP01) ENDOPT(*LEAVE) CLEAR(*ALL)

SAVLIB LIB(*ALLUSR) DEV(TAP01) ENDOPT(*LEAVE) + CLEAR(*ALL) OMITLIB(BAANDATA BAANLIB)

SAVLIB LIB(*IBM) DEV(TAP01) ENDOPT(*LEAVE) + CLEAR(*ALL) /* optional */ SAVDLO DLO(*ALL) DEV(TAP01) ENDOPT(*LEAVE) CLEAR(*ALL)

SAV DEV(’/qsys.lib/tap01.devd’) OBJ((’/qsys.lib’ + *OMIT) (’/qdls’ *OMIT) (’/BaanERP’ + *OMIT)) ENDOPT(*UNLOAD) CLEAR(*ALL)

ENDPGM

Sample Save Programs 335

336 BaanERP Implementation for AS/400

Appendix K. Special Notices

This publication is intended to help customers, Baan consultants, business partners, and IBM specialists who are implementing BaanERP on the AS/400 system. The information in this publication is not intended as the specification of any programming interfaces that are provided by BaanERP and OS/400. See the PUBLICATION section of Baan and AS/400 for more information about what publications are considered to be product documentation.

References in this publication to IBM products, programs or services do not imply that IBM intends to make these available in all countries in which IBM operates. Any reference to an IBM product, program, or service is not intended to state or imply that only IBM's product, program, or service may be used. Any functionally equivalent program that does not infringe any of IBM's intellectual property rights may be used instead of the IBM product, program or service.

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, 500 Columbus Avenue, Thornwood, NY 10594 USA.

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.

Such information may be available, subject to appropriate terms and conditions, including in some cases, payment of a fee.

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.

Any performance data contained in this document was determined in a controlled environment, and therefore, the results that may be obtained in other operating environments may vary significantly. Users of this document should verify the applicable data for their specific environment.

© Copyright IBM Corp. 1998 337

The following document contains examples of data and reports used in daily business operations. To illustrate them as completely as possible, the examples contain the names of individuals, companies, brands, and products. All of these names are fictitious and any similarity to the names and addresses used by an actual business enterprise is entirely coincidental.

Reference to PTF numbers that have not been released through the normal distribution process does not imply general availability. The purpose of including these reference numbers is to alert IBM customers to specific information relative to the implementation of the PTF when it becomes available to each customer according to the normal IBM PTF distribution process.

The following terms are trademarks of the International Business Machines Corporation in the United States and/or other countries:

The following terms are trademarks of other companies:

C-bus is a trademark of Corollary, Inc.

Java and HotJava are trademarks of Sun Microsystems, Incorporated.

Microsoft, Windows, Windows NT, and the Windows 95 logo are trademarksor registered trademarks of Microsoft Corporation.

PC Direct is a trademark of Ziff Communications Company and is usedby IBM Corporation under license.

Pentium, MMX, ProShare, LANDesk, and ActionMedia are trademarks orregistered trademarks of Intel Corporation in the U.S. and othercountries.

UNIX is a registered trademark in the United States and othercountries licensed exclusively through X/Open Company Limited.

Baan, Baan IV, Baan V, BaanERP, BI, and BW are trademarks or registered trademarks of Baan Company.

Other company, product, and service names may be trademarks orservice marks of others.

IBM AS/400AS/400e DB2/400400 OS/400Operating System/400 Power PCPower PC AS Application System/400AnyNet AFPIPDS DATABASE 2 OS/400Intelligent Printer Data Stream SQL/400RS/6000 S/390RISC System/6000 Advanced Function Presentation

338 BaanERP Implementation for AS/400

Appendix L. Related Publications

The publications listed in this section are considered particularly suitable for a more detailed discussion of the topics covered in this redbook.

L.1 International Technical Support Organization Publications

For information on ordering these ITSO publications see “How to Get ITSO Redbooks” on page 341.

• IBM Network Station Guide for Windows NT, SG24-2127

• AS/400 - IBM Network Station - Getting Started, SG24-2153

• AS/400 System Builder, SG24-2155

• AS/400 Server Capacity Planning, SG24-2159

• AS/400 Printing V, SG24-2160

• The System Administrator’s Companion to AS/400 Availability and Recovery, SG24-2161

• AS/400 - Implementing Windows NT on the Integrated PC Server, SG24-2164

• AS/400 Client/Server Performance using Windows Clients, SG24-4526

• AS/400 Communication Performance Investigation, SG24-4669

• AS/400 Performance Management V3R6/V3R7, SG24-4735

• Inside AS/400 Client Access for Windows 95/NT V3R1M2, SG24-4748

• AS/400 Performance Explorer Tips and Techniques, SG24-4781

• AS/400 TCP/IP Autoconfiguration: DNS and DHCP Support, SG24-5147

• AS/400 System Handbook, GA19-5486

L.2 Redbooks on CD-ROMs

Redbooks are also available on CD-ROMs. Order a subscription and receive updates 2-4 times a year at significant savings.

CD-ROM Title Subscription Number

Collection Kit Number

System/390 Redbooks Collection SBOF-7201 SK2T-2177Networking and Systems Management Redbooks Collection SBOF-7370 SK2T-6022Transaction Processing and Data Management Redbook SBOF-7240 SK2T-8038Lotus Redbooks Collection SBOF-6899 SK2T-8039Tivoli Redbooks Collection SBOF-6898 SK2T-8044AS/400 Redbooks Collection SBOF-7270 SK2T-2849RS/6000 Redbooks Collection (HTML, BkMgr) SBOF-7230 SK2T-8040RS/6000 Redbooks Collection (PostScript) SBOF-7205 SK2T-8041RS/6000 Redbooks Collection (PDF Format) SBOF-8700 SK2T-8043Application Development Redbooks Collection SBOF-7290 SK2T-8037

© Copyright IBM Corp. 1998 339

L.3 Other Publications

These publications are also relevant as further information sources:

• OptiMover for the AS/400, SC41-0626

• Backup Recovery and Media Services, SC41-4345

• AS/400 Local Device Configuration, SC41-5121

• Security - Basic, SC41-5301

• Backup and Recovery, SC41-5304

• OS/400 Work Management, SC41-5306

• OS/400 Performance Tools/400, SC41-5340

• Remote Workstation Support, SC41-5402

• TCP/IP Configuration and Reference, SC41-5420

• DB2 for OS/400 SQL Programming, SC41-5611

• DB2 for AS/400 SQL Reference, SC41-5612

• DB2 for OS/400 Database Programming, SC41-5701

• Data Management, SC41-5710

• Integrated File System Introduction, SC41-5711

• DDS Reference, SC41-5712

• Printer Device Programming, SC41-5713

• CL Reference, SC41-5722

340 BaanERP Implementation for AS/400

How to Get ITSO Redbooks

This section explains how both customers and IBM employees can find out about ITSO redbooks, CD-ROMs, workshops, and residencies. A form for ordering books and CD-ROMs is also provided.

This information was current at the time of publication, but is continually subject to change. The latest information may be found at http://www.redbooks.ibm.com/ .

How IBM Employees Can Get ITSO RedbooksEmployees may request ITSO deliverables (redbooks, BookManager BOOKs, and CD-ROMs) and information about redbooks, workshops, and residencies in the following ways:

• Redbooks Web Site on the World Wide Web

http://w3.itso.ibm.com/

• PUBORDER – to order hardcopies in the United States

• Tools Disks

To get LIST3820s of redbooks, type one of the following commands:

TOOLCAT REDPRINT TOOLS SENDTO EHONE4 TOOLS2 REDPRINT GET SG24xxxx PACKAGE TOOLS SENDTO CANVM2 TOOLS REDPRINT GET SG24xxxx PACKAGE (Canadian users only)

To get BookManager BOOKs of redbooks, type the following command:

TOOLCAT REDBOOKS

To get lists of redbooks, type the following command:

TOOLS SENDTO USDIST MKTTOOLS MKTTOOLS GET ITSOCAT TXT

To register for information on workshops, residencies, and redbooks, type the following command:

TOOLS SENDTO WTSCPOK TOOLS ZDISK GET ITSOREGI 1998

• REDBOOKS Category on INEWS

• Online – send orders to: USIB6FPL at IBMMAIL or DKIBMBSH at IBMMAIL

For information so current it is still in the process of being written, look at "Redpieces" on the Redbooks Web Site (http://www.redbooks.ibm.com/redpieces.html ). Redpieces are redbooks in progress; not all redbooks become redpieces, and sometimes just a few chapters will be published this way. The intent is to get the information out much quicker than the formal publishing process allows.

Redpieces

© Copyright IBM Corp. 1998 341

How Customers Can Get ITSO RedbooksCustomers may request ITSO deliverables (redbooks, BookManager BOOKs, and CD-ROMs) and information about redbooks, workshops, and residencies in the following ways:

• Online Orders – send orders to:

• Telephone Orders

• Mail Orders – send orders to:

• Fax – send orders to:

• 1-800-IBM-4FAX (United States) or (+1) 408 256 5422 (Outside USA) – ask for:

Index # 4421 Abstracts of new redbooksIndex # 4422 IBM redbooksIndex # 4420 Redbooks for last six months

• On the World Wide Web

In United StatesIn CanadaOutside North America

IBMMAILusib6fpl at ibmmailcaibmbkz at ibmmaildkibmbsh at ibmmail

[email protected]@[email protected]

United States (toll free)Canada (toll free)

1-800-879-27551-800-IBM-4YOU

Outside North America(+45) 4810-1320 - Danish(+45) 4810-1420 - Dutch(+45) 4810-1540 - English(+45) 4810-1670 - Finnish(+45) 4810-1220 - French

(long distance charges apply)(+45) 4810-1020 - German(+45) 4810-1620 - Italian(+45) 4810-1270 - Norwegian(+45) 4810-1120 - Spanish(+45) 4810-1170 - Swedish

IBM PublicationsPublications Customer SupportP.O. Box 29570Raleigh, NC 27626-0570USA

IBM Publications144-4th Avenue, S.W.Calgary, Alberta T2P 3N5Canada

IBM Direct ServicesSortemosevej 21DK-3450 AllerødDenmark

United States (toll free)CanadaOutside North America

1-800-445-92691-800-267-4455(+45) 48 14 2207 (long distance charge)

Redbooks Web SiteIBM Direct Publications Catalog

http://www.redbooks.ibm.comhttp://www.elink.ibmlink.ibm.com/pbl/pbl

For information so current it is still in the process of being written, look at "Redpieces" on the Redbooks Web Site (http://www.redbooks.ibm.com/redpieces.html ). Redpieces are redbooks in progress; not all redbooks become redpieces, and sometimes just a few chapters will be published this way. The intent is to get the information out much quicker than the formal publishing process allows.

Redpieces

342 BaanERP Implementation for AS/400

IBM Redbook Order Form

Please send me the following:

We accept American Express, Diners, Eurocard, Master Card, and Visa. Payment by credit card notavailable in all countries. Signature mandatory for credit card payment.

Title Order Number Quantity

First name Last name

Company

Address

City Postal code

Telephone number Telefax number VAT number

Invoice to customer number

Country

Credit card number

Credit card expiration date SignatureCard issued to

343

344 BaanERP Implementation for AS/400

List of Abbreviations

ADC Automated Data Collection

AFP Advanced Function Presentation, Advanced Function Printing

AFPDS Advanced Function Printing Data Stream

ALE Application Link Enabling

APA all points addressable

APAR Authorized Program Analysis Report

API Application Program Interface

ASCII American National Standard Code for Information Interchange

ASP Auxiliary Storage Pool

AS/400 Application System/400

ATM Asynchronous Transfer Mode

BaanCAPPS Baan Company’s Certified Applications Program

BBI Baan Business Innovation

BBU Battery Backup Unit

BI Baan Internet

BOI Business Object Interface

BRMS Business Recovery and Media Services

BRU Baan Reference User

BSE Baan Software Environment

BW Baan Windows

BWU Baan World User

CBT Computer Based Training

CIS Customer Interaction Software

CISC Complex Instruction Set Computing

CL Control Language

CLP Control Language Program

CPM Continuously Powered Main storage

DAL Data Access Layer

DASD Direct Access Storage Device

DDC Data Distribution and Control

DDL Database Definition Language

DDM Distributed Data Management

© Copyright IBM Corp. 1998

DDS Data Description Specification

DEM Dynamic Enterprise Modeling

DEMSE Dynamic Enterprise Modeling: Strategy Execution

DHCP Dynamic Host Configuration Protocol

DPS Dynamic Priority Scheduling

DSS Decision Support System

DST Dedicated Service Tools

EBCDIC Extended Binary Coded Decimal Interchange Code

EC Electronic Commerce

ECS Electronic Customer Support

EDI Electronic Data Interchange

EIS Executive Information System

ERM Enterprise Relationship Management

ERP Enterprise Resource Planning

FDDI Fiber Distributed Data Interface

FTP File Transfer Protocol

HA High Availability

HR Human Resources

HTML Hypertext Markup Language

IBM International Business Machines Corporation

IFS Integrated File System

IGS IBM Global Services

ILE Integrated Language Environment

I-listed IBM-listed

IOP Input/Output Processor

IPCS Integrated PC Server

IPDS Intelligent Printer Data Stream

IPX Internetwork Packet eXchange

ISDN Integrated Services Digital Network

ISV Independent Software Vendor

ITSO International Technical Support Organization

JVM Java Virtual Machine

LAN Local Area Network

345

LAPD Link Access Procedure for D-channel of ISDN

LF Logical File

LIC Licensed Internal Code

LPD Line Printer Daemon

LPO Licensed Program Offering

LPQ Line Printer Queue

LPR Line Printer Requester

LUW Logical Unit of Work

MI Machine Interface

MTU Maximum Transmission Unit

NFS Network File System

NIC Network Interface Card

NLS National Language Support

NPT Non-programmable Terminal

OLAP On-line Analytical Processing

OLTP On-line Transaction Processing

OPM Original Program Model

OS/400 Operating System/400

OSC OptiConnect Services Center

PCF Product Configurator

PCL Printer Control Language

PEX Performance Explorer

PF Physical File

PID Process Identifier

PING Packet InterNet Groper

PMR Problem Management Record

POP Post Office Protocol

POSIX Portable Operating System Interface

PPP Point-to-Point Protocol

PRPQ Programming Request for Price Quotation

PSF Print Services Facility

PSP Preventive Service Planning

PTF Program Temporary Fix

QM Queuing Multiplier

QSH Qshell

RAID Redundant Array of Independent Disks

RFS Remote File System

RIP Routing Information Protocol

RISC Reduced Instruction Set Computing

SCS SNA Character String

SD Solution Developers

SDK Software Developers Kit

SDLC Synchronous Data Link Control

SEU Source Entry Utility

SLS Single Level Storage

SMAPP System Managed Access Path Protection

SMB System Message Block

SMP Symmetric Multiprocessing

SMTP Simple Mail Transfer Protocol

SNA Systems Network Architecture

SNMP Simple Network Management Protocol

SPX Sequenced Packet eXchange

SQL Structured Query Language

SST System Service Tools

TCP/IP Transmission Control Protocol/Internet Protocol

TDQ Task Dispatching Queue

TELNET Teletypewriter Network

TFTP Trivial File Transfer Protocol

TIMI Technology Independent Machine Interface

TSC Technology Solutions Center

UDFS User-defined File System

UPS Uninterruptible Power Supply

URL Universal Resource Locator

VRC Version Release Customer Extension

WAN Wide Area Network

WSG Workstation Gateway

XMA Extended Middleware Architecture

XPG X/OPEN Portability Guide

346 BaanERP Implementation for AS/400

Index

Symbols${BSE} 23, 81${BSE}/application 32${BSE}/etc 87, 88${BSE}/lib 58${BSE}/lib/db4/db4_groups 84${BSE}/lib/db4/db4_storage 83${BSE}/lib/db4/db4_users 84${BSE}/lib/fd6.2. 83${BSE}/lib/ipc_info 37, 83${BSE}/lib/mswindows 25${BSE}/lib/tabledef6.2 83${BSE}/lib/user 90${BSE}/lib/user/r 37${BSE}/lib/user/rbsp 90${BSE}/tmp 93$BSE/lib/printinf 125$BSE/log 127$BSE_TMP 120% Busy 192% Used 192*BASE 61, 186*ENVVAR 88, 89*FILE 75*IOSYSCFG 224*JRN 158*JRNRCV 158*LIB 76*MACHINE 61, 186*PGM 80*STMF 75*SYMLNK 150*SYNC 158*SYNCLIB 158

Numerics5763-JC1 3035769-AF1 3035769-BR1 3035769-CX2 3035769-FNT 3035769-JV1 3035769-MG1 3035769-PM1 3035769-PT1 3045769-PW1 304, 3335769-ST1 3045769-TC1 3035769-XW1 3045798-AF3 3035799-FWQ 3045799-XEH 27764-bit 2, 14

Aabbreviations 345

© Copyright IBM Corp. 1998

access path 16, 77, 173access plan 82accreditation program 301acronyms 345active 69active-ineligible 69active-wait 69activity level 69, 181, 184, 185, 187, 191Add Link (ADDLNK) command 57ADDLNK (Add Link) command 57ADDLNK command 59, 80address 19ADDTCPIFC command 212ADDTCPRTE command 213Advanced Function Printing (AFP) 17advisor 197, 199AFP (Advanced Function Printing) 18agent 163alternate IPL device 168APAR (Authorized Program Analysis Report) 297API (Application Programming Interface) 67APPLIC user profile 274Application Development Tools 166application layer 25, 41Application Programming Interface (API) 67application server 41, 45, 51, 59, 80, 275application software 149APYJRNCHG (Apply Journal Changes) command 162, 168APYJRNCHG command 170, 171arrival sequence 77AS/400 Competency Center 298AS/400 Institute 297AS/400 Integration with Windows NT Server 303, 330AS/400 job log 261AS/400 message queue 260AS/400 Web site 298ASCII 75, 90, 103, 321ASP (Auxiliary Storage Pool) 20, 54, 159, 187, 217ASP used 190Asynchronous Transfer Mode (ATM) 223ATM (Asynchronous Transfer Mode) 223attended IPL 217attributes 118audit flag 36auditing 39authorization 21Authorized Program Analysis Report (APAR) 297automatic tuning 201autostart 67autostart job 62, 65Auxiliary Storage Pool (ASP) 20, 54, 159, 187, 217

BBaan 5

focus 5solution 6

347

Baan Business Innovation (BBI) 300Baan Business Systems 300Baan Global Support 292, 301Baan Institute 302Baan International Competency Center (ICC) 290Baan Internet (BI) 25, 41, 52BAAN subsystem 275Baan System Environment (BSE) 45Baan terminology

form 28module 26, 27package 26session 28table 28

Baan Virtual Machine 82Baan Web site 299Baan Windows (BW) 25, 41, 52, 71

client error 254log 255message window 254programs 258

Baan World Users (BWU) 300BAANCONNDB user profile 274BaanERP AS/400 message 272BaanERP collection 89BaanERP group 84BaanERP installation 261, 272BaanERP job 70BaanERP job name 73BaanERP log 276BaanERP main menu 87BaanERP profile 273BaanERP remote user 90BaanERP Software Environment 88BaanERP subsystem 70BaanERP support 289BaanERP System Environment 55, 57, 58, 81BaanERP System Environment (BSE) 53BaanERP system log 247BaanERP user 84BaanERP Web site 299BAANMAIN menu 248BaanWorld 300backup 18, 149Backup and Recovery Media Services/400 150base pool 61, 186batch 67, 73batch immediate 67, 73batch job trace report 199Battery Backup Unit (BBU) 2BBI (Baan Business Innovation) 300BBU (Battery Backup Unit) 2BCH job 73BCI job 73BI (Baan Internet) 25, 41, 52binary radix tree 206Bourne shell (sh) 277BRMS/400 150, 303BSE (Baan System Environment) 45, 46, 48, 49BShell 23, 30, 31, 34, 82, 84, 88

bshell 70, 73BSHELL_INS 73BSHELL6 71, 72, 73, 88bshell6.2 -v 24BSP user profile 274BSPGROUP user profile 274built-in utility 277BW (Baan Windows) 25, 41, 52, 71BW log 276bw.log 127BWPRINT.EXE 121BWU (Baan World Users) 300byte-string 15

CCALC 207canceled 97cat command 250cause 268certification program 301CFGTCP command 215CFGTCP menu 227, 229Change System Values (CHGSYSVAL) command 54checkpoint 156checkpoint image 156CHGCLS command 208CHGJOB (Change Job) command 209CHGJRN command 159, 160CHGLINTRN command 211CHGPERIOD parameter 167CHGSBSD command 210CHGSHRPOOL (Change Shared Storage Pool) command 207CHGSYSVAL (Change System Values) command 54CHGTCPA command 214CISC (Complex Instruction Set Computing) 14CL (Control Language) 333class 62, 69, 208, 210class object 71client 41, 71, 180Client Access 103, 331client/server 56client/server configuration 42CLRPOOL command 207CLS object 71collection 52column 16, 77command 188, 277commit operation 163commitment boundary 163commitment control 159, 162commitment definition 163committable change 163committable resource 163COMMON 298communication 188communication trace 279communications performance 210company 36, 94, 96compile 17

348 BaanERP Implementation for AS/400

completion 266Complex Instruction Set Computing (CISC) 14component report 199COMPRES6 73compression 73concurrent saves 158configure TCP/IP 224console 64Consult Line 296continue 96Continuously Powered Mainstorage (CPM) 2Control Language (CL) 333controller 103controlling subsystem 63CPM (Continuously Powered Mainstorage) 2CPROBJ command 205CPU 185, 188, 193CPU percent busy 206CPU used 190CRTBAANCOL (Create a Collection for Baan) command 89CRTLINETH (Create Line Description (Ethernet)) com-mand 225

DDASD 19DASD (Direct Access Storage Device) 2Data Description Specifications (DDS) 16data porting 321database 3, 149database connection daemon 73database driver 23, 31, 41, 73database file 16, 52, 75database layer 25, 41database monitor 196, 276database server 41, 49, 51, 80, 275database table 83DB2 for AS/400 75DB2/400 16, 330db4/db4_storage 59DB4_SRV6 70, 71, 72, 73, 275DDS 16DDS (Data Description Specifications) 16debug mode 284Dedicated Service Tools (DST) 217, 218, 219, 220dedicated system 155, 164, 218default message file 265default wait time 63defect report 292delay cost 182, 183delay cost curves 183deleted records 205DEMO user profile 274DEMSE (Dynamic Enterprise Modeling: Strategy Execu-tion) 7device 103device queue 92diagnostic 266diagnostic message 271dir command 255

Direct Access Storage Device (DASD) 2disk arm activity 185disk arm utilization 187, 205disk fragmentation 20disk space 19, 204disk space report 205disk space usage 185, 187, 276DISKTASKS menu 205display file 16display performance data 200DLTJRNRCV (Delete Journal Receiver) command 161DLTRCV 161document library services 79domain name 224Domino 3DPS (dynamic priority scheduling) 182DSPCTLD command 211DSPFD (Display File Description) command 170, 205DSPJRN (Display Journal) command 171DSPLIB command 273DSPLIND (Display Line Description) command 287DSPLOG (Display Log) command 258DSPNETA (Display Network Attributes) command 287DSPOBJD command 169DSPOUT (Show Standard Terminal Output) command 90DST (Dedicated Service Tools) 217Dynamic Enterprise Modeling: Strategy Execution (DEMSE) 7dynamic priority scheduling (DPS) 182

EEBCDIC (Extended Binary Coded Decimal Interchange Code) 75ECS (Electronic Customer Support) 18, 295ECS modem 287EDTF (Edit Files) command 90, 248EDTRCYAP (Edit Recovery for Access Paths) command 174elapsed time 188Electronic Customer Support (ECS) 18, 295eligible for purge 63ENDBAAN (End Baan Environment) command 70, 89entered date 96Enterprise Resource Planning (ERP) 15Enterprise Tools 92ERP (Enterprise Resource Planning) 15escape 266escape message 270Ethernet 223exchange module

ASCII file 323exchange scheme 322export section 326import section 324

exchange module (xch) 321executable binary file 23expert cache 206EXT value 267Extended Binary Coded Decimal Interchange Code (EBS-DIC) 75

349

externally described file 17

Ffault 186, 190field 16, 77filter file 120, 125filter program 120FILTER6 73fixed priority scheduling 182folder 79frame size 211, 212frame-relay network 223free 97From Program 267From Program Instruction Number 267

GGO BACKUP command 155GO CMDRST command 155GO CMDSAV command 155GO CMDWTR (Command Writer) command 115GO RESTORE command 155GO SAVE command 155grep command 279group 67group profile 53, 54

HHA (High Availability) 172hard link 79, 150hardware requirement 51hardware sizing 290hierarchical directory structure 17, 78, 79High Availability (HA) 172history 98history log 258host name 53, 224host table 215, 227host-based configuration 42host-based installation 55hub machine 238Hydra 330

IIBM Baan Competence Center 289IBM Direct 298IBM Education and Training Customer Service 298IBM Global Services (IGS) 289, 291IBM Netfinity 331IBM Web site 298ICC (Baan International Competency Center) 290IFS (Integrated File System) 17, 23, 52, 56, 78, 81, 149IGS (IBM Global Services) 289inactivity time-out parameter 235Independent Software Vendors (ISV) 172ineligible 69, 181, 191information 266Initial Program Load (IPL) 63

initial thread 66initiator 163Innovation subscription 293, 294inquiry 266installation 51

host-based 55three-tier client/server 56two-tier host-based 55

Integrated File System (IFS) 17, 23, 52, 56, 78, 81, 149Integrated PC Server 329integration 1, 2, 75interactive 67interactive pool 187Interactive Support Web site 293Internet 26interrupt 96IOP 188ipc_info 58IPL 115IPL (Initial Program Load) 63ISV (Independent Software Vendors) 172

JJava 26, 52Java Virtual Machine (JVM) 3job 17, 67, 71, 73, 209job daemon 87, 88, 93job description 68, 71job function 193job log 276job management

activate job 97adding sessions 96cancel job 97create job 94job data 93job history 98make job 95parameters 94

Job Manager 93job name 116job priority 68job queue 62, 71job report 199job state 69job status 185, 193job trace 283job transitions 69JOBD object 71JOBQ object 71journal 158, 168, 272journal attributes 161journal management 159journal receiver 54, 158, 168, 217, 272journaling 158JRNRCV 160JVM (Java Virtual Machine) 3

350 BaanERP Implementation for AS/400

Kkeyed index 77keyed logical file 16keyed sequence 77knee 179Korn shell (ksh) 277

LLAN 51, 112, 210LAN Server/400 79layered architecture 1LCKW 276level 1 database driver 82level 2 database driver 82library 52, 76LIC (Licensed Internal Code) 14license daemon 70, 87, 88Licensed Internal Code (LIC) 14Licensed Program Products 303licensed programs 1link 57, 59Load and Run (LODRUN) command 58Local Area Network 210local table 83lock 181, 184lock report 199LODRUN (Load and Run) command 58log 247log.bshell 127log.pdaemon 127logical file 16, 77, 168, 272long wait 63LOOPBACK 230LPD printer daemon 112LPR printer daemon 112ls command 279ls -ltr command 250

MMachine Interface (MI) 14machine pool 61, 186main storage 194manual IPL 217manual tuning 201marketing support 289maximum active 191maximum activity level 61maximum CPU time 63maximum temporary storage 63maximum transmission unit (MTU) 212memory faulting 185memory faulting rate 185message 276message file 265, 272message ID 265message type 265MI (Machine Interface) 14Microsoft Windows 3mirroring 2

MNGRCV 159MS-DOS command 255MSGW 276MTU size 213MTXW 275multi-site company concept 39

NNational Language Support (NLS) 18native I/O 82NetServer 331NETSTAT (Network Status) command 275Network File System (NFS) 79NEXTHOP Internet address 232NFS (Network File System) 79NLS (National Language Support) 18notify 266number 116N-way 178

Oobject 15, 20object locks 276ODBC driver 330OLTP 215operating system 1, 14Operations Navigator 264, 271, 331OPM (Original Program Model) 267optical file system 79OptiConnect/400 237OptiMover 42, 51, 238OptiMover/400 274

requirements 242option 21 save 164option dialog window 254Original Program Model (OPM) 267OS/400 1, 51output queue 104

PPackage Combinations 30Package VRC 30page fault 201, 204partitioned binary radix tree 206password 18, 54path 79path name 79PDAEMON6 70, 72, 73, 88, 120, 275PERFORM command 198performance 4, 276performance data 195, 197, 198Performance Explorer (PEX) 200Performance Monitor 195, 197, 200performance monitoring 185Performance Tools/400 185, 196, 197, 198, 286performance tuning 200PEX (Performance Explorer) 200physical file 16, 77, 168, 272

351

PING 275PMR (Problem Management Record) 296pool 185, 194, 201, 203, 207, 209pool paging characteristics 206pool report 199pool size 61, 190, 204POP 229porting set 23, 82presentation layer 25, 41prestart 67prestart job 62Preventive Service Planning (PSP) 297Primary Group 131print 17print filtering 73print performance report 198, 199print request 92printer 17printer daemon 23, 70, 73, 87, 88, 92printer driver 120, 125printer file 16priority 185, 203, 208, 210private pool 209private storage pool 61problem management 18Problem Management Record (PMR) 296problem report 292Product Advisory Report 294program object 80program services 295program start request 62Program Temporary Fix (PTF) 18, 52, 167, 295PRPQ 277PRTACTRPT (Print Activity Report) command 198PRTDSKINF (Print Disk Information) command 205PSF/400 303PTF (Program Temporary Fix) 18, 52, 167, 295public authority (*PUBLIC) 130purge 92, 99purge device queue 92PWRDWNSYS command 218

QQAUTOCFG value 103QAUTORMT value 103QAUTOVRT value 103QBASE subsystem 64QBFCLISTEN 72QBFCLISTEN job 70, 73, 88QBFCRECVR job 70, 73, 88QCMN subsystem 65QCTL subsystem 64QCTLSBSD value 63QDLS 79QDYNPTYSCD value 182QESLINE (ECS line) 287QEZJOBLOG output queue 264QFileSvr.400 56, 79, 80QHST history log 258QHST system log 276

QINTER subsystem 64QJOBMSGFL value 54QLANSrv 79QM (queuing multiplier) 178QNetware 79QNTC file system 331QOpenSys 79QOPT 79QP0ZSPWP job 73QPCSMPRT file 282QPFRADJ 210QPFRADJ value 201QPSRVTRC file 286QQRYDEGREE value 54QSECOFR authority 287QSECOFR user 224QSECURITY value 54, 129QSERVER subsystem 66QSH 24QSH shell 70Qshell 24, 51Qshell interpreter 250Qshell interpreter (QSH) 276Qshell Utilities 277QSNADS subsystem 65QSOC subsystem 54, 242, 274QSPL subsystem 64QSQJRN journal 171QSTRPRTWTR value 115QSTRUP program 64QSTRUPPGM value 64QSYS library 76QSYS.LIB 53, 79QSYSOPR message queue 260, 276QSYSWRK subsystem 65, 71QTCP 230query 84queuing 177queuing multiplier (QM) 178, 179QUTCOFFSET value 54QZSHSH job 73

RRAID-5 2random object 207rc.start 70, 87rc.start_licd 70rc.start_pdaemon 70rc.start_shm 70rc.start_srdd 70rc.stop 70, 88RCVJRNE (Receive Journal Entry) command 172RCVSIZOPT parameter 159RDBMS (Relational Database Management System) 75record 16, 77recovery 149, 268Reduced Instruction Set Computing (RISC) 14regular utility 277relational database 16, 41, 77Relational Database Management System (RDBMS) 75

352 BaanERP Implementation for AS/400

relational table 76, 79remote database 43, 44, 45, 46, 47, 48, 57, 58remote database driver 44, 46, 48, 57Remote Execution (REXEC) 275Remote Execution (REXEC) server 71remote hostname 37, 90remote journaling 172Remote Support 286remote table 83reply 266request 177, 266reset 184resource manager 163resource name 225resource report 199resource utilization 188response time 178, 179, 180, 181, 187, 276restart session 96restore 155restricted state 63, 155, 164reuse deleted records 205REXEC (Remote Execution) 275REXEC (Remote Execution) server 71RGZPFM (Reorganize Physical File Member) command 205RISC (Reduced Instruction Set Computing) 14, 51RMVJRNCHG (Remove Journaled Changes) command 162root 30, 53, 78, 81, 150route 232routing data 62routing entries 62row 16, 77RST (Restore Integrated File System Objects) command 155RST (Restore Integrated File System) command 168RSTAUT (Restore Pubic and Private Authorization) com-mand 168RSTAUT (Restore User Authorities to Objects) command 155RSTCFG (Restore Configuration) command 168RSTCFG (Restore System Configuration) command 155RSTDLO (Restore Document Library Objects) command 155, 168RSTLIB (Restore All Libraries) command 168RSTLIB (Restore Library) command 155, 169RSTOBJ (Restore Objects) command 155, 169RSTUSRPRF (Restore User Profiles and Authority Tables) command 155RSTUSRPRF (Restore User Profiles) command 168RTVCLSRC (Retrieve CL Source) command 64RTVDSKINF (Retrieve Disk Information) command 205run priority 62, 182, 194, 209RUNPTY 183, 184RUNPTY (run priority) 182runtime data dictionary 70, 90runtime data dictionary (RTDD) 32, 35runtime data dictionary (RTDO) 31

Ssatellite machine 238SAV (Save Integrated File System Object) command 154SAV command 155, 167SAVCFG command 155SAVCHGOBJ (Save Changed Objects) command 154SAVCHGOBJ command 155, 158, 162, 167SAVDLO (Save Document Library Objects) command 154, 155save command 154save outage 156save-while-active 156SAVLIB (Save Library) command 154SAVLIB command 155, 158, 162, 167SAVOBJ (Save Object) command 154SAVOBJ command 155, 162SAVSECDTA command 155SAVSTG (Save Storage) command 154, 155, 167SAVSYS (Save System) command 154, 155SBMJOB (Submit Job) command 62, 64SBSD object 71SCPF job 65secondary thread 67security 20seize 181, 184sender copy 266SEQOPT 160sequential object 207sequentially 36server 41, 71, 177, 180server location 240Service Director support 18service time 177set command 139SETOBJACC command 207, 208SEU (Souce Entry Utililty) 333severity 266SH_SERVER6 73shared memory 32, 70shared memory daemon 70, 73, 87, 88Shared Memory Manager 32shared pool 209shared storage pool 61shell 70shell script 87, 88SHMTIME 275SHMTIME6 70, 72, 73, 88single level storage (SLS) 19SLS (single level storage) 19SMAPP (System Managed Access Path Protection) 173SMB (System Message Block) 331SMTP (Simple Mail Transfer Protocol) 65SNA 210SNADS function 287soft link 53, 79, 150software requirement 51sort 73, 195SORT6 73Souce Entry Utililty (SEU) 333source code 333

353

spooled file 116spooled file number 116SQL (Structured Query Language) 16SQL collection 53, 56, 58, 79, 80, 83, 89SQL index 16SQL Optimizer 82SQL statement 82SQL view 16start job trace function 286Start Subsystem (STRSBS) command 54Start TCP (STRTCP) command 54start-up program 64STMF object type 247STMT value 267storage management 19, 149STRBAAN 164STRBAAN (Start Baan Environment) command 88STRBAAN (Start Baan) command 64, 70STRBAAN command 158STRBAANJOB (Start Baan Job) command 70STRDBMON (Start Database Monitor) command 196stream file 17, 52, 75, 79, 81, 83, 90, 247STRJRNPF (Start Journal Physical File) command 158STRPFRMON (Start Performance Monitor) command 188STRPFRMON command 195STRPRTWTR (Start Printer Writer) command 64, 112, 114STRQRY (Start Query) command 84STRRMTWTR (Start Remote Writer) command 114STRSBS (Start Subsystem) command 54, 66STRTCP (Start TCP) command 54STRTCP (Start TCP/IP) command 65, 71STRTCPSVR (Start TCP/IP Server) command 71Structured Query Language (SQL) 16Submit Job (SBMJOB) command 62subnet mask 224, 234subsystem 21, 53, 61, 63, 66, 89, 194subsystem description 71, 185, 209subsystem starting 66super user authority 287support for BaanERP 289Support Line 295symbolic link 23, 53, 79, 150synchronization 156SYSTABLES file 84system 149system ASP 276system date 96system distribution directory 287System Handbook 304system job 65, 184, 197System Licensed Internal Code (SLIC) 168System Managed Access Path Protection (SMAPP) 173System Message Block (SMB) 331system operator 260system performance 93, 99, 221system report 199system request 279System Service Tools 279

system task 197system value 54, 63, 189, 202

Ttable 16, 39, 52, 53, 77, 83tabledef6.2 35, 36, 58task 177, 197Task Dispatch Entries (TDE) 68task dispatch queue 68, 179, 182TCP/IP 3, 51, 54, 65, 71

CFGTCP menu 226domain name 229host table entry 227interface 227PING 230TCP/IP route 233

TCP/IP (Transmission Control Protocol/Internet Protocol) 223TCP/IP Connectivity Utilities/400 223TCP/IP interface 232TDE (Task Dispatch Entries) 68TDQ 183, 184TDQ (task dispatch queue) 68, 182Technology Independent Machine Interface (TIMI) 1, 14Technology Solutions Center (TSC) 289, 291Telnet 103temporary object 190The Support Column 294thread 63, 66, 185, 187, 204three-tier client/server installation 56three-tier environment 275three-tier network 274time slice 62, 69TIMI (Technology Independent Machine Interface) 1, 14To Program 267Token-Ring 51, 210, 223TOOLS user profile 274trace 196transaction manager 163transaction report 199Transmission Control Protocol/Internet Protocol (TCP/IP) 223TSC (Technology Solutions Center) 289, 291ttstperrlog session 252tune 201twinaxial 103two-tier host-based installation 55type bw.log |more command 256

UUDFS (User Defined File System) 166Uninterruptible Power Supply (UPS) 2UNIX 1, 17, 73, 79, 90UPDHST 167UPS (Uninterruptible Power Supply) 2user 116user ASP 217, 276User Defined File System (UDFS) 166user ID 18

354 BaanERP Implementation for AS/400

user job 197user pool 187user priority 184user profile 21, 54, 273

APPLIC 274BAANCONNDB 274BSP 274BSPGROUP 274DEMO 274password 146TOOLS 274

utility 277built-in 277regular 277

Vview 77virtual address 19

Wwait 69, 181, 191wait time 181wait-ineligible 69waiting 69, 97waiting time 183wait-to-Ineligible 187WAN 112Web server 26window size 214Windows 95 Explorer 251, 256Windows NT 329wireless network 223WordPad 252, 257work entries 62Work with Active Jobs (WRKACTJOB) command 71writer 117WRKACTJOB (Work with Active Jobs) command 89, 188WRKACTJOB command 185, 192, 197WRKDSKSTS (Work with Disk Status) command 188, 191, 217WRKDSKSTS command 185WRKDSKSTS display 205WRKHDWRSC (Work with Hardware Resources) com-mand 225, 287WRKJRN display 162WRKJRNA (Work with Journal Attributes) command 161WRKJRNA command 161WRKLIB command 273WRKLNK command 247, 273WRKOBJLCK (Work with Object Locks) command 276WRKOUTQ (Work with Output Queues) command 117WRKSBSJOB (Work with Subsystem Jobs) command 71, 188WRKSBSJOB command 185, 195, 197WRKSHRPOOL (Work with Shared Storage Pools) com-mand 207WRKSHRPOOL command 203, 210WRKSYSACT command 185, 197WRKSYSSTS (Work with System Status) command 69,

187, 188WRKSYSSTS command 185, 189, 201WRKSYSSTS display 204WRKSYSVAL (Work with System Value) command 54, 103, 188WRKSYSVAL command 189, 201WRKUSRPRF command 274

355

356 BaanERP Implementation for AS/400

© Copyright IBM Corp. 1998 357

ITSO Redbook Evaluation

BaanERP Implementation for AS/400 SG24-5188-00

Your feedback is very important to help us maintain the quality of ITSO redbooks. Please complete thisquestionnaire 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 [email protected]

Which of the following best describes you?_ Customer _ Business Partner _ Solution Developer _ IBM employee_ None of the above

Please rate your overall satisfaction with this book using the scale:(1 = very good, 2 = good, 3 = average, 4 = poor, 5 = very poor)

Overall Satisfaction __________

Please answer the following questions:

Was this redbook published in time for your needs? Yes___ No___

If no, please explain:

What other redbooks would you like to see published?

Comments/Suggestions: (THANK YOU FOR YOUR FEEDBACK!)

SG24-5188-00

Printed in the U.S.A.

BaanE

RP

Implem

entation for AS

/400 S

G24-5188-00