0% found this document useful (0 votes)
528 views

Installing Baanerp Applications On Os/390: Kathryn Arrell, Lou Doran, Nicholas Rodoflich, Lee Siegmund, Jeff Wiese

This edition applies to BaanERP Applications with DB2 V5. For use with the OS / 390 V2R6. When you send information to IBM, you grant IBM a non-exclusive right to use or distribute the information without incurring any obligation to you.

Uploaded by

Amgad Alsisi
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
528 views

Installing Baanerp Applications On Os/390: Kathryn Arrell, Lou Doran, Nicholas Rodoflich, Lee Siegmund, Jeff Wiese

This edition applies to BaanERP Applications with DB2 V5. For use with the OS / 390 V2R6. When you send information to IBM, you grant IBM a non-exclusive right to use or distribute the information without incurring any obligation to you.

Uploaded by

Amgad Alsisi
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 202

Installing BaanERP Applications on OS/390

Kathryn Arrell, Lou Doran, Nicholas Rodoflich, Lee Siegmund, Jeff Wiese

International Technical Support Organization http://www.redbooks.ibm.com

SG24-5440-00

International Technical Support Organization Installing BaanERP Applications on OS/390 August 1999

SG24-5440-00

Take Note! Before using this information and the product it supports, be sure to read the general information in Appendix L, Special Notices on page 177.

First Edition (August 1999)


This edition applies to BaanERP Applications with DB2 V5.1 for use with the OS/390 V2R6. Comments may be addressed to: IBM Corporation, International Technical Support Organization Dept. HYJ Mail Station P099 522 South Road Poughkeepsie, New York 12601-5400 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.
Copyright International Business Machines Corporation 1999. All rights reserved.

Note to U.S. Government Users Documentation related to restricted rights Use, duplication or disclosure is subject to restrictions set forth in GSA ADP Schedule Contract with IBM Corp.

Contents
Figures Tables
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

vii ix xi xi xii 1 1 2 3 3 4 5 6 7 8 8 8 9 10 10 10 11 12 13 15 15 16 17 17 18 18 18 18 18 18 19 20 20 21 23 23 23 29 31 31 32

Preface . . . . . . . . . . . . . . . . The Team That Wrote This Redbook Comments Welcome . . . . . . . .

Chapter 1. Architecture Overview of BaanERP Applications on OS/390 1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2 Presentation Layer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3 Database Layer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3.1 Baan Database Drivers . . . . . . . . . . . . . . . . . . . . . . . . 1.4 Application Layer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.4.1 The Baan Software Environment (BSE) . . . . . . . . . . . . . . 1.5 Baan Applications That Run on S/390 . . . . . . . . . . . . . . . . . . 1.6 Baan Application Structure - the Company Story . . . . . . . . . . . 1.7 Baan Software Alliances . . . . . . . . . . . . . . . . . . . . . . . . . 1.8 Dynamic Enterprise Modeling (DEM) . . . . . . . . . . . . . . . . . . 1.9 OS/390 UNIX System Services Connection Scaling Kit . . . . . . . . 1.9.1 Connection Manager (CM) . . . . . . . . . . . . . . . . . . . . . . 1.9.2 Process Manager (PM) . . . . . . . . . . . . . . . . . . . . . . . . 1.10 Printing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.11 Connectivity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.12 OS/390 Features for Baan Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.13 DB2 Features 1.14 Strengths of RVA and SnapShot for Baan Applications for OS/390 Chapter 2. Installation Overview - Preparing for the Installation . 2.1 BaanERP Installation Steps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.1.1 Preparing the Environment 2.1.2 Set Up the TSO User IDs . . . . . . . . . . . . . . . . . . . . 2.1.3 DASD Required . . . . . . . . . . . . . . . . . . . . . . . . . 2.1.4 Client Workstation . . . . . . . . . . . . . . . . . . . . . . . . 2.1.5 Customizing DB2 . . . . . . . . . . . . . . . . . . . . . . . . 2.1.6 Customizing CM and PM . . . . . . . . . . . . . . . . . . . . 2.1.7 Setting Up To Load the BaanERP Software from CD-ROM 2.1.8 UNIX System Services File Structures . . . . . . . . . . . . 2.2 Keeping Track of Names Used . . . . . . . . . . . . . . . . . . . 2.3 Disk Space Required . . . . . . . . . . . . . . . . . . . . . . . . . 2.4 BaanERP for OS/390 Release Notes . . . . . . . . . . . . . . . 2.4.1 Release Notes . . . . . . . . . . . . . . . . . . . . . . . . . . 2.4.2 Post Install . . . . . . . . . . . . . . . . . . . . . . . . . . . . Chapter 3. DB2 and BaanERP Applications on OS/390 3.1 Set Up DB2 Databases and Tablespaces . . . . . 3.2 DB2 Parameters . . . . . . . . . . . . . . . . . . . 3.2.1 JCL Used to Create Tablespaces . . . . . . . 3.2.2 Binding the Plan That BaanERP Uses . . . . 3.2.3 DB2 Files BaanERP Uses . . . . . . . . . . . 3.3 Points to Note . . . . . . . . . . . . . . . . . . . . .
Copyright IBM Corp. 1999

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

iii

Chapter 4. Enabling UNIX System Services . . . . . . . . . . . . . . . . 4.1 Customizing Connection Manager (CM) . . . . . . . . . . . . . . . 4.2 JCL Used to BIND the Plan . . . . . . . . . . . . . . . . . . . . . . . 4.3 Set Environment Variables for CM and PM ger . . 4.3.1 Set Environment Variables for OS/390 Connection Scaling Kit 4.4 Using a Second CMXPLAN Name . . . . . . . . . . . . . . . . . . . Chapter 5. BaanERP Applications Installation . . . . . . . . . . . . . . 5.1 Allocation of the HFS Files . . . . . . . . . . . . . . . . . . . . . . . 5.2 Creating the Mount Point . . . . . . . . . . . . . . . . . . . . . . . . 5.2.2 Mounting the HFS Files . . . . . . . . . . . . . . . . . . . . . . . 5.3 Unloading the Baan Code . . . . . . . . . . . . . . . . . . . . . . . . 5.3.1 Setting Up to Load the Baan Software from the CD-ROM . . 5.3.2 Unpacking Files into Install Directories . . . . . . . . . . . . . 5.4 Set Environment Variables . . . . . . . . . . . . . . . . . . . . . . . 5.4.1 Set Environment Variables - OS/390 Connection Scaling Kit 5.4.2 Set Environment Variables - Installation of Baan Applications . . . . . . . . . . . . . . . . . . . . . 5.5 Executing the install6.2 Script 5.5.1 Answering the Questions in the install6.2 Script . . . . . . . . 5.5.2 Using the db2install6.2 Script . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.5.3 Listing Environment Variables 5.5.4 Storage Group Creation . . . . . . . . . . . . . . . . . . . . . . 5.5.5 Creating DB2 Reference Files for the Baan Script . . . . . . . 5.5.6 Continuing with the install6.2 Script . . . . . . . . . . . . . . . 5.5.7 Changes before Continuing . . . . . . . . . . . . . . . . . . . . 5.5.8 Configure the BW Client . . . . . . . . . . . . . . . . . . . . . . 5.5.9 Completing the Installation . . . . . . . . . . . . . . . . . . . . 5.6 Setting Up the Profile for bsp User ID . . . . . . . . . . . . . . . . . 5.7 Starting the Baan Application Manually . . . . . . . . . . . . . . . Chapter 6. Client Connection Configurations . . . . . . . . . . . . 6.1 Setting Up the BW Baan Client Code on a Windows 95 Client 6.1.1 Getting the Baan Client from the FTP Site . . . . . . . . 6.2 Configuring the Baan Client . . . . . . . . . . . . . . . . . . . 6.3 Connecting as bsp . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

33 33 34 34 35 36 37 37 38 39 40 40 41 41 42 42 43 44 49 51 51 52 54 55 56 60 62 62 65 65 66 67 67 71 71 71 72 72 77 78 79 79 80 80 80 81 83 83 84 84 86

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Chapter 7. Install the bi Client and Set Up the Webserver on S/390 7.1 Set Up a S/390 WebServer . . . . . . . . . . . . . . . . . . . . . 7.2 Set Up the BI HTTP Server . . . . . . . . . . . . . . . . . . . . . 7.2.1 Profile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.2.2 HTTP Server Installation . . . . . . . . . . . . . . . . . . . . 7.2.3 HTTP Server Configuration . . . . . . . . . . . . . . . . . . 7.2.4 Starting the BI HTTP Server . . . . . . . . . . . . . . . . . . 7.3 Client Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.3.1 Using Netscape . . . . . . . . . . . . . . . . . . . . . . . . . 7.4 Starting the Webserver and Baan Internet Client . . . . . . . . 7.5 Started Procedures . . . . . . . . . . . . . . . . . . . . . . . . . . 7.5.1 Started Procedure for BI HTTP Server . . . . . . . . . . . . 7.5.2 Started Procedure for Webserver . . . . . . . . . . . . . . Chapter 8. Cloning/Customizing the HTTP Server for OS/390 8.1 Setting Up Server Configuration Files . . . . . . . . . . . 8.2 Setting Up a Single Server . . . . . . . . . . . . . . . . . 8.2.1 Basic Single Server Configuration . . . . . . . . . . 8.2.2 Locating Your Web Content . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

iv

Installing BaanERP Applications on OS/390

8.2.3 Customizing Your Web Server . . . . . . . . . . . . . . . 8.2.4 Create a Default Home Page for Your Web Server . . . 8.2.5 Create/Update a Started Procedure for Your Web Server Chapter 9. Post-Installation Tasks . . . . . . . . . . 9.1 JCL to Create Company 813 . . . . . . . . . . . 9.2 JCL to Create Company 900 . . . . . . . . . . . 9.2.1 db2_storage file for Companies 813 and 900

. . . . . . . . . . . . . . . . . . . . . . .

88 90 90 91 91 92 92 93 93 93 94 97

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Chapter 10. Enabling Process Manager on UNIX System Services . . . . . . . . . . . . . . 10.1 Process Manager (PM) Installation 10.2 Customizing the Process Manager . . . . . . . . . . . . . . . 10.2.1 Process Manager Parameters . . . . . . . . . . . . . . . 10.2.2 Starting and Stopping the Process Manager . . . . . .

Chapter 11. Administration of DB2 for Baan Applications on OS/390 11.1 DB2/BaanERP Introduction . . . . . . . . . . . . . . . . . . . . . 11.1.1 DB2/BaanERP Indexes . . . . . . . . . . . . . . . . . . . . . 11.1.2 DB2/BaanERP User-Written Queries . . . . . . . . . . . . . 11.1.3 Baan's Use of SQL . . . . . . . . . . . . . . . . . . . . . . . 11.2 DB2/BaanERP Operational Observations . . . . . . . . . . . . . 11.3 DB2/BaanERP Database and Table Space Recommendations 11.4 DB2/BaanERP DSNZPARM Recommendation . . . . . . . . . . 11.5 DB2/BaanERP Buffer Pool, Free Space, and Space Allocation 11.5.1 DB2/BaanERP Buffer Pool Recommendations . . . . . . . 11.5.2 DB2/BaanERP Free Space Recommendations . . . . . . . 11.5.3 DB2/BaanERP Primary/Secondary Allocations . . . . . . . 11.6 DB2/BaanERP Reorganization and Runstats Recommendations 11.7 DB2/BaanERP Index Usage . . . . . . . . . . . . . . . . . . . . . 11.8 DB2/BaanERP Point-in-Time Recovery Recommendations . . . . . . . . . 11.8.1 Point-in-Time Recovery Preventive Measures . . . . . . . . . . . . . 11.8.2 Point-in-Time Recovery Techniques 11.8.3 Point-in-Time Recovery Recommendations . . . . . . . . . Appendix A. BPX Parameters

99 99 . 99 . 99 . 99 100 100 101 102 102 103 104 104 105 106 106 106 108 111 115 115 116 119 119 119 121 122 123 123 124 126 128 129 131 131

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Appendix B. The vi Editor and Common UNIX Commands B.1 Using the vi Editor . . . . . . . . . . . . . . . . . . . . . B.2 Common UNIX Commands . . . . . . . . . . . . . . . . Appendix C. The hostname Command . . . . . . C.1 Using the hostname Command . . . . . . . . C.1.1 Source Code for the hostname Command

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Appendix D. Executing the db2_install6.2 Script . . . . D.1.1 Listing Environment Variables . . . . . . . . . D.1.2 Storage Group Creation . . . . . . . . . . . . . D.1.3 Database Creation . . . . . . . . . . . . . . . . D.1.4 Tablespace Creation . . . . . . . . . . . . . . . D.1.5 Creating DB2 Reference Files for Baan Script D.1.6 Files Baan Will Use to Define the Database . D.1.7 Adding More Users and Data Later . . . . . . Appendix E. RAMAC Virtual Array (RVA) E.1 Overview of RAMAC Virtual Array .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Contents

E.2 Log Structured File . . . . . . . . . . E.3 Data Compression and Compaction E.3.1 Effect of Data Compression . . Appendix F. SnapShot . . . . . . . . F.1 How SnapShot Works . . . . . . F.2 What Is Virtual Concurrent Copy F.2.1 DFSMSdss SnapShot . . . . F.2.2 Virtual Concurrent Copy . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

131 132 133 135 135 136 136 136 139 139 141 142 144 146 149 149 156 161 161 162 163 164 164

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Appendix G. Installation Problems We Encountered G.1 Problems and Workarounds . . . . . . . . . . . G.2 Restarting after Encountering Problems . . . . G.2.1 Restarting the install6.2 Script . . . . . . . G.2.2 Restarting install6.2 from the Beginning . G.3 Using Baan Log Files . . . . . . . . . . . . . . . Appendix H. Alternate DB2 Layout . H.1 JCL Used to Create Tablespaces H.2 DB2 Files BaanERP Uses . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Appendix I. Set the Environment Variables for Baan . . . . . . . . . . . . I.1.1 Setting Environment Variables for OS/390 Connection Scaling Kit I.1.2 Set Environment Variables-Installation of Baan Applications . . I.2 Setting Up the Profile for the bsp User ID . . . . . . . . . . . . . . . . . I.3 Restarting the install6.2 Script . . . . . . . . . . . . . . . . . . . . . . . I.4 Default Profile Before Starting the install6.2 Script . . . . . . . . . . .

Appendix J. Using UNIX System Services for UNIX-Trained Baan Specialist 169 J.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169 J.2 Interface Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169 Appendix K. DDF Customization . . K.1 Installing and Customizing DRDA Appendix L. Special Notices
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

173 173 177 179 179 179 179 180 180 181 182 183 185 187

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Appendix M. Related Publications . . . . . . . . . . . . . . . . . M.1 International Technical Support Organization Publications M.2 Redbooks on CD-ROMs . . . . . . . . . . . . . . . . . . . . M.3 Other IBM Publications . . . . . . . . . . . . . . . . . . . . . M.4 Baan Publications . . . . . . . . . . . . . . . . . . . . . . . . M.5 Other Publications . . . . . . . . . . . . . . . . . . . . . . . . How to Get ITSO Redbooks . IBM Redbook Fax Order Form List of Abbreviations Index

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

ITSO Redbook Evaluation

vi

Installing BaanERP Applications on OS/390

Figures
1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51.
Copyright IBM Corp. 1999

BaanERP architecture for OS/390 . . . . . . . . . . . . . . . . . Baan's Logical Three-Tier Architecture . . . . . . . . . . . . . . Baan Application Environment . . . . . . . . . . . . . . . . . . . Connection Manager and Process Manager . . . . . . . . . . . User IDs in Uppercase and Lowercase . . . . . . . . . . . . . . DB2 Parameters Used . . . . . . . . . . . . . . . . . . . . . . . . JCL to Create Tablespaces with Company 000, Detailed Setup Simple db2_storage File . . . . . . . . . . . . . . . . . . . . . . . Customizing the Connection Manager . . . . . . . . . . . . . . JCL to BIND the Plan . . . . . . . . . . . . . . . . . . . . . . . . . Allocation HFS Files . . . . . . . . . . . . . . . . . . . . . . . . . Mount Production HFS File . . . . . . . . . . . . . . . . . . . . . Mount Installation HFS File . . . . . . . . . . . . . . . . . . . . . Mount Storage HFS File . . . . . . . . . . . . . . . . . . . . . . . Package Combinations to Create . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . BaanERP Configuration Panel Baan Logon Panel . . . . . . . . . . . . . . . . . . . . . . . . . . Baan Initialization Panel . . . . . . . . . . . . . . . . . . . . . . . Importing Data Dictionary . . . . . . . . . . . . . . . . . . . . . . Creating New Tables . . . . . . . . . . . . . . . . . . . . . . . . . Starting Baan Module ottadv5211 . . . . . . . . . . . . . . . . . Creating Table Definitions . . . . . . . . . . . . . . . . . . . . . . Message about User ROOT . . . . . . . . . . . . . . . . . . . . . Message about User BSP . . . . . . . . . . . . . . . . . . . . . . Installation Has Completed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Baan Message to Return to Window Environment Variables for bsp User . . . . . . . . . . . . . . . . Starting the Baan Applications Manually . . . . . . . . . . . . . Successful Installation of Baan Client . . . . . . . . . . . . . . . Baan Environment and Configuration Selector Window . . . . Configuring the Baan Client . . . . . . . . . . . . . . . . . . . . . Connecting to the Baan Client . . . . . . . . . . . . . . . . . . . Client Connection Completed to Baan . . . . . . . . . . . . . . Graphical Window Displayed while Setting Up BI HTTP Server Instructions for Sett Up of BI HTTP Server . . . . . . . . . . . . Location for BI HTTP Server Program . . . . . . . . . . . . . . . Completion of Setting Up BI HTTP Server . . . . . . . . . . . . Changing the bi.html File . . . . . . . . . . . . . . . . . . . . . . Choice of Microsoft SDK for APF 10 . . . . . . . . . . . . . . . . Web Server Administration Protection Directives . . . . . . . . SSL Directives in IBM-Supplied Configuration File (httpd.conf) Standard Web Content Setup Directives . . . . . . . . . . . . . HTML Example - frntpage.html . . . . . . . . . . . . . . . . . . . Single Server - Logging and Reporting Changes to httpd.conf Single Server - Modified Web Content Setup Directives . . . . Single Server - HTML Example for a Home Page (index.html) db2_storage File for Companies 813 and 900 . . . . . . . . . . Adding Port Number to /windows/services . . . . . . . . . . . . Adding the IP Address to /bpares.cfg . . . . . . . . . . . . . . . Parameters for Process Manager . . . . . . . . . . . . . . . . . Virtual Disk Operation . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2 2 . 5 . 9 . 17 . 24 . 30 . 32 . 33 . 34 . 38 . 39 . 40 . 40 . 48 . 56 . 56 . 57 . 57 . 58 . 58 . 59 . 59 . 59 . 60 . 60 . 62 . 63 . 66 . 67 . 68 . 69 . 69 . 74 . 75 . 75 . 76 . 78 . 79 . 85 . 85 . 86 . 87 . 89 . 89 . 90 . 92 . 93 . 94 . 95 132

vii

52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64.

SnapShot Operation . . . . . . . . . . . . . . . . . . . . . . . . Virtual Concurrent Copy Operation . . . . . . . . . . . . . . . Result of ipcs Command . . . . . . . . . . . . . . . . . . . . . . Dropping the DB2 Database . . . . . . . . . . . . . . . . . . . . Baan Llogs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . JCL to Create Tablespaces with Company 000 Detailed Setup Sample db2_storage File . . . . . . . . . . . . . . . . . . . . . Environment Variables for bsp User . . . . . . . . . . . . . . . Profile in /etc/profile . . . . . . . . . . . . . . . . . . . . . . . . Accessing S/390 . . . . . . . . . . . . . . . . . . . . . . . . . . . DDF Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . APPL Entries in SYS1.LOCAL.VTAMLST . . . . . . . . . . . . PORT Definitions for DRDA . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

135 137 142 146 146 150 158 164 165 170 173 174 175

viii

Installing BaanERP Applications on OS/390

Tables
1. 2. Names Used in the BaanERP Installation Disk Space Required for BaanERP . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

18 19

Copyright IBM Corp. 1999

ix

Installing BaanERP Applications on OS/390

Preface
This redbook is based on the installation experiences gained while installing BaanERP Applications with DB2 V5.1 for use with OS/390 V2R6 at the ITSO in Poughkeepsie. This redbook will help you install and customize BaanERP Applications for OS/390 with DB2. It is based on using the CD-ROM from the April 1999 release of the BaanERP Applications for S/390. It contains an introduction to the architecture of the BaanERP Applications for OS/390 Solution. It also describes the customization needed for OS/390 and DB2 V5.1 and the BaanERP installation process to install the applications and to set up Company 000 and the demo companies. It includes guidelines for setting up and administering DB2 for BaanERP. We recommend that BaanERP Applications be installed by a person trained in performing such installations. This redbook is not meant to replace having a trained consultant to do the installation. Instead, it provides S/390 System Programmers with detailed information about the installation process, particularly how it relates to OS/390.

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 Poughkeepsie Center. Kathryn Arrell is an ERP Specialist with the International Technical Support Organization, Poughkeepsie Center. Before joining ITSO, Kathryn worked in RS/6000 Marketing for IBM Canada. Lou Doran is an ERP Solutions Specialist with the North American ERP Competency Center in Philadelphia. Before joining the ERP Group, Lou worked in Network Marketing and has a large systems background. Nicholas Rodoflich is a consultant with the IBM Global Services ERP National Practice specializing in IT Infrastructure for ERP and engineering applications. He has over ten years of experience with UNIX, networking and RDBMS administration on various platforms including RS/6000, SUN, and HP. He holds a BS degree in Computer Science and Telecommunications Engineering from the University of Mississippi. Lee Siegmund is a Consulting Marketing Support Representative from the DB2 Relational Support Unit of the Dallas Systems Center. He has worked at IBM for 29 years. For the past 15 years, he has supported DB2 starting with Version 1 Release 1 to the current Version 5. His areas of expertise include high availability, recovery, data sharing, and application design. He has presented DB2 availability topics to user groups around the world. Jeff Wiese is a Market Support Representative in the US. He joined IBM in 1973 and was a PSR, Instructor, SE, and Large Systems Marketing Specialist before joining the S/390 New Technology Center in Poughkeepsie, New York. Thanks to the following people for their invaluable contributions to this project:

Copyright IBM Corp. 1999

xi

Paolo Bruni Alison Pate International Technical Support Organization, San Jose Center Richard Conway Bob Haimowitz Vasilis Karras Ella Buslovich International Technical Support Organization, Poughkeepsie Center Erik de Jeu IBM Baan International Competency Center Vicky Pollien Steve Henkels Richard Ko Brad Forrest Mythili Venkatakrishnan IBM S/390 Division, Poughkeepsie Yvon-Marie Avril Herve Sabrie Jean-Jacques Noguera Laurence Nicolas IBM Parallel Solution Support Center, Montpellier Jos Odijk Renze Klammer Baan Val Chavez Frank Snyder Chris Sutter Lawson Products, USA

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 187 to the fax number shown on the form. Use the online evaluation form found at http://www.redbooks.ibm.com/ Send your comments in an Internet note to [email protected]

xii

Installing BaanERP Applications on OS/390

Chapter 1. Architecture Overview of BaanERP Applications on OS/390


This chapter introduces the architecture of the BaanERP Enterprise Resource Planning (ERP) solution for the S/390 as implemented at the ITSO for its installation experience documented in this redbook. BaanERP was formerly known as Baan V.

1.1 Introduction
ERP solutions have gained market share and mind share as an enterprise solution to both business problems, such as reengineering business processes, and technical problems, such as the Year 2000 problem. ERP solutions provide run your business information technology for enterprises that have chosen to purchase solutions rather than develop them. As the ERP industry is maturing, these solutions are becoming the foundation for organizations expanding their front office solutions, such as supply chain management and customer relationship management, as well as integrating into e-business and Business Intelligence/Data Warehousing. Baan is a major ERP solution provider, and S/390 is the industrial strength computing platform that can complement such an ERP. BaanERP, for S/390, became available in 2Q/99. BaanERP is part of the Baan Series Product. BaanERP applications include: Manufacturing Finance Project Distribution Service BaanERP for the S/390 is implemented using Baan's Client/Server mode, that is, all functions are usually implemented on two hardware platforms. The application layer and the database layer reside on the S/390 Server as shown in Figure 1 on page 2.

Copyright IBM Corp. 1999

Figure 1. BaanERP architecture for OS/390. The network connection can be Token-Ring, Ethernet, Fast Ethernet, FDDI, Escon or ATM.

Note that while the term host has historically been used to describe the mainframes (for example, the S/390), you should not confuse this with Baan's term Host Mode where all components of the three layers (including the presentation or client layer) reside on one machine. Logically, it is a three-tier mode from a functional point of view as shown in Figure 2.

______________ _____________ _____________ | | | | | | | | | | | | | Presentation |____| Application |____| Database | | Layer | | Layer | | Layer | | | | | | | |______________| |_____________| |_____________|
Figure 2. Baan's Logical Three-Tier Architecture

1.2 Presentation Layer


The presentation layer (client) contains the display driver, which is the user interface to the system. BaanERP, under OS/390, provides two client interfaces, Microsoft Windows (BW), and an Internet Client (BI) that is, a Web Client. The ASCII Client (BA), available on Baan IV, is no longer supported, except for use in the part on the initial install (until enough function is enabled to support the BW Client). The Xwindows client (bx) is not supported for OS/390. Note that the two letters in parenthesis are Baan's terms for the particular client. Like Baan IV, data flows from the client to the application layer at the field level. As each field on the screen is completed (the user tabs to the next field), the data for that field is sent to the application server. When the final field is received, the majority of the business logic is triggered. In addition to this

Installing BaanERP Applications on OS/390

normal mode, BaanERP provides for an expert mode, which waits until all appropriate fields are filled in and then sends the entire screen. This option reduces network load at the cost of field-by-field verification. The BI Client uses a Java-capable browser. Both Netscape and Internet Explorer, at the appropriate release levels, with the appropriate Java Class libraries, can be used. There is no special Web server required, and the Baan Internet HTTP Server can reside on UNIX, NT, or S/390 as well.

1.3 Database Layer


The database layer uses a relational database to support all the online users and batch processes that are part of the BaanERP applications. The Relational Database Management System (RDBMS) used for Baan, when implemented on S/390, is DB2 V5. Baan does not support any other RDBMS on S/390. The S/390 and DB2 combine to make an ideal database server. For more information on the DB2 features available for Baan applications see 1.13, DB2 Features on page 12. DB2 tables can store data in either ASCII or EBCDIC. Baan applications have an ASCII bias, that is to say, the applications operate on data presuming ASCII. Unlike the prior release of Baan, Baan's HFS files are in EBCDIC, the native state of S/390. This change was made (Baan IVc's HFS files were in ASCII) to eliminate some problems of mixing EBCDIC and ASCII in the same file, and since utilization of this data is low, the ASCII to EBCDIC conversions, when necessary, are minimal. The operations on the data from DB2, however, is extensive, hence Baan recommends storing DB2 data in ASCII, to eliminate the more significant amount of EBCDIC-to-ASCII translation overhead. You may have other DB2 applications that store data in EBCDIC. Although you can store both ASCII and EDCDIC data in the same DB2 subsystem, it is not recommended for Baan. In fact, because of database recovery reasons that are covered in Chapter 11, Administration of DB2 for Baan Applications on OS/390 on page 99, the recommendation is to give Baan its own DB2 subsystem. Note: Mixing or joining of ASCII and EBCDIC tables in one SQL statement is not allowed, so if you need to join both types of data (due to some custom application), you need to convert the format of one of the tables.

1.3.1 Baan Database Drivers


Baan provides database drivers to facilitate its open platform architecture. On the S/390, Baan's database driver acts as an interface between the application and DB2. The application being executed sends database requests to the database driver, which transfers the request to the DB2. Data returned by DB2 is sent back to the application by the driver. There are two types of drivers, level 1 and level 2. The driver that composes single table queries is called the level 1 driver. In this architecture, the Baan SQL is transformed into a single table select statement and if a join on rows is necessary, the join is performed by the driver. This technique is very efficient for online usage, but can create a lot of traffic between the database and application servers.

Chapter 1. Architecture Overview of BaanERP Applications on OS/390

The level 2 driver does not transform Baan SQL and relies on the RDBMS to perform any table joins. The resulting rows returned by the RDBMS are simply passed on to the application. The primary purpose of the level 2 driver (versus the level 1 driver) is to reduce data traffic between database and application servers. Driver usage is of no consequence to the end user, but understanding this architecture may be important for administrators. Currently, only the level 1 driver is implemented in the S/390 - DB2 solution for BaanERP. A S/390 DB2 level 2 driver is planned for late 1999. The design of level 2 drivers facilitates access through a more direct means, such as DB2 Connect, as special hashing indices and all their associated aspects are eliminated.

1.4 Application Layer


The application layer provides the logic that manages all of the BaanERP processes. The application tier has been ported to the UNIX System Services of OS/390, and thus resides on the same platform as the database. This eliminates the need for a network connection between the application layer and database layer tiers (typical of other ERP solutions), and the movement of data between application layer and RDBMS (DB2) becomes a memory-to-memory move. There is a subset of programs on the application layer commonly known as the porting set. This subset interfaces directly with the operating system; that is, it is the hardware-dependent code. It is kept separate from the hardware-independent code that contains of all the BaanERP application objects: menus, reports, screens, database object definitions, referential integrity rules and so on. This is the way Baan implements open architecture, and provides a consistent end-user view, regardless of hardware platform and RDBMS. As shown in Figure 3 on page 5, part of the porting set is Baan's bshell, which is the logic interface between the Baan software (applications) and the platform operating system (OS/390 UNIX System Services for OS/390). The logic server (bshell) controls the application process. The application code (objects) is written in Baan 4GL.

Installing BaanERP Applications on OS/390

Figure 3. Baan Application Environment. IPC is the interprocess communication.

1.4.1 The Baan Software Environment (BSE)


The BSE refers to the HFS files that contain the Baan application code. After our installation, the following directories were in the BaanERP Software Environment (BSE) in our directory /baanerp/bse: /baanerp/bse/BaanOle /baanerp/bse/additional_files /baanerp/bse/api /baanerp/bse/application /baanerp/bse/bin /baanerp/bse/c_plus /baanerp/bse/doc /baanerp/bse/eme /baanerp/bse/etc /baanerp/bse/gif /baanerp/bse/home /baanerp/bse/includes6.2 /baanerp/bse/install /baanerp/bse/integration /baanerp/bse/internet /baanerp/bse/lib /baanerp/bse/log /baanerp/bse/mswindows /baanerp/bse/ps /baanerp/bse/sec /baanerp/bse/tmp /baanerp/bse/tools /baanerp/audit /baanerp/dict

Chapter 1. Architecture Overview of BaanERP Applications on OS/390

/baanerp/tables /baanerp/test

1.5 Baan Applications That Run on S/390


The Baan applications that run on OS/390 are: Manufacturing Project Finance Service Distribution You will see the following abbreviations for the Baan applications packages. The Baan product was formerly called Triton, which is the reason for the t in the abbreviation. tc td tf tg ti tp ts tt tu bc cf ci cp dc ec ed qm wh Common Distribution-part of Order Mgmt and Warehousing Finance Orgware Manufacturing Project Services Tools Utilities - found under Connectivity and Exchange Conversion Configuration - new for BaanERP Central Invoicing - new for BaanERP Constraint Planning - found under Enterprise Planning Development Control - new for BaanERP Electronic Commerce - new for BaanERP Enterprise Model Data - new for BaanERP Quality Management - new for BaanERP Warehousing - new for BaanERP

Note: The Baan Transportation and Process modules from BaanIV are not included in BaanERP. Other common abbreviations and terms used by Baan are: aad adv iex ba bi BW Application Administration (part of Tools). Application Development (part of Tools). Import/Export (part of Tools). Baan ASCII Client. Baan Internet (Web) Client. Baan Windows Client.

Installing BaanERP Applications on OS/390

BX BSE bshell

Baan X-Windows Client. Baan Software Environment. A virtual machine; there is one for every user. It is the connection between the user and the Baan application and the connection between the application and the database. It is where the application code runs. Combination of package and tables. The Baan data entry interface. Customer-specific information such as language currency and so on. The Baan user interface. A set of related software components. The runtime object created by program and report scripts and executed by the BShell. A series of related modules. Output from Baan sessions. The action being performed.

Company Form Localization Menu Module Object Package Report Session

Software Component Menus, sessions, forms, and so on. Table vrc Baan data storage. Version Release customer extension. This is a package set of Baan modules and data definitions.

1.6 Baan Application Structure - the Company Story


Baan organizes tables into companies . Each company is a self-contained set of tables that are independent of each other. Baan Tools are used to define companies. For Baan, a company is denoted by a three-digit number. Note that company 000 is a special Baan company. It corresponds to a set of tables that store all of the data that is part of the Baan Data Dictionary, including application configuration, user definition and privileges, programs, reports, application locking and other run-time data. Database tables that are part of Company 000 are accessed by the application programs in the Baan Tools package. There are about 380 tables and 1100 indexes in Company 000. Important Note that every other company will access Company 000.

In addition to Company 000, there are demo companies such as Company 813 and Company 900. New companies will be created for production use based on how you want to organize your environment. For example, you might have: Company Company Company Company 100 110 200 210 for for for for your your your your manufacturing production users manufacturing test users finance production users finance test users

Chapter 1. Architecture Overview of BaanERP Applications on OS/390

The company numbers are the user's choice. These other companies generally have about 2700+ tables and 9000+ indexes, depending on the number of installed modules. A end user attaches to a company, which is a combination of a package and versions of database tables.

1.7 Baan Software Alliances


Baan's software alliances bring added openness, robustness and flexibility to Baan's software solutions and 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. A list of Baan Software Alliance Partners can be found on the Baan Web page:

http://www.baan.com
Some are porting their applications to S/390; some are able to integrate to Baan Applications independent of the database and application server platform.

1.8 Dynamic Enterprise Modeling (DEM)


In order to improve the time and speed to implement, Baan uses the concept of Dynamic Enterprise Modeling (DEM). Dynamic Enterprise Modeling is based on the definition of generic business models for certain organization topologies. These business models (modeling organization topologies) are not rigid, and can be adapted to specific requirements and future changes. Baan refers to these business models as reference models. . The technology implementation (hardware and software) is a relative ly small part of an ERP's implementation. The majority of time is spent on the business side, performing re-engineering, g a p analysis and so forth.

1.9 OS/390 UNIX System Services Connection Scaling Kit


Enhancements have been made to OS/390 to complement Baan's architecture. The Connection Manager (CM) and the Process Manager (PM) functions have been added to OS/390 UNIX System Services. Introduced with OS/390 V2R6, the OS/390 UNIX System Services Connection Scaling Kit, was a no charge, separately orderable feature, that contained these functions (CM and PM). Starting with OS/390 V2R7, these enhancements became part of OS/390 UNIX System Services and thus the OS/390 UNIX System Services Connection Scaling Kit feature is no longer needed. In fact, when OS/390 V2R7 became available, even the original OS/390 R6 Connection Scaling Kit became unavailable and is no longer orderable through normal channels. So if release 6 is going to be used, the OS/390 UNIX Systems Services DB2 Connection Scaling Kit F/C 5785 is required and special ordering, in order to open up the archives, is needed to obtain this kit.

Installing BaanERP Applications on OS/390

As shown in Figure 4 on page 9, the Connection Manager and the Process Manager are both part of UNIX System Services.

Figure 4. Connection Manager and Process Manager

1.9.1 Connection Manager (CM)


DB2 has a limit of 2000 local connections. Because of this limit, the Connection Manager (CM) was developed to reduce the number of database connections that would normally occur when running Baan applications. For example, a typical Baan user may require from four to five database connections. The Connection Manager maintains static data to allow these logical connect requests to be funnelled into one physical DB2 thread; that is, the Connection Manager maintains a single connection to DB2 from a given process, the Task Control Block (TCB). Note: If a user has more than one outstanding commit scope, an adjunct thread is created by the Connection Manager to allow a separate physical connect to DB2. CM uses DB2/MVS CLI interfaces to provide a thin layer database attach and access mechanism using the Open Database Connectivity (ODBC) protocol that supports connection to DB2. Connection Manager supports two types of local connection attachments to DB2: Call Attach Facility (CAF) and Resource Recovery Services (RRS). Consider the following when deciding the attach type. Resource Recovery Services (RRS) RRS is the strategic direction for DB2 for OS/390. It requires:

Chapter 1. Architecture Overview of BaanERP Applications on OS/390

No change to DB2 authorization exits when using the Process Manager component of OS/390 UNIX System Services Connection Scaling Kit. OS/390 Logger customization. RRS to be a separately started OS/390 subsystem.

It supports: Retry on lock timeout or deadlock. Distributed transaction semantics (currently not used by BAAN IV).

Call Attach Facility (CAF) It requires: No special customization to install. Changes to the authorization exit when used with the Process Manager component of OS/390 UNIX System Services Connection Scaling Kit.

It supports implicit rollback on all deadlocks or timeouts.

1.9.2 Process Manager (PM)


Baan, as implemented on OS390, has been modified to allow all of a single user's processes in a single address space, using the UNIX System services multiprocess feature. A typical Baan user could have four to five processes running, and without this modification, each process would be assigned an address space. PM takes this a step further and provides the ability for multiple users to coexist in a single address space. These enhancements significantly reduce the amount of address space resources required by the Baan system.

1.10 Printing
The OS/390 Print Server nicely facilitates printing as it handles IP and SNA-attached printers. After proper configuration, printing is done as with any typical Windows client. After triggering a print, a menu is presented to select a (configured) printer, whether on the network, JES, to the display and so forth. Baan generates two kinds of printer data streams: text (ascii) and Printer Control Language (PCL). For PCL data streams, there may be conversion issues. If, for example, the targeted printer is an Advanced Function Printing (AFP) printer, a PCL-to-AFP conversion is necessary. Note that the current version of the OS/390 Print Server does such conversion.

1.11 Connectivity
The installation client and the Baan user clients can be connected to the S/390 via TCP/IP on any transport capable of connecting to the S/390, such as Token-Ring, Ethernet, Fast Ethernet, FDDI or ATM.

10

Installing BaanERP Applications on OS/390

1.12 OS/390 Features for Baan Applications


OS/390 is an integrated enterprise server operating system environment. It incorporates into one product an open communication server, distributed data and file services, Parallel Sysplex support, object-oriented programming, and open application interfaces. OS/390 continues to build on the classic strengths of MVSreliability, continuous availability, serviceability, data integrity, workload management, and security. OS/390 gives you a scalable system that supports massive transaction volumes and large numbers of users with high performance, as well as advanced system and network management. Through its support of UNIX interfaces via the robust UNIX System Services, OS/390 becomes a database server and an application server for Baan Applications, allowing you to profit from client/server technology benefits. Baan application programs and user data, including data and process models, are stored on the database server. Baan uses DB2 as the database server, which can manage large amounts of data on behalf of many users. The strengths that OS/390 and System/390 bring to the Baan environment include: Reliability, availability, and serviceability Baan S/390 customers need continuous data availability and integrity. OS/390 reliability and availability is unsurpassed and it has a history of unmatched security and integrity. Baan benefits from these underlying characteristics. Scalability The System/390 platform ranges from small uniprocessors to 10-way processors to Parallel Sysplex environments which allow you to connect up to 32 OS/390 systems. The platform can thus support thousands of users. The architecture of the System/390 I/O subsystem and the OS/390 operating system allow data to be transferred into memory from many devices simultaneously, allowing the processing of data requests for many users at high data rates. The requests may require accessing data residing in multiple-terabyte repositories. System management OS/390 has many system management capabilities, providing data security, strong operations tools, and the ability to manage diverse workloads. System/390 has proven procedures and tools to manage systems in a very efficient way. Cost of ownership System/390 is acknowledged by consultants such as IDC, GartnerGroup, Xephon, ITG, and others as having one of the lowest overall costs of ownership in a client/server environment when calculated over multiple years. CMOS technology and software pricing actions have drastically reduced the cost of System/390 enterprise computing.

Chapter 1. Architecture Overview of BaanERP Applications on OS/390

11

1.13 DB2 Features


DB2 is engineered to deliver the high performance and high levels of availability, integrity, and security needed for your business applications. The strengths DB2 brings to the Baan Applications environment include: Continuous operation and high availability DB2 can operate for long periods without interruption. With data sharing, work can be transferred between DB2 subsystems within a Parallel Sysplex as a result of a planned or unplanned outage. Online reorganization provides greater availability during database unload and reload processes. Data sharing in a Parallel Sysplex environment DB2 exploits the Parallel Sysplex environment through data sharing, which allows applications running on more than one DB2 subsystem to read from and write to the same set of data concurrently. High data integrity DB2 provides high data integrity through capabilities such as a sophisticated lock manager and integration with IBM system security products. DB2 also protects data from subsystem, media, and application failures with integrated recovery schemes. Very large database support DB2 works with the System/390 I/O subsystem to allow the rapid parallel processes needed for very large database backup, reorganization, and recovery of data. Database and system administration aids To help database administrators manage their database environments, DB2 offers an integrated set of tools and functions, including flexible security mechanisms, an extensive set of logging and recovery utilities, trace facilities for tuning, and functions and tools to monitor and tune subsystems. Other features In addition to the preceding items, the following features have been added to DB2: Data compression Dynamic Statement Cache ASCII tables Isolation level read stability Keep exclusive locks Improvements in DDL concurrency SQL RENAME of tables SQL STRIP Function

These features are particularly beneficial for an enterprise using Baan Applications for OS/390.

12

Installing BaanERP Applications on OS/390

1.14 Strengths of RVA and SnapShot for Baan Applications for OS/390
The RAMAC Virtual Array (RVA) provides a high availability, scalable, easy-to-manage storage subsystem that complements the strengths of S/390. The virtual disk architecture of the RVA spreads all data across all the available disks, reducing the requirement for data placement to avoid hot-spots. Only data that is actually written is stored on the RVA, which allows you to allocate data sets for peak production use without penalty. Additional physical storage capacity can be added non-disruptively. The RVA's architecture also enables SnapShot. SnapShot is an data duplicator that manipulates pointers in the RVA to make instant copies of data at the data set and volume level. SnapShot is integrated in the DB2 utilities using the concurrent copy interface. This can significantly increase application availability when making point-in-time copies. An overview of RVA and SnapShot is provided in Appendix E, RAMAC Virtual Array (RVA) on page 131 and Appendix F, SnapShot on page 135. A discussion of RVA and SnapShot for point-in-time recovery is provided in Chapter 11, Administration of DB2 for Baan Applications on OS/390 on page 99.

Chapter 1. Architecture Overview of BaanERP Applications on OS/390

13

14

Installing BaanERP Applications on OS/390

Chapter 2. Installation Overview - Preparing for the Installation


This chapter describes the steps we did to prepare the S/390 for the BaanERP installation. The team that will be installing BaanERP Applications for OS/390 need to have skills in the following areas: DB2 installation including DB2 Utilities TCP/IP including setting up of telnet and ftp UNIX System Services BaanERP installation process The reference manuals we used were:

BaanERP - Installation Guide for BaanERP on OS/390 UNIX System Services, available from Baan BaanERP - DB2 Installation Guide for BaanERP, available from Baan UNIX System Services Connection Scaling Reference, SA22-7305, available from IBM
These publications, available from Baan, are also relevant as further information sources. Contact Baan or the IBM Baan International Competency Center for the latest information on any PTFs that are required. For information on how to contact Baan go to: http://www.baan.com.

2.1 BaanERP Installation Steps


The detailed installation process is described in Chapter 5, BaanERP Applications Installation on page 37. A summary of the steps in the installation process is: 1. Prepare the OS/390 environment. Customize DB2 and plan the database layout. Customize the Connection Manager and Process Manager, which are part of the UNIX System Services Connection Scaling Kit for OS/390 Set up TSO BaanERP user IDs. Prepare the UNIX System Services environment. Set up the HFS file systems. Unload and explode the BaanERP CD-ROM files to an HFS Set up the environment variables and the profiles.

2. Run the installation script to install the BaanERP applications and Company 000 (using install6.2 script). 3. Run the DB2 script (db2_install6.2) to create DB2 files needed for the installation, or use JCL and sample DB2 files 4. Set up the BaanERP Client (BW). 5. Execute the post-installation tasks 6. Install demo companies using BaanERP tools on the BW Client. 7. Set up the Process Manager. 8. Set up printers.
Copyright IBM Corp. 1999

15

9. Set up BaanERP applications to run in the Link Pack Area (LPA). 10. Set up the localization customization. Loading Company 000 takes about 10 to 15 hours, depending on your hardware configuration.

2.1.1 Preparing the Environment


The following software items were installed on our LPAR: OS/390 V2R6 OS/390 eNetwork Communications Server TCP/IP V2R6 For Telnet access, port numbers are needed for TSO and for UNIX System Services DB2 V5.1 with current maintenance Connection Manager Process Manager Code for hostname program Note: The vi editor can be used for the EBCDIC files when logged on through a telnet session or oedit can be used when accessing HFS files through the ish command. The viascii editor is needed for editing the Baan internet html files. See Appendix B, The vi Editor and Common UNIX Commands on page 115, for information on how to obtain the viascii editor and how to use the vi and viascii editors. A short list of common vi commands is included for those not familiar with the vi commands.

2.1.1.1 Hostname
A hostname command is used by the db2_install6.2 script to retrieve the host name. This command is not part of UNIX System Services. See Appendix C, The hostname Command on page 119 for the source code. The hostname executable should be placed in a directory such as /bin that the BaanERP Applications can use. The hostname program can be obtained at:

http//www.s390.ibm.com/products/oe/bpxa1toy.html
The host name is stored in the following files; /etc/resolv.conf TCPIPDATA (where ever you point to in your TCP/IP started task) /etc/host The host name is used to generate the BaanERP license. We found that the host name must be stored in same case (upper or lower case) in all these places. It is stored in the file /$BSE/lib/licence6.2. For example, you must ensure that all these files have the host name in lower case and that you request the BaanERP license using lower case. You can test to see that you have /etc/resolv.conf set correctly by issuing the command onslookup in UNIX System Services. If you are using two TCP/IP stacks you can also issue the command nslookup as a TSO command. This will return the host name as the system has it.

16

Installing BaanERP Applications on OS/390

2.1.2 Set Up the TSO User IDs


For BaanERP Installation user IDs, we created two user IDs, bsp and root , (for Baan, these must be in lowercase) as shown in Figure 5. The alias file associates the uppercase TSO user ID with the lowercase UNIX System Services user ID.

File Edit Confirm Menu Utilities Compilers Test Help ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss EDIT /etc/alias Columns 00001 Command ===> Scroll === ****** ***************************** Top of Data *********************** 000001 :UserIDs 000002 ROOT root 000003 BSP bsp 000004 OMVSKERN root 000005 :Groups 000006 BSPGRP bsp ****** **************************** Bottom of Data *********************

Figure 5. User IDs in Uppercase and Lowercase. start in column 10.

Note that the lowercase entries must

To activate this, at the console we issued the command:

setomvs useridaliastable='/etc/alias'
This activates the table until the next IPL. To permanently activate it, add it to BPX parms, as shown in Appendix A, BPX Parameters on page 111. Note: If you try to issue this command through TSO, it is translated to uppercase and does not work correctly. To verify the ID that owns the files, issue the command id. This shows you who the owner is for the root user ID file. A typical output of the id command is:

uid=0(OMVSKERN) gid=125(BSPGRP)
In our case there were several userids with the uid of 0. As OMVSKERN was the first in the stack (before ROOT) that is what appears as the owner id. OMVSKERN is shown to be the owner when the ls -l command is issued. As the BaanERP installation manual stated, the owner that is shown in the id command must be entered in the /etc/alias table pointing to root. For BaanERP users, create user IDs such as BAAN01 and BAAN02 in the group bspgrp. These require unique uids (not 125). User IDs for those using NT or OS/2 workstations should be in uppercase. To enable access to BaanERP applications, user IDs are created both as a OMVS user in RACF and also in BaanERP using Baan Tools.

2.1.3 DASD Required


We started with eight DASD packs of 3390: BAAPK0, BAAPK1, BAAPK2, BAAPK3, BAAPK4, BAAPK5, BAAPK6 and BAAPK7. Three were put into storage group SGBAAN to be used by HFS, two were used for the DB2 code and three were used for the Baan DB@ databases.

Chapter 2. Installation Overview - Preparing for the Installation

17

2.1.4 Client Workstation


We found using a product such as EXCEED (or ONNET or WTELNET) for Telnet interface was easier than just using Windows telnet.

2.1.5 Customizing DB2


The details of the DB2 customization are in Chapter 3, DB2 and BaanERP Applications on OS/390 on page 23. The DB2 Utilities should be available under TSO as they will be needed in the installation process.

2.1.6 Customizing CM and PM


The details of the CM customization are in Chapter 4, Enabling UNIX System Services on page 33. The details of the PM customization are in Chapter 10, Enabling Process Manager on UNIX System Services on page 93.

2.1.7 Setting Up To Load the BaanERP Software from CD-ROM


The steps that enabled us to load the installation code from CD-ROM are described in 5.3, Unloading the Baan Code on page 40.

2.1.8 UNIX System Services File Structures


The HFS file systems that BaanERP are used for: A copy of the CD-ROM file - in our case, this was BAANERP.CDROM. The source data for installation - in our case, this was BAANERP.INSTALL. The target data from the installation process - in our case, this was BAANERP.APPL.BSE. Note: We recommend you put the version number (in our case ERP) in the high-level directory name (but not the release number), as it will be easier to work with when you are migrating to a later version and have several versions active in the system. The instructions on how to create and mount the files are included as part of the installation procedure described in Chapter 5, BaanERP Applications Installation on page 37.

2.2 Keeping Track of Names Used


We found there were many pieces of information that were needed throughout the installation process. If these were not readily available and accurate, it caused problems and delays in the install process. We created the following table to store this information.
Table 1 (Page 1 of 2). Names Used in the BaanERP Installation
Name BSE $BSE User ID User ID for TSO User ID Value /baanerp/bse /baanerp/bse root ROOT bsp Description BaanERP software environment directory value of variable BSE Install user ID Install user ID must be in capitals from the telnet session BaanERP user IDs

18

Installing BaanERP Applications on OS/390

Table 1 (Page 2 of 2). Names Used in the BaanERP Installation


Name Port number Port number Database instance name hlq for DB2 Plan name for BIND DBRM library StoGroup for HFS StoGroup for DB2 VSAM catalog Databases Tablespace Value 6000 1180 DB2D DB2V510D CMXPLNE CMX.SCMXDBRM SCBAAN BERPGRP DB2V510D BERP000 TS000 Database for Company 000 Table space for Company 000 contains Connection Manager modules Description For Process Manager Connection For BI HTTP Server for bi client

2.3 Disk Space Required


Table 2 shows the size of the HFS and DB2 files we allocated.
Table 2. Disk Space Required for BaanERP
File Dump of CD-ROM files Install files Target files Company 000 index Company 000 tables Company 813 index Company 813 tables Company 900 index Company 900 tables File type HFS HFS HFS DB2 DB2 DB2 DB2 DB2 DB2 Primary 2000 cyls 3300 cyls 3300 cyls 12 Kb 1440000 Kb 12 Kb 1440000 Kb 12 Kb 1440000 Kb Secondary 0 0 0 960 Kb 144000 Kb 960 Kb 144000 Kb 960 Kb 144000 Kb

If you have the DASD available or are using an RVA, it is recommended that you allocate an entire 3390 - 003 for each of the three HFS files. After the installation phase is complete, you can release two of the packs. If you are short of DASD, use the space recommendation in BaanERP - Installation Guide for BaanERP on OS/390 UNIX System Services. In our initial installation, we used one tablespace per company. This meant we had the same primary and secondary extent for each index and table. Further testing in IBM and Baan showed that to optimize the layout, it was better to set up a customized allocation. This customized layout is in the sample db2_storage file that is shown in detail in Appendix H, Alternate DB2 Layout on page 149. For Company 000, it puts approximately 34 indexes and 50 tables in their own tablespaces.

Chapter 2. Installation Overview - Preparing for the Installation

19

2.4 BaanERP for OS/390 Release Notes


For your reference, the following is a copy of the release notes we received from Baan with the April 1999 CD-ROM for BaanERP. There are several key points to note.

2.4.1 Release Notes


The following problems represent those which were encountered after we made the installation CDs, or are commonly made mistakes in BaanIVc installations.

2.4.1.1 Pre-Install
The OS/390 setup must be complete. For instance, the file command must work as designed. In our case, it happened a couple of times that /samples/magic was not copied to /etc , so file did not work. This causes the install process to fail.

2.4.1.2 Install
We shipped an IBM file with our Baan Portingset. After paxing the portingset, issue the command

rm ln.0000/bse/bin/cmxdll
from your installation directory before starting the install script. The file ipc_info which is in /$BSE/lib must be changed during the installation process. The shell server (sh_server) does not communicate with sockets, but just pipes. Change the s to a p in the fifth column on the sh_server line. There is an error in the fd6.2.Install file. Change the $BSE/lib/user/uROOT (or uroot, if you are able to logon with a lowercase userid) file. The PACC: line must point to the package combination specified during the install (default b50b, check $BSE/lib/fd*). Both of these changes must be made just before starting the BW to perform the second part of the installation. The BaanWindows client should not be converted from ASCII to EBCDIC during installation time, but it is. Therefore, before copying its files to your workstation, you need to convert them back. To do this, first make a directory (BSE/mswindows/ascii) and issue a command such as:

pax -wv mswindows/BW_english/i386/* | pax -rv -pe -o from=IBM-1047,to=ISO8859-1-s !mswindows!ascii!


The files in the ASCII directory can then be copied to the workstation. Note: Do not try to convert them using an ASCII FTP; that will not work. The same requirement must be applied to the Internet server, the $BSE/internet directory. Convert it to ASCII using this method before installing it. The latest version of the BW Client can be retrieved from ftp.support.baan.com (ftp://ftp.support.baan.com). This one is, of course, in ASCII format. Exiting the shell might cause a protection exception. This can be solved by setting BPX_SHAREAS=NO. This might result in a performance degradation.

20

Installing BaanERP Applications on OS/390

During the second part of the installation, a message box about user ROOT will pop up. Press OK to continue. This might happen for user bsp as well. Press OK again. This will happen approximately one hour after starting the BW (on a slow machine, this might take longer).

2.4.2 Post Install


After starting the license daemon, you need to wait a couple of minutes before the validation can begin. DB2 needs to be checked for licensing. Do not check the box with DB2 V5. When importing data or patches, remember to convert the files to EBCDIC before doing the actual import. The following describes the best way to do this conversion: Copy your files in the way you are used to, to a dedicated directory ($BSE/patches). If you use FTP, make sure it is in binary. Create a new directory ($BSE/patches_ebcdic). Issue the following command:

pax -wv $BSE/patches/* | pax -rv -pe -o from=ISO8859-1,to=IBM-1047 s !$BSE/patches!$BSE/patches_ebcdic!


Start the normal import session. Note that it might take some time before the actual import starts. There is a little bug in the Connection Manager and thread reusage. This might result in the absence of locks. Therefore, you are advised to set the environment variable CMX_THREAD_WAIT to 0.

Chapter 2. Installation Overview - Preparing for the Installation

21

22

Installing BaanERP Applications on OS/390

Chapter 3. DB2 and BaanERP Applications on OS/390


This chapter describes the steps for the customization needed to set up DB2 for the BaanERP installation, and the initial database layout for Company 000.

3.1 Set Up DB2 Databases and Tablespaces


These are the steps to customize DB2 for BaanERP applications: Install DB2 V5.1 with maintenance level as of 06/98 (or later). Update the DB2 parameters (DSNZPARM and DSNHDECP) as described in 3.2, DB2 Parameters. Grant sysadm privilege to TSO user ID ROOT for your database subsystem. Create the DB2 databases and tablespaces, as described in Figure 7 on page 30. Note: There are three ways you can set up your DB2 databases and tablespaces: Use the db2_install6.2 script Use the sample JCL files provided with the BaanERP code. Create your own layout with JCL.

For our first installation, we used JCL to create a simple layout with one database and one tablespace for Company 000. Create the DB2 files that the Baan DB2 driver requires, as shown in 3.2.3, DB2 Files BaanERP Uses on page 31 and Appendix D, Executing the db2_install6.2 Script on page 121. We used the db2_install6.2 script during the installation process to create files in /BSE/lib/db2 that the Baan db2 driver requires. Grant privileges to user ID bsp. Bind the plan with the DB2 system as shown in 4.2, JCL Used to BIND the Plan on page 34. Note: For our installation, we choose to store the BaanERP data in ASCII format, which is the recommended format.

3.2 DB2 Parameters


The DB2 parameters we used for our installation are shown in Figure 6 on page 24. The ones we changed from our standard set of parameters are noted as changed for BaanERP subsystem. These changes were made based on a consensus of opinion from the IBM BaanERP test team and the DB2 Specialist working on this project.

Copyright IBM Corp. 1999

23

//ZPARMS JOB (999,POK),'DB2V510D',CLASS=A,MSGCLASS=T, 00000001 // NOTIFY=&SYSUID,TIME=1440,REGION=4M 00000002 /*JOBPARM L=999,SYSAFF=SC55 00000003 //*********************************************************************/00010000 //* JOB NAME = DSNTIJUZ */00020000 //* */00030000 //* CHANGES: 8/11/98 UPDATES PARMS FOR BAAN */00050000 //* 8/20/98 CREATED SDSNEXIT.SC55 FOR BAAN ONLY */00090000 //* */00090000 //* */00090000 //* STATUS = VERSION 5.1 */00100000 //* */00110000 //* FUNCTION = DSNZPARM AND DSNHDECP UPDATES */00120000 //* */00130000 //* PSEUDOCODE = */00140000 //* DSNTIZA STEP ASSEMBLE DSN6.... MACROS, CREATE DSNZPARM */00150000 //* DSNTIZL STEP LINK EDIT DSNZPARM */00160000 //* DSNTLOG STEP UPDATE PASSWORDS */00170000 //* DSNTIZP STEP ASSEMBLE DSNHDECP DATA-ONLY LOAD MODULE */00180000 //* DSNTIZQ STEP LINK EDIT DSNHDECP LOAD MODULE */00190000 //* DSNTIMQ STEP SMP/E PROCESSING FOR DSNHDECP */00200000 //* */00201990 //* NOTES = STEP DSNTIMQ MUST BE CUSTOMIZED FOR SMP. SEE THE NOTES */00203980 //* NOTES PRECEDING STEP DSNTIMQ BEFORE RUNNING THIS JOB. */00205970 //* */00210000 //*********************************************************************/00220000 //DSNTIZA EXEC PGM=ASMA90,PARM='OBJECT,NODECK' 00230000 //SYSLIB DD DISP=SHR, 00240000 // DSN=DB2V510.SDSNMACS 00250000 // DD DISP=SHR, 00260000 // DSN=SYS1.MACLIB 00270000 //SYSLIN DD DSN=&&LOADSET(DSNTILMD),DISP=(NEW,PASS), 00280000 // UNIT=SYSALLDA, 00290000 // SPACE=(800,(50,50,2)),DCB=(BLKSIZE=800) 00300000 //SYSPRINT DD SYSOUT=* 00310000 //SYSUDUMP DD SYSOUT=* 00320000 //SYSUT1 DD UNIT=SYSALLDA,SPACE=(800,(50,50),,,ROUND) 00330000 //SYSUT2 DD UNIT=SYSALLDA,SPACE=(800,(50,50),,,ROUND) 00340000 //SYSUT3 DD UNIT=SYSALLDA,SPACE=(800,(50,50),,,ROUND) 00350000 //SYSIN DD * 00360000 DSN6ENV MVS=XA 00370000 DSN6SPRM RESTART, X00370001 ALL, X00370002 ABEXP=YES, X00370003 ABIND=YES, X00370004 AUTH=YES, X00370005 AUTHCACH=1024, X00370006 BINDNV=BINDADD, X00370007 BMPTOUT=0, X00370008 CACHEDYN=YES, X00370009 CACHEPAC=32768, X00370010
Figure 6 (Part 1 of 6). DB2 Parameters Used

24

Installing BaanERP Applications on OS/390

DSN6ARVP

CATALOG=DB2V510D, CDSSRDEF=1, CHGDC=NO, CONTSTOR=YES, Needed with PTF UQ19012 DECDIV3=NO, DEFIXTP=2, DEFLTID=IBMUSER, DESCSTAT=NO, DLITOUT=0, DSMAX=3000, EDMPOOL=100000, changed for BaanERP from 1368 EDPROP=NO, HOPAUTH=YES, IRLMAUT=YES, IRLMPRC=IRLDPROC, IRLMSID=IRLD, IRLMRWT=60, IRLMSWT=300, MAXRBLK=4384, MAXKEEPD=65535, changed for BaanERP from 5000 NUMLKTS=1000, NUMLKUS=10000, RECALL=YES, RECALLD=120, RELCURHL=NO, RETLWAIT=NO, RETVLCFK=NO, RGFCOLID=DSNRGCOL, RGFDBNAM=DSNRGFDB, RGFDEDPL=NO, RGFDEFLT=ACCEPT, RGFESCP=, RGFFULLQ=YES, RGFINSTL=NO, RGFNMORT=DSN_REGISTER_OBJT, RGFNMPRT=DSN_REGISTER_APPL, RRULOCK=NO, SEQCACH=BYPASS, SEQPRES=NO, SITETYP=LOCALSITE, SRTPOOL=876, SYSADM=BAARES1, SYSADM2=HAIMO, SYSOPR1=SYSOPR, SYSOPR2=SYSOPR, TRKRSITE=NO, UTIMOUT=6 ALCUNIT=BLK, ARCWRTC=(1,3,4), ARCWTOR=YES,

X00370011 X00370012 X00370013 X00370013 X00370014 X00370015 X00370016 X00370017 X00370018 X00370019 X00370020 X00370021 X00370022 X00370023 X00370024 X00370025 X00370026 X00370027 X00370028 X00370029 X00370030 X00370031 X00370032 X00370033 X00370034 X00370035 X00370036 X00370037 X00370038 X00370039 X00370040 X00370041 X00370042 X00370043 X00370044 X00370045 X00370046 X00370047 X00370048 X00370049 X00370050 X00370051 X00370052 X00370053 X00370054 X00370055 00370056 X00370057 X00370058 X00370059

Figure 6 (Part 2 of 6). DB2 Parameters Used

Chapter 3. DB2 and BaanERP Applications on OS/390

25

DSN6LOGP

DSN6SYSP

ARCPFX1=DB2V510D.ARCHLOG1, ARCPFX2=DB2V510D.ARCHLOG2, ARCRETN=9999, BLKSIZE=28672, CATALOG=NO, COMPACT=NO, PRIQTY=1234, PROTECT=NO, QUIESCE=5, SECQTY=154, TSTAMP=NO, UNIT=SYSALLDA, UNIT2=SYSALLDA DEALLCT=(0), INBUFF=28, MAXARCH=1000, MAXRTU=2, OUTBUFF=400, TWOACTV=YES, TWOARCH=YES, WRTHRSH=20 AUDITST=NO, CONDBAT=64, CTHREAD=2000, changed for BaanERP from 70 DLDFREQ=5, IDBACK=2000, changed for BaanERP from 20 IDFORE=40, LOGLOAD=50000, MAXDBAT=64, MON=NO, MONSIZE=8192, RLF=NO, RLFTBL=01, RLFERR=NOLIMIT, RLFAUTH=SYSIBM, ROUTCDE=(1), EXTSEC=NO, SMFACCT=(1), SMFSTAT=YES, STATIME=30, STORMXAB=0, STORPROC=DB2DSPAS, STORTIME=60, changed for BaanERP from 180 TRACSTR=NO, TRACTBL=16, URCHKTH=0

X00370060 X00370061 X00370062 X00370063 X00370064 X00370065 X00370066 X00370067 X00370068 X00370069 X00370070 X00370071 00370072 X00370073 X00370074 X00370075 X00370076 X00370077 X00370078 X00370079 00370080 X00370081 X00370082 X00370083 X00370084 X00370085 X00370086 X00370087 X00370088 X00370089 X00370090 X00370091 X00370092 X00370093 X00370094 X00370095 X00370096 X00370097 X00370098 X00370099 X00370100 X00370101 X00370102 X00370103 X00370104 00370105

Figure 6 (Part 3 of 6). DB2 Parameters Used

26

Installing BaanERP Applications on OS/390

X00370106 X00370107 X00370108 X00370109 X00370110 00370111 DSN6GRP X00370112 X00370113 X00370114 X00370115 00370116 END 01370000 //********************************************************************* 01380000 //* LINK EDIT THE NEW DSNZPARM MEMBER. PUT LOAD MODULE IN SDSNEXIT. * 01390000 //********************************************************************* 01400000 //DSNTIZL EXEC PGM=IEWL,PARM='LIST,XREF,LET,RENT', 01410000 // COND=(4,LT) 01420000 //ADSNLOAD DD DISP=SHR, 01430000 // DSN=DB2V510.SDSNLOAD 01440000 // DD DISP=SHR, 01450000 // DSN=DB2V510.ADSNLOAD 01460000 //SYSPUNCH DD DSN=&&LOADSET(DSNTILMD),DISP=(OLD,DELETE) 01470000 //SYSLMOD DD DISP=SHR, 01480000 // DSN=DB2V510.SDSNEXIT.SC55 01490000 //SYSPRINT DD SYSOUT=* 01500000 //SYSUDUMP DD SYSOUT=* 01510000 //SYSUT1 DD UNIT=SYSALLDA,SPACE=(1024,(50,50)) 01520000 //SYSLIN DD * 01530000 INCLUDE SYSPUNCH(DSNTILMD) 01540000 INCLUDE ADSNLOAD(DSNZPARM) 01550000 ORDER DSNAA 01560000 INCLUDE ADSNLOAD(DSNAA) 01570000 INCLUDE ADSNLOAD(DSNFSYSP) 01580000 INCLUDE ADSNLOAD(DSNJARVP) 01590000 INCLUDE ADSNLOAD(DSNJLOGP) 01600000 INCLUDE ADSNLOAD(DSNTSPRM) 01610000 INCLUDE ADSNLOAD(DSNVDIR1) 01620000 INCLUDE ADSNLOAD(DSNZMSTR) 01630000 INCLUDE ADSNLOAD(DSN3DIR1) 01640000 INCLUDE ADSNLOAD(DSN7GRP) 01650000 ENTRY DSNZMSTR 01660000 NAME DSNZDB2D(R) 01670000 //* 01680000 //* CHANGE LOG INVENTORY: 01690000 //* UPDATE BSDS WITH PASSWORDS, 01700000 //* UPDATE BSDS WITH DISTRIBUTED VALUES 01710000 //* 01720000 //DSNTLOG EXEC PGM=DSNJU003,COND=(4,LT) 01730000 //STEPLIB DD DISP=SHR,DSN=DB2V510.SDSNLOAD 01740000 //SYSUT1 DD DISP=OLD,DSN=DB2V510D.BSDS01 01750000 //SYSUT2 DD DISP=OLD,DSN=DB2V510D.BSDS02 01760000 //SYSPRINT DD SYSOUT=* 01770000 //SYSUDUMP DD SYSOUT=* 01780000 //SYSIN DD * 01790000 DDF LOCATION=DB2D,LUNAME=SCPDB2D, 01790001 NOPASSWD,RESPORT=33305,PORT=33304 01790002 //* 02630000
Figure 6 (Part 4 of 6). DB2 Parameters Used

DSN6FAC

DDF=AUTO, CMTSTAT=ACTIVE, IDTHTOIN=0, RESYNC=2, RLFERRD=NOLIMIT, TCPALVER=NO DSHARE=NO, GRPNAME=DSNCAT, MEMBNAME=DB2D, COORDNTR=NO, ASSIST=NO

Chapter 3. DB2 and BaanERP Applications on OS/390

27

//********************************************************************* 02640000 //* ASSEMBLE AND LINK EDIT DATA-ONLY LOAD MODULE DSNHDECP. 02650000 //* THE FOLLOWING STEPS ARE NEEDED ONLY IF THE 02660000 //* VALUES ARE CHANGED FROM THOSE WHICH ARE SHIPPED. 02670000 //********************************************************************* 02680000 //DSNTIZP EXEC PGM=ASMA90,PARM='OBJECT,NODECK',COND=(4,LT) 02690000 //SYSLIB DD DISP=SHR, 02700000 // DSN=DB2V510.SDSNMACS 02710000 //SYSLIN DD DSN=&&LOADSET(DSNHDECA),DISP=(NEW,PASS),UNIT=SYSALLDA, 02720000 // SPACE=(80,(50,50,2)),DCB=(BLKSIZE=80) 02730000 //SYSPRINT DD SYSOUT=* 02740000 //SYSUDUMP DD SYSOUT=* 02750000 //SYSUT1 DD UNIT=SYSALLDA,SPACE=(800,(50,50),,,ROUND) 02760000 //SYSUT2 DD UNIT=SYSALLDA,SPACE=(800,(50,50),,,ROUND) 02770000 //SYSUT3 DD UNIT=SYSALLDA,SPACE=(800,(50,50),,,ROUND) 02780000 //SYSIN DD * 02790000 DSNHDECM CHARSET=ALPHANUM, X02790001 ASCCSID=819, changed for BaanERP from 2 X02790002 AMCCSID=65534, X02790003 AGCCSID=65534, X02790004 SCCSID=37, changed for BaanERP from 1 X02790005 MCCSID=65534, X02790006 GCCSID=65534, X02790007 ENSCHEME=ASCII, changed for BaanERP from EBCDIC X02790008 DATE=ISO, You must have this for BaanERP X02790009 DATELEN=0, X02790010 DECARTH=DEC15, X02790011 DECIMAL=PERIOD, X02790012 DEFLANG=IBMCOB, X02790013 DELIM=DEFAULT, X02790014 MIXED=NO, X02790015 SQLDELI=DEFAULT, X02790016 DSQLDELI=APOST, X02790017 SSID=DB2D, X02790018 STDSQL=NO, X02790019 TIME=ISO, X02790020 TIMELEN=0 02790021 END 02970000 //* 02980000
Figure 6 (Part 5 of 6). DB2 Parameters Used

28

Installing BaanERP Applications on OS/390

//********************************************************************* //* LINK EDIT DSNHDECP. * //* DSNHDECP IS A DATA-ONLY LOAD MODULE CONTAINING DEFAULT VALUES * //* REQUIRED BY DB2 AND APPLICATION PROGRAMS. * //* THIS STEP IS CREATED ONLY WHEN THE DEFAULTS SUPPLIED IN * //* DSNHDECP ARE NOT SUITABLE. * //********************************************************************* //DSNTIZQ EXEC PGM=IEWL,PARM='LIST,XREF,LET,RENT', // COND=(4,LT) //ADSNLOAD DD DISP=SHR, // DSN=DB2V510.SDSNEXIT // DD DISP=SHR, // DSN=DB2V510.ADSNLOAD //SYSPUNCH DD DSN=&&LOADSET(DSNHDECA),DISP=(OLD,DELETE) //SYSLMOD DD DISP=SHR, // DSN=DB2V510.SDSNEXIT.SC55 //SYSPRINT DD SYSOUT=* //SYSUDUMP DD SYSOUT=* //SYSUT1 DD UNIT=SYSALLDA,SPACE=(1024,(50,50)) //SYSLIN DD * INCLUDE SYSPUNCH(DSNHDECA) ORDER DSNAA INCLUDE ADSNLOAD(DSNAA) INCLUDE ADSNLOAD(DSNARIB) INCLUDE ADSNLOAD(DSNHDECP) ENTRY DSNHDECP MODE AMODE(24),RMODE(24) NAME DSNHDECP(R)
Figure 6 (Part 6 of 6). DB2 Parameters Used

02990000 03000000 03010000 03020000 03030000 03040000 03050000 03060000 03070000 03080000 03090000 03100000 03110000 03120000 03130000 03140000 03150000 03160000 03170000 03180000 03190000 03200000 03210000 03220000 03230000 03240000 03250000 03260000

The BaanERP load process will produce many archive logs as each SQL insert causes the image of the row to be logged. Ensure there are procedures in place to handle the heavy logging of data during the installation.

3.2.1 JCL Used to Create Tablespaces


The JCL we used to create the database is shown in Figure 7 on page 30. Because we restarted several times during the loading of Company 000, we placed the drop commands at the beginning of the job. When you are creating the database and tablespaces, you should also consider assigning bufferpools. This topic is covered in more detail in 11.5.1, DB2/BaanERP Buffer Pool Recommendations on page 102. Our JCL uses the following allocation of buffer pools: BP2 for database for Company 000 BP4 for tablespaces for Company 000 The db2_storage file, shown in Figure 8 on page 32, has the bufferpool allocations for indexes: BP3 for indexes for Company 000 Attention If you choose to use the supplied db2_install6.2 script to create the database, you do not have to run this job.

Chapter 3. DB2 and BaanERP Applications on OS/390

29

//BAANDB2 JOB (999,POK),'BAAN INSTALL',NOTIFY=&SYSUID, 00010023 //*********************************************************************/ //* NAME = BAANDDL */ //* */ //* DESCRIPTIVE NAME = SAMPLE DDL TO CREATE DATABASES & TABLESPACES */ //* FOR BAAN IV INSTALLATION */ //* */ //* STATUS = VERSION 1 */ //* */ //* FUNCTION = THIS JCL PERFORMS THE NECESSARY DDL TO BUILD THE */ //* BAAN IV DB2 DATABASE. THE FOLLOWING DDL MATCHES THE */ //* SETUP SUPPLIED IN THE $BSE/lib/db2/db2_storage FILE. */ //* */ //* ANY CHANGES TO STOGROUP, DATABASE AND/OR TABLESPACE */ //* NAMES REQUIRES THE CORRESPONDING CHANGE IN THE */ //* $BSE/lib/db2/db2_storage FILE. */ //* */ //* YOU MUST UPDATE THE hlq IN THE JOBLIB. */ //* */ //* CHANGE ACTIVITY = */ //*********************************************************************/ //JOBLIB DD DSN=DB2V510D.RUNLOAD,DISP=SHR // DD DSN=DB2V510.SDSNLOAD,DISP=SHR //CREATDDL EXEC PGM=IKJEFT01,DYNAMNBR=20 //SYSPRINT DD SYSOUT=* //SYSTSPRT DD SYSOUT=* //SYSOUT DD SYSOUT=* //SYSTSIN DD * DSN S(DB2D) RUN PROG(DSNTIAD) PLAN(DSNTIA51) END //SYSIN DD * DROP DATABASE BERP000; DROP STOGROUP BERPGRP; COMMIT; CREATE STOGROUP BERPGRP VOLUMES (BAAPK5,BAAPK6,BAAPK7) VCAT DB2V510D; COMMIT; CREATE DATABASE BERP000 STOGROUP BERPGRP BUFFERPOOL BP2; COMMIT; CREATE TABLESPACE TS000 IN BERP000 BUFFERPOOL BP4 USING STOGROUP BERPGRP PRIQTY 1440000 SECQTY 144000 LOCKSIZE ROW SEGSIZE 32 CLOSE NO;
Figure 7 (Part 1 of 2). JCL to Create Tablespaces with Company 000, Detailed Setup

30

Installing BaanERP Applications on OS/390

COMMIT; GRANT GRANT GRANT GRANT /* //


Figure 7 (Part 2 of 2). JCL to Create Tablespaces with Company 000, Detailed Setup

DBADM ON DATABASE BERP000 DBADM ON DATABASE BERP000 USE OF STOGROUP BERPGRP USE OF STOGROUP BERPGRP

TO TO TO TO

BSPGRP WITH GRANT OPTION; BSP WITH GRANT OPTION; BSPGRP; BSP;

GRANT USE OF ALL BUFFERPOOLS TO PUBLIC;

3.2.2 Binding the Plan That BaanERP Uses


After you have customized the Connection Manager, you must bind the plan to the DB2 subsystem. This is described in 4.2, JCL Used to BIND the Plan on page 34.

3.2.3 DB2 Files BaanERP Uses


There are three files that the BaanERP DB2 driver uses to set up the tables in the database. These are created using the db2_install6.2 script that is executed during the installation process. The process to do this is described in 5.5.2, Using the db2install6.2 Script on page 49. After executing this script, the following three files will be placed in /baanerp/bse/lib/db2.

cd /baanerp/bse/lib/db2 $ ls db2_groups db2_storage db2_users

The following shows db2_groups. The group name db2berp becomes the owner ID or create ID.

db2berp:qZ.m7rcL}G3WW"t6L{79r$,<[email protected]
The following shows db2_users; these unintelligible character strings are encrypted passwords that are not used for OS/390, but are used in the UNIX implementation. These files are the same as used in the UNIX implementation.

BSP:BSP:pDOH9BNtTkv.*3e!&t#<rA{11Pw;#Moc:bspgrp bsp:bsp:pDOH9BNtTkv.*3e!&t#<rA{11Pw;#Moc:bspgrp root:root:&l%d(43"Bd5g+jaj2I1/o,-0H){c3&colonE:bspgrp ROOT:ROOT:pDOH9BNtTkv.*3e!&t#<rA{11Pw;#Moc:bspgrp


Figure 8 on page 32 shows a very simple db2_storage that puts everything in one database and one tablespace:

Chapter 3. DB2 and BaanERP Applications on OS/390

31

*:*:I::01::STOGROUP BERPGRP PRIQTY 64 SECQTY 960 BUFFERPOOL BP3 *:*:T:group:01:5: ARR_SIZE 1 OPT_ROWS 5 T_SPACE BERP000.TS000 .
Figure 8. Simple db2_storage File

3.3 Points to Note


The following points address the problems that we encountered: During the load process of Company 000, there will be a lot of archiving activity as the load is done thru SQL inserts to the database. Be sure there are procedures in place to handle the archive logs either on disk or on tape. You do not need to keep these logs after you have made backup at the end the installation process. Do not share databases among companies. Company 000 must be in a different database than the others or you will get a lock condition when you try to load the next company. To avoid DB2 timeouts, use the kill command to terminate the pdaemon thread (started by the install6.2 script) before loading demo companies. To avoid the problems in the load process, include the statement GRANT USE OF ALL BUFFERPOOLS TO PUBLIC. To improve performance by avoiding table scans during the load phase, include the statement OPT_ROWS_5 in the db2_storage file. To accommodate all the entries that are made during the load phase, ensure the OS/390 catalog used by DB2 is at least eight cylinders.

32

Installing BaanERP Applications on OS/390

Chapter 4. Enabling UNIX System Services


This chapter describes how we customized the Connection Manager functions of the UNIX System Services Connection Scaling Kit for our installation. The steps to customize the Connection Manager are: Update the configuration file - /etc/cmx.conf BIND the plan Set the variables The installation of this new OS/390 feature was straightforward and is well documented in the Program Directory for OS/390 UNIX System Services Connection Scaling Kit , GI10-0635, which is shipped with the OS/390 PTF. Note: We discovered that customization had to be done through a Telnet screen, rather than through a TSO session, in order to enable special characters display correctly.

4.1 Customizing Connection Manager (CM)


The sample connection manager configuration file needs to be copied to the /etc/cmx directory. The /etc/cmx directory was created during the installation of the UNIX System Services Connection Scaling Kit. The following command will copy the file:

cp /usr/lpp/cmx/samples/cmx.conf /etc/cmx/cmx.conf
We used the vi editor from a Telnet screen to customize the Connection Manager, as shown in Figure 9. These entries must match the entries in DNSZPARM and DNSDECHP parameters. See Figure 6 on page 24 for our DB2 parameter files.

// Connection Manager Resources [NAMES] DB2SubSystem=DB2D DB2PlanName=CMXPLNE DB2Attach=CAF [CCSID] DB2ccsid=819 [TRACE] Trace=0 TraceWrap=0 TraceUser=ALL [ERROR] DB2ErrorLog=1
Figure 9. Customizing the Connection Manager

Copyright IBM Corp. 1999

33

Note: You should run the installation process with the entry for D2ErrorLog=0. This is to prevent you from creating a large file of messages about unique indexes that may be ignored and that do not affect the installation process. You could have two customization files, or your could change the file after you have completed the installation. There are two DB2Attach options: CAF or RRS. To use RRS, see the information in UNIX System Services Connection Scaling Reference, SA22-7305.

4.2 JCL Used to BIND the Plan


There is a sample job provided with the PID tape. The JCL we used to BIND the plan to DB2 is shown in Figure 10. This JCL should be in SYS1.SAMPLIB as member CMXBIND, after you have installed the IBM Connection Scaling Kit. The parameter DYNAMICRULES(RUN) is required for loading the databases. It should be changed to DYNAMICRULES(BIND) after all databases have been loaded. See 4.4, Using a Second CMXPLAN Name on page 36, for more information.

//BIND JOB (999,POK),'BAAN INSTALL',NOTIFY=&SYSUID, // CLASS=A,MSGCLASS=T,TIME=1439, // REGION=5000K,MSGLEVEL=(1,1) //DBBIND EXEC PGM=IKJEFT01 //STEPLIB DD DISP=SHR,DSN=DB2V510D.RUNLIB.LOAD // DD DISP=SHR,DSN=DB2V510.SDSNLOAD //SYSPRINT DD SYSOUT=* //SYSTSPRT DD SYSOUT=* //SYSTSIN DD * DSN SYSTEM(DB2D) BIND PLAN(CMXPLNE) MEMBER(CMXSQ1,CMXSQ2,CMXSQT) LIBRARY('CMX.SCMXDBRM') ACTION(REPLACE) ISOLATION(UR) DYNAMICRULES(RUN) ACQUIRE(USE) RELEASE(COMMIT) CURRENTDATA(NO) KEEPDYNAMIC(YES) RUN PROG(DSNTIAD) PLAN(DSNTIA51) END /* //SYSIN DD * GRANT EXECUTE ON PLAN CMXPLNE TO PUBLIC; COMMIT; /* //
Figure 10. JCL to BIND the Plan

00010023 00020017 00030017

4.3 Set Environment Variables for CM and PM


An important part of the installation process is to have all the necessary environment variables set correctly for CM and PM. This section describes those that are necessary for the install scripts to work correctly.

34

Installing BaanERP Applications on OS/390

4.3.1 Set Environment Variables for OS/390 Connection Scaling Kit


Attention Since this change to the variables will be seen system-wide, you need to check with the OS/390 systems programmer to ensure you will not affect any other users.

During the installation of the OS/390 UNIX System Services Connection Scaling Kit, the following strings should have been added to /etc/profile: Variable Value to be included

PATH PATH LIBPATH LIBPATH NLSPATH NLSPATH

/usr/lpp/bpa/bin /usr/lpp/cmx/bin /usr/lpp/bpa/lib /usr/lpp/cmx/lib /usr/lpp/bpa/nls/msg/C/%N /usr/lpp/cmx/nls/msg/C/%N

Note: C and N must be capitalized. Sometimes these may be shown as % L where the variable L has the value of C in the profile. If these values are not set, you need to set them at this time by modifying the profile in the /etc directory. To verify the setting, issue the following commands:

echo $PATH echo $LIBPATH echo $NLSPATH


If the following line is commented out in the /etc/profile, you need to uncomment it: 1. Find the line: export _C89_INCDIRS= "/usr/include ", then add /usr/lpp/cmx/include to it so that it reads: export _C89_INCDIRS= "/usr/include /usr/lpp/cmx/include " Note: The separator between the include directories is a space character. 2. Find the line with the eval command:
eval "export $(typeset -x | grep "_C89_" | awk '{sub("_C89_","_CC_");printf "%s ",$0}')" eval "export $(typeset -x | grep "_C89_" | awk '{sub("_C89_","_CXX_");printf "%s ",$0}')"

3. Find the line: export _C89_LIBDIRS= "/lib /usr/lib ", then add /usr/lpp/cmx/lib to it so it reads: export _C89_LIBDIRS= "/lib /usr/lib /usr/lpp/cmx/lib " Note: The separators between the library directories (/lib, /usr/lib, and /usr/lpp/cmx/lib) are space characters. Again, this change is seen systemwide, so you need to check with the installation systems programmer first before modifying the profile.

Chapter 4. Enabling UNIX System Services

35

4.4 Using a Second CMXPLAN Name


For the installation process, you must set DYNAMICRULES(RUN) in the BIND job; but later, to improve performance when running the application, you should set DYNAMICRULES(BIND). To do this, you may want to set up two plans. If you are going to still be loading new companies you must create a second plan that has DYNAMICRULES(RUN), for user BSP. The variable CMXCONF='Location of new plan', must be placed in either the .profile or the .bpaprofile for user BSP. The steps to set up the second plan are: Create a new configuration file: cp /etc/cmx/cmx.conf /etc/cmx/cmxrun.conf Edit cmxrun.conf and change the plan name to CMXRUN. Run the CMXBIND JCL to bind the DBRMLIB to the new plan name CMXRUN. Add the variable CMXCONF=/etc/cmx/cmxrun.conf to the .profile of bsp. Using a JCL job, or DB2 SPUFI, you must GRANT authority to PUBLIC for the plan name you have chosen (in our case, CMXRUN).

36

Installing BaanERP Applications on OS/390

Chapter 5. BaanERP Applications Installation


This chapter is based on the installation process for BaanERP Applications on OS/390 and covers the following topics: 1. Allocating the installation, production, and user (storage) HFS data sets 2. Creating directories for mount points and mounting the HFS files 3. Unloading the BaanERP code from the CD-ROM 4. Set the Environment Variables 5. Executing the install6.2 script 6. Executing the db2_install6.2 script to create the DDL and Baan DB2 files 7. Connecting to BaanERP via the BW Client to complete the installation 8. Using the Baan log files Ensure you follow the steps in the following documentation:

BaanERP - Installation Guide for BaanERP on OS/390 UNIX System Services BaanERP - DB2 Installation Guide for BaanERP
Verify that DB2 is up and running before you start these steps. If you have to restart the installation, review the instructions in G.2.2, Restarting install6.2 from the Beginning on page 144.

5.1 Allocation of the HFS Files


You create the HFS using TSO, by executing the following steps: 1. Choose ISPF option 6, then issue the ish command. The ish command gets you to the ishell so you can access USS files. 2. Press PF10 to put the cursor on the action bar (top of screen). 3. Tab to file_systems, then press Enter. 4. Enter 2 for new from the pull-down menu. We entered the information shown in Figure 11 on page 38 to create our three HFS files.

Copyright IBM Corp. 1999

37

Installation Library File system name Primary Cylinders Secondary cylinders Storage Class Management Class Data Class Production Library File system name Primary Cylinders Secondary cylinders Storage Class Management Class Data Class Storage Library File system name Primary Cylinders Secondary cylinders Storage Class Management Class Data Class

BAANERP.INSTALL. 3300 0 SCBAAN Standard DCPDSE

BAANERP.APPL.BSE 2700 0 SCBAAN Standard DCPDSE BAANERP.CDROM 1000 500 SCCOMP Standard DCPDSE

Figure 11. Allocation HFS Files

Note: The storage class, management class and data class are the ones we set up for our system. Check with your OS/390 systems programmer for the proper storage class, management class, and data class to use.

5.2 Creating the Mount Point


Mount points are directories over which an HFS is mounted. An HFS cannot be accessed though OS/390 UNIX System Services unless it has been mounted.
The member BPXPRM00 in SYS1.PARMLIB can be used to automatically mount the HFS datasets at IPL time. Appendix A, BPX Parameters on page 111 shows the BPXPRM00 we used in our installation. Refer to UNIX System Services Connection Scaling Reference for the suggested settings for BPX parameters for Baan. Attention In our sysplex environment we do not put LPAR-specific mount points in BPMXPARM in the SYS1.PARMLIB library because it is shared. We create a started task that does the mkdir and mount commands for HFS files. These mount points should be made permanent for the next IPL of your system by updating your BPMXPARM, or by using the preceding procedure, or by using your own operational procedure.

To put this session into OS/390 UNIX System Services, again logon as ROOT, select option 6, and type omvs. Then create directories for the mount points, using the following commands:

38

Installing BaanERP Applications on OS/390

5.2.1.1 Creating the Directory for the Installation Mount Point cd / mkdir baanerpinstall 5.2.1.2 Creating the Directory for the Production Mount Point cd / mkdir baanerp 5.2.1.3 Creating the Directory for the Storage Mount Point cd / mkdir baanerpcdrom
At this point, issue the exit command at the prompt and press Enter.

5.2.2 Mounting the HFS Files


An HFS file cannot be accessed through OS/390 UNIX System Services unless it has been mounted. The HFS files must have been already allocated and the mount point created before a mount point command can be issued. As previously mentioned, member BPXPRM00 in SYS1.PARMLIB can be used to automatically mount at IPL time. HFS files are manually mounted through TSO. To manually mount HFS files: 1. Logon to TSO. 2. Choose option 6 (commands). 3. Enter ish. 4. Press PF10 to go to the action bar. 5. Tab to file_systems, press Enter. 6. Choose 3 for mount on the pull-down menu. 7. Complete the menu to mount a file system. Figure 12 through Figure 14 on page 40 show the information we entered for our three HFS files:

5.2.2.1 Mounting the Production HFS File


Mount Point File System Name File System Type New Owner /baanerp BAANERP.APPL.BSE HFS ROOT

Figure 12. Mount Production HFS File

Chapter 5. BaanERP Applications Installation

39

5.2.2.2 Mounting the Installation HFS File


Mount Point File System Name File System Type New Owner /baanerpinstall BAANERP.INSTALL HFS ROOT

Figure 13. Mount Installation HFS File

5.2.2.3 Mounting the Storage HFS File


Mount Point File System Name File System Type New Owner /baanerpcdrom BAANERP.CDROM HFS ROOT

Figure 14. Mount Storage HFS File

5.3 Unloading the Baan Code


The Baan code is delivered on a CD-ROM.

5.3.1 Setting Up to Load the Baan Software from the CD-ROM


We used the CD-ROM drive of an WINNT workstation to read the Baan installation files in order to move the files to the HFS file system on UNIX System Services for OS/390. On the CD-ROM, we had the following two files: appl.tar port_390.pax

5.3.1.1 Moving the Files to OS/390 System Service


We used FTP to upload to S/390. Issue the ftp command to connect to the OS/390 system: (substitute your appropriate IP address)

ftp 9.12.14.207
User:

ROOT
Password: (use the RACF password for ROOT)

xxxx
At the FTP prompt, enter:

bin
This tells the FTP to send the file in binary mode:

40

Installing BaanERP Applications on OS/390

cd /baanerpcdrom
This sets the TARGET directory (that is,the HFS directory the files from the CD-ROM are stored into):

put e:\appl.tar put e:\port_390.pax quit


We recommend you keep these installation files in directory /baanerpcdrom (on UNIX System Services) in case a restart from the beginning is required.

5.3.2 Unpacking Files into Install Directories


The files must be unpacked in this specific order. The two files were unpacked into the install directories by issuing the following commands in an OMVS session on UNIX System Services:

cd /baanerpinstall pax -rvf /baanerpcdrom/appl.tar -o from=ISO8859-1,to=IBM-1047 pax -rvf /baanerpcdrom/port_390.pax


Note: PAX is used on the appl.tar file because an ASCII-to-EBCIDIC conversion is required. These commands must be done in this order as some of the porting set files replace some application files that are required for OS/390. The USS pax command can be used for tar files as well as pax files. The installation libraries are ready for use at the completion of the pax commands. Attention Client code required in ASCII: The /baanerp/bse/mswindows files come from the appl.tar file that has been converted from ASCII to EBCDIC. However, the mswindows files (and the Internet files) need to be in ASCII. Rather than convert the files back up from EBCDIC back to ASCII using the ICONV command, we issued the pax. command again and used this temporary directory to retrieve the mswindows and Internet files in ASCII, as follows.

mkdir /baanerp/ascii cd /baanerp pax -rvf /baancdrom/appl.tar


We then used the files in ln.0000/bse/mswindows and ln.0000/bse/internet to get an ASCII version of these files.

5.4 Set Environment Variables


An important part of the installation process is to have all the necessary environment variables set correctly. This section describes those variables that are necessary for the install scripts to work correctly.

Chapter 5. BaanERP Applications Installation

41

5.4.1 Set Environment Variables - OS/390 Connection Scaling Kit


The environment variable required for the connection managers are described in 4.3, Set Environment Variables for CM and PM ger on page 34. At this point, verify that they are correct using the echo command. Variable Value to be included

PATH PATH LIBPATH LIBPATH NLSPATH NLSPATH

/usr/lpp/bpa/bin /usr/lpp/cmx/bin /usr/lpp/bpa/lib /usr/lpp/cmx/lib /usr/lpp/bpa/nls/msg/C/%N /usr/lpp/cmx/nls/msg/C/%N

Note: C and N must be capitalized.

5.4.2 Set Environment Variables - Installation of Baan Applications


To use the install6.2 script, HEAP(24M) must be added to the variable _CEE_RUNOPTS. To set this up, enter:

_CEE_RUNOPTS=$_CEE_RUNOPTS' HEAP(24M)' export _CEE_RUNOPTS


Note: There is a space character before the word HEAP. To verify, issue the following command:

echo $_CEE_RUNOPTS
Note: The HEAP value of 24M in the _CEE_RUNOPTS was used for our installation without any problems. If the HEAP value is not set correctly, the install6.2 script will abort the installation due to shared memory problems. Various problems arose during our execution of the install6.2 script (could not find modules) which were corrected by setting the values of $PATH and $LIBPATH to contain new directory entries. Before running the install6.2 script, the following commands were used:

export export export export export export export export

PATH=$PATH:/baanerp/bse/bin LIBPATH=$LIBPATH:/baanerp/bse/bin:/baanerpinstall/install/bse/bin TERM=vt100 _CEE_RUNOPTS _BPX_SHAREAS=YES _BPX_SPAWN_SCRIPT=YES DB2_MVS_SYNTAX=1 CMX_THREAD_WAIT=0

Check that at this point that BSE and BSE_TMP are not set. To verify all variables are set correctly, enter the following command:

env
Following is our list of environment variables before we ran install6.2:

42

Installing BaanERP Applications on OS/390

root @ SC55:/>env _CXX_LIBDIRS=/lib /usr/lib /usr/lpp/cmx/lib MAIL=/usr/mail/root HOSTNAME=SC55 PATH=/bin:/usr/lpp/tcpip/sbin:/usr/lpp/tcpip/bin:.:/usr/lpp/bpa/bin:/usr/lpp /cmx/bin:/baanerp/bse/bin _CXX_INCDIRS=/usr/include /usr/lpp/cmx/include /usr/lpp/bpa/include SHELL=/bin/sh _CC_LIBDIRS=/lib /usr/lib /usr/lpp/cmx/lib _CC_INCDIRS=/usr/include /usr/lpp/cmx/include /usr/lpp/bpa/include PS1=$LOGNAME @ $HOSTNAME:$PWD> _CEE_RUNOPTS=$_CEE_RUNOPTS' HEAP(24M)',STACK(131072,131072,ANYWHERE,KEEP), ALL31(ON),TERMTHDACT(USDUMP)' _=/bin/env _BPXK_SETIBMOPT_TRANSPORT=TCPIPOE LOGNAME=root STEPLIB=none LANG=C LIBPATH=/lib:/usr/lib:.:/usr/lpp/bpa/lib:/baanerpinstall/install/bse/bin :/baanerp/bse/bin _C89_LIBDIRS=/lib /usr/lib /usr/lpp/cmx/lib TERM=vt100 _BPX_SHAREAS=YES _BPX_SPAWN_SCRIPT=YES DB2_MVS_SYNTAX=1 _C89_INCDIRS=/usr/include /usr/lpp/cmx/include /usr/lpp/bpa/include HOME=/ TZ=EST5EDT MANPATH=/usr/man/%L NLSPATH=/usr/lib/nls/msg/%L/%N:/usr/lpp/bpa/nls/msg/C/%N: /usr/lpp/cmx/nls/msg/C/%N CMX_THREAD_WAIT=0

5.5 Executing the install6.2 Script


At this point, verify that the proper DB2 subsystem is available. To begin installing the Baan applications, you must telnet into the OS/390 system, logon as ROOT, then execute the following steps. (Make sure ROOT is in capital letters and has the dbadm privilege.) We found it was easier to use a telnet session product such as EXCEED from Hummingbird rather then using Windows telnet command. Others have used products such as ONNET, Reflection, Powerterm, Simpterm, WTLENET, and so on. Note: It is best to verify the shared memory is ready (by using the ipcs command) and to check if you have dangling processes (by using the ps -ef command). These processes could result from an aborted install (if this is the second time you are at this point, see G.2.2, Restarting install6.2 from the Beginning on page 144 for information on restarting the install6.2 script). Also, check that BSE and BSE_TMP are not set. First change to the correct directory:

cd /baanerpinstall
Then again check the environment variables TERM, _CEE_RUNOPTS, PATH, and LIBPATH. Issue the env command to check the environment settings.

Chapter 5. BaanERP Applications Installation

43

Then to execute the install script, enter:

. ./install6.2
Note: There is a blank between the two periods. At this point the script will ask you many questions; 5.5.1, Answering the Questions in the install6.2 Script describes the questions and our responses.

5.5.1 Answering the Questions in the install6.2 Script


The following series of screens show how we answered these questions: 1. To start the installation, issue the . ./install6.2 command and answer the questions as follows:
root @ SC55:/baanerp/install>. ./install6.2 Installation started: Tue Apr 20 07:48:25 EDT 1999 Creating a temporary BSE, moment please

2. Creating a temporary BSE path:

Installation Program Select file system to install the BSE directory on Please enter the full pathname:/baanerp/bse

3. Creating a directory for BSE:

Directory not present, create ? Yes

Note: If you do not get to this point successfully the first time because of setup problems, remove the files in baanerpinstall and re-issue the pax commands to start over.

Installation Program Select file system to install the BSE directory on Please enter the full pathname:/baanerp/bse The environment variable 'BSE_TMP' has been set to $BSE/tmp ok? Yes Directory not present, create ? Yes Continue? Yes Press <ctrl Z> to display file system

The default that is displayed first is /usr/bse. Change this to the BSE path you plan to use; in our case, it is /baanerp/bse.

44

Installing BaanERP Applications on OS/390

Note: The message Press <ctrl Z> to display file system at the bottom of the screen does not work in OS/390 at this time. The create directory message displays at the bottom of the screen if you have not already created this directory. 4. Path names (This is shown in three screens.)
THIS IS A FIRST INSTALLATION BSE variables set to: BSE=/baanerp/bse BSE_TMP=/baanerp/bse/tmp PATH=$BSE/bin:$PATH Write BSE variables to /etc/profile ? No Write BSE variable to profiles of user ? No Continue? Yes

At this point, you should answer no or else ASCII information will be added to existing EBCDIC profile files. 5. Host name
Enter 'hosts' for which license is required (e.g. sys1,sys2, etc) Hosts: wtsc55oe Continue? Yes (example)

The host name should be the same as the one in the /etc/resolv.conf and /etc/host files. Note: We found that we had to ensure that the hostname was in lowercase in all files including the file $BSE/lib/licence6.2 after the installation. 6. Database driver

Present database drivers: 1 db2 2 db2400 Which database driver do you want to use for: Company 000 1

Enter the value of environment variable DB2INSTANCE (your SSID) Give instance: DB2D

You are asked the same question for each company. We have not showed each screen. After answering the question several times, the following screen is displayed.

Chapter 5. BaanERP Applications Installation

45

Selected drivers: Comp 000 813 900 Driver db2(DB2INSTANCE=DB2D) db2(DB2INSTANCE=DB2D) db2(DB2INSTANCE=DB2D)

Continue? Yes

7. Directory table path

Select file system to install the DICTIONARY table definition Please enter the full pathname:/baanerp/dict Press <Ctrl> Z to display filesystem Directory not present, create Yes

Again the message Press <Ctrl Z> does not work for OS/390. 8. Operational table and dump table paths These questions are repeated for tables and dumps.

Select file system to install the DICTIONARY table definitions Please enter the full pathname:/baanerp/dict Select file system to install the dumps of the demo tables Please enter the full pathname:/baanerp/test Directory not present, create Yes

Continue? Yes

We were asked to confirm (answer Yes) that we wanted to create each of these directories. Note: These files are not in the $BSE path. This is to make it easier to move these to a different file system later if required. 9. Choice of vrc

46

Installing BaanERP Applications on OS/390

Which vrc of package bc do you want in the package combination

Version 1 2 Enter vrc: 2 B50 B50U

Release b b

Customer stnd

Description Conversion Conversion

Continue? Yes

This question will show the highest version that is available. You should check with the Baan Consultant to decide what version you should choose. We were told to choose the highest version VRC for the version you are installing. In this case, the version number is u and the release number is 2. This question was repeated for packages cf, ci, cp, dc, ec, ed, qm, tc, td, tf, tg, ti, tp, ts, tu, and wh. 10. Package combination After answering this question for all packages you will have the list of packages that will be installed, as shown in Figure 15 on page 48.

Chapter 5. BaanERP Applications Installation

47

Give package combination to create Package Combination : b50b Description : BaanERP_B50b Following package(s) will be installed: ttB50_b_____Tools_B50_b bcB50_b_____Conversion bcB50Ub_stndConversion cfB50_b_____Configurator cfB50Ub_stndConfigurator ciB50_b_____Central_Invoicing ciB50Ub_stndInvoicing cpB50_b_____Constraint_Planning cpB50Ub_stndConstr._Planning dcB50_b_____Development_Control dcB50Ub_stndDev.Contrl ecB50_b_____Electr._Commerce ecB50Ub_stndElec._Commerce edB50_b_____Enterprise_Mod.Data edB50Ub_stndDEM_data qmB50_b_____Quality_Management qmB50Ub_stndQuality tcB50_b_____Common tcB50Ub_stndCommon tdB50_b_____Distribution tdB50Ub_stndDistribution tfB50_b_____Finance tfB50Ub_stndFinance tgB50_b_____Orgware tgB50Ub_stndOrgware tiB50_b_____Manufacturing tiB50Ub_stndManufacturing tpB50_b_____Project tpB50Ub_stndProject tsB50_b_____Service tsB50Ub_stndService tuB50_b_____Utilities tuB50Ub_stndUtilities whB50_b_____Warehousing WhB50Ub_stndWarehousing Continue? Yes

Figure 15. Package Combinations to Create

11. Choice for Multi bshell

Do you want to run multiple bshells to speed up the installation? No (You MUST say NO for S/390) Continue? Yes

Note: This is not supported on S/390. 12. Choice for Multi Byte:

48

Installing BaanERP Applications on OS/390

Do you want to run Multi Byte ? No Continue? Yes

13. Ready to install? Change the default of No to Yes.

Are you ready for installation? Yes Installation started... Moving files...

This change takes several minutes. The yes may be displayed in only two characters, first ye and then es. Press Enter to continue. 14. Ready to set up DB2 files:
Initialize your db2 parameters by using db2_install6.2. Initializing for environment variables: DB2INSTANCE=DB2D After initializing type 'exit' to return. Go to shell? Yes

15. Answering the go to shell question: At this point you can answer yes to go to the shell to execute the db2_install6.2 script or you can start another telnet session to execute the db2_install6.2 script to set up DB2 files, as described in Appendix D, Executing the db2_install6.2 Script on page 121. If you go to another session, you must reset BSE and BSE_TMP. Before proceeding, we used JCL to do the following: Create a STOGROUP, database and tablespace for Company 000 Grant access to all three We were advised not just to copy our Baan db2 files from BaanIVc in case the format had changed, so we used the the db2_install.2 to create the db2_user, db2_group and db2_storage files.

5.5.2 Using the db2install6.2 Script


This section describes how we used the db2_install6.2 script to set up a simple configuration to create the DB2 environment. You can use this script to provide your customized environment, or you can use the sample JCL and db2_(files) that are provided by Baan.

Chapter 5. BaanERP Applications Installation

49

The script db2_install6.2 is designed to assist you in creation of the DB2 environment to: Perform DB2 system administration tasks such as: Create the DB2 databases Create tablespaces in the database Grant dbadm authority to the user IDs We did not use these features. Create the control files required by Baan to load the data for Company 000 and the Demo companies db2_group db2_users db2_storage We used the script to create these three files. The following screens show the questions and answers we used to create the db2_(files). We took the defaults whenever we could. Attention Be patient in replying to the questions, as generally the script will provide a default answer after a few seconds. Also, do not type Yes and then press Enter as the enter will be taken as the answer to the following question. Instead, just type Y or N.

This is the first screen:

DB2 Server Installation

Before invoking this script, a DB2 subsystem must have been defined This script will do following things for the DB2 subsystem. Create storage group and grant privileges to use the storage group. Create database and grant privileges on database. Create tablespace and grant privileges to use the tablespace Create group and user files. Add initial group to group file. Add users root, bsp, ROOT, and BSP to group. Create storage file. Add default entries for table & index to storage file. Check db2_inst.log in the current directory for any error Read Installation Document Carefully regarding specification of DB2 for OS/390. O.K to continue ? Y

Note:

50

Installing BaanERP Applications on OS/390

5.5.3 Listing Environment Variables


This screen shows the environment variables.

Environment Variables *** db2_install6.2 Started *** - HOST - LOGNAME - BSE Press any key . wtsc55oe root /baanerp/bse

Note: If you have not installed the hostname command as described in Appendix C, The hostname Command on page 119, you will get the following error message but it will not cause any problem:

hostname: initial_setup: db2_install6.2 1677: FSUM7351 not found:


If you have gone to the shell you will not see a LOGNAME, and the error message might change the structure of the messages but you can continue without a problem. At this point there are a series of questions to answer about the layout of your database. The order of the questions will change, depending on how you answer these questions. Remember not to press Enter; instead, just type y or n. A single key stroke is all that is necessary.

5.5.4 Storage Group Creation


These are the questions you must answer to create the STOGROUP if you want the Baan db2_install6.2 script to do this for you.

5.5.4.1 Creating STOGROUP


Since we had used JCL to create our STOGROUP BERPGRP, we answered N.

Storage Group Creation Want to create storage groups (Y?N) ? N

5.5.4.2 Creating a Database


Since we had used JCL and DDL to create our database, we answered N.

Database Creation Want to create a database (Y?N) ? N

Chapter 5. BaanERP Applications Installation

51

5.5.4.3 Tablespace Creation


Since we used JCL and DDL to create our tablespace, we answered N.

Tablespace Creation Want to create a database (Y?N) ? N

5.5.5 Creating DB2 Reference Files for the Baan Script


This step creates three files that the Baan install6.2 script uses to build and load the database. We used the db2_install6.2 script to create the three db2_(files).

5.5.5.1 Group file Creation


The following will create db2_groups.

Group File Creation Want to create initial group (Y/N)? Y

Group File Creation Initial Group : db2berp Group Password : db2berp Is above data correct (Y/N) ? Y Add group db2berp (Y/N) ? Y Adding group db2berp Group added. Press any key .

5.5.5.2 Creating the User File


The following will create db2_users.

User File Creation Add users "root", "bsp", "ROOT", "BSP" (Y /N) ? Y

52

Installing BaanERP Applications on OS/390

User File Creation dd Baan user root to Group db2berp (Y/N) ? Y DB User : root

Adding user root to group db2berp User added to group. Press any key
This is repeated four times, once for each user: bsp, BSP, root, and ROOT.

User File Creation Add other users (Y/N)? N

5.5.5.3 Creating the Storage File


The following will create db2_storage. Note: We did not specify any particular tablespaces at this time for Company 000, and the script used the defaults of * *.

Storage File Creation Create db2_storage Entries ? Y

Do you want to specify Company Data ? Y Update Index Parameters Company: * Table spec: *

Current Index parameters: STOGROUP BERPGRP PRIQTY 12 SECQTY 960 BUFFERPOOL BP0 Do you wish to modify ? N '/baanerp/bse/lib/db2/db2_storage' updated successful Company: * , Table: *

Then we got the message that the script had completed.

Chapter 5. BaanERP Applications Installation

53

db2_install6.2 completed bshell6.2> exit

5.5.5.4 Files Baan Will Use to Define the Database


After the script has been run, the following files will be in directory /baanerp/bse/lib/db2:

$ ls db2_groups db2_storage db2_users

This is db2_storage:

*:*:I::01::STOGROUP BERPGRP PRIQTY 12 SECQTY 960 BUFFERPOOL BP0 *:*:T:group:01:5: ARR_SIZE 1 OPT_ROWS 5 T_SPACE BERP000.TS000 . .
This is db2_groups:

db2berp:qZ.m7rcL}G3WW"t6L{79r$,<[email protected]
This is db2_users:

BSP:BSP:pDOH9BNtTkv.*3e!&t#<rA{11Pw;#Moc:db2berp bsp:bsp:pDOH9BNtTkv.*3e!&t#<rA{11Pw;#Moc:db2berp root:root:&l%d(43"Bd5g+jaj2I1/o,-0H){c3:E:db2berp ROOT:ROOT:pDOH9BNtTkv.*3e!&t#<rA{11Pw;#Moc:db2berp

5.5.6 Continuing with the install6.2 Script


To continue with the installation: Go back to original telnet and respond: yes. Then, the following messages will appear:
Initialize your db2 parameters by using db2_install6.2. Initializing for environment variables: DB2INSTANCE=DB2D After initializing type 'exit' to return. Go to shell? Continue: Yes Setting permissions, moment please... Yes

Starting Bshell Just before the load starts,you will get the following messages:

54

Installing BaanERP Applications on OS/390

Stop shared memory for temporary environment... Running rc.start for BSE environment

BUFSZ 4194304, MAXATTCH 30, START 0x18000000, STEP 0x400000 Start /baanerp/bse/bin/shmtimer6.2: Starting successful

Continuing with the BW Client Check that the profile for root reflects the correct values. The following screen will ask you to go to the BW Client:
Installation interrupted: Fri Apr 23 08:53:53 EDT 1999 You can use BI or BW to continue the installation When using BI: ------------------------------------------------------------------------------ install BI on your HTTP server - copy the HTML page '/baanerpinstall/install.html' to the BI subdirectory 'client' - start your internet browser and select page 'install.html' -----------------------------------------------------------------------------When using BW: ------------------------------------------------------------------------------ install BW on your workstation (from /baanerp/bse/mswindows) - start BW using the following configuration: Hostname: wtsc55oe Connect As: root BSE: /baanerp/bse Bshell name: bshell.inst Command: -- ottiex1287 /baanerpinstall -----------------------------------------------------------------------------When BI or BW has finished executing, you can continue this installation Continue? (y/n):

5.5.7 Changes before Continuing


We made the following changes according to the release notes: Change the s to p in the fifth column for sh_server in the file /$BSE/lib/ipc_info.
bshell bshell.inst audit sh_server fs6.2 nserver db2 db2400 s s s s s s s s 0 0 501 0 303 0 310 307 0 0 510 0 335 0 301 370 ${BSE}/bin/bshell6.2 ${BSE}/bin/bshell_inst6.2 ${BSE}/bin/audit_srv6.2 ${BSE}/bin/sh_server6.2 ${BSE}/bin/fs6.2 ${BSE}/bin/nserver6.2 ${BSE}/bin/db2_srv6.2 s ${BSE}/bin/db4_srv6.2 p p p p m s p

Change a field in uROOT file. Edit the file $BSE/lib/user/uROOT and change the field from

pacc:Install to pacc:b50b.
We found it was easier to edit these files by using the ish menus rather than using the vi editor.

Chapter 5. BaanERP Applications Installation

55

5.5.8 Configure the BW Client


You must set up a BW Client to use for the rest of the installation process. The procedure to set up a BW Client is described in Chapter 6, Client Connection Configurations on page 65. Enter the fields as shown for hostname, Bshell environment, then press RUN! as shown in Figure 16.

Figure 16. BaanERP Configuration Panel

5.5.8.1 Enter the Logon Password


You are asked if you want to save your configuration, and then you will be presented with the logon screen, as shown in Figure 17.

Figure 17. Baan Logon Panel

56

Installing BaanERP Applications on OS/390

5.5.8.2 Wait for the Installation Process to Continue


As shown in Figure 18, the Baan initialization panel will appear for 10 to 15 seconds.

Figure 18. Baan Initialization Panel

5.5.8.3 Continuing the Installation Process


The following series of screens appears as the load process continues for the next hour.

Figure 19. Importing Data Dictionary

Chapter 5. BaanERP Applications Installation

57

Figure 20. Creating New Tables

Figure 21. Starting Baan Module ottadv5211

58

Installing BaanERP Applications on OS/390

Figure 22. Creating Table Definitions

Messages during the Load Phase: In our system, after one hour and a half we had the following message:

Figure 23. Message about User ROOT

As instructed in the release notes, we pressed OK and received the following message:

Figure 24. Message about User BSP

We pressed OK and the database load continued.

Chapter 5. BaanERP Applications Installation

59

After 15 hours or so, we received the following messages:

Figure 25. Installation Has Completed

Figure 26. Baan Message to Return to Window

You can monitor the process of the load phase by checking the entries in the file /baanerp/bse/log/log.oiex1288. There are 32 programs to run that start with ln.00xx. If you find that the load is going very slowly, check to make sure you have used the OPT_ROWS 5 option for the tables in the db2_storage file. If you have to log off the ROOT user ID and restart the install6.2 script, you must execute the following steps: 1. export BSE=/baanerp/bse. 2. export BSE_TMP=/baanerp/bse/tmp. 3. export DB_AS=bshell.inst. 4. Change the pacc option in the uROOT file from install to b50b.

5.5.9 Completing the Installation


The length of time needed to load Company 000 varies, depending upon the following: The number of DB2 Workfiles (DSNDB07) and the number of packs they are distributed on The amount of central storage your OS/390 has The amount of expanded storage your OS/390 has

60

Installing BaanERP Applications on OS/390

The number of CPs allocated to your LPAR At this point, return to the ASCII window and reply yes. The install6.2 script will finish.

Installation interrupted: Fri Apr 23 08:53:53 EDT 1999 You can use BI or BW to continue the installation When using BI: ------------------------------------------------------------------------- install BI on your HTTP server - copy the HTML page '/baanerpinstall/install.html' to the BI subdirectory 'client' - start your internet browser and select page 'install.html' ------------------------------------------------------------------------When using BW: ------------------------------------------------------------------------- install BW on your workstation (from /baanerp/bse/mswindows) - start BW using the following configuration: Hostname: wtsc55oe Connect As: root BSE: /baanerp/bse Bshell name: bshell.inst Command: -- ottiex1287 /baanerpinstall ------------------------------------------------------------------------When BI or BW has finished executing, you can continue this installation Continue? (y/n): Yes
After entering Yes, you will get the following messages:

Installation continued: Tue May 4 08:49:42 EDT 1999 pdaemon6.2: Lpcmd /baanerp/bse/bin/lp6.2 changed to mode 0755 pdaemon6.2: /baanerp/bse/bin/pdaemon6.2 started. Installation Completed
At this point you are ready to load the demo database. The steps are: 1. First make a backup copy of the DB2 database. 2. Set up the profile for bsp. 3. Logon to Baan using the BW Client and user ID bsp. 4. Load the demo companies. 5. Run RUNSTATS on Company 000. You can log off from ROOT and logon on to the bsp user ID as long as you have set up the correct profile for bsp as described in 5.6, Setting Up the Profile for bsp User ID on page 62.

Chapter 5. BaanERP Applications Installation

61

5.6 Setting Up the Profile for bsp User ID


After Company 000 was loaded, we set up the profile for user bsp, as shown in Figure 27. Then you can proceed to set up the Baan Windows client for user bsp and then install the demo companies. The environment variables we set for the bsp user are shown in Figure 27.

_CXX_LIBDIRS=/lib /usr/lib /usr/lpp/cmx/lib MAIL=/usr/mail/bsp HOSTNAME=SC55 PATH=/bin:/usr/lpp/tcpip/sbin:/usr/lpp/tcpip/bin:.:/usr/lpp/bpa/bin:/usr/lpp/cmx /bin _CXX_INCDIRS=/usr/include /usr/lpp/cmx/include SHELL=/bin/sh _CC_LIBDIRS=/lib /usr/lib /usr/lpp/cmx/lib _CC_INCDIRS=/usr/include /usr/lpp/cmx/include PS1=$LOGNAME @ $HOSTNAME:$PWD> _CEE_RUNOPTS=HEAP(24M) AL(ON) ENVAR("_BPXK_SETIBMOPT_TRANSPORT=TCPIPOE") POS(ON) _=/bin/env _BPXK_SETIBMOPT_TRANSPORT=TCPIPOE LOGNAME=bsp STEPLIB=none LANG=C LIBPATH=/lib:/usr/lib:.:/usr/lpp/bpa/lib _C89_LIBDIRS=/lib /usr/lib /usr/lpp/cmx/lib TERM=vt100 _BPX_SHAREAS=YES _C89_INCDIRS=/usr/include /usr/lpp/cmx/include HOME=/baanerp/bse TZ=EST5EDT MANPATH=/usr/man/%L NLSPATH=/usr/lib/nls/msg/C/%N:/usr/lpp/bpa/nls/msg/C/%N export _CEE_RUNOPTS="HEAP(24M,1M,ANYWHERE,KEEP),STACK(131072,131072,ANYWHERE, KEEP),ALL31(ON),LIBSTACK(8),TERMTHDACT(UADUMP)" export TERM=vt100 export DB2_MVS_SYNTAX=1 export _BPX_SHAREAS=YES export _BPX_SPAWN_SCRIPT=YES export export export export PATH=$PATH:/baanerp/bse/bin LIBPATH=$LIBPATH:/baanerp/bse/bin BSE=/baanerp/bse BSE_TMP=$BSE/tmp

Figure 27. Environment Variables for bsp User

5.7 Starting the Baan Application Manually


The Baan applications are started as part of the successful load of Company 000. If at some time you must start the Baan applications manually, change directory to the $BSE/etc directory and issue the command: rc.start. This initializes the Baan production environment, as shown in Figure 28 on page 63

62

Installing BaanERP Applications on OS/390

root @ SC55:/baanerp/bse/etc>rc.start Initializing... Initialize Shared Memory Shared Memory still running Initializing Licence Daemon... Initialize Printer Daemon Printer Daemon Initialized

Figure 28. Starting the Baan Applications Manually

The command rc.stop is used to stop the Baan applications.

Chapter 5. BaanERP Applications Installation

63

64

Installing BaanERP Applications on OS/390

Chapter 6. Client Connection Configurations


This chapter describes how we set up the Baan client. There are two types of BaanERP clients: BW BI For Baan Windows 95 Client For the Baan Internet Client

We used the BW and BI Clients for our installation. The setup for the BW Client is described in Chapter 7, Install the bi Client and Set Up the Webserver on S/390 on page 71.

6.1 Setting Up the BW Baan Client Code on a Windows 95 Client


After the moving files section of the installation process (about 15 or 20 minutes into the process), you are asked to continue the installation using the BW Client. At this point, the BaanERP client code was found in the /baanerp/bse/mswindows directory after the installation is completed. Attention Client code required in ASCII The /baanerp/bse/mswindows files come from the appl.tar file that has been converted from ASCII to EBCDIC. However, the mswindows files (and the Internet files) need to be in ASCII. Rather than convert the files back up from EBCDIC back to ASCII using the ICONV command, we issued the pax pax command again and used this temporary directory to retrieve the mswindows and Internet files in ASCII.

mkdir /baanerp/ascii cd /baanerp pax -rvf /baancdrom/appl.tar


We then used the files in ln.0000/bse/mswindows and ln.0000/bse/internet to get an ASCII versions of these files. There are instructions in the BaanERP release notes for another method to convert the file from EBCIDIC to ASCII; refer to 2.4, BaanERP for OS/390 Release Notes on page 20.

The steps to follow are: 1. FTP the code to the Baan client (a PC running Windows 95). 2. Store the file in a directory, for example c:\baanbw. 3. Issue the command setup to explode the file into 12 files. 4. In this directory, issue the setup command. When the client code is successfully installed, a message appears to say the bw software installation is complete, as shown in Figure 29 on page 66. Next, follow the steps in 6.2, Configuring the Baan Client on page 67.

Copyright IBM Corp. 1999

65

Figure 29. Successful Installation of Baan Client

6.1.1 Getting the Baan Client from the FTP Site


Another source of the Baan client code is the Baan FTP Web site. From a network browser: 1. Issue the following command:

ftp://support.baan.com/updates/B50/bw50/
2. Select the latest appropriate version; we chose: bw5intel113 3. Store the file in a directory, for example c:\baanbw. 4. Execute this (self-exploding) file. 5. Issue the setup command (created in step 4). This will create the Baan Environment and Configuration Selector window, as shown in Figure 30 on page 67. Next, follow the steps in 6.2, Configuring the Baan Client on page 67. A window is opened to display the Baan Configuration Screen: Figure 30 on page 67.

66

Installing BaanERP Applications on OS/390

Figure 30. Baan Environment and Configuration Selector Window

To configure the connection from the client to the S/390, follow the steps in 6.2, Configuring the Baan Client.

6.2 Configuring the Baan Client


To complete this configuration, the following information is required: Host name or IP address of the S/390 Baan user ID Password Path for $BSE From the Window shown in Figure 30, click the BW5intel line icon. This gives you a screen to input the connection parameters and creates a file used to establish connectivity to the application, as shown in Figure 31 on page 68.

6.3 Connecting as bsp


After the installation phase is completed, the steps to complete the configuration are: 1. Check that the .profile for bsp is in the home directory. 2. Click the BW5intel line and the screen shown in Figure 31 on page 68 will appear. 3. Input the host name: wtsc55oe 4. Input the connect ID: bsp 5. Choose use saved password.
Chapter 6. Client Connection Configurations

67

6. Input the password: xxxxxx 7. Input the BSE: /baanerp/bse 8. Choose Save. 9. Choose Close to close the configuration.

Figure 31. Configuring the Baan Client

Now click the Baan application icon to access the Baan applications, or click RUN. This takes a few moments. If this step is not successful, you should check the following: Telnet for OMVS is running (the INETD process). The user IDs are in RACF. Try the user ID in uppercase. The permissions of the /baanerp files are bsp:bsp. After selecting Run!, the following screen will appear for about 10 seconds:

68

Installing BaanERP Applications on OS/390

Figure 32. Connecting to the Baan Client

After this, the Baan Application screen appears; refer to Figure 33.

Figure 33. Client Connection Completed to Baan

Chapter 6. Client Connection Configurations

69

To navigate through the Baan file folders: Double-click down through the file folders until you get to the application you want to execute. Double-click on the executable icon. Note: Users have to be created in Baan in lowercase for BaanERP.

70

Installing BaanERP Applications on OS/390

Chapter 7. Install the bi Client and Set Up the Webserver on S/390


To enable the bi client for BaanERP applications, do the following: 1. Set up a Webserver. 2. Install Java on the system that will have the BI HTTP server 3. Set up the BI HTTP server. 4. Set up the client workstation. The Baan reference for this is BaanERP Internet Server Installation and Config Guide Document Information , Code: U7089A. The Baan code you require is found in the directory /baanerp/bse/internet. You require the ASCII format for this file. If you have not created a separate HFS with the ASCII format of the Baan code, you will have to issue the iconv command for five of the files as noted in 7.2.2, HTTP Server Installation on page 72. The BI HTTP server requires the files to be in ASCII. The four elements of this solution are:

______________ ___________________________________________________ | | | Web Server . BI HTTP Server . Baan Application | | Browser | | . . | | |____| listening . listening . | | SDKAFC10 code| | on port 80 . on port 1180 . | | | | . . | | | | . rexec logon to .-----> bshell | |______________| |___________________________________________________| Client S/390 UNIX System Services

7.1 Set Up a S/390 WebServer


In our case, we used a S/390 Webserver. The steps we followed to set up this S/390 Webserver are provided in Chapter 8, Cloning/Customizing the HTTP Server for OS/390 on page 83. Tests have also been done with an NT Webserver. The WEBBAAN procedure in SYS1.PROCLIB we used to start our Webserver is shown in 7.5.2, Started Procedure for Webserver on page 81.

7.2 Set Up the BI HTTP Server


To set up the BI HTTP server you must do the following: Create a user ID with a home directory (in our case BAANWEB and /u/baanweb). Create a .profile, as shown in 7.2.1, Profile on page 72. Move the /baanerp/bse/internet/bisetup.class file to the home directory. Start Java. Export the DISPLAY for GUI interface. Execute the bi.setup class file.
Copyright IBM Corp. 1999

71

Change the name of the bi.html file to bi.html.ascii. Choose port numbers (our Webserver was listening on 9.12.2.10:80 and our BI HTTP server was listening on 9.12.2.10:1180). Edit bi.html.ascii to point to the Baan bshell. Move files to the /web/baan/pub directory. Note: The Baan applet is signed, so it will work in this configuration.

7.2.1 Profile
In our case, we created a user ID BAANWEB to install the Baan BI HTTP server. Following are the entries we added to the .profile in the home directory /u/baanweb.

# ==================================================== # Java section # ==================================================== export PATH=/usr/lpp/java/J1.1/bin:$PATH:. export CLASSPATH=/usr/lpp/java/J1.1/lib/classes.zip:. export LIBPATH=/usr/lpp/java/J1.1/lib/mvs/native_threads::$LIBPATH # ==================================================== # Java servlet support # ==================================================== export JAVA_HOME=/usr/lpp/java/J1.1 # umask 022 # End of Java section # ==================================================== # ==================================================== # Your personal settings # ==================================================== export CLASSPATH=/u/baanweb:$CLASSPATH # ==================================================== echo PATH : $PATH echo LIBPATH : $LIBPATH echo CLASSPATH : $CLASSPATH echo LD_LIBRARY_PATH: $LD_LIBRARY_PATH echo STEPLIB : $STEPLIB # ====================================================

7.2.2 HTTP Server Installation


To install an HTTP server, go to a S/390 LPAR with Webserver installed and started. Logon with the user ID BAANWEB, then do the following: Create directory /u/baanweb cd /u/baanweb FTP (or copy) BiSetup.class from the Baan application server /baanerp/bse/internet (make sure it is an ASCII version). The BiSetup expects a GUI interface, so we had to use the EXCEED Hummingbird PC X server product. We started EXCEED and then issued the following command, using the IP address of the PC we were using.

export DISPLAY=9.12.14.80:0
Note: To obtain the IP address of our workstation, we first issued the command netstat -a to get the host name (which was syslab02), and then

72

Installing BaanERP Applications on OS/390

we issued the command ping syslab02, which gave us the IP address (in our case 9.12.14.80). Start Java. Check that Java is installed on your system and then start Java by issuing the following commands:
cd /usr/lpp/java/J1.1/bin BAANWEB:/u/baanweb: >java -fullversion (or ./.java -fullversion) java -fullversion "JDK 1.1.6 IBM build m116-19981201 R04 (JIT enabled: ji

Execute bisetup Change the directory using the command:

cd /u/baanweb
Note: Ensure that /u/baanweb is part of the Classpath or you will get the message: Can't find class bisetup. You should not get the message if you have the following statement in your .profile: export CLASSPATH=$CLASSPATH:/u/baanweb Check that you have an XWindows session running, then issue the following command to set up the BI Server:
BAANWEB:/u/baanweb: >java bisetup

Initially we did not have the XWindows interface, so we received these messages:
InstallShield JavaTM Edition Extracting installation code...............................done Sorry, could not extract this archive java.lang.InternalError: Can't connect to X11 window server using ':0.0' value of the DISPLAY variable. at sun.awt.motif.MToolkit.<init>(Compiled Code) at java.awt.Toolkit.getDefaultToolkit(Compiled Code) at java.awt.Font.initializeFont(Compiled Code) at java.awt.Font.<init>(Compiled Code) at installshield.jshield.runtime.InfoContainer.load(Compiled Code at installshield.jshield.runtime.InfoContainer.equals(Compiled Co at bisetup.initiateGUI(Compiled Code) at bisetup.<init>(Compiled Code) at bisetup.main(Compiled Code)

Chapter 7. Install the bi Client and Set Up the Webserver on S/390

73

After installing and starting the Xwindows interface and reissuing the command java bisetup, the graphical interface will display the following screens as it creates the BI Server. You may have to go to the XWindows window manually to see the screen shown in Figure 34 It will be hidden in another window.

Figure 34. Graphical Window Displayed while Setting Up BI HTTP Server

Continue by clicking Next, and you will see the screen shown in Figure 35 on page 75.

74

Installing BaanERP Applications on OS/390

Figure 35. Instructions for Sett Up of BI HTTP Server

On this display, enter the path where you want the BI Server to be installed. In our case, it was /u/baanweb, as shown in Figure 36.

Figure 36. Location for BI HTTP Server Program


Chapter 7. Install the bi Client and Set Up the Webserver on S/390

75

When you receive this screen, the graphical interface part of the installation is complete. Click Finish to return to the telnet session.

Figure 37. Completion of Setting Up BI HTTP Server

This has put one file (uninstall.class) and three directories (install.idb, client, and server) into /u/baanweb. Customize the html file. Go to the client directory by issuing the command: Attention You need ASCII version of some the files in the client directory. These files are found originally in the $BSE/internet directory. They are converted to EBCDIC as part of the installation process. but need to be in ASCII. You can create an ASCII copy of the Baan files, by issuing the pax command without the conversion options that are shown in 5.3.2, Unpacking Files into Install Directories on page 41. Alternatively, if your bi.html file is in EBCDIC after the installation, and needs to be in ASCII, you can issue the commands: iconv -f IBM-1047 -t ISO8859-1 < b i . h t m l bi.html.ascii > iconv -f IBM-1047 -t ISO8859-1 <bi.help bi.help.ascii > iconv -f IBM-1047 -t ISO8859-1 <bi.graphics32.html graphics32.html.ascii > iconv -f IBM-1047 -t ISO8859-1 <readme.txt readme.txt.ascii > iconv -f IBM-1047 -t ISO8859-1 <BIautomatio.html BIautomation.html.ascii > Edit the bi.html file. Use either the oedit bi.html.ascii command or the viascii bi.html command.

cd /u/baanweb/client

76

Installing BaanERP Applications on OS/390

Note: Since bi.html is in ASCII, we found it easier to logon through a telnet session and use viascii to edit bi.html. The command viascii can be downloaded from the Web. See Appendix B, The vi Editor and Common UNIX Commands on page 115 for more information. Change the path to /baanerp/bse and the port to 1180. File to save the new config file as bi.html.ascii. Copy the files to the pub directory:
cp cp cp cp cp /u/baanweb/client/bi.html.ascii /web/baan/pub/bi.html.ascii /u/baanweb/client/netscape/bi.jar /web/baan/pub/netscpae/bi.jar /u/baanweb/client/ie4/bi.cab /web/baan/pub/ie4/bi.cab /u/baanweb/client/ie4/grid.cab /web/baan/pub/ie4/grid.cab /u/baanweb/client/ie4/ssl.cab /web/baan/pub/ie4/ssl.cab

7.2.3 HTTP Server Configuration


Figure 38 on page 78 shows the bi.html.ascii file after we made the changes. We found it was easier to use viascii to edit this file. Copy the file /u/baanweb/bi.html to /web/baan/pub/bi.html.ascii and make the changes to the BSE VALUE and PORT VALUE as shown in Figure 38 on page 78. Note: If the Webserver is on a different host, change the HOSTNAME value as well.

Chapter 7. Install the bi Client and Set Up the Webserver on S/390

77

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN"> <HTML> <HEAD> <TITLE> Bi Startup Page </TITLE> <style type="text/css"><!-BODY { color: #000; margin-left: 7%; font-family: verdana, helvetica, sans-serif; } SPAN.date { font-size: 0.8em } SPAN.attribution { font-weight: bold } #s1 { color: #DD0); font: 70px Impact, sans-serif; }

#p1 { margin-top: -10px; text-align: left;} #s2 { #p2 { color: green;font: italic 40px Georgia, serif ; } margin-top: -50px; margin-left: 5%; }

--></style> </head> <body bgcolor="#FFFFFF"> <p id="p1"><span id="s1">BI Server</span> </p> <p id="p2"><span id="s2">Enter your configuration here</span> </p> <hr noshade size="2"> <applet code="BiLogon.class" archive="netscape/bi.jar" width="559" height="360"> <PARAM <PARAM <PARAM <PARAM <PARAM <PARAM <PARAM <PARAM <PARAM <PARAM NAME=cabinets VALUE="ie4/bi.cab, ie4/grid.cab,ie4/ssl.cab"> NAME=BSE VALUE=/baanerp/bse> NAME=BSHELL VALUE=bshell> NAME=COMMAND VALUE=""> NAME=SECURITY VALUE=NONE> NAME=HOSTNAME VALUE=""> NAME=PORT VALUE=1180> NAME=CONFIG VALUE=BI> NAME=AUTOMATION VALUE=true> NAME=DEBUG VALUE="-window-connection-messages-events-objects"> </applet> <HR noshade size="2"> </BODY> </HTML>

Figure 38. Changing the bi.html File

7.2.4 Starting the BI HTTP Server


To start the BI HTTP server, open an omvs session and enter the following commands:

cd /u/baanweb java -Dfile.encoding=8859_1 BiServer -l bi.log -c -t 3 -p 1180 -a wtsc04oe

78

Installing BaanERP Applications on OS/390

Port 1180 is the port number where the BI Server is listening. This will tie up the telnet session, so you may want to start the BI HTTP Server as a started task as shown in 7.5, Started Procedures on page 80.

7.3 Client Installation


For the client installation, you need either Internet Explorer (version 4.01 or higher) or the Netscape browser (version 4.04 or higher).

7.3.1 Using Netscape


To prepare to use the Netscape browser, do the following: Get the SDKAFC10.exe file. Go to www.microsoft.com/java Click Download. Scroll down to the bottom of the page. Click Microsoft SDK for APC 10. The file you need to download is on the last line of the Microsoft Webpage that is shown in Figure 39.

Figure 39. Choice of Microsoft SDK for APF 10

Download this file to a directory on your PC (such as c:\msoft). Execute the file SDKAFC10.exe Without this code, the Logon button will not activate.

Check that you have Java 1.1.5 on your browser by searching the top line of the Netscape browser and clicking communicator, then tools and java console.

Chapter 7. Install the bi Client and Set Up the Webserver on S/390

79

To start the Netscape browser, do the following: At the URL line, enter the following address, where 9.12.2.10 is the IP address of the Webserver and the bi.html.ascii file points to the BI HTTP server:

http://9.12.2.10:80/bi.html.ascii
When prompted by Type Logon, enter a valid Baan user ID such as baan0. When prompted by Type Password, enter the RACF password for baan0. Note: When using Netscape on the client, you will get the following pop-up window message:

The application ottstpoledaemon (pid=1) is using a feature (Automation not available - Must run on MS Windows with MS VM) that is not supported by BI. Application will be killed.
However, the menu browser is then displayed and you can work with the application. Now you should be able to work with the Baan Internet client.

7.4 Starting the Webserver and Baan Internet Client


The operational procedure to enable the bi client should include checking the following: The Webbaan server is running. The BI HTTP server is running. bi.html.ascii is in /web/baan/pub and bi.jar is in /web/baan/pub/netscape. The AFC package is installed on the workstation. Then, on a Netscape browser, a user should enter:

9.12.2.10:80/bi.html.ascii
A Baan user ID and password

7.5 Started Procedures


You should set up BPX batch jobs to start the Webserver and BI HTTP server as started tasks.

7.5.1 Started Procedure for BI HTTP Server


Following is a sample procedure you can put in SYS1.PROCLIB that can be used to start the Baan BI HTTP server from the console.

//* To start Baan Web Server //BAANWEB EXEC PGM=BPXBATCH,TIME=NOLIMIT,REGION=0M, // PARM='SH /u/baanweb/java -Dfile.encoding=8859_1 BiServer -l x // bi.log -c -t 3 -p 1180 -a wtsc55oe' //STDERR DD PATH='/tmp/baanweb.stderr', // PATHOPTS=(OWRONLY,OCREAT,OTRUNC), // PATHMODE=(SIRWXU) //STDOUT DD PATH='/tmp/baanweb.stdout', // PATHOPTS=(OWRONLY,OCREAT,OTRUNC), // PATHMODE=(SIRWXU)

80

Installing BaanERP Applications on OS/390

These started tasks must be RACF-authorized and associated with the current user ID.

7.5.2 Started Procedure for Webserver


Following is the procedure we used to start the Webserver:

//WEBBAAN PROC P1='-p 80', // P2='-r /web/baan/httpd.conf', // P3='-B -vv', // LEPARM='ENVAR("_CEE_ENVFILE=/web/baan/httpd.envvars")' //********************************************************************* //* //* LEPARM ==> LE runtime opts //* LEPARM='ENVAR("_CEE_ENVFILE=/etc/httpd.envvars")' //* //* ICSPARM ==> Internet Connection Server parameters //* # Standalone HTTPD //* ICSPARM='-p 8080 -r /etc2/httpd.conf' //* # WLM Queue Manager //* ICSPARM='-SN WEBSN1 -p 8080 -r /etc/httpd.conf' //* # WLM ApplEnv Queue Server //* ICSPARM='-SN WEBSN1 -AE WEBHTML' //* //* Internet Connection Server Parameters: //* -SN # WLM - subsystem name //* -AE # WLM - Application Environment //* -fscp nnn # File system codepage - EBCDIC //* -netcp nnn # net code page - ASCII //* -gc_only # clean cache & exit (garbage collect) //* -normalmode //* -p nnnn # use port nnn (default 80) //* -sslmode //* -sslport nnnn # use port nnn (default 443) //* -nosec # no security //* -nosmf # no smf processing on //* -smf # smf processing on //* -r /etc/httpd.conf # use rule file xxxx //* -restart //* -v # trace to stderr //* -vv # trace all to stderr //* -vc # cache trace to stderr //* -version # show version and exit //* xxxxxxx # ServerRoot xxxxxxx; Pass /* //* //********************************************************************* //WEBSRV EXEC PGM=IMWHTTPD,REGION=0K,TIME=NOLIMIT, // PARM=('&LEPARM/&P1 &P2 &P3') //STEPLIB DD DSN=IMW.SIMWMOD1,DISP=SHR //********************************************************************* //SYSIN DD DUMMY //OUTDSC OUTPUT DEST=* //SYSPRINT DD SYSOUT=* //SYSERR DD SYSOUT=* //STDOUT DD SYSOUT=* //STDERR DD SYSOUT=* //SYSOUT DD SYSOUT=* //CEEDUMP DD SYSOUT=* **************************** Bottom of Data ****************************

Chapter 7. Install the bi Client and Set Up the Webserver on S/390

81

82

Installing BaanERP Applications on OS/390

Chapter 8. Cloning/Customizing the HTTP Server for OS/390


Before you can start customizing the HTTP server for OS/390, you will need to make sure you have UNIX System Services and TCP/IP customized. The Web server runs on top of a functional UNIX System Services and TCP/IP environment. For more information see UNIX System Services Planning , SC28-1890. The definitive guide for the HTTP server installation process is the IBM HTTP Server for OS/390: Planning, Installing and Using , SC31-8690. We do not duplicate that information here, but summarize some of the key steps. 1. Do the SMP/E installation of the HTTP server for OS/390. 2. Define RACF profiles, RACF groups, RACF user IDs, RACF surrogate IDs to support the Web server environment. 3. Install the latest Java Virtual Machine for OS/390 from:

http://www.s390.ibm.com/java
4. Edit /usr/lpp/internet/sbin/setup.sh, and point JAVA_HOME to where you have the JDK installed. For example: JAVA_HOME=${JAVA_HOME:-</usr/lpp/java/J1.1>} 5. Run /usr/lpp/internet/sbin/setup.sh. This will create httpd.conf and httpd.envvars files in the /etc directory. Once the installation tasks for the default HTTP server for OS/390 have been completed and some basic configuration done, you should clone this environment before doing any more customization. We discuss how to clone in 8.2.2.2, Web Content Setup Recommendations on page 87.

8.1 Setting Up Server Configuration Files


The Web server configuration file (often referred to as the httpd.conf file) may be located in any HFS directory. If you plan to run multiple servers, you will need multiple configuration files, one per server. You can place all of these in the /etc directory, or you can have them located in their own managed directories, such as /web/baan/httpd.conf and /web/server2/httpd.conf. In managing your configuration file, you can either use the online Configuration and Administration forms (the server must be running to use these), or you can edit the configuration file manually. We assume that you have started your server using the default IBM-supplied configuration file. You can now continue using this file and customize it to your needs. Because of the many parameter and directive changes from release to release, you cannot use a downlevel copy of the httpd.conf file with a new level of the HTTP Server for OS/390. If migrating to a new release, it is best to start out with the sample httpd.conf file for that new release and retro-fit your local customization to it.

Copyright IBM Corp. 1999

83

There are a number of IBM-supplied configuration file samples in the /usr/lpp/internet/samples/config directory: httpd.conf is the main Web server configuration file. httpd.envvars are the Web server environment variable definitions. lgw_fcgi.conf is the fast CGI configuration file. mvsds.conf is the MVS data set (MVSDS) DLL configuration file. ics_pics.conf is the platform for the Internet Connection Selection (PICS) configuration file. javelin.conf is the proxy server or Web Traffic Express configuration file. socks.conf is the Socks clients configuration file. After installation, your server has one authorized user ID that can be used to access the Configuration and Administration forms. By default, the authorized user ID is WEBADM. If you selected a different user ID during HTTP Server for OS/390 installation, you should edit the httpd.conf file and change all occurrences of WEBADM,webadm to the user ID you selected.

8.2 Setting Up a Single Server


This section helps you to set up the server configuration file to be used with a single server. This server is intended to run in normal mode only (no SSL encryption). Setting up a secure server needs extra steps; see Enterprise Web Serving with the Lotus Domino Go Webserver for OS/390, SG24-2074 for more information on setting up a secure server. You may configure the server using a Web browser and the remote administration configuration method as described in the HTTP Server, Planning, Install and Use, SC31-8690, or you may update the server configuration file using a text editor. The HTTP Server, Planning, Install and Use section Using the Configuration and Administration forms describes the steps to follow when using the remote server administration forms. The following descriptions are based on the use of a text editor instead of the remote server administration forms.

8.2.1 Basic Single Server Configuration


If you followed the standard installation procedure for the HTTP Server for OS/390, no customization work is needed to enable the Web server to run.

Standard , in this case, means the following:


The Web server files have been installed in /usr/lpp/internet/server_root. Check if Frntpage.html exists in /usr/lpp/internet/server_root/pub. You are using the default TCP/IP port (80) to access the Web server. If you start up your Web server, you should be able to access it using a Web browser through TCP/IP. However, you will be prompted to provide a valid OS/390 user ID and a password because the initial setting requires this. The following describes some of the first changes you will probably want to make to the IBM-supplied default configuration file.

84

Installing BaanERP Applications on OS/390

8.2.1.1 Specify the Default Access Control User ID


If you wish to allow access to your Web server to anyone, without the need for user verification, you might change the UserID directive from UserID %%CLIENT%% to UserID PUBLIC. This assumes that you are using an OS/390 (RACF) user ID of PUBLIC as your default access user ID. Restarting the Web server after making this change should enable you to access the Web server's home page without providing a user ID.

8.2.1.2 Specify the Authorized Administrator User ID


After installation, your server has one authorized user ID that can be used to access the Configuration and Administration forms. By default, the authorized user ID is WEBADM. If you selected a different user ID during HTTP Server for OS/390 installation, you should edit the httpd.conf file and change all occurrences of WEBADM and webadm to the user ID you selected. Figure 40 shows the default statements that you will need to update if you selected a different user ID. However, access to the configuration page in order to work with the remote administration forms will still be protected. This will be enforced by the definition shown in Figure 40.

Protection IMW_Admin { ServerId IMWEBSRV_Administration AuthType Basic PasswdFile %%SAF%% Mask WEBADM,webadm } Protect /admin-bin/* IMW_Admin WEBADM Protect /reports/* IMW_Admin WEBADM Protect /Usage* IMW_Admin WEBADM
Figure 40. Web Server Administration Protection Directives

8.2.1.3 SSL Security Customization for Non-SSL Mode


If you followed our recommendation and started with the supplied sample configuration file as shipped, the configuration directives shown in Figure 41 appear in your configuration file. They are related to SSL security.

SSLClientAuth sslmode sslport normalmode keyfile

off on 443 on key.kdb

Figure 41. SSL Directives in IBM-Supplied Configuration File (httpd.conf)

There is no requirement to change these parameters. Note: If you leave these parameters as they are, you will get the following error message, which can be seen in the httpd.errors log when starting the server:

+0500 SSL support initialization failed, server will run only in non-secure mode without listening on ssl port

Chapter 8. Cloning/Customizing the HTTP Server for OS/390

85

This message indicates that no setup has been done for SSL. However, the Web server can still be used as a normal non-secure server. You can avoid getting this error by commenting out the directives shown in Figure 41 on page 85. If you want to set up SSL, see Enterprise Web Serving with the Lotus Domino Go Webserver for OS/390, SG24-2074 for more information.

8.2.2 Locating Your Web Content


This section shows you how and where to set up your own Web content without affecting or being affected by the IBM Web content that is provided with HTTP Server for OS/390. This is important because if you place your own Web content in the file system that IBM provides, you might find it difficult to upgrade to another version of the Web server, or even apply maintenance.

8.2.2.1 Standard Web Content Setup


The Web server is defined to look for Web pages in /usr/lpp/internet/server_root/pub, with some exceptions for special pages (such as remote configuration forms). This is enforced by the definitions shown in Figure 42.
# Pass Exec Exec Exec

/admin-bin/webexec/* /usr/lpp/internet/server_root/admin-bin/webexec/* /cgi-bin/* /usr/lpp/internet/server_root/cgi-bin/* /admin-bin/* /usr/lpp/internet/server_root/admin-bin/* /Docs/admin-bin/* /usr/lpp/internet/server_root/admin-bin/*

# These are the pass rules for server administration # Pass /icons/* /usr/lpp/internet/server_root/icons/* Pass /Admin/*.jpg /usr/lpp/internet/server_root/Admin/*.jpg Pass /Admin/*.gif /usr/lpp/internet/server_root/Admin/*.gif Pass /Admin/*.html /usr/lpp/internet/server_root/Admin/*.html Pass /Docs/* /usr/lpp/internet/server_root/Docs/* Pass /reports/javelin/* /usr/lpp/internet/server_root/pub/reports/javelin/* Pass /reports/java/* /usr/lpp/internet/server_root/pub/reports/java/* Pass /reports/* /usr/lpp/internet/server_root/pub/reports/* Pass /img-bin/* /usr/lpp/internet/server_root/img-bin/* # *** ADD NEW PASS RULES HERE *** Pass /* /usr/lpp/internet/server_root/pub/*
Figure 42. Standard Web Content Setup Directives

These Exec and Pass statements force the Web server to search for content at particular locations in the HFS. This approach also has the effect of hiding the structure of your file system from users of Web browsers. The following HTML example can be used to show how the Web server resolves the requests. Assume that a Web browser makes a request for the home page of a particular site, (that home page is shown in Figure 43 on page 87).

86

Installing BaanERP Applications on OS/390

<html> <head> <TITLE>IBM HTTP Server</TITLE> </head> <body bgcolor="#FFFFFF"> <img src="/Admin/lgmast.gif" alt="IBM HTTP Server"> . . <hr> <DL> <DT> <a href="/admin-bin/webexec/cfgstart.html">CONFIGURATION AND ADMINISTRATION FORMS</a> <DD>To set up, configure, and administer the IBM HTTP Server. <br> <font size="-1"><A HREF="tunetips.html"><b>Tune your browser first.</b></A></font> <P> <DT> <A HREF="http://www.ics.raleigh.ibm.com/lotusgowebserver/">LOTUS DOMINO GO WEBSERVER WEB SITE</a> <DD> To find useful information.<P> <DT> <A HREF="http://www.software.ibm.com/webservers/httpservers/doc51.html">INFORMATION TO HELP</A> . . . .
Figure 43. HTML Example - frntpage.html

This HTML file is found by the Web server and is sent to the client. The client browser reads the file and finds the first reference statement in this HTML file (line . . in Figure 43). This causes another GET request to be made to the server. The request would look like this:

GET /Admin/lgmast.gif HTTP/1.0


The server receives this request, looks for a matching configuration directive, and in this case finds the following, as shown in Figure 42 on page 86.

Pass /Admin/*.gif

/usr/lpp/internet/server_root/Admin/*.gif

The Web server therefore translates the request to:

/usr/lpp/internet/server_root/Admin/lgmast.gif
It is important that you understand how this example was mapped by the Web server to actual file system locations. Each request is mapped according to the HTTP rules and to the configuration directives (in a top-to-bottom, first match approach).

8.2.2.2 Web Content Setup Recommendations


Our recommendations are: 1. Do not modify IBM-provided default content. 2. Do not mix IBM-provided default content with your own content. 3. Do not use the following locators assumed by IBM default content for your own URLs: /cgi-bin/ /admin-bin/ Used to address CGI programs. Used to address CGI programs for remote administration purposes. WEBADM password needed to access. Used to address CGI programs for documentation.
Chapter 8. Cloning/Customizing the HTTP Server for OS/390

/Docs/admin-bin/

87

/icons/ /Admin/ /Docs/ /img-bin/ /reports/ /reports/javelin/ /reports/java/

Used to address server icons for tree views and other purposes. Used for remote administration purposes. Used for the standard documents provided with the Web server. Used for clickable icons. Used to access reports generated by service tasks from the log files. Used to access reports generated by Web Traffic Express. Used to access reports generated by Java.

4. Use a separate HFS data set for your own Web content, mounted at a different mount point than the /usr/lpp/internet/server_root path.

8.2.3 Customizing Your Web Server


The following procedure shows you an easy way to start with your Web server setup: 1. You should have already run /usr/lpp/internet/sbin/setup.sh to create default httpd.conf and httpd.envvars files in the /etc directory. 2. Allocate a new HFS data set for your Web content. Allocate a 20 to 25 cylinder HFS (call it OMVS.systemID.WEB.yyy on the SYSPLEX and OMVS.WEByyy.HFS on the non-SYSPLEX systems). Mount it at /web/yyy, where yyy is a name that corresponds with the server you are cloning, like apple, baan, suf or peg. Mount this HFS to a mount point such as /web/baan/, as follows:

mkdir -p /web/baan /samples/mountx /web/baan OMVS.SC04.WEBBAAN.HFS


3. Create the following directories: /web/baan/pub Default directory containing your HTML and other files. /web/baan/pub/images Default directory containing your GIF files. /web/baan/our-cgi Default directory containing your CGI programs. /web/baan/reports Directory containing the server reports. /web/baan/logs Directory containing the server logs. 4. Issue the following command to change the permission bit settings for all the directories that you have created:

chmod -R 755 /web


5. Copy /etc/httpd.conf and /etc/httpd.envvars to the /web/yyy directory. The following assumes you are configuring a server called BAAN:

cp /etc/httpd.* /web/baan/
6. Edit the /web/baan/httpd.conf file and change the ServerRoot statement to /web/baan. 7. Change UserID

%%CLIENT%% to UserID

PUBLIC.

This assumes that you are using an OS/390 (RACF) user ID of PUBLIC as your default access user ID. 8. Change the PidFile statement to /web/baan/httpd-pid. 9. Change the logging and reporting statements to the appropriate directories, as shown in Figure 44 on page 89.

88

Installing BaanERP Applications on OS/390

AccessLog AgentLog RefererLog ErrorLog CgiErrorLog

/web/baan/logs/httpd-log /web/baan/logs/agent-log /web/baan/logs/referer-log /web/baan/logs/httpd-errors /web/baan/logs/cgi-error purge purge 5 5 0 0 Off /web/baan/reports

AccessLogArchive ErrorLogArchive AccessLogExpire ErrorLogExpire AccessLogSizeLimit ErrorLogSizeLimit AccessReportDoDnsLookup AccessReportRoot

Figure 44. Single Server - Logging and Reporting Changes to httpd.conf

10. Edit the httpd.conf file and modify the Exec and Pass statements as shown in Figure 45.

# Exec Exec Exec Exec # # Pass Pass Pass Pass Pass Pass Pass Pass Pass #Pass Pass #Pass Pass Pass

/our-cgi/* /web/baan/our-cgi/* /cgi-bin/* /usr/lpp/internet/server_root/cgi-bin/* /admin-bin/* /usr/lpp/internet/server_root/admin-bin/* /Docs/admin-bin/* /usr/lpp/internet/server_root/admin-bin/* These are the pass rules for server administration /icons/* /usr/lpp/internet/server_root/icons/* /Admin/*.jpg /usr/lpp/internet/server_root/Admin/*.jpg /Admin/*.gif /usr/lpp/internet/server_root/Admin/*.gif /Admin/*.html /usr/lpp/internet/server_root/Admin/*.html /Docs/* /usr/lpp/internet/server_root/Docs/* /img-bin/* /usr/lpp/internet/server_root/img-bin/* /images/* /web/baan/pub/images/* /reports/javelin/* /usr/lpp/internet/server_root/pub/reports/javelin/* /reports/java/* /usr/lpp/internet/server_root/pub/reports/java/* /reports/* /usr/lpp/internet/server_root/pub/reports/* /reports/* /web/baan/reports/* /* /usr/lpp/internet/server_root/pub/* /Server/* /usr/lpp/internet/server_root/pub/* /* /web/baan/pub/*

Figure 45. Single Server - Modified Web Content Setup Directives

This modification will force the Web server to search in your /web/baan/pub directory for everything but the IBM-provided default content. Other configuration file changes depend on the purpose and content of your Web server. You may also need to change some parameters in order to tune the server. For more detailed information on all valid configuration file directives see HTTP Server, Planning, Install and Use, SC31-8690.

Chapter 8. Cloning/Customizing the HTTP Server for OS/390

89

8.2.4 Create a Default Home Page for Your Web Server


The HTML example in Figure 46 shows you how to set up your own home page using the settings shown in Figure 45 on page 89, and still be able to access the remote administration forms as before. This file should be called index.html or Welcome.html and should be placed in /web/baan/pub.

<html><head> <title>BAANWEB and the HTTP Server for OS/390</title> </head><body bgcolor="#FFFFFF"> <img src="/images/thiswher.gif" align=left> <h1>Welcome to my home page </h1> This is the HTTP Server for OS/390 serving BAANWEB pages and applets. <hr> Follow this link to access the <a href="/web/baan/pub/bi.html.ascii"> Baan Applet</a> </html>
Figure 46. Single Server - HTML Example for a Home Page (index.html)

8.2.5 Create/Update a Started Procedure for Your Web Server


1. Update the started procedure to point to the new httpd.conf and httpd.envvars files. An example follows:

//WEBBAAN PROC P1='-B', // P2='-r /web/baan/httpd.conf', // P3='-p 99 ', // LEPARM='ENVAR("_CEE_ENVFILE=/web/baan/httpd.envvars")' //* //WEBSRV EXEC PGM=IMWHTTPD,REGION=0K,TIME=NOLIMIT, // PARM=('&LEPARM/&P1 &P2 &P3') //SYSIN DD DUMMY //OUTDSC DD SYSOUT=* //SYSPRINT DD SYSOUT=* //SYSERR DD SYSOUT=* //STDOUT DD SYSOUT=* //STDERR DD SYSOUT=* //SYSOUT DD SYSOUT=* //CEEDUMP DD SYSOUT=*
2. Define a RACF STARTED profile for this Web server, setting the associated user ID to WEBSRV. 3. Start the Web server. You should see the following message when your Web server is ready:

IMW3536I SA 184549402 0.0.0.0:99 * * READY

90

Installing BaanERP Applications on OS/390

Chapter 9. Post-Installation Tasks


After you have completed the installation of Company 000, you must do the following: Set up the profile for user ID bsp: You must set $BSE and $BSE_TMP. Check the file /usr/local/bin/set5 Logon to user ID bsp. Create the DB2 files for Company 813 and Company 900. Complete the post-installation tasks as described in the Baan manual. Load all the dump files in $BSE/test: /baanerp/test/tcB50_b/813/813/comp813.pre /baanerp/test/tcB50_b/900/900/PI.eis.Z /baanerp/test/tgB50_b/813/813/BAANERP-PD.Z /baanerp/test/tgB50_b/813/813/conv.dump.Z Go through the steps to validate the license.

(DONE)

9.1 JCL to Create Company 813


//BERP000 JOB (999,POK),'BERP 000 ALLOCATE',NOTIFY=&SYSUID, // CLASS=A,MSGCLASS=T,TIME=1439, // MSGLEVEL=(1,1) //*** //*** //*** /*JOBPARM SYSAFF=SC55 //JOBLIB DD DSN=DB2V510D.RUNLIB.LOAD,DISP=SHR // DD DSN=DB2V510.SDSNLOAD,DISP=SHR //CREATETS EXEC PGM=IKJEFT01,DYNAMNBR=20 //SYSPRINT DD SYSOUT=* //SYSTSPRT DD SYSOUT=* //SYSOUT DD SYSOUT=* //SYSUDUMP DD SYSOUT=* //SYSTSIN DD * DSN S(DB2D) RUN PROG(DSNTIAD) PLAN(DSNTIA51) END //SYSIN DD * CREATE DATABASE BERP813 STOGROUP BERPGRP BUFFERPOOL BP5; COMMIT; CREATE TABLESPACE TS813 IN BERP813 BUFFERPOOL BP6 USING STOGROUP BERPGRP PRIQTY 100000 SECQTY 100000 LOCKSIZE ROW SEGSIZE 32 CLOSE NO; COMMIT; GRANT DBADM GRANT DBADM // ON DATABASE BERP813 TO BSPGRP WITH GRANT OPTION; ON DATABASE BERP813 TO BSP WITH GRANT OPTION; 00010023 00020017 00030017

Copyright IBM Corp. 1999

91

9.2 JCL to Create Company 900


We used the same JCL to create Company 900.

//BERP900 JOB (999,POK),'BERP 900 ALLOCATE',NOTIFY=&SYSUID, // CLASS=A,MSGCLASS=T,TIME=1439, // MSGLEVEL=(1,1) //*** //*** //*** /*JOBPARM SYSAFF=SC55 //JOBLIB DD DSN=DB2V510D.RUNLIB.LOAD,DISP=SHR // DD DSN=DB2V510.SDSNLOAD,DISP=SHR //CREATETS EXEC PGM=IKJEFT01,DYNAMNBR=20 //SYSPRINT DD SYSOUT=* //SYSTSPRT DD SYSOUT=* //SYSOUT DD SYSOUT=* //SYSUDUMP DD SYSOUT=* //SYSTSIN DD * DSN S(DB2D) RUN PROG(DSNTIAD) PLAN(DSNTIA51) END //SYSIN DD * CREATE DATABASE BERP900 STOGROUP BERPGRP BUFFERPOOL BP3; COMMIT; CREATE TABLESPACE TS900 IN BERP900 BUFFERPOOL BP3 USING STOGROUP BERPGRP PRIQTY 96000 SECQTY 96000 LOCKSIZE ROW SEGSIZE 32 CLOSE NO; COMMIT; GRANT DBADM GRANT DBADM // ON DATABASE BERP900 TO BSPGRP WITH GRANT OPTION; ON DATABASE BERP900 TO BSP WITH GRANT OPTION;

00010023 00020017 00030017

9.2.1 db2_storage file for Companies 813 and 900


This is the db2_storage file we used for Companies 813 and 900 that corresponds to the previous JCL and that puts everything in one database and one tablespace:

*:813:T:group:01:5: ARR_SIZE 1 OPT_R OWS 5 T_SPACE BERP813.TS813 *:900:T:group:01:5: ARR_SIZE 1 OPT_R OWS 5 T_SPACE BERP900.TS900 *:*:I::01::STOGROUP BERPGRP PRIQTY 64 SECQTY 960 BUFFERPOOL BP3 *:*:T:group:01:5: ARR_SIZE 1 OPT_ROWS 5 T_SPACE BERP000A.TS000 . .
Figure 47. db2_storage File for Companies 813 and 900

92

Installing BaanERP Applications on OS/390

Chapter 10. Enabling Process Manager on UNIX System Services


This chapter describes how we customized the Process Manager functions of the UNIX System Services Connection Scaling Kit for our installation.

10.1 Process Manager (PM) Installation


The installation of this new OS/390 features was straightforward and is well documented in the Program Directory for OS/390 UNIX System Services Connection Scaling Kit , GI10-0635, which is shipped with the OS/390 PTF. Note: We discovered that customization should be done through a Telnet screen, rather than through a TSO session.

10.2 Customizing the Process Manager


The Process Manager (PM) configuration has many options to allow you to control, among many parameters, the number of prestarted address spaces and the number of Task Control Blocks (TCBs) per address space. We recommend that you start the installation without PM running. When you start running the applications with several users, just start with the default parameters, which are the ones we used as shown in 10.2.1, Process Manager Parameters on page 94. If you start having memory or address space problems, you can alter such parameters as: Prestarted address space TCBs per address space The sample process manager configuration file needs to be copied to the /etc/bpa directory. The /etc/bpa directory was created during the installation of the UNIX System Services Connection Scaling Kit. The following command will copy the file:

cp /usr/lpp/bpa/samples/bpares.cfg /etc/bpa/bpares.cfg.conf
To enable Process Manager with a basic customization, we added the statements describing the port number to two files: 1. The services file of the client workstation The port number has to be put in the services file of the client workstation. In our case, this was a Windows 95 PC. We had to add this to the /windows/services file on the client, as shown in Figure 48 Note: We first made the error of adding the port number to the /etc/services file of UNIX System Services on the S/390.

BaanRexec

6000/tcp

#This port is used to contact the Process Manger Daemon

Figure 48. Adding Port Number to /windows/services

Copyright IBM Corp. 1999

93

2. Using vi, we added the following to the /etc/bpa/bpares.cfg file in UNIX System Services of OS/390, as shown in Figure 49 on page 94.

IP_Address=9.12.2.14 Port=6000

Figure 49. Adding the IP Address to /bpares.cfg

Note: These key words are case sensitive. For example, we received an error when we entered PORT instead of Port. We checked that our environment variable LIBPATH included the following value: /usr/lpp/bpa/lib We checked that our environment variable PATH included the following values: /usr/lpp/bpa/bin /usr/lpp/cmx/bin We also checked that NLSPATH included: /usr/lpp/bpa/nls/msg/%L/%N /usr/lpp/cmx/nls/msg/%L/%N

10.2.1 Process Manager Parameters


Figure 50 on page 95 shows the sample Process Manager file. We recommend the following: Do the installation without running the Process Manager. After installation, start running with the default values. Tune the values in this file to adjust for your environment, based on your experience. The parameters to consider changing are the number of users per address space and the number of associated control tasks.

94

Installing BaanERP Applications on OS/390

//-----------------------------------------------------------------------------// Process Manager Configuration Template File // // Note: you must at least set the following parameters // ( see Process Manager Installation and Tuning Guide for details ) : // DAEMON PORT // DAEMON IP-Address //-----------------------------------------------------------------------------[BASE] //-----------------------------------------------------------------------------// The base path is used as prefix for any other path definitions used // by Process Manager components. It has to be specified as an absolute path. //-----------------------------------------------------------------------------BasePath=/var/bpa //-----------------------------------------------------------------------------// Errorlog determines the pathname of the error log file used by the // Process Manager for Baan //-----------------------------------------------------------------------------ErrorLog=/var/bpa/bpaerr.log [SYSTEM] //-----------------------------------------------------------------------------// MaxTCBPerAS determines the maximum of TCB's kept running in one address // space. If there are more TCB's to spawn then they are started // into a foreign address space. //-----------------------------------------------------------------------------MaxTCBPerAS=50 [DAEMON] //-----------------------------------------------------------------------------// RestartToShutdownThreshold determines the number of restarts tried for the // TCP/IP communication threads of the Process Manager Daemon. //-----------------------------------------------------------------------------RestartToShutdownThreshold=10 //-----------------------------------------------------------------------------// RestartDelayTime determines the delay time in seconds used before // restarting a thread of the Process Manager daemon. See parameter // RestartToShutdownThreshold for more information. //-----------------------------------------------------------------------------RestartDelayTime=60 //-----------------------------------------------------------------------------// IP-Address determines the host address used by the listener. This is the IP // Address of the machine this daemon is running. // It has to be specified standard dotted-decimal notation. // // Values specified in standard dotted-decimal notation take one of the // following forms: // // a.b.c.d // a.b.c // a.b // a //
Figure 50 (Part 1 of 3). Parameters for Process Manager

Chapter 10. Enabling Process Manager on UNIX System Services

95

// Note: // If you specify "IP-Address=0" then the daemon will listen bound to all // network interfaces on the host. //-----------------------------------------------------------------------------IP-Address=<the ip-address of your system> //-----------------------------------------------------------------------------//Port (TCP) determines the port to which the Listener must bind. //-----------------------------------------------------------------------------Port=<any valid port number of TCP on your system> //-----------------------------------------------------------------------------// LITQueueLength determines the maximum length for the queue (eg. the // number of pending connections) for the Listener thread of // Process Manager Daemon. //-----------------------------------------------------------------------------LITQueueLength=500 //-----------------------------------------------------------------------------// MaxThreadTasks determines the softlimit of the maximum TCBs available to // the process for concurrently running threads. //-----------------------------------------------------------------------------MaxThreadTasks=1000 //-----------------------------------------------------------------------------// MaxThreads is the softlimit of the maximum number of threads a // process can run concurrently at a time. //-----------------------------------------------------------------------------MaxThreads=1000 //-----------------------------------------------------------------------------// ThreadStacksize determines the initial thread stack size // as a multiple of 1K (1024) bytes. Other stack characteristics, // like stack increment size, are inherited from the STACK runtime option. //-----------------------------------------------------------------------------ThreadStackSize=10 [SSPT] //-----------------------------------------------------------------------------// Value specifies the maximum wait time of the login handler thread // to get a SSP returned. (Should be greater than TrimmTime) //-----------------------------------------------------------------------------SSPWaitTime=600 //-----------------------------------------------------------------------------// Time to wait for a SSP in state STARTTING or INUSE. // The value has to be specified in seconds. //-----------------------------------------------------------------------------TrimmTime=300 //-----------------------------------------------------------------------------// Max number of terminating SSPM with bad return code. If more SSPMs // failed in execution this case will be logged and no retry will be made // to restart the SSPM. //-----------------------------------------------------------------------------MaxRestartSSPM=10 //-----------------------------------------------------------------------------// PrestartedAS is the number of prestarted AS (each controlled by a SSPM) // after startup of the Process Manager Daemon. Each Address Space is // controlled by an SSPM process. // PrestartedSSPPerAS is the number of SSPs, which are prestarted by any new // SSPM in the same Address Space. // MaxSSPPerAS is the maximum number of SSPs controlled by an SSPM.
Figure 50 (Part 2 of 3). Parameters for Process Manager

96

Installing BaanERP Applications on OS/390

// // MinFreeSSP is the minimum number of all SSPs controlled by the // Process Manager which have to be available to get new work assigned. // When this threshold is reached, a number of "StartAddSSP" new SSPs // will be started. // MaxFreeSSP is the maximum number of free SSPs controlled by the // Process Manager. When this threshold is reached for longer than // "TrimmTime", a number of "TermAddSSP" free SSPs will be stopped. // StartAddSSP is the number of SSPs to be started when MinFreeSSP // threshold was reached. // TermAddSSP is the number of SSPs to be stopped when MaxFreeSSP // threshold was reached for longer than "TrimmTime" seconds. // // MaxMemBelowPerUser is the typical max. amount of storage which is allocated // by each user below the 16Meg line. (in KByte) // MinFreeMemBelowPerAS is the percentage amount of memory below the 16Meg line // which should be left free for exceptional reasons. // (in %) //-----------------------------------------------------------------------------PrestartedAS=1 // Numbers per Adress Space (AS) PrestartedSSPPerAS=2 MaxSSPPerAS=15 // Total numbers MinFreeSSP=1 MaxFreeSSP=4 StartAddSSP=2 TermAddSSP=2 // Storage usage below the line MaxMemBelowPerUser=350 MinFreeMemBelowPerAS=40 [TRACE] Level=0 BufferSize=3000 // size of trace string buffer FileRecords=500000 // maximum number of trace records in file BufRecords=1000 // threshold of trace records the buffer should hold KeyFileName=/var/bpa/bpalogd.key // request the key to create msg queue LogFileName=/var/bpa/bpatrace.log // trace log file name ToStdout=0 // trace strings will be dumped to stdout use // this for debugging purpose only (tail -f file)

Figure 50 (Part 3 of 3). Parameters for Process Manager

10.2.2 Starting and Stopping the Process Manager


To start the Process Manager, do the following: 1. Logon as root. 2. Change directory by issuing the command: cd /usr/lpp/bpa/bin 3. Execute the command: s_dae To stop PM: 1. Issue the command: p_dae

Chapter 10. Enabling Process Manager on UNIX System Services

97

These tasks are described in greater detail in UNIX System Services Connection Scaling Reference, SA22-7305.

98

Installing BaanERP Applications on OS/390

Chapter 11. Administration of DB2 for Baan Applications on OS/390


This chapter reviews a collection DB2 data administration topics from the following sources: Baan IVc installation experience Interviews with customers who have installed Baan IVc to run with DB2 on a System/390 platform Interviews with Baan support and development personnel DB2 experience Over the years, we have worked with customers who have installed applications similar in architecture to BaanERP.

11.1 DB2/BaanERP Introduction


There are some basic characteristics of the BaanERP implementation that must be presented for you to understand the reasons for many of the DB2/BaanERP recommendations in this chapter.

11.1.1

DB2/BaanERP Indexes
Indexes in BaanERP systems are on columns named HASH1, HASH2, ..., HASHn. Two indexes (one ascending and one descending) are defined on each HASH column. Baan primes the HASH columns under program control. The Baan user does not know what is in the HASH columns. None of the BaanERP indexes are explicitly defined as clustering. This has a profound effect on our recommendations regarding the Reorg utility. All of the BaanERP-defined indexes are explicitly declared unique. This has a profound effect on our recommendations regarding the Runstats utility.

11.1.2

DB2/BaanERP User-Written Queries


If you plan to support user-written queries against your BaanERP data, you will be required to define indexes to support reasonable performance. The Baan indexes on the HASH columns will be of no use to your user-written queries (since you do not know what the HASH columns contain, you will not be able to define query predicates using them).

11.1.3

Baan's Use of SQL


Baan application programs pass requests for data to a Baan component, which in turn constructs DB2 SQL statements. These statements are then passed to DB2. Baan refers to this passing of an SQL statement to DB2 on behalf of Baan application programs as a driver . There is a level 1 driver currently implemented in the BaanERP applications, with a level 2 driver planned for a future date. The level 1 driver passes fundamentally simple SQL requests to DB2 (simple Selects, Inserts, Updates, and Deletes). The planned level 2 driver will likely pass more sophisticated SQL to DB2. The implication of this is that you can expect BaanERP to place DB2 under relatively light stress because of the simple SQL produced by the level 1 driver. Our experience indicates that you are likely

Copyright IBM Corp. 1999

99

to see the major share of resource consumption in the BaanERP environment come from components outside of DB2.

11.2 DB2/BaanERP Operational Observations


It is recommended that you plan to run BaanERP on a dedicated DB2 subsystem. This will position you to implement upcoming recommendations, specifically those addressing point-in-time recovery. It is important to note that if you implement some or all of these recommendations, it will be your responsibility to insure that you carry forward your changes should you migrate to a later release of Baan products.

11.3 DB2/BaanERP Database and Table Space Recommendations


If the user does not influence the BaanERP installation process, all tables for a given company will go into one DB2 table space, which goes into one DB2 database. Additionally these tables, table spaces, and indexes will have DB2 default buffer pool and free space attributes. BaanERP Company 000 contains 392 tables, and the combination of Company 550 plus Company 750 contains 4598 tables. 1. It is recommended that you install BaanERP table spaces and databases as follows: Install no more than 100 tables per table space. In some cases it can be beneficial to assign as few as one table to a table space. 100 should be considered a maximum. Install 1 table space per database. The implication of this recommendation is that you will have at least 4 table spaces and databases for Company 000, and at least 46 table spaces and databases for the combination of Company 550 and Company 750. The benefits of this recommendation are: The DB2 DBD (Database Descriptor) will be smaller. The DBD must be loaded contiguously into the DB2 Environmental Descriptor Manager (EDM) pool. DB2 will not load a DBD into the EDM pool that is larger than 25% of the pool size. Smaller DBDs are likely to place less stress on the EDM pool size. DB2 logs the necessary undo/redo information for the unit of recovery in which the DBD was changed. The DBD is changed during data definition activity like Create Index. Smaller DBDs offer the potential for less DB2 logging. There can be greater user concurrency of SQL Data Definition Language (DDL). DDL, like Create Index, requires a DB2 lock on the DBD which restricts other users for the duration of the DDL process. 2. It is recommended that you assign to a separate table space smaller tables that are primarily read-only.

100

Installing BaanERP Applications on OS/390

You will have to query the DB2 catalog to determine which tables are smaller. To determine tables that are primarily read-only, you will have to analyze the instrumentation reports produced by DB2PM (or your functionally equivalent DB2 performance reporting tool). We did not attempt to identify those tables during this effort. These smaller primarily read-only tables can then be assigned to a separate DB2 buffer pool. You will want to evaluate a higher hiperpool allocation for this buffer pool. DB2 will not cache to the hiperpool changed data pages, but will attempt to cache unchanged read-only data pages. 3. It is recommended that you allocate highly volatile frequently updated tables to a separate table space. You will have to determine these highly volatile and frequently updated tables in your environment by an analysis of the DB2 instrumentation data. These tables tend to be a function of the application and the requirements placed upon the application by the user. Highly volatile table spaces can be assigned to one or more separate DB2 buffer pools. You then can evaluate the setting of the DB2 buffer pool thresholds, the Deferred Write Threshold (DWQT) and the Vertical Deferred Write Threshold (VDWQT), to values other than the defaults of 50% and 10%, respectively. If the virtual buffer pool is large, it is unlikely that the default values of VWQT and DVWQT will be reached. In this case there tends to be a surge of write I/O as writes are triggered by DB2 checkpoints. Lowering the DWQT and VDWQT could improve performance by distributing the write I/Os more evenly over time. For more information on tuning DB2 buffer pools, see Buffer Pool Thresholds in DB2 for OS/390 Version 5 Administration Guide, Volume II, SC26-8957. 4. It is recommended that you segregate, into one or more separate table spaces, tables against which you will run the Reorg and Runstats utilities. The BaanERP architecture makes it unlikely that you will want to run Reorg or Runstats once your application is in production. (These utilities are addressed more completely in 11.6, DB2/BaanERP Reorganization and Runstats Recommendations on page 104.) If you intend to run user-developed queries against BaanERP tables, you should put those tables in one or more separate table spaces. The reason is that the Reorg and Runstats utilities are invoked at the table space level.

11.4 DB2/BaanERP DSNZPARM Recommendation


This recommendation should be considered as a starting point. Of course, if you have unique processing requirements, you may choose a different value for the following parameter. 1. LOGLOAD It is recommended that you set LOGLOAD to 50,000. LOGLOAD specifies the number of DB2 log records written between DB2 checkpoints. The higher LOGLOAD, the less frequently DB2 takes checkpoints. This recommendation centers around two factors: DB2 restart time If DB2 abnormally terminates, the restart time is a function of the number of log records that DB2 must process. At restart time, DB2 will generally

Chapter 11. Administration of DB2 for Baan Applications on OS/390

101

go back one checkpoint and then process to the end of the log. A lower LOGLOAD means less log to process at restart, and consequently a faster restart in general. Of course, a long-running unit of recovery that takes few or no commits could cause a greater amount of log processing at restart. DB2 writes from buffer pools to DASD When DB2 takes its internal checkpoint (a function of LOGLOAD), it schedules I/O for updated pages in the buffer pools to DASD. As LOGLOAD increases, the number of pages to be written tends to increase. With large buffer pools and a large LOGLOAD, the write activity can be significant (this activity is sometimes noticeable by users who perceive periods of slower than normal performance). You can control the write load with the DWQT and VDWQT threshold parameters discussed earlier, or as an alternative, you can minimize exposure to an excessive write load with a smaller value for LOGLOAD.

11.5 DB2/BaanERP Buffer Pool, Free Space, and Space Allocation


If during the BaanERP installation process you do not explicitly state buffer pool, free space, and primary/secondary space allocations, your indexes and table spaces will be defined with DB2 defaults. Specifically, accepting the DB2 defaults will cause the following allocations: The table space or index will default to the default buffer pool of the database. This is typically BP0. For a table space, the default FREEPAGE will be 0 and the default PCTFREE will be 5%. For an index, the default FREEPAGE will be 0 and the default PCTFREE will be 10%. For a table space, the default PRIQTY (primary space allocation) is 12 K bytes and the default SECQTY (secondary space allocation) is 12 K bytes. For an index, the default PRIQTY (primary space allocation) is 12 K bytes and the default SECQTY (secondary space allocation) is 12 K bytes.

11.5.1 DB2/BaanERP Buffer Pool Recommendations


If you take no explicit action during the BaanERP installation process, you are likely to have all of your BaanERP/DB2 objects in buffer pool 0. Since you are not likely to know the characteristics of the table spaces at installation time, you should accept the default and later change the buffer pool with the Alter Tablespace/Index SQL statement. The following are general recommendations regarding configuration of the DB2 buffer pools in support of BaanERP. The recommendations are not based upon specific BaanERP experience, but upon experience with applications of similar architecture. The recommendations assume that the DB2 subsystem is dedicated to BaanERP, and are presented as percentages of the number of buffers you are willing to assign to the DB2 buffer pools. BP0 - 10%. Restrict BP0 to the DB2 catalog and directory. This is to facilitate the dynamic SQL that BaanERP executes.

102

Installing BaanERP Applications on OS/390

BP1 - 10%. BP1 is to support large Baan tables. The large tables will generally have a low buffer reuse. Consequently, 10% is moderate relative to the other Baan buffer pool assignments. BP2 - 35%. BP2 is dedicated to Baan indexes. Indexes tend to have a high buffer reuse. Consequently, we recommend a high buffer allocation. BP3 - 23%. BP3 is dedicated to the smaller Baan tables. Code tables are usually smaller and tend to experience high access. This large buffer pool allocation facilitates data-in-memory processing of the frequently accessed smaller tables. BP4 - 20%. BP4 is dedicated to other Baan tables. This is to provide for exceptions that do not fit neatly into the previously presented scheme. BP7 - 2%. BP7 is to support DB2 temporary storage (DSNDB07). We have not seen extensive use of the DB2 sort work files running the Baan applications. 2% is considered a minimum safe allocation of buffers to support the use of DSNDB07. You will want to track DB2 instrumentation statistics regarding this buffer pool. You may add some query workload or use parts of the Baan applications that we did not test. Either of these could cause you to increase the buffers allocated to DSNDB07. BP32 - minimum. This is support for any 32 K buffer pool requirement. Except for BP0, a specific buffer pool number is arbitrary. Note, however, that DB2 requires BP0 for the catalog and directory table spaces. Obviously you may, for example, use BP2 to support DSNDB07. The key is the concept centering on differentiating large tables, small tables, and indexes.

11.5.2 DB2/BaanERP Free Space Recommendations


Both PCTFREE (percent of a page that is kept free at Load or Reorg time) and FREEPAGE (interval at which a page of free space is to be inserted during Load or Reorg) apply to table spaces and indexes. BaanERP/DB2 table spaces It is recommended that you explicitly set PCTFREE to 0. You may accept the default of 0 for FREEPAGE. None of the BaanERP tables have indexes that have been explicitly defined as clustering. The implication of this is that there is no benefit to having DB2 attempt to maintain the table's data in a sequence. Even if you do not explicitly define a clustering index, DB2 will attempt to sequence the data at SQL insert time by the sequence of the first defined index. This is not likely to be of any value during processing. Zero for PCTFREE and FREEPAGE will save DASD. You may be concerned about insert processing contention at the end of the table. That is not a problem. DB2 in this case will attempt to find the best page for the insert (it will be the last page without any free space) and if DB2 cannot get that page it will get another page near the best page. In effect, do not worry about insert contention in this recommended no-free-space environment.

Chapter 11. Administration of DB2 for Baan Applications on OS/390

103

BaanERP/DB2 indexes For indexes, the default of 10% for PCTFREE should be maintained. An index has the characteristics of a sequential data set. DB2 can more efficiently maintain an index's sequence with free space. We do not have a specific recommendation for FREEPAGE. In general, you should consider free pages when insert activity is high against a table. You will have to track insert activity in your environment.

11.5.3 DB2/BaanERP Primary/Secondary Allocations


During the installation on Company 000, we allowed the default value of 12 K for the primary allocation and 12 K for the secondary allocation. This proved to be inadequate with the maximum number of data set extents exceeded in some cases. There are two requirements: getting through load (load in Baan applications is accomplished with SQL Inserts and not the DB2 Load utility), and running in production. Both requirements can be met with the following techniques. During load, it is recommended that you default to the small primary allocation, but define a larger secondary allocation. We found 10,000 for the secondary allocation to be acceptable during load. Once you are in production, reverse the strategy discussed previously for the load environment. For table spaces and indexes that are in extents, alter to a large primary and small secondary based on data requirements in your environment. Although not necessary, it is a good idea to avoid secondary extents in production.

11.6 DB2/BaanERP Reorganization and Runstats Recommendations


Following are considerations for the use of the DB2 Reorg and Runstats utilities in support of BaanERP data. 1. Reorg strategy a. In general, do not Reorg BaanERP table spaces. BaanERP tables are not defined with clustering indexes explicitly defined. The Reorg utility will not re-sequence a table that does not have a clustering index explicitly defined. The Reorg utility could reestablish free space, but it was recommended that you define no free space on BaanERP table spaces. Given the fact that the BaanERP tables have no explicitly defined clustering index and there will be no free space (if you elect to implement that recommendation), Reorg will be of no value. b. If you support user-written queries against BaanERP data, evaluate Reorg of the table spaces containing tables that users will query. It will be necessary for you to define indexes to support user-written queries (the Baan indexes on HASH1, HASH2, ..., and so on will not be useful for user-written queries since the contents of the HASHn columns are not documented). Given that you will define one or more indexes to support user-written queries, you will have the opportunity to determine if one of your indexes should be defined as clustering. You would do this if you determined that your query could benefit from having the data in the physical

104

Installing BaanERP Applications on OS/390

sequence of the clustering index. If sequence has meaning in your user-developed query environment, then Reorg has value in re-sequencing data periodically. c. Evaluate the use of the online Reorg feature of DB2 V5 when you determine that the running of Reorg can benefit your environment. There would be benefit if you defined a clustering index to support user-written queries. Online Reorg significantly reduces the impact of this planned outage. The online Reorg utility copies the table space to one or more shadow data sets where the actual reorganization is done. The DB2 log is applied in an iterative fashion to the shadow copy of the data to synchronize it with the actual online table space. After the log is applied, the shadow data replaces the unorganized data when the Reorg utility changes data set names. The outage is now limited to read-only during the final application of the DB2 log to the shadow copy of the table space, and no readers or writers are allowed during the changing of the shadow data set names to the active table space data set names. d. Reorg DB2 indexes on a periodic basis. Since indexes have the characteristics of sequential data, there is benefit to Reorging or Re-sequencing them. There are many indexes defined in the BaanERP applications; however, it is not necessary to Reorg them all. We recommend that as a starting point you Reorg, on a monthly basis, indexes that are in multiple extents. You can then refine your index Reorg strategy based upon your experience with the BaanERP applications. 2. Runstats strategy a. Run Runstats on the Baan/DB2 objects one time prior to going into production. Since all BaanERP indexes are defined as unique, the one-to-one relation of index key to row will not change. Therefore, one execution of Runstats will provide DB2 index cardinality data that cannot change over time (that is, the one-to-one mapping cannot change). b. Run periodic Runstats on the Baan/DB2 objects on which you have defined a clustering index. Based upon the characteristics of the indexes you define ( to support user-written query activity perhaps), Runstats can provide DB2 important data distribution statistics.

11.7 DB2/BaanERP Index Usage


It is recommended that you define all indexes on BaanERP tables to be type 2 indexes. This will reduce locking and position you for the future when support for type 1 indexes will be dropped.

Chapter 11. Administration of DB2 for Baan Applications on OS/390

105

11.8 DB2/BaanERP Point-in-Time Recovery Recommendations


The usual reason for a point-in-time recovery is an application programming error or a flawed operational procedure. Unfortunately, this exposure is always present regardless of your hardware/software configuration. Additionally, a point-in-time recovery has the potential to be the most disruptive outage you are likely to encounter. The reason is that in a BaanERP environment, you may have to recover all of the table spaces and indexes to a prior point in time. Why possibly all objects? Baan does dynamic SQL. You may not be able to determine a subset of tables to be recovered. To play it safe, you may decide to recover all objects to a prior point of consistency. Your usual point-in-time recovery techniques, which you likely regard as conventional at this time, may be insufficient in this environment. The point-in-time recovery environment will be addressed as follows: Point-in-time recovery preventive measures Point-in-time recovery techniques Point-in-time recovery recommendations

11.8.1 Point-in-Time Recovery Preventive Measures


A failure in application development, introducing a programming defect, or in operational procedures perhaps by running a job twice, introduces the requirement for point-in-time recovery. The available preventive measures are increased attention to: Change management Problem management Testing Each of these disciplines is procedure-oriented and management-driven. As attention to these disciplines is increased, the need for point-in-time recovery is usually decreased. Unfortunately, the need for point-in-time recovery is never entirely eliminated. Consequently, you will want to make every effort to avoid having to do a point-in-time recovery, but you should be prepared to do one if required.

11.8.2 Point-in-Time Recovery Techniques


The concept behind point-in-time recovery is well understood. It usually involves setting a table or group of tables to a prior point in time when data was determined to be consistent. The challenge in the BaanERP environment is determining the set of tables that are logically related. It is possible that you will not be able to determine a subset of the BaanERP tables to be reset. You may be required to reset all BaanERP tables to a prior point of consistency. There are three generally used techniques to effect a point-in-time recovery. Point-in-time recovery using DB2 utilities The DB2 QUIESCE and COPY utilities are the primary tools. Point-in-time recovery not using DB2 utilities This is basically a dump/restore scenario. Point-in-time recovery using user-written application programs

106

Installing BaanERP Applications on OS/390

11.8.2.1 Point-in-Time Recovery Using DB2 Utilities


The scenario for a point-in-time recovery using DB2 utilities is as follows: Determine the set of tables that are logically related. Typically this is a subset of the tables that make up the application database. However, it may be all BaanERP table spaces and indexes. Execute the QUIESCE utility on all of the tables that are candidates to be reset if a point-in-time recovery is required. This establishes a point of consistency and causes the DB2 buffers for the quiesced tables to be externalized to DASD. Execute the COPY utility on all of the table spaces that are candidates to be reset if a point-in-time recovery is required. The obvious reason for this step is to back up the data. However, COPY will fail if it cannot externalize the DB2 buffers to DASD. That is the reason we invoked the QUIESCE utility first (to remove one reason why COPY may fail). For the second time, execute the QUIESCE utility on all of the tables that are candidates to be reset if a point-in-time recovery is required. This invocation of QUIESCE will establish a log RBA which will be the point of consistency. When it is necessary to recover to this point of consistency, RECOVER to the RBA established by the second invocation of the QUIESCE utility. With the combination of the COPY and the second QUIESCE, the RECOVER TORBA will perform as efficiently as a Recover TOCOPY would perform, assuming no logging during the execution of this scenario. When it is necessary to recover to this point of consistency, RECOVER all indexes on all of the tables that have been reset to the prior point of consistency. The indexes must be synchronized with the data in the recovered table spaces. The benefits of this scenario are: There is minimal disruption to the user in preparing for the scenario. The user may see some slowness in response during the execution of the QUIESCE utility, but this can likely be scheduled during off-hours to minimize the disruption. There is no disruption to the user when COPY is run with Share-Level Change. COPY Share-Level Change allows updates concurrent with utility execution. The recovery of the table spaces will be efficient. RECOVER TORBA will perform as well as RECOVER TOCOPY, assuming no logging between the execution of the COPY utility and the second execution of QUIESCE. However, there is a significant disadvantage to this scenario: the requirement to recover potentially many indexes may make this scenario impractical.

Chapter 11. Administration of DB2 for Baan Applications on OS/390

107

11.8.2.2 Point-in-Time Recovery Not Using DB2 Utilities


This scenario will use a DB2 command and a dump/restore utility program. Determine the set of tables that are logically related. Typically this is a subset of the tables that make up the application database. However, in the BaanERP environment, it may be all of the tables. Use the DB2 Stop Database command to stop all of the table spaces that are logically related. The Stop Database command will cause the DB2 buffers to be externalized and the VSAM data sets that hold the DB2 data to be closed. While the table spaces are stopped, the data will be unavailable to users. Dump the table space and index data sets using your installation high-speed dump utility. You may consider using SnapShot, a program product that runs with the IBM RAMAC Virtual Array. The dumped data sets represent your point of consistency. When it is necessary to recover to this point of consistency, restore the data sets that were dumped in the previous step. Because the table spaces are stopped, there will be no outstanding units of recovery, and the data will be consistent. The data being restored consists of both the table spaces and the associated indexes. This scenario is more efficient than the previous one, but preparing for it is more disruptive to the user. The data is unavailable to the user while the table spaces are stopped and while the data is being dumped. The duration of the period that data is unavailable can be lessened by using SnapShot.

11.8.2.3 Point-in-Time Recovery Using User-Written Application Programs


This is a strategic direction and not a scenario. It acknowledges that data can be corrupted due to program error. If this happens, the support staff may attempt to correct the contaminated data with application programs. Failing the ability to correct the data with application programming, a scenario such as one of those previously described could be used as a last resort. This approach is gaining favor among users striving for high availability. In implementing an approach like this, it is important to determine which transactions will make the data more corrupt or will propagate the errors. This information then can either be communicated to the end users, or the DBA can use it to disable the dangerous transactions.

11.8.3 Point-in-Time Recovery Recommendations


Your strategy should be to avoid a point-in-time recovery if possible. If a point-in-time recovery must be done, then choose the most efficient recovery scenario given your environment. More specifically, the following is recommended: 1. Point-in-time recovery using user-written application programs This is the preferred approach among users when possible. It has the following benefits: There is little or no disruption to the user.

108

Installing BaanERP Applications on OS/390

Data which has not been corrupted will be available to the user. However, the user may see erroneous data prior to the recovery. There is no loss of data entered between the time the data contamination was introduced into the system and the time the contaminated data was corrected. Required processor resources are likely to be far less than using either of the other techniques. Do not forget that this is an ideal and not a rigorous scenario that can be documented and tested. You must be prepared to reset your system by doing the point-in-time recovery when a programming fix is not possible or practical. 2. Point-in-time recovery not using DB2 utilities The issue regarding this and the following scenario is the number of table spaces and indexes that must be recovered to an established point of consistency. As the number of tables and indexes to be recovered grows, the dump-restore scenario becomes the practical alternative. Dumping packs and restoring data is clearly faster than a recovery-based scenario. The major disadvantage to this scenario is that the dumping of the data is disruptive to the user. The BaanERP system must be stopped to dump data that is consistent. An additional disadvantage inherent in any point-in-time recovery scenario is that work is lost when data is reset to a prior point of consistency. It is recommended that you seriously consider implementing this scenario using SnapShot on the RAMAC Virtual Array. The advantages and considerations of using SnapShot on the RAMAC Virtual Array are: You must stop BaanERP in the DB2 environment to establish a point of consistency. This is necessary in any point-in-time recovery scenario. You may SnapShot the data at the volume level quickly. Tests show that a volume can be snapped in 3 to 5 seconds. When the snapshot is complete, the data can be made available to the user. Once the snapshot is complete, the data can be copied to tape as a background task. This DASD-to-tape process does not interfere with user access to BaanERP data. When a point-in-time recovery is required, the data can be quickly restored from the tape backup. For more information on SnapShot on the RAMAC Virtual Array, see Implementing SnapShot, SG24-2241. 3. Point-in-time recovery using DB2 utilities This scenario is preferred over the point-in-time recovery not using DB2 utilities scenario when few table spaces and indexes are to be recovered. The benefit of this scenario is minimal-to-no disruption to the user during the daily QUIESCE/COPY step. However, as long as there is the potential to recover a large number of table spaces and indexes, this scenario may not be usable.
Chapter 11. Administration of DB2 for Baan Applications on OS/390

109

110

Installing BaanERP Applications on OS/390

Appendix A. BPX Parameters


These are the BPX paramters we used in our installation.

/* System will allow at most 200 00740008 processes to be active 00750000 concurrently. Was 300 RC */ 00760008 00770000 MAXPROCUSER(30000) /* Allow each user (same UID) to 00940008 have at most 200 concurrent 00950000 processes active. Was 10125 */ 00960008 00970000 MAXUIDS(2000) /* Allow at most 50 OpenEdition MVS 01110008 users to be active concurrently 01120008 Was 50 RC */ 01130008 MAXFILEPROC(65535) /* Allow at most 65535 open files 01320000 per user (the max) */ 01330000 01340000 MAXPTYS(256) /* Allow up to 256 pseudo-terminal 01480000 sessions */ 01490000 01500000 MAXRTYS(256) /* Allow up to 256 remote-terminal 01640000 sessions */ 01650000 01660000 CTRACE(CTIBPX00) /* Parmlib member 'CTIBPX00' will 01810000 contain the initial tracing 01820000 options to be used */ 01830000 01840000 USERIDALIASTABLE('/etc/alias') /* HFS file /tablename will 02220003 contain the list of MVS userids 02230000 and their corresponding XPG4 02240000 compliant alias names. */ 02250000 02260000 FILESYSTYPE TYPE(HFS) /* Type of file system to start */ 02600000 ENTRYPOINT(GFUAINIT) /* Entry Point of load module */ 02610000 PARM(' ') /* Null PARM for physical file 02620000 system */ 02630000 /* ASNAME(adrspc01) */ /* Name of address space for 02640000 physical file system */ 02650000 02660000 /* files */ 03040000 ROOT FILESYSTEM('OMVS.OS390R6.&SYSNAME..&SYSR1..ROOT') 03050000 TYPE(HFS) /* TYPE OF FILE SYSTEM */ 03060000 MODE(RDWR) /* (OPTIONAL) CAN BE READ OR RDWR. 03070000 DEFAULT = RDWR */ 03080000 03090000 MOUNT FILESYSTEM('OMVS.&SYSNAME..ETC') 03100000 MOUNTPOINT('/etc') 03110000 TYPE(HFS) MODE(RDWR) 03120000 03130000 MOUNT FILESYSTEM('OMVS.&SYSNAME..USERS') 03140000 MOUNTPOINT('/u') 03150000 TYPE(HFS) MODE(RDWR) 03160000 03170000 MOUNT FILESYSTEM('OMVS.&SYSNAME..VAR') 03180002 MOUNTPOINT('/var') 03190002 TYPE(HFS) MODE(RDWR) 03200002 03210002
Copyright IBM Corp. 1999

MAXPROCSYS(30000)

111

FILESYSTYPE TYPE(TFS) ENTRYPOINT(BPXTFS) MOUNT FILESYSTEM('/TMP') TYPE(TFS) MODE(RDWR) MOUNTPOINT('/tmp') PARM('-s 500') FILESYSTYPE TYPE(UDS) ENTRYPOINT(BPXTUINT) NETWORK DOMAINNAME(AF_UNIX) DOMAINNUMBER(1) MAXSOCKETS(32000) TYPE(UDS) FILESYSTYPE TYPE(CINET) ENTRYPOINT(BPXTCINT) NETWORK DOMAINNAME(AF_INET) DOMAINNUMBER(2) MAXSOCKETS(32000) TYPE(CINET) INADDRANYPORT(10000) INADDRANYCOUNT(2000) SUBFILESYSTYPE NAME(TCPIPOE) TYPE(CINET) ENTRYPOINT(EZBPFINI) DEFAULT SUBFILESYSTYPE NAME(TCPIPMVS) TYPE(CINET) ENTRYPOINT(EZBPFINI) SUBFILESYSTYPE NAME(TCPKMT) TYPE(CINET) ENTRYPOINT(EZBPFINI) SUBFILESYSTYPE NAME(OESTACK) TYPE(CINET) ENTRYPOINT(BPXUIINT) FILESYSTYPE TYPE(NFS) ENTRYPOINT(GFSCINIT) ASNAME(MVSNFSC6) MAXTHREADTASKS(1000) /* System will allow at most 10000 threads tasks to be active concurrently in a single process */ /* System will allow at most 10000 threads to be active concurrently in a single process */

MAXTHREADS(1000)

IPCMSGNIDS IPCMSGQBYTES IPCMSGQMNUM IPCSHMNIDS IPCSHMSPAGES IPCSHMMPAGES IPCSHMNSEGS IPCSEMNIDS


112

(20000) (262144) (10000) (20000) (2621440) (25600) (1000) (20000)

03700000 03710000 03720000 03730000 03740000 03750000 05100000 05110000 05120000 05130008 05140000 05150000 05160000 05170000 05180000 05190000 05200008 05210000 05220000 05230000 05240000 05250000 05260000 05270000 05280000 05290000 05300000 05310000 05320000 05330000 05340000 05350000 05360000 05370000 05380000 05390000 05400000 05490000 05500000 05510001 05520000 06330000 06340000 06350000 06360000 06370000 06520000 06530000 06540000 06550000 06560000 07400000 07410000 07420000 07430000 07440000 07450000 07460000 07470000

Installing BaanERP Applications on OS/390

IPCSEMNSEMS IPCSEMNOPS

(32767) (32767)

MAXMMAPAREA(4096)

MAXCORESIZE(4194304) MAXASSIZE(2147483647) MAXCPUTIME(2147483647) MAXSHAREPAGES(32768000)

FORKCOPY(COPY)

SUPERUSER(BPXROOT) TTYGROUP(TTY) STARTUP_PROC(OMVS)

07480000 07490000 07500000 /* System will allow at most 4096 07660000 pages to be used for memory 07670000 mapping. 07680000 */ 07690000 07700000 08210000 08220000 08470000 08480000 08790000 08800000 /* System will allow at most MAX 09110000 pages of shared storage to be 09120000 concurrently in use */ 09130000 09140000 /* System will use copy-on-write 09400000 for fork system calls if the 09410000 suppression-on-protection 09420000 hardware feature is available 09430000 */ 09440000 09450000 09560000 09570000 09720000 09730000 09810000 09820000 10000000

If you want to have your Baan HFS mounted at IPL you should add the following lines with the other mount commands: MOUNT FILESYSTEM('BAANERP.CDROM') MOUNTPOINT('/baanerpcdrom') TYPE(HFS) MODE(RDWR) MOUNT FILESYSTEM('BAANERP.INSTALL') MOUNTPOINT('/baanerpinstall') TYPE(HFS) MODE(RDWR) MOUNT FILESYSTEM('BAANERP.APPL.BSE') MOUNTPOINT('/baanerp') TYPE(HFS) MODE(RDWR)

Appendix A. BPX Parameters

113

114

Installing BaanERP Applications on OS/390

Appendix B. The vi Editor and Common UNIX Commands


During the installation of Baan applications on OS/390, much of the work is done using a Telnet connection to UNIX services. In this mode, the command oedit may not be usable to perform editing. The vi editor that comes with UNIX services is used to edit the files with EBCDIC characters. Some of the Baan files such as bi.html contain ASCII characters. For these files, you will need the viascii editor. The viascii editor can be downloaded from the following Web site:

:http//www.s390.ibm.com/products/oe/bpxaltoy.html
The viascii editor should be placed in the /bin directory. The viascii editor uses iconv and vi to edit a file with ASCII characters; the file is temporarily stored in the /tmp directory. Many permission checks are in place and this script will not update the time stamp of your file if you make no changes. The commands are the same as for the vi editor. The vi commands and common UNIX commands are included in B.1, Using the vi Editor for those not familiar with UNIX. There are several reference books on the commands, such as Learning the vi Editor , Linda Lamb, O'Reilly & Associates, February 1986. You may also wish to consult UNIX for Dummies , John R. Levine and Margaret Levine Young, IDG Books Worldwide, 1997.

B.1 Using the vi Editor


Some vi commands are single-character -oriented. One example is r; if the user enters r and then a character, the character replaces the character where the cursor is located. Other vi commands are multiple-character in nature; those commands cause vi to enter input mode , and input mode is ended with the escape key. An example is R; if the user enters R and then one or more characters, the characters replace those previously in the file. Replacement continues until the escape key is used.

B.1.1.1 Common vi Commands


(spacebar) Move cursor forward (right) 1 character (cursor movement key) /pattern / ? ?pattern . $ 0 a A dd G Search forward for pattern Repeat previous search (forward) Repeat previous search (backward) Search backward for pattern Repeat last editing command Move cursor to last character of current line (cursor movement key) Move cursor to first character of current line (cursor movement key) Insert text after cursor (ended by escape key) Insert text at end of current line (ended by escape key) Delete line (may be followed by P to put the line, effectively moving the line) Move to last line of file

Copyright IBM Corp. 1999

115

h i I j J k l n N p P r R s S u U :w :w! x X yy Y

Move cursor back (left) 1 character (cursor movement key) Insert text before cursor (ended by escape key) Insert text at beginning of current line (ended by escape key) Move cursor down (forward) 1 line (cursor movement key) Join two lines Move cursor up (backward) 1 line (cursor movement key) Move cursor forward (right) 1 character (cursor movement key) Repeat previous search (same direction) Repeat previous search (opposite direction) Put yanked or deleted text before current line Put yanked or deleted text before current line Replace a character Replace characters (ended by the escape key) Delete character and substitute text (ended by escape key) Delete current line and substitute text (ended by escape key) Undo last edit Undo last edit Write (save) the file Write (save) the file (overriding protection) Delete character Delete character before cursor Yank (copy to buffer) a line (usually followed by P) Yank (copy to buffer) a line (usually followed by P)

B.1.1.2 Ending the vi Session


To end the vi editor, use one of the following: :q! :q ZZ :x :wq Quit, discarding any changes Quit Write (save) the file, then quit Write (save) the file, then quit Write (save) the file, then quit

B.2 Common UNIX Commands


During the installation, we frequently used the following commands: cat cd chgrp chmod chown List a file Make another directory the current directory Change file or directory group Change file or directory access permissions Change file or directory ownership

116

Installing BaanERP Applications on OS/390

cp df env find grep kill ls mkdir mv ps pwd rm rmdir tar touch who more head tail wc

Copy a file or directory (makes a new copy) Show the status and capacity of file systems List the environment variables Find the path to a file in the filesystem Select lines from a file Send a signal to a process (kill -9 terminates a process ) List the contents of a directory Create a directory Move a file or directory (re-locates, no new copy) Show processes in a system Display the name of the current directory Remove a file (may remove a directory with an appropriate flag) Remove a directory Creates or restores an archived version of a directory Create an empty file or change the last changed date of a file Display logged in users Display a file, stopping at each logical page (screen) Displays the first few (default 10) lines of a file Displays the last few (default 10) lines of a file Counts the number of lines, words, and bytes in a file

Appendix B. The vi Editor and Common UNIX Commands

117

118

Installing BaanERP Applications on OS/390

Appendix C. The hostname Command


The Baan db2_install6.1 script expects to be able to execute the hostname command, which is not part of UNIX Systems Services. The following program will create the hostname command for UNIX Services. Unlike the hostname command on some other Posix superset platforms, this version does not support setting the hostname. Setting the hostname is specific to each AF_INET PFS. This hostname command does not currently support binding to a specific PFS via an environment variable or any other mechanism.

C.1 Using the hostname Command


Enter hostname to display the full hostname with domain name (if specified to the transport driver). Enter hostname -s to see just the host name without the domain name. You could use your host name in your shell prompt as follows (optimized for speed): In your shell profile, use something like the following to set the HOSTNAME environment variable:

export HOSTNAME=hostname -s export HOSTNAME=hostname -s


Note that the quote marks are backward quote marks, so that "hostname -s" is first executed and then HOSTNAME is set to the output of "hostname -s". In your shell profile, use something like the following to put the host name in your shell prompt:

export PS1="$HOSTNAME:$LOGNAME:$PWD: >"


To build the hostname command, compile it from the shell with the c89 command:

c89 -o hostname hostname.c


Note: Check that the HEAP value in the $_CEE_RUNOPTS variable does not have any value set.

C.1.1 Source Code for the hostname Command


Following is the source code that you can compile to produce the hostname command.

Copyright IBM Corp. 1999

119

#include <stdio.h> #include <string.h> #include <unistd.h> int main(int argc,char **argv) { char *dotpos; char hostname[2000 ]; int dontPrintDomain = 0, rc = 0; if (argc == 2 && !strcmp(argv[1],"-s")) dontPrintDomain = 1; else if (argc != 1) { fprintf(stderr, "Usage: %s [-s]\n" "Specify \"-s\" to print the host name without\n" "the domain name.\n", argv[0]); rc = 1; } if (!rc) { rc = gethostname(hostname,sizeof(hostname)); if (rc) { perror("gethostname"); rc = 1; } else { if (dontPrintDomain) { dotpos = strchr(hostname,'.'); if (dotpos) *dotpos = '\0'; } printf("%s\n",hostname); } } return rc; }

120

Installing BaanERP Applications on OS/390

Appendix D. Executing the db2_install6.2 Script


This appendix describes how we used the db2_install6.2 script to do all the DB2 preparation for a Baan installation (that is, without using JCL or DDL) to set up a simple configuration to create the DB2 environment. The script db2_install6.2 assists you in creating the DB2 environment so you can do the following tasks: Perform DB2 system administration tasks: Create the DB2 STOGROUP (for the DASD) Create the DB2 Databases Create tablespaces in the database Grant dbadm authority to the userids Create control files required by Baan to load the data for Company 000 and the Demo companies: db2_group db2_users db2_storage We used the script to create: STOGROUP Database Tablespace Tables Indexes BERPGRP BERP000 TS000 * *

The * means use the default table The following screens show the questions and answers we used to create our database, tablespace and files. We took the defaults whenever we could. Attention Be patient in replying to the questions, because the script will generally take a few seconds to provide a default answer. Also, do not type Yes and press Enter, because the enter will be taken as the answer to the following question. Just type y or n.

This is the first screen:

Copyright IBM Corp. 1999

121

DB2 Server Installation

Before invoking this script, a DB2 subsystem must have been defined This script will do following things for the DB2 subsystem. Create storage group and grant privileges to use the storage group. Create database and grant privileges on database. Create tablespace and grant privileges to use the tablespace Create group and user files. Add initial group to group file. Add users root, bsp, ROOT, and BSP to group. Create storage file. Add default entries for table & index to storage file. Check db2_inst.log in the current directory for any error Read Installation Document Carefully regarding specification of DB2 for OS/390. O.K to continue ? Y

Note:

D.1.1 Listing Environment Variables


This screen shows the environment variables.

Environment Variables *** db2_install6.2 Started *** - HOST - LOGNAME - BSE Press any key . wtsc55oe root /baanerp/bse

Note: If you have not installed the hostname command as described in Appendix C, The hostname Command on page 119, you will get the following error message but it will not cause any problem:

hostname: initial_setup: db2_install6.2 1677: FSUM7351 not found:


At this point there are a series of questions to answer about the layout of your database. The order of the questions will change, depending on how you answer these questions. Remember, do not press Enter; instead, just type y or n.

122

Installing BaanERP Applications on OS/390

D.1.2 Storage Group Creation


These are the questions you must answer to create the STOGROUP if you want the Baan db2_install6.2 script to do this for you.

D.1.2.1 Creating stogroup


This how we answered the questions to create BERPGRP.

Storage Group Creation Want to create storage groups (Y?N) ? y

D.1.2.2 Granting Use of stogroup


The first time we added user IDs bsp and root. Root cannot grant privileges to itself, so the script failed and we had to restart.

Storage Group Creation Grant Use Of STOGROUP Enter storage group name : BERPGRP Enter Authorization name : PUBLIC Granting use of storage group 'BERPGRP' .... Granted use of storage group 'BERPGRP' Create another storage group (Y/N) ? N

D.1.3 Database Creation


These are the questions you must answer to have the Baan db2_install6.2 script create a database for you.

D.1.3.1 Creating a Database


This how we answered the questions to create a database.

Appendix D. Executing the db2_install6.2 Script

123

Database Creation Want to create a database (Y?N) ? Y Database Name : BERP000

Storage Group Name (Not Mandatory-Default) : BERPGRP Buffer Pool (Not Mandatory-Default) : BP3..... Want to specify CCSID (Y/N) ? N Create database 'BERP000' (Y/N) ? Y Creating database 'BERP000' .... Database 'BERP000' is created Want to grant database privileges (Y/N) ? Y

We specified the value of CCSID in the DB2 parameters, so we did not have to specify it here again.

D.1.3.2 Granting Privileges to Database


This is how we answered the questions to grant privileges to the database.

Database Creation Grant Database Privileges Enter Privileges : DBADM Database name : BERP000 Enter Authorization name : PUBLIC Granting privileges to Database 'BERP000' .... Privileges granted on database 'BERP000'

Create another database (Y/N) ?

D.1.4 Tablespace Creation


These are our answers to creating a tablespace. This creates one table space for Company 000.

124

Installing BaanERP Applications on OS/390

Tablespace Creation Tablespace Name : baan Database Name (Not Mandatory-Default) : XXX Do you want to create tablespace? Tablespace Name:TS000 Database Name: BERP000 Specify using-block

Using VCAT or STOGROUP ? : STOGROUP Storage Group Name : BERPGRP Want to specify space allocations (Y/N) ? Y Primary Space Quantity : 1440000 Secondary Space Quantity : 144000.. Want to specify gbpcache-block (Y/N) ? N Will this table space be segmented (Y/N) ? Y Segment size (SEGSIZE) ? : 32 Want to specify BUFFERPOOL (Y/N) ? Y Buffer Pool Name : BP3 Want to specify LOCKSIZE (Y/N) ? Y Lock Size (ANY/TABLESPACE/TABLE/PAGE/ROW) : ROW......... Want to specify MAXROWS (Y/N) ? N Create Tablespace 'TS0000' (Y/N) ? Y Creating Tablespace 'TS0000' .... Tablespace 'TS0000' was created successfully Want to grant use of tablespace (Y/N) ? Y

D.1.4.1 Granting Use of Tablespace


These are our answers about granting privileges to the tablespace.

Appendix D. Executing the db2_install6.2 Script

125

Tablespace Creation Grant Use Of Tablespace Enter database-name.tablespace-name : BERP000.TS0000 Enter Authorization name : PUBLIC Granting use of tablespace 'BERP000.TS0000' .... Granted use of tablespace 'BERP000.TS0000' Want to create another tablespace (Y/N) ? N

D.1.5 Creating DB2 Reference Files for Baan Script


This step creates three files that Baan install6.2 script uses to build and load the database.

D.1.5.1 Group File Creation


This will create db2_groups.

Group File Creation Want to create initial group (Y/N)? Y

Group File Creation Initial Group : db2berp Group Password : db2berp Is above data correct (Y/N) ? Y Add group db2berp (Y/N) ? Y Adding group db2berp Group added. Press any key .

D.1.5.2 Creating the User File


The following will create db2_users.

126

Installing BaanERP Applications on OS/390

User File Creation Add users root, bsp , ROOT, BSP (Y/N) ? Y

User File Creation Add Baan user root to Group db2berp (Y/N) ? Y DB User : root

Adding user root to group db2berp User added to group. Press any key
This is repeated four times, once for each user: bsp, BSP, root, and ROOT.

User File Creation Add other users (Y/N)? N

D.1.5.3 Creating the Storage File


The following will create db2_storage. Note: We did not specify any particular tables at this time for Company 000, and the script used the defaults of * *.

Storage File Creation Create db2_storage Entries ? Y

Appendix D. Executing the db2_install6.2 Script

127

Do you want to specify Company Data ? N Update Index Parameters Company: * Table spec: *

Current Index parameters: STOGROUP BERPGRP PRIQTY 12 SECQTY 960 BUFFERPOOL BP3 Do you wish to modify ? N '/baanerp/bse/lib/db2/db2_storage' updated successful Company: * , Table: *

Following lines are added to the file '/baanerp/bse/lib/db2/db2_storage'

*:*:I::01::STOGROUP BERPGRP PRIQTY 12 SECQTY 960 BUFFERPOOL BP3 *:*:T:group:01:5:ARR_SIZE 1 OPT_ROWS 5 T_SPACE BERP000.TS0000

db2_install6.2 completed bshell6.2> exit

D.1.6 Files Baan Will Use to Define the Database


After the script has been run, the STOGROUP, Database and Tablespace have been created, privileges have been granted and the following files will be in directory /baanerp/bse/lib/db2:

$ ls db2_groups db2_storage db2_users

This is db2_storage:

*:*:I::01::STOGROUP BERPGRP PRIQTY 12 SECQTY 960 BUFFERPOOL BP3 *:*:T:group:01:5: ARR_SIZE 1 OPT_ROWS 5 T_SPACE BERP000.TS000 . .
This is db2_groups:

db2berp:qZ.m7rcL}G3WW"t6L{79r$,<[email protected]
This is db2_users:

128

Installing BaanERP Applications on OS/390

BSP:BSP:pDOH9BNtTkv.*3e!&t#<rA{11Pw;#Moc:db2berp bsp:bsp:pDOH9BNtTkv.*3e!&t#<rA{11Pw;#Moc:db2berp root:root:&l%d(43"Bd5g+jaj2I1/o,-0H){c3:E:db2berp ROOT:ROOT:pDOH9BNtTkv.*3e!&t#<rA{11Pw;#Moc:db2berp

D.1.7 Adding More Users and Data Later


You can use this script later on when you are ready to add more users or load other Baan companies. There is also a db2_admin script. See BaanERP Installation Guide for BaanERP on OS/390 UNIX System Services for more information.

Appendix D. Executing the db2_install6.2 Script

129

130

Installing BaanERP Applications on OS/390

Appendix E. RAMAC Virtual Array (RVA)


This section gives the reader who is unfamiliar with the RAMAC Virtual Array (RVA) an overview of the device architecture and its unique SnapShot function.

E.1 Overview of RAMAC Virtual Array


The RVA is a high-performance RAID 6 storage subsystem. RAID 6 protects against data loss even in the unlikely event that two disks are lost in the array. The RVA RAID implementation has automatic hot-sparing: if a disk fails, the data on that disk is immediately recreated on a spare disk in the array, thus restoring RAID protection. The failed disk can be nondisruptively replaced and becomes the new spare. The RVA RAID implementation is transparent to users and, unlike most RAID 5 or RAID 6 implementations, has no adverse effect on performance thanks to the advanced architecture of the RVA. Traditional storage subsystems, such as the 3880, 3990, and RAMAC Array DASD family, use the count key data (CKD) architecture. The CKD architecture defines how and where data is stored on the disk device. Any updates to the data are written directly to the same position on the physical disk from which the data was retrieved prior to the update. This is referred to as update in place . IBM's RVA provides a high-availability, high-performance storage solution, thanks to its revolutionary virtual disk architecture. To the host, the RVA appears as up to four traditional 3990 subsystems, with up to 1024 3380 and/or 3390 volumes. These devices do not physically exist in the subsystem and are referred to as functional devices. In reality, the subsystem contains RAID-protected arrays of fixed block architecture (FBA) disk devices. The RVA translates I/O requests from CKD format to FBA format.

E.2 Log Structured File


The RAID-protected FBA disk arrays that make up the RVA's physical disk space are sequentially filled with data. New and updated data is placed at the end, as it is on a sequential or log file. We call this a log structured file . Updates leave areas of data that are no longer needed in the RVA log file. A microcode recycle process called freespace collection ensures that these areas are removed so that there is always enough freespace for writing. (This is similar to a reorg of the data.) You can control the freespace by observing the net capacity load (NCL) of the RVA and using the IBM Extended Facilities Product (IXFP) program. The RVA's physical disk space typically should not be filled above 75% NCL. Above that level, the freespace collection process runs with higher priority, and performance degradation may result. The following tables are used to map the tracks of functional devices to the FBA blocks related to those tracks. Functional device table The functional device table (FDT) holds the information about the functional volumes that have been defined to the RVA.
Copyright IBM Corp. 1999

131

Functional track directory The functional track directory (FTD) is the collective name for two tables that together map each functional track to an area in the RVA's physical storage: Functional track table The functional track table (FTT) contains the host-related, that is, the functional device-related track pointers of the FTD. Track number table The track number table (TNT) contains the back-end data pointers of the FTD. A reference counter is also part of this table. Although the FTD consists of two tables, we discuss it as one entity. In fact, each functional track has an entry in the FTD. If a functional track contains data, its associated FTD entry has a pointer to the FBA block where the data starts. The data of a functional track may fit on one or more FBA blocks. If the data of a functional track is updated, the RVA puts the new data in a new place in the log structured file, and the FTD entry points to the new data location. There is no update in place. Figure 51 shows the virtual disk architecture.

Figure 51. Virtual Disk Operation. In the first FDT box, 100 33903 stands for Volume 100 of a 3390 model 3. In the FTT box, CC is cylinder 5, HH is head 4, T is track 3452.

E.3 Data Compression and Compaction


Because update in place does not occur in the log structured file, data can be compressed. In fact, all data, as soon as it enters an RVA, is compressed (to the extent possible). In addition, the gaps between the records, as they appear on the CKD devices, are removed before the data is written to disk. This is called compaction . Experience shows that RVA customers can achieve an overall compression and compaction ratio of 3.6:1.

132

Installing BaanERP Applications on OS/390

E.3.1 Effect of Data Compression


The effect of data compression on the RVA subsystem is that it speeds up the transfer of data to and from the back-end disk arrays to cache and it increases the effectiveness of the cache memory since more data can fit in cache due to its compression. The subsystem Effective Capacity attempts to give the users a suggested guideline as to how much traditional non-compressed data will fit in the RVA subsystem based on the current compression algorithm. Many types of data such as documents, JCL, batch and TSO data compress very well in the RVA. Other applications may sometimes use host compression or internal compression software to achieve the same benefits of compressed data for storage and transmission. This data, when placed on the RVA, will be compressed internally as is all data that enters the RVA subsystem. However, data that is very random in nature either by content or because of previous compression will not compress as well within the RVA as non-compressed data. Therefore, the user should understand that if the only data that is to be placed on an RVA subsystem is pre-compressed or highly random numerical data, there may not be as good internal compression as expected and the Effective Capacity of the RVA, which is based on non-compressed data, may be inaccurate. If the compression of the data to be placed on the RVA is known or can be approximated, this number can be used times the physical capacity of the RVA disk arrays to give an approximate effective capacity value for that data. If the DA Capacity of the RVA, as shown on the Subsystem Configuration panel or Local Operator Panel of the subsystem, is 117.4 GB, then the Effective Capacity of that subsystem is generally thought to be 420 GB, based on a 3.6 compression. If the data to be stored on that RVA shows 3.0 compression, then the effective capacity would be 352 GB. If the data to be stored only compressed 2.5 to one, then the Effective Capacity of the subsystem would only be 293 GB. Note: The data compression on the HFS files has been in the range of 1.8 to one for Baan files. These numbers represent the amount of data that should fit in 75% NCL of the RVA subsystem. More information is available in DB2 for OS/390 and Data Compression , SG24-5261, and IBM RAMAC Virtual Array , SG24-4951.

Appendix E. RAMAC Virtual Array (RVA)

133

134

Installing BaanERP Applications on OS/390

Appendix F. SnapShot
The RVA's virtual disk architecture enables you to produce almost instantaneous copies of data sets and volumes. We call this function SnapShot. Snapshot produces copies without data movement. We call making a copy with SnapShot snapping the data. The term snap also refers to the resulting copy of the data. Conventional methods of copying data on DASD consist of making a physical copy of the data on either DASD or tape. Host processors, channels, tape, and DASD controllers are involved in these conventional copy processes. Copying may take a lot of time, depending on the availability of system resources. With SnapShot, copying is achieved with no data movement. Snapping can take just seconds rather than minutes or hours, because data is not moved and the host processor and channels are not involved in data transfer. Furthermore, additional physical disk space is not required to accommodate the snap until either the source or the target is updated. As far as the operating system is concerned, the snap is a real copy of the data; as far as the RVA hardware is concerned, it is a virtual copy of the data.

F.1 How SnapShot Works


A functional device is represented by a certain number of pointers in the FTD. Every used track has a pointer to its back-end data in the FDT. The RVA's virtual disk architecture enables you to make a copy of a data set or volume by copying its FTD pointers. As you can imagine, this is a very fast process. No data movement takes place, and no additional back-end physical space is used. Both FTD pointers (the original and the copy) point to the same physical data location. Figure 52 shows how SnapShot works.

Figure 52. SnapShot Operation

Only when either the original or the copied track is updated is its associated FTD pointer changed to point to the new data location. The other FTD pointer remains unchanged. Additional space is needed in this case. As long as there
Copyright IBM Corp. 1999

135

is a pointer to a data block in the physical disk storage, the block cannot become free for the freespace collection process. A reference counter in the Track Number Table (TNT) prevents the block from becoming free. On the RVA side, the execution of the SnapShot function is quite simple; on the OS/390 side, some additional operations are necessary. If a data set is snapped, a new data set name is required and given in the snap command. After the RVA performs the snap, OS/390 must update the catalog and VTOC (as well as the VVDS, if the snap is performed on a VSAM data set). Although the creation of the copy is a logical manipulation of pointers, the data exists on disk, so in this sense it is not a logical copy. As far as the operating system is concerned, the two copies are completely independent of each other. When you make a copy with SnapShot, both the source and the target must be within the same RVA. For further information about SnapShot, see Implementing SnapShot, SG24-2241.

F.2 What Is Virtual Concurrent Copy


In this section we describe the functions of virtual concurrent copy and DFSMSdss SnapShot. These functions combine the data duplication function of IBM SnapShot for MVS/ESA with the flexibility and operability of DFSMSdss. Both functions are delivered through a small programming enhancement (SPE) to DFSMSdss. Integration of SnapShot with DB2 is provided through virtual concurrent copy.

F.2.1 DFSMSdss SnapShot


DFSMSdss SnapShot enables you to take advantage of SnapShot when you are copying data within a single RAMAC Virtual Array (RVA). When you specify DFSMSdss COPY, and both the source and target data sets are in the same RVA, SnapShot is automatically invoked. There are no changes to JCL, and your copy jobs instantly benefit from SnapShot, both in terms of the speed of the copies and the fact that SnapShot does not use any additional back-end space to make a copy.

F.2.2 Virtual Concurrent Copy


Virtual concurrent copy extends the benefits of SnapShot to DB2 users. DB2 already has integrated support for 3990 concurrent copy through the CONCURRENT keyword in a COPY utility. When you specify the CONCURRENT keyword on a DB2 image copy, the DFSMS/MVS software can detect whether you have an RVA. If you have an RVA with SnapShot, the virtual concurrent copy function is invoked. Concurrent copy enables you to take a consistent copy or dump of data, using DFSMSdss, while applications are updating the data. The logical completion of the point-in-time copy occurs when the source data is snapped into an interim data set called the working space data set (WSDS). Because there is no actual movement of data, snapping can take seconds rather than minutes or hours, and host processor and channels are not involved in the data transfer.

136

Installing BaanERP Applications on OS/390

The physical completion occurs when the data is moved by DFSMSdss to the target tape or disk data set. Once the copy is logically complete, the data can be made available for application updates. Figure 53 on page 137 shows the virtual concurrent copy operation.

Figure 53. Virtual Concurrent Copy Operation. One target is a copy to disk and the other target is a copy to a tape cartridge.

If you are already using concurrent copy, you do not have to make changes to your JCL to use virtual concurrent copy. For further information on virtual concurrent copy, see Implementing DFSMSdss SnapShot and Virtual Concurrent Copy , SG24-5268.

Appendix F. SnapShot

137

138

Installing BaanERP Applications on OS/390

Appendix G. Installation Problems We Encountered


This chapter describes the problems we encountered during installation activities with earlier versions of the Baan Application code, as well as how we restarted the scripts after encountering the problems. Although you should not encounter such scenarios, they are included as hints and tips.

G.1 Problems and Workarounds


During the installation process, we ran into several areas that required a workaround. A summary of these problems and their workarounds are as follows: Problem We exceeded the number of allowable VSAM extents on index files. Workaround We increased the secondary allocation for indexes in db2_storage. we used the alter tablespace command to increase the size then reorg the tablespace. Alternately ,you can also rename the old index, create a new index VSAM file with a larger primary and secondary extent, and then use the REPRO command to copy the data over to the new larger file. Another choice is to use the DFDSCOPY utility. However, as we had many of these errors, we restarted with the larger secondary quantity. If you use the sample db2_storage files, you should not encounter this. Problem While loading the demo companies, DB2 was short on storage. Workaround We increased the paging and CSA space to load the demo companies. We found sometimes it was easier to restart if we had serious problems with DB2 at the beginning of the installation. Problem We were told we would run out of VTOC space when loading the demo companies because of the large number of index files. Workaround We increased the VTOC space on one volume to 30 cylinders.

Copyright IBM Corp. 1999

139

Problem We had a problem with ASCII mode and DB2 (we had DB2 return code 1332). Workaround We had to change the SSCID parameter from 1 to 37. Problem We had several PATH problems because $PATH and $LIBPATH were not set correctly. Workaround If you correctly set your environment variables you should not encounter this situation. The first time it could not find db2srv61. Although the message referred to shared memory, we had to set LIBPATH to /baanerp/bse/bin, where db2srv61 resides. Problem We had a problem when the script spawned another process while it was setting permissions. Workaround We did not have the entry BMP_SPAWN=Yes. This is now set by the install6.2 script. Problem The database was locked. Workaround We had to create a different database and tablespace for Company 550. When we did this we used the db2_install6.2 script, but this adds the new entry at the bottom of the file. Because the first entry is *, the specific entry for 550 will never be reached. Therefore, we had to manually reorder the entries. Problem The group name db2baan was not authorized. Workaround We had to grant dbadm privileges to db2baan. Problem We received the message: installation aborted: could not find module

globlvar.
Workaround We had to follow the installation instructions and modify the install6.2 script to copy the module to the correct directory.

140

Installing BaanERP Applications on OS/390

Problem The DB2 load library was not found. Workaround We had to set the value of the STEPLIB variable before starting the install6.2 script by issuing the command:

export STEPLIB=DB2V510.SDSNLOAD
Problem We could not log on as bsp using the BW Client. Workaround We had to copy the file ubsp to uBSP in the directory /baanerp/bse/lib/user. You should also verify that the bsp profile is correct. To do this, telnet to OMVS, logon as bsp, then issue the env |more command to check that the settings are correct. In addition, if you are using the latest version of TCP/IP, you must add the letter s to the end of the following line in the /etc/inetd.conf file:

exec

stream tcp nowait OMVSKERN /usr/sbin/orexecd orexecd -LVs

G.2 Restarting after Encountering Problems


If you try to restart the install6.2 script without clearing any active shmtimer tasks, you will get the following messages:

Installation restarted: Sun Sep 20 16:51:25 EDT 1998 >INSTALLATION ABORTED!! Cannot initialize Shared Memory Manager for temporary environment: Sun Sep 20 16:51:27 EDT 1998

Stop shared memory for temporary environment... >INSTALLATION ABORTED!! Couldn't start bshell with object ottiex1289: Mon 13:44:44 EDT 1998

Therefore you must first execute the steps, described in G.2.1, Restarting the install6.2 Script on page 142, before restarting.

Appendix G. Installation Problems We Encountered

141

G.2.1 Restarting the install6.2 Script


To restart the install6.2 script to allow it to continue processing, you must clear the shared memory messages and ensure the paths are set by following these steps: 1. Issue the command ps -ef (or ps -ef |more if it creates more than one page of output) to look for shmtimer tasks that are active. Then issue the following command to stop any active shmtimer tasks:
kill -9 taskidnumber

2. To check shared memory allocation, issue:


ipcs

If shared memory or semaphore allocations exist, then issue the ipcrm command to stop them, as follows. For shared memory, issue:
ipcrm -m (task ID number)

For semaphore, issue:


ipcrm -s (task ID number)

Figure 54 shows we had two tasks to kill.

Shared Memory: root @ SC55:/etc>ipcs Message Queues: T ID KEY q q q

MODE

OWNER ALEX ALEX ALEX ALEX ALEX OWNER ALEX OWNER ALEX

GROUP SYS1 SYS1 SYS1 SYS1 SYS1 GROUP bsp GROUP bsp

4 0x00000000 ----------5 0x00000000 ----------6 0x00000000 -----------

q 7 0x00000000 ----------q 8 0x00000000 ----------Shared Memory: T ID KEY MODE m 3513412 0x01101fd0 --rw-rw-rwSemaphores: T ID KEY MODE s 151076 0x00000000 --ra-ra-ra-

Figure 54. Result of ipcs Command

To stop the memory task, issue:


root @ SC55:/etc>ipcrm -m 3513412

142

Installing BaanERP Applications on OS/390

To stop the semaphore task, issue:


root @ SC55:/etc>ipcrm -s 151076

To check that these tasks are no longer there, issue the ipcs command again, as follows:
root @ SC55:/baanerpinstall/install>ipcs Message Queues: T ID KEY MODE q 4 0x00000000 ----------q 5 0x00000000 q 6 0x00000000 q 7 0x00000000 q 8 0x00000000 Shared Memory: Semaphores: -----------------------------------------

OWNER root root root root root

GROUP SYS1 SYS1 SYS1 SYS1 SYS1

Sometimes the ID number for the memory still appears after you have issued the command. This does not cause a problem. 3. Check that all the following variables are set. They allow the script to restart. (This is needed because the script expects these to be set. If you have been disconnected from your telnet session, these settings will have been lost.)

export export export export export export export

BSE=/baanerp/bse BSE_TMP=$BSE/tmp DB2_MVS_SYNTAX=1 _BPX_SHAREAS=YES LIBPATH=/baanerp/bse/bin:$LIBPATH _BPX_SPAWN_SCRIPT=YES TERM=vt100

You may want to verify all your env values at this point. Attention A special variable needs to be set as follows when the script aborts before completion:

export DS_AS=bshell.inst
This should only be set during a restart, after you have started moving files to your temporary $BSE directories. If you issue this by mistake, you must disconnect your telnet session and re-establish a new one to remove the variable from the system. Using the unset command is not sufficient.

Appendix G. Installation Problems We Encountered

143

G.2.2 Restarting install6.2 from the Beginning


To restart the script, execute the following steps: 1. Issue the command ps -ef or ps -ef |more to look for shmtimer tasks that are active, then issue the following command to stop any active shmtimer tasks.
kill -9 (task ID number)

2. To check shared memory allocation, issue:


ipcs

If shared memory or semaphore allocations exist, then issue the ipcrm command to stop them. For shared memory, issue:
ipcrm -m (task ID number)

For semaphores, issue:


ipcrm -s (task ID number)

The following shows two active tasks:


Shared Memory: root @ SC55:/etc>ipcs Message Queues: T ID KEY q q q

MODE

OWNER ALEX ALEX ALEX ALEX ALEX OWNER ALEX OWNER ALEX

GROUP SYS1 SYS1 SYS1 SYS1 SYS1 GROUP bsp GROUP bsp

4 0x00000000 ----------5 0x00000000 ----------6 0x00000000 -----------

q 7 0x00000000 ----------q 8 0x00000000 ----------Shared Memory: T ID KEY MODE m 3513412 0x01101fd0 --rw-rw-rwSemaphores: T ID KEY MODE s 151076 0x00000000 --ra-ra-ra-

To stop the memory task, issue:


ipcrm -m 3513412

To stop the semaphore task, issue:


ipcrm -s 151076

144

Installing BaanERP Applications on OS/390

To check that these tasks are no longer there, issue the ipcs command again:
root @ SC55:/baanerpinstall/install>ipcs Message Queues: T ID KEY MODE q 4 0x00000000 ----------q 5 0x00000000 q 6 0x00000000 q 7 0x00000000 q 8 0x00000000 Shared Memory: Semaphores: -----------------------------------------

OWNER root root root root root

GROUP SYS1 SYS1 SYS1 SYS1 SYS1

3. To remove existing information in the target file and source directories, execute the following commands:
cd / rm -fr /baanerp/bse rm -fr /baanerpinstall/install

Note: The rm command with the -r flag will remove all the data under the directory specified. Use this command carefully. You will receive the following message:
root @ SC55:/baanerpinstall/install>rm -fr /baanerp/bse rm: FSUM9196 cannot remove directory "/baanerp/bse": EDC5114I root @ SC55:/baanerpinstall/install>rm -fr /baanerp/install rm: FSUM9196 cannot remove directory "/baanerpinstall/install": EDC5114I root @ SC55:/baanerpinstall/install>

This is correct as the file systems are still mounted. 4. Drop the DB2 database as shown in this sample JCL in Figure 55 on page 146:

Appendix G. Installation Problems We Encountered

145

//BAAN JOB (999,POK),'BAAN INSTALL',NOTIFY=&SYSUID, // CLASS=A,MSGCLASS=T,TIME=1439, // REGION=5000K,MSGLEVEL=(1,1) //*** //*** //*** /*JOBPARM SYSAFF=SC55 //JOBLIB DD DSN=DB2V510D.RUNLIB.LOAD,DISP=SHR // DD DSN=DB2V510.SDSNLOAD,DISP=SHR //CREATETS EXEC PGM=IKJEFT01,DYNAMNBR=20 //SYSPRINT DD SYSOUT=* //SYSTSPRT DD SYSOUT=* //SYSOUT DD SYSOUT=* //SYSUDUMP DD SYSOUT=* //SYSTSIN DD * DSN S(DB2D) RUN PROG(DSNTIAD) PLAN(DSNTIA51) END //SYSIN DD * DROP DATABASE BERP000A; DROP STOGROUP BAANGRP; COMMIT;
Figure 55. Dropping the DB2 Database

0 0 0

At this point go back to the step where you tar the files, as shown in 5.3.2, Unpacking Files into Install Directories on page 41.

G.3 Using Baan Log Files


Some log files are located in $BSE/log. After we loaded Company 000, we issued the command ls-l to view our logs, as shown in Figure 56.

root @ SC55:/baanerp/bse/log>ls -l total 456 -rw-rw-rw- 1 bsp bsp -rw-rw-rw-rw-rw-rw-rw-rw-rw-rw-rw-rw-rw-rw-rw-rw-rw----rw-rw----rw-rw-rw-rw-rw-rw-rw-rw-rw-rw-rw-rw-rw-rw-rw-rw-rw-rw1 bsp 1 bsp 1 bsp 1 1 1 1 bsp bsp bsp bsp bsp bsp bsp bsp bsp bsp bsp bsp bsp bsp bsp bsp bsp

0 Sep 24 14:05 log.ba6.2 7170 Sep 25 06:19 log.bdbreconfig6.2 6634 Sep 25 07:17 log.bshell.inst 0 Sep 24 15:12 log.compress6.2 0 0 218 76431 Sep Sep Sep Sep 24 24 25 25 15:15 16:36 07:24 08:00 log.db2 log.db2.mesg log.oiex1287 log.oiex1288

1 bsp 1 bsp 1 bsp 1 bsp 1 bsp 1 bsp

543 Sep 24 16:41 log.pdaemon6.2 2754 Sep 25 08:00 log.sh_server 2282 Sep 24 14:10 log.shmmanager6.2 1528 Sep 25 07:17 log.shmtimer6.2 0 Sep 24 13:50 log.shmvalues6.2 0 Sep 24 15:15 log.sort6.2

Figure 56. Baan Llogs

146

Installing BaanERP Applications on OS/390

When a problem occurs, go to this log directory and edit the log that has the most recent date and time.

G.3.1.1 Log to Track Progress


This is a sample of log.oiex1288. The current installation processes through line.0072.

Install Runtime Data Dictionary /baanerpinstall/install/line.0023 092598104845 Install objects /baanerpinstall/install/line.0023 092598104845 Install Data Dictionary /baanerpinstall/install/line.0024 092598104845 Repair cpac vrc structure 092598104845 Install Data Dictionary forms /baanerpinstall/install/line.0024 092598104859 Install Data Dictionary reports /baanerpinstall/install/line.0024 092598104859 Install Data Dictionary scripts /baanerpinstall/install/line.0024 092598104859 Install Data Dictionary libraries /baanerpinstall/install/line.0024 092598104859 Install Runtime Data Dictionary /baanerpinstall/install/line.0024 092598104859 Install objects /baanerpinstall/install/line.0024 092598104859 Install Data Dictionary /baanerpinstall/install/line.0025 092598104859 Repair cpac vrc structure 092598104859
Other logs can be found in: /baanerpinstall/install /tmp /etc

Appendix G. Installation Problems We Encountered

147

148

Installing BaanERP Applications on OS/390

Appendix H. Alternate DB2 Layout


This appendix shows an alternate layout for Company 000 that puts the tables into more tablespaces and databases.

H.1 JCL Used to Create Tablespaces


The JCL we used to create the database is shown in Figure 7 on page 30. Because we restarted several times during the loading of Company 000, we placed the drop commands at the beginning of the job. When you are creating the database and tablespaces, you should also consider assigning bufferpools. This topic is covered in more detail in 11.5.1, DB2/BaanERP Buffer Pool Recommendations on page 102. Our JCL uses the following allocation of buffer pools: BP4 for 60 tablespaces for Company 000 BP5 for other tablespaces for Company 000 BP6 for tablespaces for Company 813 BP8 for tablespaces for Company 900 BP10 for tablespaces for Company 999 The db2_storage file, shown in Figure 58 on page 158, has the bufferpool allocations for indexes: BP3 for indexes for Company 000 BP2 for indexes for Company 813 and Company 900. Attention

If you choose to use the supplied db2_install6.2 script to create the database, you do not have to run this job.

Copyright IBM Corp. 1999

149

//BAANDB2 JOB (999,POK),'BAAN INSTALL',NOTIFY=&SYSUID, 00010023 //*********************************************************************/ //* NAME = BAANDDL */ //* */ //* DESCRIPTIVE NAME = SAMPLE DDL TO CREATE DATABASES & TABLESPACES */ //* FOR BAAN ERP INSTALLATION */ //* */ //* STATUS = VERSION 1 */ //* */ //* FUNCTION = THIS JCL PERFORMS THE NECESSARY DDL TO BUILD THE */ //* BAAN ERP DB2 DATABASE. THE FOLLOWING DDL MATCHES THE */ //* SETUP SUPPLIED IN THE $BSE/lib/db2/db2_storage FILE. */ //* */ //* ANY CHANGES TO STOGROUP, DATABASE AND/OR TABLESPACE */ //* NAMES REQUIRES THE CORRESPONDING CHANGE IN THE */ //* $BSE/lib/db2/db2_storage FILE. */ //* */ //* YOU MUST UPDATE THE hlq IN THE JOBLIB. */ //* */ //* CHANGE ACTIVITY = */ //*********************************************************************/ //JOBLIB DD DSN=DB2V510.SDSNLOAD,DISP=SHR //CREATDDL EXEC PGM=IKJEFT01,DYNAMNBR=20 //SYSPRINT DD SYSOUT=* //SYSTSPRT DD SYSOUT=* //SYSOUT DD SYSOUT=* //SYSTSIN DD * DSN S(DB2D) RUN PROG(DSNTIAD) PLAN(DSNTIA51) END //SYSIN DD * CREATE STOGROUP BERPGRP VOLUMES (BAAPK5,BAAPK6,BAAPK7) VCAT DB2V510D; COMMIT; CREATE DATABASE BERP000A STOGROUP BERPGRP BUFFERPOOL BP2; CREATE DATABASE BERP000B STOGROUP BERPGRP BUFFERPOOL BP2; CREATE DATABASE BERP9999 STOGROUP BERPGRP BUFFERPOOL BP2; COMMIT;
Figure 57 (Part 1 of 6). JCL to Create Tablespaces with Company 000 Detailed Setup

150

Installing BaanERP Applications on OS/390

CREATE TABLESPACE TAAD050 IN BERP000A USING STOGROUP BERPGRP PRIQTY 12 SECQTY 960 LOCKSIZE ROW SEGSIZE 32 CLOSE CREATE TABLESPACE TAAD100 IN BERP000A USING STOGROUP BERPGRP PRIQTY 12 SECQTY 960 LOCKSIZE ROW SEGSIZE 32 CLOSE CREATE TABLESPACE TAAD106 IN BERP000A USING STOGROUP BERPGRP PRIQTY 12 SECQTY 960 LOCKSIZE ROW SEGSIZE 32 CLOSE CREATE TABLESPACE TAAD110 IN BERP000A USING STOGROUP BERPGRP PRIQTY 12 SECQTY 960 LOCKSIZE ROW SEGSIZE 32 CLOSE CREATE TABLESPACE TAAD200 IN BERP000A USING STOGROUP BERPGRP PRIQTY 12 SECQTY 960 LOCKSIZE ROW SEGSIZE 32 CLOSE CREATE TABLESPACE TAAD201 IN BERP000A USING STOGROUP BERPGRP PRIQTY 12 SECQTY 960 LOCKSIZE ROW SEGSIZE 32 CLOSE CREATE TABLESPACE TAAD300 IN BERP000A USING STOGROUP BERPGRP PRIQTY 12 SECQTY 960 LOCKSIZE ROW SEGSIZE 32 CLOSE CREATE TABLESPACE TAAD305 IN BERP000A USING STOGROUP BERPGRP PRIQTY 12 SECQTY 960 LOCKSIZE ROW SEGSIZE 32 CLOSE CREATE TABLESPACE TAAD306 IN BERP000A USING STOGROUP BERPGRP PRIQTY 12 SECQTY 960 LOCKSIZE ROW SEGSIZE 32 CLOSE CREATE TABLESPACE TAAD311 IN BERP000A USING STOGROUP BERPGRP PRIQTY 12 SECQTY 960 LOCKSIZE ROW SEGSIZE 32 CLOSE CREATE TABLESPACE TAAD320 IN BERP000A USING STOGROUP BERPGRP PRIQTY 12 SECQTY 960 LOCKSIZE ROW SEGSIZE 32 CLOSE CREATE TABLESPACE TADV002 IN BERP000A USING STOGROUP BERPGRP PRIQTY 12 SECQTY 960 LOCKSIZE ROW SEGSIZE 32 CLOSE CREATE TABLESPACE TADV010 IN BERP000A USING STOGROUP BERPGRP PRIQTY 12 SECQTY 9600 LOCKSIZE ROW SEGSIZE 32 CLOSE CREATE TABLESPACE TADV112 IN BERP000A USING STOGROUP BERPGRP PRIQTY 12 SECQTY 9600 LOCKSIZE ROW SEGSIZE 32 CLOSE

BUFFERPOOL BP4 NO; BUFFERPOOL BP4 NO; BUFFERPOOL BP4 NO; BUFFERPOOL BP4 NO; BUFFERPOOL BP4 NO; BUFFERPOOL BP4 NO; BUFFERPOOL BP4 NO; BUFFERPOOL BP4 NO; BUFFERPOOL BP4 NO; BUFFERPOOL BP4 NO; BUFFERPOOL BP4 NO; BUFFERPOOL BP4 NO; BUFFERPOOL BP4 NO; BUFFERPOOL BP4 NO;

Figure 57 (Part 2 of 6). JCL to Create Tablespaces with Company 000 Detailed Setup

Appendix H. Alternate DB2 Layout

151

CREATE TABLESPACE TADV130 IN BERP000A BUFFERPOOL USING STOGROUP BERPGRP PRIQTY 10500 SECQTY 1050 LOCKSIZE ROW SEGSIZE 32 CLOSE NO; CREATE TABLESPACE TADV140 IN BERP000A BUFFERPOOL USING STOGROUP BERPGRP PRIQTY 30000 SECQTY 3000 LOCKSIZE ROW SEGSIZE 32 CLOSE NO; CREATE TABLESPACE TADV200 IN BERP000A BUFFERPOOL USING STOGROUP BERPGRP PRIQTY 8000 SECQTY 960 LOCKSIZE ROW SEGSIZE 32 CLOSE NO; CREATE TABLESPACE TADV301 IN BERP000A BUFFERPOOL USING STOGROUP BERPGRP PRIQTY 150000 SECQTY 9600 LOCKSIZE ROW SEGSIZE 32 CLOSE NO; CREATE TABLESPACE TADV330 IN BERP000A BUFFERPOOL USING STOGROUP BERPGRP PRIQTY 4000 SECQTY 960 LOCKSIZE ROW SEGSIZE 32 CLOSE NO; CREATE TABLESPACE TADV334 IN BERP000A BUFFERPOOL USING STOGROUP BERPGRP PRIQTY 120000 SECQTY 960 LOCKSIZE ROW SEGSIZE 32 CLOSE NO; CREATE TABLESPACE TADV420 IN BERP000A BUFFERPOOL USING STOGROUP BERPGRP PRIQTY 1000 SECQTY 960 LOCKSIZE ROW SEGSIZE 32 CLOSE NO; CREATE TABLESPACE TADV422 IN BERP000A BUFFERPOOL USING STOGROUP BERPGRP PRIQTY 44000 SECQTY 960 LOCKSIZE ROW SEGSIZE 32 CLOSE NO; CREATE TABLESPACE TADV450 IN BERP000A BUFFERPOOL USING STOGROUP BERPGRP PRIQTY 12000 SECQTY 960 LOCKSIZE ROW SEGSIZE 32 CLOSE NO; CREATE TABLESPACE TADV460 IN BERP000A BUFFERPOOL USING STOGROUP BERPGRP PRIQTY 400 SECQTY 960 LOCKSIZE ROW SEGSIZE 32 CLOSE NO; CREATE TABLESPACE TADV461 IN BERP000A BUFFERPOOL USING STOGROUP BERPGRP PRIQTY 600 SECQTY 960 LOCKSIZE ROW SEGSIZE 32 CLOSE NO; CREATE TABLESPACE TADV990 IN BERP000A BUFFERPOOL USING STOGROUP BERPGRP PRIQTY 12 SECQTY 960 LOCKSIZE ROW SEGSIZE 32 CLOSE NO; CREATE TABLESPACE TADV991 IN BERP000A BUFFERPOOL USING STOGROUP BERPGRP PRIQTY 12 SECQTY 960 LOCKSIZE ROW SEGSIZE 32 CLOSE NO; CREATE TABLESPACE TADV996 IN BERP000A BUFFERPOOL USING STOGROUP BERPGRP PRIQTY 320000 SECQTY 32000 LOCKSIZE ROW SEGSIZE 32 CLOSE NO;

BP4

BP4

BP4

BP4

BP4

BP4

BP4

BP4

BP4

BP4

BP4

BP4

BP4

BP4

Figure 57 (Part 3 of 6). JCL to Create Tablespaces with Company 000 Detailed Setup

152

Installing BaanERP Applications on OS/390

CREATE TABLESPACE TADV997 IN BERP000A USING STOGROUP BERPGRP PRIQTY 12 SECQTY 960 LOCKSIZE ROW SEGSIZE 32 CLOSE CREATE TABLESPACE TADV998 IN BERP000A USING STOGROUP BERPGRP PRIQTY 12 SECQTY 960 LOCKSIZE ROW SEGSIZE 32 CLOSE CREATE TABLESPACE TADV999 IN BERP000A USING STOGROUP BERPGRP PRIQTY 10000 SECQTY 960 LOCKSIZE ROW SEGSIZE 32 CLOSE CREATE TABLESPACE TTXT001 IN BERP000A USING STOGROUP BERPGRP PRIQTY 12000 SECQTY 960 LOCKSIZE ROW SEGSIZE 32 CLOSE CREATE TABLESPACE TTXT002 IN BERP000A USING STOGROUP BERPGRP PRIQTY 30000 SECQTY 960 LOCKSIZE ROW SEGSIZE 32 CLOSE CREATE TABLESPACE TTXT010 IN BERP000A USING STOGROUP BERPGRP PRIQTY 80000 SECQTY 960 LOCKSIZE ROW SEGSIZE 32 CLOSE COMMIT; CREATE TABLESPACE TTADV IN BERP000B USING STOGROUP BERPGRP PRIQTY 240000 SECQTY 24000 LOCKSIZE ROW SEGSIZE 32 CLOSE CREATE TABLESPACE TTAAD IN BERP000B USING STOGROUP BERPGRP PRIQTY 9600 SECQTY 960 LOCKSIZE ROW SEGSIZE 32 CLOSE CREATE TABLESPACE TTCHM IN BERP000B USING STOGROUP BERPGRP PRIQTY 9600 SECQTY 960 LOCKSIZE ROW SEGSIZE 32 CLOSE CREATE TABLESPACE TTCMT IN BERP000B USING STOGROUP BERPGRP PRIQTY 9600 SECQTY 960 LOCKSIZE ROW SEGSIZE 32 CLOSE CREATE TABLESPACE TTCON IN BERP000B USING STOGROUP BERPGRP PRIQTY 9600 SECQTY 960 LOCKSIZE ROW SEGSIZE 32 CLOSE CREATE TABLESPACE TTDBA IN BERP000B USING STOGROUP BERPGRP PRIQTY 9600 SECQTY 960 LOCKSIZE ROW SEGSIZE 32 CLOSE

BUFFERPOOL BP4 NO; BUFFERPOOL BP4 NO; BUFFERPOOL BP4 NO; BUFFERPOOL BP4 NO; BUFFERPOOL BP4 NO; BUFFERPOOL BP4 NO;

BUFFERPOOL BP4 NO; BUFFERPOOL BP4 NO; BUFFERPOOL BP4 NO; BUFFERPOOL BP4 NO; BUFFERPOOL BP4 NO; BUFFERPOOL BP4 NO;

Figure 57 (Part 4 of 6). JCL to Create Tablespaces with Company 000 Detailed Setup

Appendix H. Alternate DB2 Layout

153

CREATE TABLESPACE TTDBT IN BERP000B USING STOGROUP BERPGRP PRIQTY 9600 SECQTY 960 LOCKSIZE ROW SEGSIZE 32 CLOSE CREATE TABLESPACE TTDDI IN BERP000B USING STOGROUP BERPGRP PRIQTY 9600 SECQTY 960 LOCKSIZE ROW SEGSIZE 32 CLOSE CREATE TABLESPACE TTDLL IN BERP000B USING STOGROUP BERPGRP PRIQTY 9600 SECQTY 960 LOCKSIZE ROW SEGSIZE 32 CLOSE CREATE TABLESPACE TTDSK IN BERP000B USING STOGROUP BERPGRP PRIQTY 9600 SECQTY 960 LOCKSIZE ROW SEGSIZE 32 CLOSE CREATE TABLESPACE TTGFD IN BERP000B USING STOGROUP BERPGRP PRIQTY 9600 SECQTY 960 LOCKSIZE ROW SEGSIZE 32 CLOSE CREATE TABLESPACE TTGUI IN BERP000B USING STOGROUP BERPGRP PRIQTY 9600 SECQTY 960 LOCKSIZE ROW SEGSIZE 32 CLOSE CREATE TABLESPACE TTIEX IN BERP000B USING STOGROUP BERPGRP PRIQTY 9600 SECQTY 960 LOCKSIZE ROW SEGSIZE 32 CLOSE CREATE TABLESPACE TTPCM IN BERP000B USING STOGROUP BERPGRP PRIQTY 9600 SECQTY 960 LOCKSIZE ROW SEGSIZE 32 CLOSE CREATE TABLESPACE TTPTP IN BERP000B USING STOGROUP BERPGRP PRIQTY 9600 SECQTY 960 LOCKSIZE ROW SEGSIZE 32 CLOSE CREATE TABLESPACE TTSEM IN BERP000B USING STOGROUP BERPGRP PRIQTY 9600 SECQTY 960 LOCKSIZE ROW SEGSIZE 32 CLOSE CREATE TABLESPACE TTSQL IN BERP000B USING STOGROUP BERPGRP PRIQTY 9600 SECQTY 960 LOCKSIZE ROW SEGSIZE 32 CLOSE CREATE TABLESPACE TTSTP IN BERP000B USING STOGROUP BERPGRP PRIQTY 9600 SECQTY 960 LOCKSIZE ROW SEGSIZE 32 CLOSE CREATE TABLESPACE TTTBS IN BERP000B USING STOGROUP BERPGRP PRIQTY 9600 SECQTY 960 LOCKSIZE ROW SEGSIZE 32 CLOSE CREATE TABLESPACE TTTLD IN BERP000B USING STOGROUP BERPGRP PRIQTY 9600 SECQTY 960 LOCKSIZE ROW SEGSIZE 32 CLOSE

BUFFERPOOL BP4 NO; BUFFERPOOL BP4 NO; BUFFERPOOL BP4 NO; BUFFERPOOL BP4 NO; BUFFERPOOL BP4 NO; BUFFERPOOL BP4 NO; BUFFERPOOL BP4 NO; BUFFERPOOL BP4 NO; BUFFERPOOL BP4 NO; BUFFERPOOL BP4 NO; BUFFERPOOL BP4 NO; BUFFERPOOL BP4 NO; BUFFERPOOL BP4 NO; BUFFERPOOL BP4 NO;

Figure 57 (Part 5 of 6). JCL to Create Tablespaces with Company 000 Detailed Setup

154

Installing BaanERP Applications on OS/390

CREATE TABLESPACE TTTLS IN BERP000B USING STOGROUP BERPGRP PRIQTY 9600 SECQTY 960 LOCKSIZE ROW SEGSIZE 32 CLOSE CREATE TABLESPACE TTTSS IN BERP000B USING STOGROUP BERPGRP PRIQTY 9600 SECQTY 960 LOCKSIZE ROW SEGSIZE 32 CLOSE CREATE TABLESPACE TTTST IN BERP000B USING STOGROUP BERPGRP PRIQTY 9600 SECQTY 960 LOCKSIZE ROW SEGSIZE 32 CLOSE CREATE TABLESPACE TTTTD IN BERP000B USING STOGROUP BERPGRP PRIQTY 9600 SECQTY 960 LOCKSIZE ROW SEGSIZE 32 CLOSE CREATE TABLESPACE TTTXT IN BERP000B USING STOGROUP BERPGRP PRIQTY 240000 SECQTY 24000 LOCKSIZE ROW SEGSIZE 32 CLOSE CREATE TABLESPACE TTUID IN BERP000B USING STOGROUP BERPGRP PRIQTY 9600 SECQTY 960 LOCKSIZE ROW SEGSIZE 32 CLOSE CREATE TABLESPACE TOTHER IN BERP000B USING STOGROUP BERPGRP PRIQTY 9600 SECQTY 960 LOCKSIZE ROW SEGSIZE 32 CLOSE COMMIT;

BUFFERPOOL BP4 NO; BUFFERPOOL BP4 NO; BUFFERPOOL BP4 NO; BUFFERPOOL BP4 NO; BUFFERPOOL BP4 NO; BUFFERPOOL BP4 NO; BUFFERPOOL BP5 NO;

CREATE TABLESPACE T813000 IN BERP813 BUFFERPOOL BP6 USING STOGROUP BERPGRP PRIQTY 1440000 SECQTY 144000 LOCKSIZE ROW SEGSIZE 32 CLOSE NO; CREATE TABLESPACE T900000 IN BERP900 BUFFERPOOL BP8 USING STOGROUP BERPGRP PRIQTY 1440000 SECQTY 144000 LOCKSIZE ROW SEGSIZE 32 CLOSE NO; CREATE TABLESPACE TS999 IN BERP9999 BUFFERPOOL BP10 USING STOGROUP BERPGRP PRIQTY 9600 SECQTY 9600 LOCKSIZE ROW SEGSIZE 32 CLOSE NO; COMMIT; GRANT DBADM ON DATABASE BERP000A TO BSPGRP WITH GRANT OPTION; GRANT DBADM ON DATABASE BERP000B TO BSPGRP WITH GRANT OPTION; GRANT DBADM ON DATABASE BERP9999 TO BSPGRP WITH GRANT OPTION; GRANT USE OF STOGROUP BERPGRP TO BSPGRP; GRANT USE OF ALL BUFFERPOOLS TO PUBLIC; /* //
Figure 57 (Part 6 of 6). JCL to Create Tablespaces with Company 000 Detailed Setup

Note: If you have not set up DB2 secondary authid, you will have to add these grant statements for BSP.

Appendix H. Alternate DB2 Layout

155

GRANT GRANT GRANT GRANT GRANT GRANT

DBADM ON DATABASE BERP000A TO BSP WITH GRANT OPTION; DBADM ON DATABASE BERP000B TO BSP WITH GRANT OPTION; DBADM ON DATABASE BERP813 TO BSP WITH GRANT OPTION; DBADM ON DATABASE BERP900 TO BSP WITH GRANT OPTION; DBADM ON DATABASE BERP9999 TO BSP WITH GRANT OPTION; USE OF STOGROUP BERPGRP TO BSP;

H.2 DB2 Files BaanERP Uses


There are three files that BaanERP uses to set up the loading of their applications to the database. You can use the sample ones that BaanERP provides, or you can create your own using the db2_install6.2 script that is executed during the installation process. It is recommended that you start with the sample files, so at the appropriate time in the installation process, you will move these to the directory /baanerp/bse/lib/db2. Then you can display them as shown by the following ls command:

$ ls db2_groups db2_storage db2_users

The following shows db2_groups: The group name becomes the owner ID or create ID and must have dbadm or sysadm privileges:

db2berp:qZ.m7rcL}G3WW"t6L{79r$,<[email protected]
The following shows db2_users; these unintelligible character strings are encrypted passwords that are not used for OS/390, but are used in the UNIX implementation. These files are the same as those used in the UNIX implementation.

BSP:BSP:pDOH9BNtTkv.*3e!&t#<rA{11Pw;#Moc:bspgrp bsp:bsp:pDOH9BNtTkv.*3e!&t#<rA{11Pw;#Moc:bspgrp root:root:&l%d(43"Bd5g+jaj2I1/o,-0H){c3&colonE:bspgrp ROOT:ROOT:pDOH9BNtTkv.*3e!&t#<rA{11Pw;#Moc:bspgrp


The following shows a very simple db2_storage that puts everything in one tablespace:

*:*:I::01::STOGROUP BERPGRP PRIQTY 64 SECQTY 960 BUFFERPOOL BP3 *:*:T:group:01:5: ARR_SIZE 1 OPT_ROWS 5 T_SPACE BERP9999.TS999 . .

156

Installing BaanERP Applications on OS/390

Figure 58 on page 158, is a sample db2_storage file that we used. It puts 34 of the larger indexes and 60 tables of Company 000 in their own tablespaces. Attention The entries must be in ascending sequence with the *.* last. If you use the db2_install6.2 script, it puts the new entries at the end. Therefore, you must manually insert them into the correct sequence.

Appendix H. Alternate DB2 Layout

157

ttaad050:000:I::01::STOGROUP BERPGRP PRIQTY 12 SECQTY 960 ttaad050:000:T:group:01:5: OPT_ROWS 5 T_SPACE BERP000A.TAAD050 ttaad100:000:I::01::STOGROUP BERPGRP PRIQTY 12 SECQTY 960 ttaad100:000:T:group:01:5: OPT_ROWS 5 T_SPACE BERP000A.TAAD100 ttaad106:000:I::01::STOGROUP BERPGRP PRIQTY 12 SECQTY 960 ttaad106:000:T:group:01:5: OPT_ROWS 5 T_SPACE BERP000A.TAAD106 ttaad110:000:I::01::STOGROUP BERPGRP PRIQTY 12 SECQTY 960 ttaad110:000:T:group:01:5: OPT_ROWS 5 T_SPACE BERP000A.TAAD110 ttaad200:000:I::01::STOGROUP BERPGRP PRIQTY 12 SECQTY 960 ttaad200:000:T:group:01:5: OPT_ROWS 5 T_SPACE BERP000A.TAAD200 ttaad201:000:I::01::STOGROUP BERPGRP PRIQTY 12 SECQTY 960 ttaad201:000:T:group:01:5: OPT_ROWS 5 T_SPACE BERP000A.TAAD201 ttaad300:000:I::01::STOGROUP BERPGRP PRIQTY 12 SECQTY 960 ttaad300:000:T:group:01:5: OPT_ROWS 5 T_SPACE BERP000A.TAAD300 ttaad305:000:I::01::STOGROUP BERPGRP PRIQTY 12 SECQTY 960 ttaad305:000:T:group:01:5: OPT_ROWS 5 T_SPACE BERP000A.TAAD305 ttaad306:000:I::01::STOGROUP BERPGRP PRIQTY 12 SECQTY 960 ttaad306:000:T:group:01:5: OPT_ROWS 5 T_SPACE BERP000A.TAAD306 ttaad311:000:I::01::STOGROUP BERPGRP PRIQTY 12 SECQTY 960 ttaad311:000:T:group:01:5: OPT_ROWS 5 T_SPACE BERP000A.TAAD311 ttaad320:000:I::01::STOGROUP BERPGRP PRIQTY 12 SECQTY 960 ttaad320:000:T:group:01:5: OPT_ROWS 5 T_SPACE BERP000A.TAAD320 ttadv002:000:I::01::STOGROUP BERPGRP PRIQTY 12 SECQTY 960 ttadv002:000:T:group:01:5: OPT_ROWS 5 T_SPACE BERP000A.TADV002 ttadv010:000:I::01::STOGROUP BERPGRP PRIQTY 12 SECQTY 960 ttadv010:000:T:group:01:5: OPT_ROWS 5 T_SPACE BERP000A.TADV010 ttadv112:000:I::01::STOGROUP BERPGRP PRIQTY 12 SECQTY 960 ttadv112:000:T:group:01:5: OPT_ROWS 5 T_SPACE BERP000A.TADV112 ttadv130:000:I::01::STOGROUP BERPGRP PRIQTY 5000 SECQTY 960 ttadv130:000:T:group:01:5: OPT_ROWS 5 T_SPACE BERP000A.TADV130 ttadv140:000:I::01::STOGROUP BERPGRP PRIQTY 3500 SECQTY 960 ttadv140:000:T:group:01:5: OPT_ROWS 5 T_SPACE BERP000A.TADV140 ttadv200:000:I::01::STOGROUP BERPGRP PRIQTY 4000 SECQTY 960 ttadv200:000:T:group:01:5: OPT_ROWS 5 T_SPACE BERP000A.TADV200 ttadv301:000:I::01::STOGROUP BERPGRP PRIQTY 14400 SECQTY 960 ttadv301:000:T:group:01:5: OPT_ROWS 5 T_SPACE BERP000A.TADV301 ttadv330:000:I::01::STOGROUP BERPGRP PRIQTY 2000 SECQTY 960 ttadv330:000:T:group:01:5: OPT_ROWS 5 T_SPACE BERP000A.TADV330 ttadv334:000:I::01::STOGROUP BERPGRP PRIQTY 10000 SECQTY 960 ttadv334:000:T:group:01:5: OPT_ROWS 5 T_SPACE BERP000A.TADV334 ttadv420:000:I::01::STOGROUP BERPGRP PRIQTY 1000 SECQTY 960 ttadv420:000:T:group:01:5: OPT_ROWS 5 T_SPACE BERP000A.TADV420 ttadv422:000:I::01::STOGROUP BERPGRP PRIQTY 2500 SECQTY 960 ttadv422:000:T:group:01:5: OPT_ROWS 5 T_SPACE BERP000A.TADV422 ttadv450:000:I::01::STOGROUP BERPGRP PRIQTY 6000 SECQTY 960 ttadv450:000:T:group:01:5: OPT_ROWS 5 T_SPACE BERP000A.TADV450 ttadv460:000:I::01::STOGROUP BERPGRP PRIQTY 200 SECQTY 960 ttadv460:000:T:group:01:5: OPT_ROWS 5 T_SPACE BERP000A.TADV460 ttadv461:000:I::01::STOGROUP BERPGRP PRIQTY 300 SECQTY 960 ttadv461:000:T:group:01:5: OPT_ROWS 5 T_SPACE BERP000A.TADV461 ttadv990:000:I::01::STOGROUP BERPGRP PRIQTY 12 SECQTY 960 ttadv990:000:T:group:01:5: OPT_ROWS 5 T_SPACE BERP000A.TADV990
Figure 58 (Part 1 of 2). Sample db2_storage File

BUFFERPOOL BP3 BUFFERPOOL BP3 BUFFERPOOL BP3 BUFFERPOOL BP3 BUFFERPOOL BP3 BUFFERPOOL BP3 BUFFERPOOL BP3 BUFFERPOOL BP3 BUFFERPOOL BP3 BUFFERPOOL BP3 BUFFERPOOL BP3 BUFFERPOOL BP3 BUFFERPOOL BP3 BUFFERPOOL BP3 BUFFERPOOL BP3 BUFFERPOOL BP3 BUFFERPOOL BP3 BUFFERPOOL BP3 BUFFERPOOL BP3 BUFFERPOOL BP3 BUFFERPOOL BP3 BUFFERPOOL BP3 BUFFERPOOL BP3 BUFFERPOOL BP3 BUFFERPOOL BP3 BUFFERPOOL BP3

158

Installing BaanERP Applications on OS/390

ttadv991:000:I::01::STOGROUP BERPGRP PRIQTY 12 SECQTY 960 BUFFERPOOL ttadv991:000:T:group:01:5: OPT_ROWS 5 T_SPACE BERP000A.TADV991 ttadv996:000:I::01::STOGROUP BERPGRP PRIQTY 100000 SECQTY 9600 BUFFERPOOL ttadv996:000:T:group:01:5: OPT_ROWS 5 T_SPACE BERP000A.TADV996 ttadv997:000:I::01::STOGROUP BERPGRP PRIQTY 12 SECQTY 960 BUFFERPOOL ttadv997:000:T:group:01:5: OPT_ROWS 5 T_SPACE BERP000A.TADV997 ttadv998:000:I::01::STOGROUP BERPGRP PRIQTY 12 SECQTY 960 BUFFERPOOL ttadv998:000:T:group:01:5: OPT_ROWS 5 T_SPACE BERP000A.TADV998 ttadv999:000:I::01::STOGROUP BERPGRP PRIQTY 5000 SECQTY 960 BUFFERPOOL ttadv999:000:T:group:01:5: OPT_ROWS 5 T_SPACE BERP000A.TADV999 tttxt001:000:I::01::STOGROUP BERPGRP PRIQTY 6000 SECQTY 960 BUFFERPOOL tttxt001:000:T:group:01:5: OPT_ROWS 5 T_SPACE BERP000A.TTXT001 tttxt002:000:I::01::STOGROUP BERPGRP PRIQTY 2200 SECQTY 960 BUFFERPOOL tttxt002:000:T:group:01:5: OPT_ROWS 5 T_SPACE BERP000A.TTXT002 tttxt010:000:I::01::STOGROUP BERPGRP PRIQTY 3000 SECQTY 960 BUFFERPOOL tttxt010:000:T:group:01:5: OPT_ROWS 5 T_SPACE BERP000A.TTXT010 *:000:I::01::STOGROUP BERPGRP PRIQTY 12 SECQTY 960 BUFFERPOOL BP3 ttadv:000:T:group:01:5: OPT_ROWS 5 T_SPACE BERP000B.TTADV ttaad:000:T:group:01:5: OPT_ROWS 5 T_SPACE BERP000B.TTAAD ttchm:000:T:group:01:5: OPT_ROWS 5 T_SPACE BERP000B.TTCHM ttcmt:000:T:group:01:5: OPT_ROWS 5 T_SPACE BERP000B.TTCMT ttcon:000:T:group:01:5: OPT_ROWS 5 T_SPACE BERP000B.TTCON ttdba:000:T:group:01:5: OPT_ROWS 5 T_SPACE BERP000B.TTDBA ttdbt:000:T:group:01:5: OPT_ROWS 5 T_SPACE BERP000B.TTDBT ttddi:000:T:group:01:5: OPT_ROWS 5 T_SPACE BERP000B.TTDDI ttdll:000:T:group:01:5: OPT_ROWS 5 T_SPACE BERP000B.TTDLL ttdsk:000:T:group:01:5: OPT_ROWS 5 T_SPACE BERP000B.TTDSK ttgfd:000:T:group:01:5: OPT_ROWS 5 T_SPACE BERP000B.TTGFD ttgui:000:T:group:01:5: OPT_ROWS 5 T_SPACE BERP000B.TTGUI ttiex:000:T:group:01:5: OPT_ROWS 5 T_SPACE BERP000B.TTIEX ttpcm:000:T:group:01:5: OPT_ROWS 5 T_SPACE BERP000B.TTPCM ttptp:000:T:group:01:5: OPT_ROWS 5 T_SPACE BERP000B.TTPTP ttsem:000:T:group:01:5: OPT_ROWS 5 T_SPACE BERP000B.TTSEM ttsql:000:T:group:01:5: OPT_ROWS 5 T_SPACE BERP000B.TTSQL ttstp:000:T:group:01:5: OPT_ROWS 5 T_SPACE BERP000B.TTSTP tttbs:000:T:group:01:5: OPT_ROWS 5 T_SPACE BERP000B.TTTBS tttld:000:T:group:01:5: OPT_ROWS 5 T_SPACE BERP000B.TTTLD tttls:000:T:group:01:5: OPT_ROWS 5 T_SPACE BERP000B.TTTLS tttss:000:T:group:01:5: OPT_ROWS 5 T_SPACE BERP000B.TTTSS tttst:000:T:group:01:5: OPT_ROWS 5 T_SPACE BERP000B.TTTST ttttd:000:T:group:01:5: OPT_ROWS 5 T_SPACE BERP000B.TTTTD tttxt:000:T:group:01:5: OPT_ROWS 5 T_SPACE BERP000B.TTTXT ttuid:000:T:group:01:5: OPT_ROWS 5 T_SPACE BERP000B.TTUID *:*:I::01::STOGROUP BERPGRP PRIQTY 64 SECQTY 960 BUFFERPOOL BP3 *:*:T:group:01:5: ARR_SIZE 1 OPT_ROWS 5 T_SPACE BERP9999.TS999
Figure 58 (Part 2 of 2). Sample db2_storage File

BP3 BP3 BP3 BP3 BP3 BP3 BP3 BP3

Appendix H. Alternate DB2 Layout

159

160

Installing BaanERP Applications on OS/390

Appendix I. Set the Environment Variables for Baan


One of the most important parts of the installation process is to have all the necessary environment variables set correctly for each step in the installation process. This appendix shows the environment variables we set at each point: Adding the Connection Manager and Process Manager paths Preparing for the running the installation script Setting up the profile for the user bsp Restarting the install6.2 script

I.1.1 Setting Environment Variables for OS/390 Connection Scaling Kit


Important Since this change to the variables will be seen system-wide you need to check with the OS/390 systems programmer to ensure you will not affect any other users.

During the installation of the OS/390 UNIX System Services Connection Scaling Kit, the following strings should have been added in /etc/profile.

Variable

String to be included

PATH PATH LIBPATH LIBPATH NLSPATH NLSPATH

/usr/lpp/bpa/bin /usr/lpp/cmx/bin /usr/lpp/bpa/lib /usr/lpp/cmx/lib - new for the April/99 porting set /usr/lpp/bpa/nls/msg/C/%N /usr/lpp/cmx/nls/msg/C/%N

Note: IN the NLSPATH entriese, C and N must be capitalized. To verify the setting, issue the following commands:

echo $PATH echo $LIBPATH echo $NLSPATH


If they are not set, you need to modify the profile in the /etc directory. If the following line is commented out in the /etc/profile, you need to uncomment the line.

export _C89_INCDIRS="/usr/include" Then add /usr/lpp/cmx/include to this line: export _C89_INCDIRS="/usr/include /usr/lpp/cmx/include"
Note: The separator between the include directories is a space character. If the following lines are commented out in the /etc/profile, you need to uncomment them.
eval "export $(typeset -x | grep "_C89_" | awk '{sub("_C89_","_CC_");printf "%s ",$0}')" eval "export $(typeset -x | grep "_C89_" | awk '{sub("_C89_","_CXX_");printf "%s ",$0}')"

Copyright IBM Corp. 1999

161

If the following lines are commented out in the /etc/profile, you need to uncomment them. Again, this change is seen system-wide so you need to check with the installation system programmer before modifying the profile.

export _C89_LIBDIRS="/lib /usr/lib"


Then add /usr/lpp/cmx/lib to this line:

export _C89_LIBDIRS="/lib /usr/lib /usr/lpp/cmx/lib"


Note: The separaters between the library directories (/lib, /usr/lib, and /usr/lpp/cmx/lib) are space characters.

I.1.2 Set Environment Variables-Installation of Baan Applications


To use the install6.2 script, the following variables must be set: 1. Add the HEAP parameter to _CEE_RUNOPTS. To set this up:

_CEE_RUNOPTS=$_CEE_RUNOPTS' HEAP(24M)',STACK(131072,131072,ANYWHERE,KEEP), ALL31(ON),TERMTHDACT(USDUMP)' export _CEE_RUNOPTS echo $_CEE_RUNOPTS


2. TERM=vt100 3. _BPX_SHAREAS=YES 4. _BPX_SPAWN_SCRIPT=YES 5. _DB2_MVS_SYNTAX=1 6. _CMX_THREASDS=0 (new for porting set)

7. LIBPATH=$LIBPATH:/baanerp/bse/bin:/baanerpinstall/install/bse/bin Then you must issue the following commands:

export export export export export

TERM _BPX_SHAREAS _BPX_SPAWN_SCRIPT _DB2_MVS_SYNTAX LIBPATH

Note: The HEAP value of 24M in the _CEE_RUNOPTS was used for our installation without any problems. If the HEAP value is not set correctly, the install6.2 script will abort the installation with shared memory problems. Various problems arose during our execution of the install6.2 script (it could not find modules) which were corrected by setting the values of $PATH and $LIBPATH with new directory paths. Review the bug notes in the installation manual and modify the install6.2 script as directed. Note: The DSNAME for STEPLIB is installation-dependent. In our case we had to export STEPLIB=DB2V510.SDSNLOAD. This was not the case in other installations. To verify all variables are set correctly, enter the following command:

env

162

Installing BaanERP Applications on OS/390

Following is our list of environment variables before running install6.2:

root @ SC55:/>env _CXX_LIBDIRS=/lib /usr/lib /usr/lpp/cmx/lib MAIL=/usr/mail/root HOSTNAME=SC55 PATH=/bin:/usr/lpp/tcpip/sbin:/usr/lpp/tcpip/bin:.:/usr/lpp/bpa/bin:/usr/lpp /cmx/bin:/baanerp/bse/bin _CXX_INCDIRS=/usr/include /usr/lpp/cmx/include /usr/lpp/bpa/include SHELL=/bin/sh _CC_LIBDIRS=/lib /usr/lib /usr/lpp/cmx/lib _CC_INCDIRS=/usr/include /usr/lpp/cmx/include /usr/lpp/bpa/include PS1=$LOGNAME @ $HOSTNAME:$PWD> _CEE_RUNOPTS=$_CEE_RUNOPTS' HEAP(24M)',STACK(131072,131072,ANYWHERE, KEEP),ALL31(ON),TERMTHDACT(USDUMP)' _=/bin/env _BPXK_SETIBMOPT_TRANSPORT=TCPIPOE LOGNAME=root STEPLIB=none LANG=C LIBPATH=/lib:/usr/lib:.:/usr/lpp/bpa/lib:/baanerpinstall/install/bse/bin :/baanerp/bse/bin _C89_LIBDIRS=/lib /usr/lib /usr/lpp/cmx/lib TERM=vt100 _BPX_SHAREAS=YES _BPX_SPAWN_SCRIPT=YES _DB2_MVS_SYNTAX=1 _C89_INCDIRS=/usr/include /usr/lpp/cmx/include /usr/lpp/bpa/include HOME=/ TZ=EST5EDT MANPATH=/usr/man/%L NLSPATH=/usr/lib/nls/msg/%L/%N:/usr/lpp/bpa/nls/msg/C/%N: /usr/lpp/cmx/nls/msg/C/%N

I.2 Setting Up the Profile for the bsp User ID


After Company 000 was loaded, we set up the profile for user bsp by adding to the install profile the following two variables: export BSE=/baanerp/bse export BSE_TMP=$BSE/tmp After this is done, you can proceed to use the Baan Windows client and then the demo companies. The environment variables we set for the bsp user are shown in Figure 59 on page 164.

Appendix I. Set the Environment Variables for Baan

163

_CXX_LIBDIRS=/lib /usr/lib /usr/lpp/cmx/lib MAIL=/usr/mail/bsp HOSTNAME=SC55 PATH=/bin:/usr/lpp/tcpip/sbin:/usr/lpp/tcpip/bin:.:/usr/lpp/bpa/bin :/usr/lpp/cmx /bin _CXX_INCDIRS=/usr/include /usr/lpp/cmx/include SHELL=/bin/sh _CC_LIBDIRS=/lib /usr/lib /usr/lpp/cmx/lib _CC_INCDIRS=/usr/include /usr/lpp/cmx/include PS1=$LOGNAME @ $HOSTNAME:$PWD> _=/bin/env _BPXK_SETIBMOPT_TRANSPORT=TCPIPOE LOGNAME=bsp STEPLIB=none LANG=C LIBPATH=/lib:/usr/lib:.:/usr/lpp/bpa/lib _C89_LIBDIRS=/lib /usr/lib /usr/lpp/cmx/lib _C89_INCDIRS=/usr/include /usr/lpp/cmx/include HOME=/baan/bse TZ=EST5EDT MANPATH=/usr/man/%L NLSPATH=/usr/lib/nls/msg/%L/%N:/usr/lpp/bpa/nls/msg/C/%N:/usr/lpp/cmx/nls/msg/C/%N export _CEE_RUNOPTS="HEAP(24M,1M,ANYWHERE,KEEP),STACK(131072,131072,ANYWHERE,KEEP), ALL31(ON),LIBSTACK(8),TERMTHDACT(UADUMP)" export TERM=vt100 export DB2_MVS_SYNTAX=1 export _BPX_SHAREAS=YES export _BPX_SPAWN_SCRIPT=YES export PATH=$PATH:/baanerp/bse/bin export LIBPATH=$LIBPATH:/baanerp/bse/bin export BSE=/baanerp/bse export BSE_TMP=$BSE/tmp
Figure 59. Environment Variables for bsp User

I.3 Restarting the install6.2 Script


If for some reason you must restart the install6.2 script after you have been logged off, you will have lost all the settings that the installation script had made. See G.2.2, Restarting install6.2 from the Beginning on page 144, for more information.

I.4 Default Profile Before Starting the install6.2 Script


Figure 60 on page 165 shows the complete default profile in /etc/profile.

164

Installing BaanERP Applications on OS/390

# This is a sample profile defining system wide parameters. The # variables set here may be overridden by a user's personal .profile in # their $HOME directory. # This may be tailored to your own enterprise, and should be copied into # /etc/profile. More information on this profile may be found in the # OS/390 OpenEdition Planning Guide and the OpenEdition User's Guide. # # To enable and disable lines in this profile you may remove or add '#' # to uncomment or comment the desired lines. # Improve the shell's performance for users from ISPF or with # STEPLIB data sets allocated. This performance improvement is not # applicable to non-interactive shells, for example those started with # the BPXBATCH and OSHELL utilities. if -z "$STEPLIB" && tty -s; then echo " - - - - - - - - - - - - - - - - - - - - - - - - - - - " echo " - Improve performance by preventing the propagation - " echo " - of TSO/E or ISPF STEPLIBs - " echo " - - - - - - - - - - - - - - - - - - - - - - - - - - - " export STEPLIB=none exec sh -L fi # Set the time zone as appropriate. TZ=EST5EDT # This sets a default command path, including your current working # directory (CWD).
PATH=/bin:/usr/lpp/tcpip/sbin:/usr/lpp/tcpip/bin:.:/usr/lpp/bpa/bin :/usr/lpp/cmx/bin

# Specifies the directory to search for a DLL (Dynamic Link Library) # filename. If not set, the working directory is searched. LIBPATH=/lib:/usr/lib:.:/usr/lpp/bpa/lib # Sets the path for NLS files (message catalogs).
NLSPATH=/usr/lib/nls/msg/%L/%N:/usr/lpp/bpa/nls/msg/C/%N :/usr/lpp/cmx/nls/msg/C/%N

#C/%Nts the path for man pages (help files). MANPATH=/usr/man/%L # Sets the language # For Japanese: LANG=Ja_JP LANG=C # Sets the name of the system mail file and enables mail notification. MAIL=/usr/mail/$LOGNAME # Export the values so the system will have access to them. export TZ PATH NLSPATH MAIL LANG LIBPATH MANPATH # Set the default file creation mask - reference umask in the OpenEdition # Commands Reference umask 022 # Set the LOGNAME variable readonly so it is not accidentally modified. readonly LOGNAME
Figure 60 (Part 1 of 3). Profile in /etc/profile

Appendix I. Set the Environment Variables for Baan

165

# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #

====================================== Start of c89/cc/c++ customization section ====================================== The following environment variables are used to provide information to the c89/cc/c++ utilities, such as (parts of) dataset names which are dynamically allocated. If installation of the compiler and/or runtime library products use different values, then the appropriate "export" lines should be set to the correct value (and uncommented). Note that since a VOL=SER= paramater is not supported by c89/cc/c++, all named data sets used by c89/cc/c++ must be cataloged. It may be necessary to override the default esoteric unit for (unnamed) work data sets, if the c89/cc/c++ default (SYSDA) is not defined for the installed system. A NULL ("") value may be specified in order to allow c89/cc/c++ to use an installation defined default. Only the c89 command variables are explicitly shown. The cc and c++ variables are set by the command line beginning with "eval" at the end of this c89/cc/c++ section. Note that this is not an exhaustive list of the environment variables that affect the behavior of c89/cc/c++. It is however all those that will normally might require customization by the system programmer. For ease of migration, it is recommended that of these only the variables necessary for correct operation of cc/c89/c++ be set. Consult the "Environment Variables" section of the c89/cc/c++ command in the OS/390 OpenEdition Command Reference for complete information about these environment variables. High-Level Qualifier "prefixes" for data sets used by c89/cc/c++: ====================================== C/C++ Compiler: ---------------------------------------export _C89_CLIB_PREFIX="CBC" Prelinker and runtime library: ---------------------------------------export _C89_PLIB_PREFIX="CEE" OS/390 system data sets: ---------------------------------------export _C89_SLIB_PREFIX="SYS1"

Figure 60 (Part 2 of 3). Profile in /etc/profile

166

Installing BaanERP Applications on OS/390

# # Compile and link-edit search paths: # =================================== # # Compiler include file directories: # ---------------------------------export _C89_INCDIRS="/usr/include /usr/lpp/cmx/include /usr/lpp/bpa/include" # # Link-edit archive library directories: # -------------------------------------export _C89_LIBDIRS="/lib /usr/lib /usr/lpp/cmx/lib" # # Esoteric unit for data sets: # ============================ # # Unit for (unnamed) work data sets: # ---------------------------------------# export _C89_WORK_UNIT="SYSDA" # # Commands to propogate c89 environment variables for cc and c++: # ====================================== #
eval "export $(typeset -x | grep "_C89_" | awk '{sub("_C89_","_CC_");printf "%s ",$0}')" eval "export $(typeset -x | grep "_C89_" | awk '{sub("_C89_","_CXX_");printf "%s ",$0}')"

# # ====================================== # End of c89/cc/c++ customization section # ====================================== # added PS1 to know where you are, who you are, and what your # current directory is export PS1='$LOGNAME @ $HOSTNAME:$PWD>'
Figure 60 (Part 3 of 3). Profile in /etc/profile

Appendix I. Set the Environment Variables for Baan

167

168

Installing BaanERP Applications on OS/390

Appendix J. Using UNIX System Services for UNIX-Trained Baan Specialist


This appendix describes the TSO and USS interfaces into a OS/390 system, from a UNIX specialist's point of view.

J.1 Overview
OS/390 is the descendant of the MVS operating system. In addition to being MVS, it is a UNIX-branded system. That is to say, the XOPEN organization, which holds UNIX branding authority, has certified that OS/390 has implemented the APIs and functions that define a UNIX system. That being said, many UNIX-literate people, when they first encounter OS/390 UNIX Systems Services, do not feel OS/390 is truly a UNIX system, and the users that do acknowledge it is a UNIX operating system often refer to themselves as being on the MVS side or on the UNIX side. Both situations have a lot to do with which interfaces the user uses to work with the system, and what commands and functions are available to them at a particular interface.

J.2 Interface Options


There are two fundamental ways a user accesses the system, via logging onto TSO or the UNIX shell (an implementation of the Korn shell). Both provide the key function of allowing/implementing communication between the user and the system. However, the implementation and presentation of this communication is done in different manners. For example, to view the contents of a disk, TSO (using ISPF/PDF) uses a menu system, whereas under USS, command line commands are used. Since the look and feel of the TSO menu system is traditional for MVS, one often states they are on the MVS side of OS/390. This is compounded by the fact that, to interface with the HFS (the OS/390 implementation of a UNIX journal file system) under TSO, a particular command is entered to get to the set of menus to display HFS-related information. Again, some folks say they have just jumped to the OE (the archaic term for USS) or UNIX side. However, in reality, they have just simply triggered another set of menus. Of course, if a user did an rlogin to the UNIX shell, he thinks of himself as being on the UNIX side.

Copyright IBM Corp. 1999

169

Figure 61. Accessing S/390

Figure 61 portrays the entry into OS/390 by either TSO (the MVS side), or RLOGIN, (the UNIX side). What really happens is that a program is invoked (after all, TSO is just a program) which accesses system functions on behalf of the user. From an operating system point of view, all functions (MVS and USS) are available to all programs. As shown in Figure 61, if a person is logged onto TSO, access to function 1 and 3 are available, (that is to say, one has the key to that function (API)). Similarly, if one has RLOGINed into the UNIX shell, functions 1 and 2 are available. Using a very simple scenario, if function 1 is printing, function 2 is the VI editor and function 3 is the ISPF editor, both sides can print, but TSO has not enabled the VI editor and the UNIX shell has not enabled ISPF. You use the vi editor while logged into the UNIX shell, and you use ISPF when logged into TSO. Of course, if you were logged onto TSO and wanted to use the vi editor, you would have to RLOGIN to the UNIX shell, which to most people is going to the other side. The point is that one could write a terminal monitor program that would have all 3 keys and thus print, VI edit or ISPF under one login. You would never need to change logins, and your sense of the system is that of a single entity. Thus the inability to access both sides us not a result of the limitations of OS/390 (including UNIX System Services) but of the constructs of the program, perhaps limitations of the complier used and of course, the level of security allowed. For example, one may not be able to access MVS data sets (files) from the UNIX side because of a lack of authorization, not because it is

170

Installing BaanERP Applications on OS/390

technically impossible. Some compliers may not provide verbs for all functions, hence they may be a cause of this either/or view. Presuming a complier that has all the appropriate verbs is chosen then, whether a program uses a particular function, is up to the designer of that program. This is the case for both TSO and the UNIX shell; not all functions are accessible by either program, hence the need to bounce between these two terminal monitors. While this explanation will not eliminate your need to do multiple logins, it is hoped that understanding why this is necessary, will eliminate the misconception that there are sides to OS/390 One last point: OS/390 is often dismissed as not being a true UNIX system because it is missing a favorite shell script or command. In reality, not everyone's favorite command or shell script is necessarily there, but it could be, it just was not ported.

Appendix J. Using UNIX System Services for UNIX-Trained Baan Specialist

171

172

Installing BaanERP Applications on OS/390

Appendix K. DDF Customization


After establishing connectivity using TCP/IP, you can install and customize DDF on OS/390.

K.1 Installing and Customizing DRDA


The following four steps customize DDF: 1. BSDS changes. Most DDF parameters are stored in the DSNZPARM module. We used the DSNTIJUZ member in DSN510.NEW.SDSNSAMP to update the DSNZPARM module. One of the steps in the DSNTIJUZ JCL is to update the BSDS information, using the change log inventory utility. To execute the change log inventory, you must stop the DB2 subsystem. Figure 62 shows the DSNTIJUZ job step to update the BSDS.

//DSNTLOG EXEC PGM=DSNJU003,COND=(4,LT) //STEPLIB DD DISP=SHR,DSN=DSN510.SDSNLOAD //SYSUT1 DD DISP=OLD,DSN=DSN510.BSDS01 //SYSUT2 DD DISP=OLD,DSN=DSN510.BSDS02 //SYSPRINT DD SYSOUT=* //SYSUDUMP DD SYSOUT=* //SYSIN DD * DDF LOCATION=DB2D,LUNAME=SCPDBA1, NOPASSWD,RESPORT=33000,PORT=446 //*
Figure 62. DDF Parameters

2. Define DB2 DDF to VTAM in SYS1.LOCAL.VTAMLST. To enable TCP/IP support, you must also define an APPL in VTAM. The place to do this is in SYS1.LOCAL.VTAMLST. The LUNAME keyword must be defined in BSDS and the LU must be active, prior to starting DDF communications. Figure 63 on page 174 shows the APPL definitions in SYS1.LOCAL.VTAMLST.

Copyright IBM Corp. 1999

173

** ** ** * SCPDBA1

DB2 V5 LU DEFINITION FOR DRDA VBUILD TYPE=APPL APPL ACBNAME=SCPDBA1, APPC=YES, ATNLOSS=ALL, AUTH=(ACQ), AUTOSES=10, DMINWNL=25, DMINWNR=25, DSESLIM=50, EAS=509, ENCR=NONE, MODETAB=ISTINCLM, PARSESS=YES, SECACPT=ALREADYV, SONSCIP=NO, SYNCLVL=SYNCPT, VERIFY=NONE, VPACING=2, VTAMFRR=NO

** ** ** X X X X X X X X X X X X X X X X X

Figure 63. APPL Entries in SYS1.LOCAL.VTAMLST

3. Define DB2 DDF to RACF. DDF uses UNIX System Services to perform TCP/IP services. Some of the UNIX System Services functions that DDF executes require an authorized user with certain privileges. To execute the authorized functions, the user ID associated with the DDF started task must be defined for UNIX System Services as a superuser. To define a user ID as a superuser, you must set the User Identifier (UID) parameter of the RACF user profile to zero. To set the UID parameter for your DDF user, you can issue one of the following RACF commands:

ADDUSER userid OMVS(UID(0))..... ALTUSER userid OMVS(UID(0)).....


The ADDUSER RACF command adds a new user profile and should be used when creating a new user for DDF. The ALTUSER RACF command changes the RACF profile for the existing DDF user. To check whether your DDF user ID is already correctly defined to RACF, issue the following RACF command:

LISTUSER userid OMVS


If you specify both a user ID and a group in the RACF Started Procedure Table (ICHRIN03) for the DDF address space, the group must also have a valid UNIX System Services group ID (GID) setting. To define RACF groups to be UNIX System Services groups, use the RACF panels or the following command:

ADDGROUP groupid OMVS(GID(n)).....


where groupid is the name of the RACF group associated with the DDF address space, and can be any valid unique identifier. 4. Define DB2 DDF to TCP/IP.

174

Installing BaanERP Applications on OS/390

Part of the DDF customization process is to select port numbers when updating the BSDS. The DDF statement of the change log inventory has been enhanced with PORT and RESPORT values. If PORT and RESPORT are defined, DDF accepts TCP/IP connections from any client that provides valid security information. DB2 also allows outbound connections to other DRDA servers using TCP/IP. To define the port numbers in TCP/IP, you must update the TCP/IP PROFILE data set. In our case, we used SYS1.TCPPARMS member PROFILE. You must register the TCP/IP port numbers you have specified during DB2 installation or when using the change log inventory utility. We defined two port numbers required by our DB2 subsystem, DB2D. In the PORT statement you must use TCP as the protocol, and the name of the UNIX System Services started procedure (in our case, OMVS). Because DB2 uses UNIX System Services to connect to TCP/IP, the DB2 ports are reserved for the UNIX System Services address space, and not for the DDF address space, xxxxDIST. The PORT definitions are shown in Figure 64.

SYS1.TCPPARMS(PROFILE) PORT 23 TCP INTCLIEN 446 TCP OMVS 33000 TCP OMVS 33001 TCP OMVS

; ; DRDA SQL PORT for DB2D ; DRDA SQKL resync port for DB2D ; DRDA SQKL resync port for DB2D

Figure 64. PORT Definitions for DRDA

For more detailed information on customizing DDF, refer to WOW! DRDA Supports TCP/IP: DB2 Server for OS/390 and DB2, SG24-2212. Note: For the latest information on DRDA, refer to DB2 for OS/390 V5 Installation Guide , GC26-8970.

Appendix K. DDF Customization

175

176

Installing BaanERP Applications on OS/390

Appendix L. Special Notices


This publication is intended to help those who will be installing BaanERP Applications on OS/390 with DB2. The information in this publication is not intended as the specification of any programming interfaces that are provided by BaanERP, or DB2. See the PUBLICATIONS section of the IBM Programming Announcement for DB2 V5.1 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, North Castle Drive, Armonk, NY 10504-1785. Licensees of this program who wish to have information about it for the purpose of enabling: (i) the exchange of information between independently created programs and other programs (including this one) and (ii) the mutual use of the information which has been exchanged, should contact IBM Corporation, Dept. 600A, Mail Drop 1329, Somers, NY 10589 USA. 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. This 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

Copyright IBM Corp. 1999

177

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:
DataJoiner DFSMS IBM OS/390 S/390 System/390 DB2 DFSMSdss OpenEdition RAMAC SNAP/SHOT S/390 Parallel Enterprise Server

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 trademarks or registered trademarks of Microsoft Corporation. PC Direct is a trademark of Ziff Communications Company and is used by IBM Corporation under license. Pentium, MMX, ProShare, LANDesk, and ActionMedia are trademarks or registered trademarks of Intel Corporation in the U.S. and other countries. UNIX is a registered trademark in the United States and other countries licensed exclusively through X/Open Company Limited. SET and the SET logo are trademarks owned by SET Secure Electronic Transaction LLC. Other company, product, and service names may be trademarks or service marks of others.

178

Installing BaanERP Applications on OS/390

Appendix M. Related Publications


The publications listed in this section are considered particularly suitable for a more detailed discussion of the topics covered in this redbook.

M.1 International Technical Support Organization Publications


For information on ordering these ITSO publications see How to Get ITSO Redbooks on page 181.

Installing Baan IV Applications on OS/390, SG24-5334 Implementing DFSMSdss SnapShot and Virtual Concurrent Copy , SG24-5268 Implementing SnapShot, SG24-2241 IBM RAMAC Virtual Array , SG24-4951 DB2 for OS/390 and Data Compression , SG24-5261 WOW! DRDA Supports TCP/IP: DB2 Server for OS/390 and DB2, SG24-2212 Enterprise Web Serving with the Lotus Domino Go Webserver for OS/390, SG24-2074

M.2 Redbooks on CD-ROMs


Redbooks are also available on the following CD-ROMs. Click the CD-ROMs button at http://www.redbooks.ibm.com/ for information about all the CD-ROMs offered, updates and formats.
CD-ROM Title System/390 Redbooks Collection Networking and Systems Management Redbooks Collection Transaction Processing and Data Management Redbooks Collection Lotus Redbooks Collection Tivoli Redbooks Collection AS/400 Redbooks Collection Netfinity Hardware and Software Redbooks Collection RS/6000 Redbooks Collection (BkMgr Format) RS/6000 Redbooks Collection (PDF Format) Application Development Redbooks Collection Collection Kit Number SK2T-2177 SK2T-6022 SK2T-8038 SK2T-8039 SK2T-8044 SK2T-2849 SK2T-8046 SK2T-8040 SK2T-8043 SK2T-8037

M.3 Other IBM Publications


These publications are also relevant as further information sources:

UNIX System Services Connection Scaling Reference, SA22-7305 SnapShot for MVS/ESA Using SnapShot Version 1 Release 2, SC26-7173 SnapShot for MVS/ESA Installating and Using Version 1 Release 2, SC26-7174 SnapShot Installation Notes for MVS Version 1 Release 2, SC26-7175 UNIX System Services Planning , SC28-1890 IBM HTTP Server for OS/390: Planning, Install and Use, SC31-8690 SnapShot for MVS/ESA Implementing SnapShot for Version 1 Release 2, SC26-7176
Copyright IBM Corp. 1999

179

DB2 for OS/390 V5 Administration Guide, Volumes I and II, SC26-8957 DB2 for OS/390 V5 Application Programming and SQL Guide , SC26-8958 DB2 for OS/390 V5 Call Level Interface Guide and Reference, SC26-8959 DB2 for OS/390 V5 Command Reference, SC26-8960 DB2 for OS/390 V5 Data Sharing: Planning and Administration , SC26-8961 DB2 for OS/390 V5 Installation Guide , GC26-8970 DB2 for OS/390 V5 SQL Reference, SC26-8966 DB2 for OS/390 V5 Utility Guide and Reference, SC26-8967 OS/390 eNetwork Communications Server: IP Configuration , SC31-8513

M.4 Baan Publications


These publications, available from Baan, are also relevant as further information sources. For information on how to contact Baan go to: http://www.baan.com

BaanERP - Installation Guide for BaanERP on OS/390 UNIX System Services BaanERP - DB2 Installation Guide for BaanERP BaanERP Internet Server Installation and Configuration Guide

M.5 Other Publications


There are several reference books on UNIX commands, available in bookstores:

Learning the vi Editor , Linda Lamb, O'Reilly & Associates, February 1986. UNIX for Dummies , John R. Levine and Margaret Levine Young, IDG Books Worldwide, 1997.

180

Installing BaanERP Applications on OS/390

How to Get ITSO Redbooks


This section explains how both customers and IBM employees can find out about ITSO redbooks, redpieces, and CD-ROMs. A form for ordering books and CD-ROMs by fax or e-mail is also provided. Redbooks Web Site http://www.redbooks.ibm.com/ Search for, view, download, or order hardcopy/CD-ROMs redbooks from the redbooks Web site. Also read redpieces and download additional materials (code samples or diskette/CD-ROM images) from this redbooks site. 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. E-mail Orders Send orders by e-mail including information from the redbook fax order form to:
In United States: Outside North America: e-mail address: [email protected] Contact information is in the "How to Order" section at this site: http://www.elink.ibmlink.ibm.com/pbl/pbl/

Telephone Orders
United States (toll free) Canada (toll free) Outside North America 1-800-879-2755 1-800-IBM-4YOU Country coordinator phone number is in the "How to Order" section at this site: http://www.elink.ibmlink.ibm.com/pbl/pbl/

Fax Orders
United States (toll free) Canada Outside North America 1-800-445-9269 1-403-267-4455 Fax phone number is in the "How to Order" section at this site: http://www.elink.ibmlink.ibm.com/pbl/pbl/

This information was current at the time of publication, but is continually subject to change. The latest information may be found at the redbooks Web site. IBM Intranet for Employees IBM employees may register for information on workshops, residencies, and redbooks by accessing the IBM Intranet Web site at http://w3.itso.ibm.com/ and clicking the ITSO Mailing List button. Look in the Materials repository for workshops, presentations, papers, and Web pages developed and written by the ITSO technical professionals; click the Additional Materials button. Employees may access MyNews at http://w3.ibm.com/ for redbook, residency, and workshop announcements.

Copyright IBM Corp. 1999

181

IBM Redbook Fax Order Form


Please send me the following:
Title Order Number Quantity

First name Company Address City Telephone number Invoice to customer number Credit card number

Last name

Postal code Telefax number

Country VAT number

Credit card expiration date

Card issued to

Signature

We accept American Express, Diners, Eurocard, Master Card, and Visa. Payment by credit card not available in all countries. Signature mandatory for credit card payment.

182

Installing BaanERP Applications on OS/390

List of Abbreviations
4GL AFP API ASCII
fourth generation language advanced function printing application program interface American National Standard Code for Information Interchange asynchronous transfer mode Baan ASCII Client Conversion Baan Internet Client Baan Windows Client Baan Xwindows Client buffer prefix Baan Software Environment call attach facility Configuration Central Invoicing call level interface (X-Open, SQL interface) Connection Manager Constraint Planning (Baan Application Package) database DATABASE 2 (an IBM relational database management system) Dynamic Enterprise Modeling Development Control Electronic Commerce Enterprise Model Data extended binary coded decimal interchange code enterprise resource planning enterprise systems connection (architecture, IBM System/390) fiber distributed data interface (100 Mbit/s fiber optic LAN) File Transfer Program hierarchical file system International Business Machines Corporation Interactive System Productivity Facility

ITSO LPA OS/390 PC PCL PM ps qm RAMAC RDBMS RRS RS/6000 RVA S/390 SNA SQL tc td tf tg ti tp tr ts tt tu TCP/IP USS

International Technical Support Organization link pack area Operating System (for the) IBM System/390 personal computer printer control language Process Manager Process (Baan Application) Quality Management Raid Architecture with Multi-Level Adaptive Cache relational database management system resource recovery services IBM RISC System 6000 RAMAC Virtual Array IBM System/390 Systems Network Architecture Structured Query Language Common (Baan Application Common Package) Distribution (Baan Application Package) Finance (Baan Application Package) Orgware (Baan Application Package) Manufacturing (Baan Application Package) Project (Baan Application Package) Transportation (Baan Application Package) Services (Baan Application Package) Tools (Baan Application Tools Utilities (Baan Application Utilities) Transmission Control Protocol/Internet Protocol UNIX System Services (of OS/390)

ATM BA bc BI BW BX BPX BSE CAF cf ci CLI CM cp DB DB2

DEM dc ec ed EBCDIC ERP ESCON

FDDI

FTP HFS IBM ISPF

Copyright IBM Corp. 1999

183

UNIX

An operating system developed at Bell Laboratories (trademark of UNIX System Laboratories, licensed exclusively by X/Open Company, Ltd.)

vrc wh WINNT

Version Release customer extension Warehousing Microsoft Windows NT

184

Installing BaanERP Applications on OS/390

Index Special Characters


/etc/alias 17

D
data compression 132 database drivers 3 database layer 3 database server 3, 11 db2_groups 54, 128 db2_storage 54, 128, 157 db2_users 54, 128 DDF 173 DDF and RACF 174 DFSMSdss SnapShot 136 directives See configuration directives Dynamic Enterprise Modeling (DEM)

A
abbreviations 183 acronyms 183 alias 17 application layer 4 application server 4 architecture 1 ASCII 3

B
Baan applications that run on S/390 6 Baan HTTP server 71 Baan internet client 71 Baan Software Alliances 8 Baan Software Environment (BSE) 5 BaanERP installation steps 15 BAANERP.APPL.BSE 38 BI Client 3, 65 bibliography 179 BSDS changes 173 BShell 4 buffer pool recommendations 102 BW Client 3, 65

E
EBCDIC 3 env variables 43, 143 ERP 1 Exec 86, 89 executing DB2 script 49, 120 expert mode 3

F
functional device table 131 functional track directory 132 functional track table 132

C
Call Attach Facility (CAF) 10 common vi commands 115 configuration directives Exec 86, 89 keyfile 85 normalmode 85 Pass 86, 89 Protect 85 Protection IMW_Admin 85 SSLClientAuth 85 sslmode 85 sslport 85 User ID 85 Configuration files httpd.conf 84, 85 setting up 83 Single server 84 configure client connection 67 connection manager 9, 33 Content placement 86 content setup recommendations

H
HFS 37 HFS file systems 3 HTTP server 71

I
index usage 105 install6.2 script 43, 44, 163 internet client 3, 71 ipcs 142

L
load the BaanERP software from CD-ROM log files 146 log to track progress 147 18

M
87 management disciplines multibshell 48 multibyte 48 106

Copyright IBM Corp. 1999

185

O
OS/390 11

vrc

46

W
Web client 3 Windows client 3

P
Pass 86, 89 porting set 4 presentation client 2 presentation layer 2 problems ASCII mode 140 globlvar not found 140 logging on as bsp 141 problems encountered 139 setting permissions 140 short on storage 139 STEPLIB not found 141 VSAM extents 139 VTOC space 139 Process Manager (PM) 10, 93 Protect 85 PUBLIC 85, 88

Y
Year 2000 1

R
RDBMS 3 reference manuals 15 reorganization and runstats recommendations Resource Recovery Services (RRS) 9 restarting scripts 141 restarting the install6.2 script 144, 164 RVA 131 104

S
scripts db2_install6.2 49, 120 install6.2 43 restarting 141 semaphores 143 shared memory problem 42, 142, 162 shared memory problems 141 Single server httpd.conf 84 setting up 84 SnapShot 135 starting the Baan application 62 SYS1.LOCAL.VTAMLST 173

U
unload the Baan software from CD-ROM User ID 85 using Baan log files 146 40

V
virtual concurrent copy 136

186

Installing BaanERP Applications on OS/390

ITSO Redbook Evaluation


Installing BaanERP Applications on OS/390 SG24-5440-00 Your feedback is very important to help us maintain the quality of ITSO redbooks. Please complete this questionnaire and return it using one of the following methods: Use the online evaluation form found at http://www.redbooks.ibm.com/ Fax this form to: USA International Access Code + 1 914 432 8264 Send your comments in an Internet note to [email protected] Which of the following best describes you? __Customer __Business Partner __Solution Developer __None of the above

__IBM employee

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!) _____________________________________________________________________________________________________ _____________________________________________________________________________________________________ _____________________________________________________________________________________________________ _____________________________________________________________________________________________________ _____________________________________________________________________________________________________

Copyright IBM Corp. 1999

187

Installing BaanERP Applications on OS/390

SG24-5440-00

SG24-5440-00 Printed in the U.S.A.

You might also like