Implementing SAP On OS400
Implementing SAP On OS400
Implementing SAP On OS400
R/3 on OS/400
Learn how to use SAP R/3 with the IBM
~ iSeries server
Aco Vidovic
Monti Abrahams
Ali Ayub
Lisa Gargulak
Michael Power
Marco Wermann
ibm.com/redbooks
SG24-4672-03
International Technical Support Organization
August 2001
Take Note!
Before using this information and the product it supports, be sure to read the general information in Appendix D,
“Special notices” on page 561.
This edition applies to Version 4.6C of SAP R/3 for use with OS/400 Version 4 Release 5.
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 1998, 2001. 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
Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiii
Part 2. Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
v
9.10.6 Using multiple overlays with CVTPRTDTA . . . . .. . . . . .. . . . . .. 191
9.10.7 Setup to support the new OTF user fonts . . . . . .. . . . . .. . . . . .. 199
9.10.8 Setup to support a new OTF user barcode . . . . .. . . . . .. . . . . .. 201
9.11 LAN-attached printers . . . . . . . . . . . . . . . . . . . . . . . .. . . . . .. . . . . .. 202
9.11.1 LAN-attached IPDS printers . . . . . . . . . . . . . . . .. . . . . .. . . . . .. 203
9.11.2 LAN-attached ASCII printers . . . . . . . . . . . . . . .. . . . . .. . . . . .. 207
9.11.3 Creating a remote output queue. . . . . . . . . . . . .. . . . . .. . . . . .. 210
9.12 Resolution tips for printing problems . . . . . . . . . . . . .. . . . . .. . . . . .. 212
9.12.1 General tips . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . .. . . . . .. 212
9.12.2 Access methods using CVTPRTDTA . . . . . . . . .. . . . . .. . . . . .. 212
vii
14.5 Preparation . . . . . . . . . . . . . . . .. . . . ......................... 345
14.6 System migration testing . . . . . .. . . . ......................... 345
14.7 Final system migration . . . . . . . .. . . . ......................... 346
14.8 SAP R/3 license. . . . . . . . . . . . .. . . . ......................... 347
ix
19.5.2 Scenario 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 493
19.6 Domino Access to SAP R/3 business workflow . . . . . . . . . . . . . . . . . . 495
19.7 Domino Mail Transfer Agent (MTA) for SAP R/3 R1.5 . . . . . . . . . . . . . 495
19.8 Further information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 496
Chapter 20. Using an IBM Network Station as an SAP front end . . . . . . 497
20.1 IBM Network Station: Basic description . . . . . . . . . . . . . . . . . . . . . . . . 497
20.1.1 Introducing various scenarios . . . . . . . . . . . . . . . . . . . . . . . . . . . 498
20.1.2 WTS with separate PC Server . . . . . . . . . . . . . . . . . . . . . . . . . . . 499
20.1.3 Windows-Based Terminal Server on the Integrated xSeries Server500
20.1.4 Java SAP GUI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 500
20.2 Further information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 501
xi
How to get IBM Redbooks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 571
Note
Throughout this redbook, the name “iSeries” refers to both the iSeries and
AS/400 servers.
Aco Vidovic is an SAP Certified Basis Consultant and Senior I/T Specialist in
IBM ITSO Rochester Center on assignment from IBM Slovenia. Before joining the
ITSO in 1999, he worked in the AS/400 area for 10 years in a variety of roles from
second-level technical support to marketing. In the ITSO, Aco teaches
extensively and writes Redbooks about ERP solution implementation on the
iSeries server.
Monti Abrahams is an iSeries IT Specialist and SAP R/3 Basis consultant at IBM
South Africa. He has 10 years of experience with AS/400 system development,
two years of experience with SAP R/3 production planning (PP)-module
configuration and implementation (on the AS/400), and three years of experience
with SAP R/3 Basis on the AS/400 server. Monti currently supports SAP R/3
iSeries installations in South Africa and Namibia.
Ali Ayub is the Mid-Range Solutions Manager with ea consulting, Inc., an IBM,
Lotus and SAP Business Partner based in Folsom, California. Prior to joining ea
consulting, Inc, Ali worked for IBM, where he was responsible for system and
product management for the IBM Mid-Range Market. He has more than 10 years
of IT experience with many IBM iSeries-based projects.
Jaejin Ahn
Frank Benson
Sally Broughton
Manfred Engelbart
Randy Grimm
Willy Guenther
Jacques Hofstetter
Yessong Johng
Walter Lang
Latief Mazema
Peter Mullner
Lloyd Perera
Ivo van Proosdij
Adhie Rachman
Gottfried Schimunek
Frank Zimmer
Thanks to the following people for their invaluable contributions to this project.
Christian Bartels
Lilo Bucknell
Dave Christenson
Brian Clark
Mark Diez
Mike Faunce
Dave Hubka
Dan Moravec
Osamu Nakayama
Ron Peterson
Chris Place
Tom Poturica
Nitin Raut
Dan Sanders
Ron Schmerbauch
Mike Snyder
Chang Wang
IBM Rochester
Frank Zimmer
IBM Germany
Comments welcome
Your comments are important to us!
xv
xvi Implementing SAP R/3 on OS/400
Part 1. Understanding the solution
This part contains concepts and other basic information about R/3 and the iSeries
server that are required during the pre-installation phase. You should be familiar
with the topics covered in this part before you start installing SAP R/3. This part
includes the following chapters:
• Chapter 1, “Introduction to the iSeries server” on page 3, provides an overview
of the iSeries and AS/400 platform. It includes key concepts, architecture,
technologies, and functions. Read this chapter if you are new to the iSeries
and AS/400 area.
• Chapter 2, “Introduction to SAP R/3” on page 25, presents an overview of
some basic SAP R/3 concepts that are necessary for you to understand the
iSeries implementation, as well as topics that are discussed in later chapters.
If you are new to the R/3 on iSeries arena, be sure to read this chapter.
• Chapter 3, “SAP R/3 system landscapes on iSeries” on page 43, discusses
R/3 landscapes in relation to the iSeries environment.
• Chapter 4, “Sizing and capacity planning” on page 55, offers tips, techniques,
and contacts that you can use for proper system sizing.
Note
Throughout this redbook, the name “iSeries” refers to both the iSeries and
AS/400 servers.
The IBM ~ iSeries server is a follow on system to the AS/400 server. While
there are differences in hardware features supported by these two systems, they
both run the same operating system, Operating System/400 (OS/400), which
distinguish them from other server platforms.
One of the key factors that differentiates the iSeries server from other systems is
the level of hardware and software integration. For example, in a UNIX
environment, the customer is required to select software components from
different vendors (operating system, relational database, security, system
management software, and so on) and integrate them in order to build a robust
working environment for their business applications.
The iSeries server, on the other hand, is an integrated system that offers an
out-of-the-box, ready-to-run approach. OS/400 includes a complete range of
“licensed programs” (middleware) that offer the highest level of integration. By
reducing the extent of integration required to be performed during
implementation, the iSeries server approach minimizes implementation costs and
increases reliability. The iSeries server also provides a customer the highest level
of “ease-of-use” in today's market. The initial ease of implementation and the
on-going ease of use, combined with its reliable integration, make the iSeries
server a high-performing, high availability, and low-cost business solution.
Note
You can't use IPX/SPX with SAP, even if the iSeries supports it. SAP R/3
must be connected through a TCP/IP protocol.
For the SAP R/3 environment, this means the iSeries server can support from
a few users to thousands of users. Many of these iSeries server models are
field-upgradable to more powerful models. This degree of customer
investment protection is exceptional. It is one of the contributing factors to the
iSeries server's low cost of operation in the long term.
• Price and performance: Many independent analysts have confirmed that the
iSeries server represents a cost-effective platform in the long run. The iSeries
server's extensive integration yields significant cost advantages, high
availability, easy system management, and significant investment protection.
This has been the basis for its ten-year success in the dynamic world of
information technology. The iSeries server delivers high computing
performance at a low cost of ownership and, therefore, scores high in
customer satisfaction.
pSeries
Most powerful, technologically advanced
UNIX servers
iSeries
High-performance integrated business
servers for mid-market companies
xSeries
Affordable, Linux-ready, Intel-based servers
with mainframe-inspired reliability technologies
The iSeries is the premier integrated business server that's ideal for
small-to-medium-size businesses that want to enter today’s sophisticated world
of changing information technology, without having to manage the complexity the
new world can bring.
With the iSeries, customers are never locked into only one operating system
environment. The iSeries advanced architecture can run any combination of
UNIX, Windows NT or 2000, Java, Lotus Domino, and OS/400 applications
concurrently, exploiting PowerPC and the onboard Intel chip or chips. This gives
iSeries customers the unique ability to choose from a large array of leading
industry applications, without having to purchase a separate server for each
application operating environment. No other server can give you this flexibility.
The high-end solution for large customers is clearly provided by the IBM ~
zSeries database server with a DB2 UDB database. The iSeries server, along
with the IBM ~ pSeries servers (AIX system), covers the medium-to-large
customer range. These products also play an important role in the small business
area. xSeries servers cover the low-end capacity range for small to medium size
customers.
OS/400
Communications
Database Application Dev. On-Line Help
Mgmt Security Performance Tuning
Spooling Multimedia
Systems Mgt. Graphics
OLTP Graphical Interface
Communications Server Support
Security DB2 UDB for iSeries Open Interfaces
Network
Management
Technology Independent Machine Interface
Non-iSeries iSeries
IBM engineers designed and built the iSeries PowerPC hardware to integrate with
OS/400. OS/400 includes a wide array of middleware components including a
relational database, system management facilities, built-in facilities for change
management, backup and recovery, and spool or print handling. It also includes a
a Web server, Web application server, POP3 mail server, support for UNIX
applications (PASE (Portable Application Solution Environment)), and client
support (Windows clients, MacIntosh, OS/2, and some UNIX clients such as IBM
AIX). As a part of OS/400, these middleware products share the same packaging,
competitive pricing, user interface, installation, maintenance, security, and
management facilities.
The integration of these components by one team (the IBM Rochester lab)
ensures that the iSeries server does not need a skilled systems integrator at the
customer site. The iSeries server arrives ready to start. This integration is the
reason why the iSeries server delivers a low cost of ownership. Studies by such
consulting groups as International Data Corporation (IDC) and Emerging
Technologies Group reveal that the more integrated a computer system is, the
lower the total cost of the solution is.
Hardware
All iSeries server applications exploit the new 64-bit architecture. Older iSeries
server applications are automatically migrated to run under 64-bit RISC
technology. They do not have to be recompiled or rewritten to support 64-bit
addressing, 64-bit data paths, or 64-bit registers.
Copper's better conductivity permits thinner wires to be used, which enables the
transistors to be packed closer together. This new denser technology allows for
additional micro architecture methods to improve performance. Denser processor
technology also permits more on-chip cache.
iStar processors used in iSeries Model 830s, 840s, and some Model 820s are the
first processors in the industry that use the Silicon on Insulator (SOI) processor
technology. The addition of SOI alone can increase performance up to 20 to 30
percent beyond the use of copper by protecting the millions of transistors on a
chip with a blanket of insulation. This reduces harmful electrical leakage that
wastes power.
The transistors are built within and on top of a thin layer of silicon that is on top of
an insulating layer. The insulating layer is fabricated by implanting a thin layer of
oxide beneath the primary silicon surface of the wafer. This allows the high-end
iSeries Model 840 to be 3.6 times faster than the previous high-end AS/400e
Model 740.
When the central system processor encounters a request for data to be read to or
written from any I/O device (an operation whose duration is measured in
milliseconds (10 -3 second), rather than nanoseconds (10 -9 second), which is the
unit of time used to measure main storage access times), that request for data is
delegated to the particular microprocessor dedicated to that I/O device.
Meanwhile, the CPU continues running another application program. The CPU
can actually comprise many separate PowerPC processors. At the time when this
redbook was written, the CPU in the high-end iSeries server could have up to 24
separate processors.
This design provides the iSeries server with its outstanding performance in the
commercial, transaction-based, environment. The iSeries server is designed for
business computing. One of the main characteristics of that environment is that it
is I/O-intensive, rather than compute-intensive.
Objects have operational characteristics and a defined set of operations that can
be performed on them. Objects are addressed through 16-byte pointers (eight
bytes are used for a machine address. The other eight bytes are used for
information about the object pointed to and for reserved space). In addition to
providing addressability to the object, pointers provide access to the associated
storage and are used to ensure data integrity and security.
Below the TIMI, LIC provides a tag bit for each quadword (16 bytes that must be
aligned on a 16-byte boundary) within main storage. This bit is not addressable
by the TIMI instructions used to address storage (that is, programs above the
TIMI have no direct access to the tag bit). The bit identifies quadwords in storage
containing TIMI pointers. The tag bit is turned on by LIC, when a pointer is set,
and turned off by the hardware anytime the quadword is modified. This procedure
allows the system to detect invalid pointers and prevent illegal use of a pointer.
An attempt to subsequently use this data as a pointer results in an exception, and
the instruction is not completed. It is not possible to counterfeit a pointer or to
modify a pointer in an invalid way. This provides for increased integrity of the
machine against intentional or unintentional software actions.
1.2.5 Storage
iSeries storage (memory) design and storage management is another iSeries
unique feature. While OS/400 application programs are unaware of underlying
hardware characteristics because of the TIMI, they are also unaware of any
storage devices characteristics, because of the single-level storage.
Single-level storage is a key reason why it is easy to develop applications for the
iSeries server. It is also why the iSeries can support multiple applications and is
scaled to support a large number of users. Single-level storage, combined with
the automated storage management capabilities, makes the iSeries server an
easier system to manage.
The iSeries customer manages the iSeries disk space as a single entity. The disk
space can be used by all of the applications. The system determines when and
where to extend individual files and spreads the data across the disk arms to
maximize performance. The system keeps track of disk usage and warns the
iSeries system administrator when the disk space in the system auxiliary storage
pool (ASP) reaches a specified threshold value. iSeries server installations can
deploy other disk management options to increase control of the space
management process.
OS/400 V4R4 and later provides enhanced C runtime routines for allocating
teraspace heap storage of up to 2 GB in a single allocation. The POSIX shared
memory manager is also enhanced to provide shared memory objects of up to
4 GB in size.
In SAP R/3 releases prior to 4.6A, memory type (ROLL memory, extended
memory, HEAP memory, paging memory) was based on SLS segments in
OS/400. Starting with release 4.6A, extended memory, HEAP memory, paging
memory, and the R/3 buffers are in the teraspace. Only the ROLL memory is
implemented directly with SLS.
DB2 UDB for iSeries provides stability and compatibility with previous releases of
the iSeries database. It also complies with standards coupled with advanced
functions, distributed capabilities, and performance. DB2 UDB for iSeries
provides the following features:
• Structured Query Language (SQL) standards conformance, which supplies
the industry standard database access language conforming to the IBM SQL
Version 1, ANSI X3.135.1992, ISO 9075-1992, and FIPS 127-2 standards.
Support is provided for embedded static, dynamic, and extended dynamic
SQL, IBM Distributed Relational Database Architecture (DRDA), Java
Database Connectivity (JDBC), Microsoft Open Database Connectivity
(ODBC), and Apple Data Access Language (DAL). A Call Level Interface (CLI)
server mode is also provided that allows developers to write applications that
do database serving for multiple users.
• Encoded Vector Indexes (EVI) can be created using SQL. EVIs can in many
cases improve query performance.
• Declarative referential integrity, which prevents from entering the conflicting
data in the database.
• Stored procedures that allow the distribution of application workloads between
a client and an application server.
• Triggers that cause automatic program execution before and after database
modifications.
• Two-phase commit transaction management to allow access to multiple
heterogeneous databases simultaneously.
• Automatic data replication in a distributed DB2 UDB family environment.
• System-wide database catalog allowing applications to query information
concerning all objects on a system using a single system catalog.
• Multiple-level concurrency control providing read stability, cursor stability,
uncommitted read, and no commit isolation levels.
OS/400 has a single directory, which is the system distribution directory. This
directory is used by OS/400 e-mail and Domino for iSeries.
The iSeries server has a C2 security certification from the U.S. Department of
Defense and is the only computing system to have received certification for both
a database and operating system as a unit. The iSeries server configuration that
was certified was a functional configuration that included non-programmable
terminals.
System authorization management is based on user profiles that are also objects.
All objects created on the system are owned by a specific user. Each operation or
access to an object must be verified by the system to ensure the user's authority.
The owner or appropriately authorized user profiles may delegate to other user
profiles various types of authorities to operate on an object. Authority checking is
provided uniformly to all types of objects within a file system.
The integrated file system (IFS) is part of the iSeries server that supports input,
output, and storage management similar to the PC and UNIX operating systems.
iSeries Users
Applications IFS
APIs Menus/Commands
OS/400
File NFS NetWare NT
Server Server Server Server
Integrated File System Interface
"Root" QNTC
QOpenSys UDFS QLANSrv
File FS
File System FS FS Integrated
System
xSeries
QSYS.LIB QOPT NFS QFileSvr.400 QNetWare Server
FS FS FS FS FS
The integrated file system on the OS/400 can be accessed via native OS/400
commands and also from the graphical user interface of Operations Navigator.
Figure 6 shows the Operations Navigator IFS access interface and functions.
For more information on IFS, refer to OS/400 Integrated File System Introduction
Guide, SC41-5711.
Refer to Chapter 10, “iSeries system administration using GUI” on page 215.
Primary partition
When a new system is installed, it is always configured with the Primary Partition
only. This partition owns all the resources available on the machine, such as
processors, main storage and system buses. It functions as one of the logical
systems and also provides management functions for the configuration of the
secondary partitions, such as:
• Power management (includes concurrent maintenance)
• Virtual Operations Panel (controls power up or power down, IPL, virtual key
lock)
• Logical partition definition (for configuring logical partitions)
The primary partition can also function as a hub for external communications or
Electronic Customer Support for the whole system.
Secondary partition
Secondary partitions are created and managed from the primary partition, but
function as independent systems within the same physical box. They have their
own resources such as processors, main storage, and system buses. And they
also have their own primary language, system values, time-of-day, user profiles,
OS/400 SLIC, IBM Licensed Programs (LPP), database files, and applications
such as SAP R/3. Furthermore, they can be independently powered down and up
without affecting the primary or other secondary partitions. However, they retain
some dependencies on the primary partition. For example, performing a system
restart or power down on the primary partition will power down all secondary
partitions. This means that, before these actions are undertaken, all secondary
partitions must be powered down to avoid possible abnormal secondary partitions
termination.
In OS/400 V4R5 and earlier, each partition has at least one CPU. It also has its
own bus infrastructure, memory, disk environment, load source unit, alternate IPL
units (either CD-ROM or tape), system console, and IOPs such as LAN,
communication, or tape adapters. Figure 7 shows an example of a 12-way iSeries
server partitioned into three LPARs: SYSTEMA, SYSTEMB, and SYSTEMC.
r
rviso
Hype
PLIC
Virtual OptiConnect
CD
Tape MFIOP x
IOP y IOP z
IBM
EN HANCE D CAPACITY
Load
C ARTRIDG ESY STEM TAPE
SWITCHABLE
Devices attached LAN IOP x IOP y LAN
to an IOP must
move together Tape IOP z LAN
CD
IOP xyz IOPs can be removed or added
IBM
SYSTEMA has three processors, owns bus 1 and also uses bus 2. SYSTEMB
has five processors and owns two buses, bus 2 and bus 3. The bus 2 is owned
and shared while the bus 3 is owned as dedicated. SYSTEMC has four
processors, owns bus 4, and also uses bus 2.
The CD-ROM and 3570 tape drive attached to I/O processor IOPxyz can be
switched between SYSTEMB and SYSTEMC.
Each logical partition runs its own OS/400, microcode (SLIC), license programs,
and applications independently of all other partitions. This can be done with
different releases, PTF levels, and system settings (for example, different time
zones, languages, and so on).
A system must have main memory. Otherwise, it cannot execute any programs.
Main memory is assigned to a partition in 1 MB increments. The minimum main
memory required is 256 MB for the primary partition and 64 MB for the secondary
partition. The memory assigned cannot be touched by other partition. It is where
you run your own SLIC, LPPs, and application programs.
The end objective of LPAR, released with OS/400 V4R4, is to provide users with
the ability to split a single iSeries server into several independent systems
capable of running applications in multiple, independent environments
simultaneously. For example, logical partitioning makes it possible to run an
application, such as SAP R/3, on a single system partitioned to provide a 3-tier
environment.
Subsystems are provided to permit job grouping for easier control of CPU and
main memory. The assignment of jobs to either a separate or a shared main
memory pools can be accomplished within a single subsystem or managed by
separate subsystems. User jobs may be assigned to IBM-supplied or
user-defined subsystems.
Note
This chapter gives an overview of some basics about SAP R/3 to help you
understand how to implement it on the iSeries. Some of this information will
also help you understand topics that are presented in later chapters. Be sure to
read this chapter if you are new to working with R/3 on the iSeries.
SAP is one of the world's largest software vendors. The SAP R/3 system is well
suited for companies of all sizes and industries. R/3 products offer a strong
combination of functionality, flexibility, and technology allowing companies to
respond quickly to change. SAP R/3 applications cover accounting and
controlling, production and materials management, quality management and
plant maintenance, sales and distribution, human resource management, and
project management. Although R/3 is designed as an integrated system, modules
can also be used individually.
R/3 was first made available on the AS/400 system in the summer of 1996. It runs
on all iSeries and AS/400 models, except for the 150 model. Today there are
more than 1,000 R/3 installations on the iSeries server.
2.1 Client/server
This section offers a simple overview of the SAP R/3 client/server architecture
and its client/server implementation on the iSeries server. Before we examine the
SAP R/3 client/server architecture, let’s briefly look at the client/server
architecture in general.
The logical extension of this is to have clients and servers running on the
appropriate hardware and software platforms for their functions. For example,
database management system servers running on platforms specially designed
and configured to perform queries or file servers running on platforms with
special elements for managing files.
From the hardware perspective, these three layers can run separately on different
computers or all together on the same computer. R/3 also allows the distribution
of the presentation and application layers over multiple computers.
Presentation layer
Usually SAP's graphical user interfaces (SAP GUIs) and other front-end
applications at the presentation level run on PCs, one per user. This guarantees
that resources on this level are at the disposal of each user, and no single user
can be affected by individual behavior of another. The SAP GUI accepts the user
input and passes it to the next layer, which is the application layer, for further
processing. The SAP GUI accepts data from the application layer and presents
this data to the user.
Application layer
User requests are passed from the presentation layer to the R/3 application layer.
This is where the actual calculations and evaluations are performed. Data
required to run these tasks is requested from the database layer. Incoming data
from the presentation layer is processed here and passed to the database layer.
Database layer
The most important part of the database layer is its relational database
management system (RDBMS). An SQL interface provides the data exchange
between the application processes and the RDBMS.
The hardware and system software platforms supported by SAP R/3 are shown in
Figure 9.
Hardware NT Servers
UNIX Systems
IBM BULL AT&T AST Bull Compaq IBM IBM
COMPAQ SIEMENS DG Dell HP IBM
HP SUN Sequent Siemens S/390 iSeries
Operating AIX SINIX OS/390
System DEC-Unix Solaris
Windows
AIX or NT IBM
NT
HP-UX
App. Serv. OS/400
Languages
ABAP, C, C++, JAVA, HTML
Note
This redbook covers topics related to SAP R/3 Basis and iSeries server
hardware and software.
Multiple SAP R/3 systems may be installed on a single iSeries server using a
unique three-character system identifier (<SID>), for example, T01, P01, and
D01. An SAP R/3 system has one and only one database, which is on the iSeries
system and referred to as SQL collection. The name of this SQL collection is
R3<SID>DATA, where <SID> refers to the system identifier.
A client is a way to organize and isolate data in an R/3 system. For example, you
may develop and customize your code in one client and have a different client for
productive use. SAP ships the database with client 000, 001, and 066.
In an SAP R/3 system that is just installed, customers normally copy client 001
and make changes in the copied client. Additional client copies may be made to
provide for refreshing a client in case of application errors or usage corrupts the
data in a client. This is recommended in develpoment and testing, rather than
production environment.
Each work process is assigned a primary role by the dispatcher. The dispatcher
is one of the jobs in the subsystem that controls the type of work that is performed
by that work process. End-user requests and units of work are assigned by the
dispatcher to the work processes of the instance for processing.
For example, a work process that is designated as a dialog process can handle
end-user requests from the presentation services. Each instance has a single
dispatcher that manages the workload of the instance. Presentation services
interact with the dispatcher. The number of work processes and the types that
exist for an instance are determined by the instance profile and can be controlled
from within the SAP R/3 system by Computing Center Management System
(CCMS).
The gateway job is responsible for communications between an instance and jobs
outside the instance. For example, the gateway is used to communicate between
a work process and a program that is running external to the SAP R/3
environment.
The enqueue work process is a special job that is responsible for handling the
special locking requirements of SAP R/3. The enqueue process handles logical
locks. There can be more than one enqueue work process if necessary (SAP
note 127773). All of them are in the central instance.
An SAP R/3 system has one database server and one or more application
servers.
Two-Tier Three-Tier
Database Server
Database Server
Application Server
Application Servers
Presentation Clients
SAP GUI
SAP GUI for Java WAN LAN
LAN
Web GUI
Presentation Clients
SAP GUI
SAP GUI for Java
Web GUI
Web Web
server server
Processing Internet
Internet Internet Internet Processing Internet
transactions
transactions
server server
Cust omer
Se rv ice
Rep
Crea te
Production
Orde rs
Produc tion
O rder
Plant
Personne l
Processing
Processingapplication
application
Acc ept
Cust omer
Orde r
Ex plode
Bill- of -
Ma terial
Re serve
Mat erial
Rele as e
Product ion
Orde rs
Build
Products
Application logic: System management
logic:
Customer
Order
Part
Confirm
Schedule
M ate ria l Production
De live ry
Tas k
Database Information
Informationstorage
storage
services Database services Database
Database backup
backup
Database
Less than 10% of the SAP R/3 code (the kernel) is written in C. The rest is written
in ABAP, a programming language developed by SAP. ABAP generates code that
runs in an interpretive mode on SAP R/3 application servers, regardless of the
underlying implementation platform, which makes the SAP R/3 application
functions platform independent.
A batch job (BCH), on the other hand, is submitted for execution by another job,
but runs as an independent job on the iSeries server.
A user request from a workstation is received by the dispatcher who assigns the
request to a work process. Work processes manage the request and run the
tasks. Depending on the activity of each workstation user, a single dialog process
may support multiple SAP R/3 users (Figure 12).
SAP R/3
System ID
D01 T01 P01
SAP User 1
Sessions 2
(6 per user)
6
SAP
Session/Modes 1 2 3 ......... 9
In this example, there are three SAP R/3 systems (D01, T01, and P01), each with
its own separate database. The database is referred to as an OS/400 SQL
collection and is held in an iSeries library. Each database has multiple SAP R/3
clients (000, 001, and so on). The application functions are available through four
SAP R/3 instances (00, 01, 03, and 05), which are represented with OS/400
subsystems. Each subsystem has the name R3_<nn>, where <nn> is the
instance number that must be unique within an iSeries server. The R/3 system
P01 has multiple instances (03 and 05).
When an instance is started, the initiating job is a batch job, running in the R3_nn
subsystem, while each SAP process is started as a batch immediate job. Each
instance has its own dispatcher process and several SAP R/3 work processes,
depending on the specifications made in the instance profile.
Each SAP logged on user can have up to six sessions. Within each session, a
user can have up to nine operation modes.
If you want to work with a non-Latin-1 code page, there are several items of which
you should be aware. For more information on national language support, refer to
Chapter 6, “National language support” on page 113, and SAP Notes 99792 and
69337.
At the other end of the spectrum, a customer may decide to solve their IT
requests with a single machine. They can take advantage of the facilities
available on the iSeries server to implement development, testing, and production
environments on a single machine, with a degree of isolation that meets their
requirements. They can do this at a cost they are comfortable with, while
accepting the risks associated with running the diverse environments on a single
iSeries machine.
With the introduction of logical partitions in OS/400 V4R4, a large iSeries server
can be partitioning appropriately for hosting multiple SAP R/3 environments in
independently defined system partitions. For examples, refer to Chapter 3, “SAP
R/3 system landscapes on iSeries” on page 43.
2.8.1 Memory
Through the use of iSeries subsystems and the allocation of memory pools, it is
possible to prevent memory contention between users of separate environments.
In an SAP R/3 implementation, each SAP R/3 system (development, test,
production), with its associated database, can have multiple instances defined.
Each instance runs in a separate iSeries subsystem.
An iSeries class object contains the run attributes that control the run-time
environment of a job. Within the class, it is possible to automatically manage
run-time priorities across different subsystems. In an SAP R/3 environment, this
means that R/3 work processes within an instance can have their execution
priority determined automatically by the class. For example, you can give to your
production instances higher priority than to test instances. This is in addition to
the capability to further modify the execution priorities of work processes within
an instance.
Information written to disk is spread over all of the available disk drives within
each ASP. This helps balance the workload of the disk arms within each ASP. By
defining separate user ASPs for each of the SAP R/3 systems installed, it is
possible to minimize the impact of disk activity from one SAP R/3 environment on
other environments.
The isolation of disk drives can be optionally extended to the disk IOPs and even
to the bus to which the disks are attached.
It is important to note that the unused disk space may vary greatly depending
when R/3 systems are started, stopped, or upgraded. Additional disk space must
be sized when customers run multiple systems for the additional database and
customer data of another R/3 system, and for the temporary disk space required
to start another R/3 system.
A new version and release of OS/400 can be expected to support SAP R/3
software that ran effectively on a previous version and release of OS/400.
However, it may be necessary to upgrade the SAP kernel to support the new
OS/400 release. If it is necessary to install a new version of SAP R/3 software
that requires functions included in a new version/release of OS/400, install the
new OS/400 first. This allows the old and new versions of SAP R/3 to coexist on
the same iSeries server but in separate libraries.
You can opt to install these SAP R/3 systems with shared or separate kernel
libraries. If you install a second production system, you may choose to share the
kernel libraries to save space. If you install multiple SAP R/3 systems, where you
may want different versions of SAP R/3, use separate SAP R/3 kernel libraries.
Multiple SAP R/3 systems running on a single iSeries server (in the same Logical
Partition) share two key resources: the central processor (CPU) and the operating
system. The result of this share are the three considerations that are discussed in
this section. These are key factors in deciding whether to run multiple R/3
systems on a single iSeries server or multiple iSeries servers.
By having SAP production, development, and testing all in the same copy of
OS/400, you cannot test a new PTF, cumulative package, or OS/400 upgrade
This is a risk that must be evaluated when determining the costs versus the
benefits of such an approach. For example, assume you want to run production in
the same copy of OS/400 as development and test. If you want to upgrade your
test system, you may first have to upgrade OS/400 and install a new R/3 kernel.
Consequently, your production system is also impacted since you upgraded
OS/400. SAP recommends that you upgrade R/3 first on an R/3 test system while
running an R/3 production system on another hardware system. Once an upgrade
is performed with sufficient time for quality assurance testing, the production
system is upgraded.
The following sections outline some of the differences between the iSeries server
and UNIX-based platforms.
The iSeries address space is unique across the machine. The same address
always points to the same space. Consequently, the way addresses are
OS/400 UNIX
Every effort has been made to make the implementation of SAP R/3 on the
iSeries server as simple as possible (this includes a factory preload option of the
SAP R/3 software).
2.9.2 Database
Some of the major iSeries database management specifics are:
• You do not have to be concerned about compatibility issues of different
release levels of the database and operating system. When there is a new
release or version of the iSeries server software, IBM tests the integration of
all components involved to ensure compatibility.
• The full integration of DB2 UDB for iSeries with the operating system
eliminates the need for a separate database software installation and
configuration procedure.
• The automatic load balancing of the disk drives by the iSeries server
eliminates the need for complex manual database requirements analysis and
installation. It also minimizes the need for on-going database management
activity.
If you already have an iSeries-based application, you can easily integrate or
exchange data with your existing applications because all iSeries applications
use the same database management system. Your developers do not have to
learn about a new database or operating system. You can also use your
existing backup facilities.
• There is no separate starting or stopping of the database. When the iSeries
server is running, the database is also active. There is no SAPDBA utility or
equivalent necessary. The SAPDBA tool provides the database administrator
functions in a UNIX-Oracle environment. On the iSeries, these functions are
integrated in the operating system.
Note
There is a STARTSAP *DB command that is needed for three-tier
implementation. The STOPSAP command only stops SAP on the machine
on which you issue the command. The collector (SAPOSCOL) continues to
run, but may be stopped either from the R3MAIN manu or by using the
CALL SAPOSCOL '-k' command.
2.9.4 Authority
Files stored in the QOpenSys and / (Root) directories are authorized in the same
manner as UNIX files. Figure 14 shows the relationship between UNIX
permissions and security used on the iSeries database files. This screen shows
the results of running the WRKAUT command.
Object. . . . . . . . . . . . : /sapmnt/R01/profile/DEFAULT.PFL
Owner . . . . . . . . . . . . : MONTI
Primary group . . . . . . . . : R01GROUP
Authorization list . . . . . . : *NONE
*PUBLIC *EXCLUDE
MONTI *RWX X X X X X X
R01GROUP *RWX X X X X X X
You can change these authorities on this screen or through the Operations
Navigator GUI as shown in Figure 15.
Database Server
Application Server
LAN
Presentation Clients
SAP GUI
SAP GUI for Java
Web GUI
Application Servers
Presentation Clients
SAP GUI
SAP GUI for Java
Web GUI
Browser
Browser
R/3 System
Browser
BAPI
PC
R/3 Data
PC
Browser GUI
Figure 18. SAP R/3 Internet and intranet solution using the ITS
R/3 Internet
Application Component
BAPI
Web Server
Browser
WGate AGate
R/3 Data
The A-gate process establishes the connection to an R/3 server. The W-gate
process establishes the connection to the Web server. The communication
between the two processes (A-gate and W-gate) is via TCP/IP. Each Internet
Transaction Server has exactly one A-gate. The W-gate passes the request to the
A-gate. The A-gate can be connected to several W-gates, which allows the
support for multiple Web servers for load balancing and other landscape
distribution purposes.
To manage the load at the ITS layer, several Internet Transactions Servers can be
connected to the same R/3 system. Similarly one ITS can cater to several
The ITS provides the SAP R/3 architecture with a Web-efficient, browser-based
interface that supports a large number of concurrent users. The multi-tier
architecture of SAP R/3 with ITS offers maximum flexibility in terms of scalability.
The SAP Internet Transaction Server runs on a Microsoft NT Server, which can
run either on a stand-alone PC Server or on the Integrated xSeries Server. Figure
20 and Figure 21 show mySAP.com landscapes for two- and three-tier iSeries
configurations. The ITS can be installed on a stand-alone Windows NT server or
it can also be installed on the Integrated xSeries Server.
Database Server
Database Server
Application Server
Application Server
Windows NT on
Integrated xSeries Server
Windows NT
ITS
ITS
LAN Web Server (WebSphere)
Web Server LAN
Presentation Clients
SAP GUI
Presentation Clients
SAP GUI
SAP GUI for Java
SAP GUI for Java
Web GUI
Web GUI
Figure 20. ITS implementation for SAP R/3 iSeries two-tier landscape
Database Server
Database Server
Application Server
Application Server
Windows NT
ITS
LAN
Web Server LAN
Presentation Clients
SAP GUI Presentation Clients
SAP GUI for Java SAP GUI
Web GUI SAP GUI for Java
Web GUI
Figure 21. ITS implementation for SAP R/3 iSeries three-tier landscape
Application Application
Server 1 Database Server 2
SYS A
SYS A SYS B SYS C
OS/400 OS/400 OS/400 OS/400
PPPP
MMMM Logical P PP P
MM
Partitioning
MM MMM M
A 4-way iSeries server in this example is partitioned into three logical partitions.
The communication between the partitions is provided by Virtual OptiConnect,
which is an iSeries feature that provides the high-performance link between
partitions that can be used by SAP R/3. Multiple application servers in different
partitions can access a single database server in the particular partition.
The primary partition controls all other partitions through a layer of kernel code
called the Hypervisor. When the primary partition (LPAR 0) is shut down, this
automatically shuts down all secondary partitions (LPAR 1, LPAR 2, and so on).
Recommendation
Always run the R/3 production system in LPAR 0. Running the production
system in any other LPAR will shut down your production system whenever
LPAR 0 is shut down. In case you run two production systems on a single
machine, consider using LPAR 0 only for the Hypervisor and running the
production systems in LPAR 1 and LPAR 2.
Virtual V irtual
O ptiCo nnect O ptiConn ect
LPAR 0 LP AR 1 LPAR 2
Virtual
OptiConnect
LPAR 0 LPAR 1 Virtual LPAR 2
Internet OptiConnect
e-business
firewall
SAP R/3 functions SAP R/3
Production Development
system system
Virtual Virtual
OptiConnect OptiConnect
LPAR 0 LPAR 1 LPAR 2
iSeries iSeries
Machine 1 Machine 2
OptiConnect Virtual
or 1GB Ether. OptiConnect
LPAR 0 LPAR 1
Figure 26. R/3 production system replicated to LPAR 0 on a different iSeries machine
Virtual Virtual
OptiConnect OptiConnect
LPAR 0 LPAR 1 LPAR 2
The drawback of this scenario is that the system resources are split across the
partitions and are not used efficiently. For this reason, such a scenario is
generally not recommended unless your installation requires multiple application
servers, each with different settings, such as multiple language support, different
time zones, system values, and so on.
Virtual Virtual
OptiConnect OptiConnect
LPAR 0 LPAR 1 LPAR 2
Virtual
OptiConnect
LPAR 0 LPAR 1
LPAR 2
Production Backup
IBM
Remote Journaling
In this scenario, the production server is running on partition 0, and all updates
are replicated on partition 1, using remote journaling. At preset intervals, the
partition 1 update is suspended, and the partition database is backed up. After
the backup, the partition 1 database is re-synchronized with partition 0, by
applying all accumulated journal entries from partition 0 to partition 1.
This scenario provides for recovery of the production database onto the same
partition or a different physical machine, with minimum inconvenience.
Figure 30. Backup solution using High Availability Business Partner Applications
The CPU required for this partition will have to be adequate so that data changes
from other partitions can be received and applied and, when required, the save
tasks can be run. A save task is typically I/O intensive so this in itself will require
very little CPU cycles.
Enough DASD needs to be installed in this partition to support the amount of data
it will be required to store. This is likely to be the largest partition on the system.
When a save is required, the apply process in the backup partition is stopped and
the save is taken from this copy of the data. Work continues to run in the original
partition and journal entries generated by changes to the data are still sent to the
backup partition but not applied.
Determining the correct size of a platform for an SAP R/3 installation in terms of
processor speed, memory, disk space, and configuration design is not a trivial
task. Every configuration has to be analyzed based on:
• Individual customer requirements
• Number of users
• Transactions per time period
• SAP R/3 modules that are being used
• Customer workloads
• Choice of hardware platform
SAP
SAP and
and Partner
Partner Customer
Customer
Custom izing
Throughput
Response times
Prior to ordering the final hardware configuration, all customers should consult
with a trained SAP Basis specialist to develop a detailed plan for the SAP R/3
implementation.
Named user
A named user is equivalent to a user master record in the SAP system (for
example, someone who has the right to log on to the system). This is a metric
used by SAP as a base for calculating the SAP R/3 license fee. The number of
named users is not relevant for bench-marking or sizing a platform.
Information user
An information user is a user that can only perform queries, but not updates, of
the system.
Logged-on user
A logged-on user is logged on to the SAP system but may or may not be actively
working. This is typically the kind of a user that customers refer to when being
asked for the number of users on their R/3 system.
Active user
Active users are logged on to the system and are actively working, which means
that they press the Enter key to initiate R/3 dialog steps (displays). Some
assumptions include:
• A user’s key think time is 25 seconds (which calculates to 2.4 dialog steps per
minute).
• The number of active users is 50% to 60% of the number of logged-on users.
Benchmark user
A benchmark user only has a think time of 10 seconds between dialog steps.
Therefore, one benchmark user is usually seen as being equivalent to three
active users.
Dialog step
This is an SAP term used to measure a unit of work. In an interactive
environment, a dialog step is equivalent to a screen change. SAP also uses
dialog steps as a measure of throughput in batch and update processing
workloads. As shown in Figure 32, one dialog step encompasses all of the
system activity that takes place as a user moves from one R/3 application screen
to the next. Each R/3 module (for example, FI for financial accounting, AA for
asset accounting, and PA for payroll accounting) is made up of several
transactions. Each transaction has multiple dialog steps.
Syste m Re sp on se
[D AT A ENT R Y SCR EEN ]
Transactions
SAP transactions (not to be confused with other types of transactions such as
IMS or CICS transactions) consist of one to 12 dialog steps depending on the
business transactions you look at. For example, posting a bill requires fewer
dialog steps than running an online MRP for material. A general assumption is
that one transaction equals four dialog steps.
SAPS
In discussions about performance, sometimes the term SAP Application
Benchmark Performance Standard (SAPS) is used. It was introduced by SAP as
a way to measure the maximum number of dialog steps on a processor. It is a
measurement of maximum throughput independent of response time. IBM does
not consider SAPS as a useful basis for performance evaluation. For more
information, refer to 4.4.5.2, “SAP Application Benchmark Performance Standard
(SAPS)” on page 62.
The size of the hardware and database is influenced by both business aspects
and technological aspects. This means that the number of users using the
various application components and the data load they put on the network must
be taken into account. Therefore, a system should also be configured in a
balanced way so that all relevant system components are sized in such a way
that they work with an adequate average utilization without creating a bottleneck.
Such a configuration ensures that the system can handle peak loads and has a
predictable behavior.
While benchmark results are only an important factor used to determine the
suitability of a hardware platform, for the following reasons, they shouldn’t be the
only factor:
• Important system characteristics such as availability, recovery backup, or
flexibility are not assessed by benchmarks.
• Standard benchmarks use only a small part of the possible SAP transactions
per application.
• The benchmark test environment is artificial.
• SAP standard benchmarks do not reflect the specific implementation (setting
of customization parameters) at an individual customer site.
• SAP standard benchmarks do not reflect the real application environment at
the individual customer site.
Which approach and when to use it depends on the phase of the implementation
project. There are three distinct phases in the SAP R/3 implementation project
(presented in order):
• Pre-sales phase: Preparation of initial sizing (or sizings) configurations for a
specific customer proposal. The recommended approach in this phase is
Questionnaire Based Input Analysis.
• Pre-production phase: Verification of planned capacity requirements is done
by running a pre-defined representative subset of users and modules with the
customer's own data and application customization. The recommended
approach in this phase is Pre-production Performance Evaluation.
• Post-production phase: Analysis of future capacity requirements is done
based on a collection of production performance statistics coupled with future
business planning information. The recommended approach in this phase is
Measured Customer Data Analysis.
Measured Customer Data Analysis is the best of all approaches. First of all, it
overcomes a psychological barrier for customers who do not believe in something
they do not see (someone is doing a calculation for their configuration
somewhere else with unknown rules and data). Measured data modeling is done
on an iSeries server that assures the customer even more that the modelling is
more trustful. The customers see what has been measured (they actually should
be involved in selecting the right transactions, the data fed into their system, and
even the execution of the transactions).
Modeling the measured data is a matter of running the resulting data through
various queuing calculations specific to the iSeries architecture and specific to a
selected hardware and software configuration. It also provides an easy
mechanism to combine SAP R/3 capacity planning data with other workloads the
customer might have today or expect to have in the future (for example, FAX
support, telephony integration, and so on). For additional information on capacity
planning with measured SAP data, please consult AS/400 Server Capacity
Planning, SG24-2159, which devotes an entire chapter to SAP R/3 on AS/400
capacity planning.
Look for the following key documents to assist you in understanding the sizing
and capacity planning approaches available today:
• IBM SAP R/3 Sizing and Planning Questionnaire
• IBM SAP R/3 Sizing Guidelines
• IBM SAP R/3 Comprehensive Testing Results
Insight analysis provides valuable planning information for customers who are
migrating from one release of R/3 to another and for customers who are planning
to add users to an existing R/3 system.
For more information about IBM Insight for SAP R/3, and to download the utility
program, go to: http://www.ibm.com/erp/sap/insight
For more information on this service offering, contact IBM Global Services at
1-919-301-4162.
The SAP Quick Sizer is an Internet application that guides the user through a
structured sizing questionnaire. The Quick Sizer gathers information about an
organization's business requirements and translates this data into generic system
requirements, that is platform independent specifications for processor, memory
and disk. The IBM Sizing Center uses the generic SAP results to develop the IBM
hardware recommendation. The Quick Sizer offers two different sizing models:
user-based sizings and quantity-structure-based sizings.
The Quick Sizer quantity-structure-based model, like the IBM sizing tool, uses a
target CPU utilization of 65% for most hardware platforms.
One hundred SAPSs are equal to 2,000 fully business-processed order line items
per hour in the standard SD application benchmark. “Fully business processed...
in the SD standard benchmark” refers to the entire business workflow of an order
line item, including creating the order and delivery note for the order, displaying
the order, changing the delivery, posting a goods issue, listing the orders, and
creating an invoice for the order. This throughput is achieved by processing 6,000
dialog steps and 2,000 postings per hour in the SD benchmark, or by processing
2,400 SAP transactions.
For sizing purposes, IBM rates the capacity of each IBM server in terms of SAPS.
For CPU sizing, each resource category represents a range of SAPS. Table 2
shows an example of the CPU resource categories and SAPS requirements.
Table 2. CPU resource categories
Category SAPS
1 Up to 125
2 Up to 250
3 Up to 500
1 16-25 GB
2 26-35 GB
3 36-50 GB
The critical factor for SAP R/3 is recognizing that for a central server load, the
disk I/O workload would be “light”, while the disk workload for just the database
server in a three-tier environment would be “heavy”. This is because on a central
server, most of the work is an SAP application server workload, which is CPU and
memory intensive, but requires very little disk I/O.
As higher capacity disk (DASD) devices (8 GB and 18 GB) for the iSeries become
available, fewer arms are needed to satisfy the capacity requirements. This can
lead to configuring too few disk arms (actuators) to meet the workload placed on
them. A lack of disk arms can bottleneck the processor's performance. To avoid
such a bottleneck, a minimum number of disk devices is needed for optimum
performance on each iSeries processor level. This number is independent of the
quantity of drives needed to meet the desired storage capacity. For detailed disk
sizing reference and considerations, go to:
http://www.as400.ibm.com/developer/performance/dasdmenu
If your iSeries server uses logical partitions (LPAR), you need to configure LPAR
first.
This chapter does not include the steps and procedures required to install SAP
add-ons, industry solutions, or plug-ins.
Note
The software distribution CDs for an initial installation are different from the CD
for an upgrade.
Note
You can find details about the required OS/400 release for SAP R/3 4.6C in
SAP Note 156557. Refer to SAPNet, Quick link dbosplatforms for OS/400
release planning and SAP Note 78541 for SAP R/3 release strategy.
SAP R/3 requires a TCP/IP connection from the application server to the
front-end SAP GUI. The SAP document SAP-Supported Network Products
contains details of the supported network software for front-end presentation.
For detailed information about the front-end requirements and the installation
process, refer to the following SAP documents:
• Check list - Installation requirements: Frontends
• SAP Front-end Installation Guide
For information on how to use an IBM Network Station as an SAP R/3 front end,
refer to Chapter 20, “Using an IBM Network Station as an SAP front end” on page
497.
Note
IBM Client Access software is not a prerequisite for the SAP R/3 front end.
The following steps show you how to configure a basic TCP/IP connection. Your
network administrator should check the connection if applicable. You can find
detailed coverage of this topic in TCP/IP Fastpath Setup, SC41-5430.
1. Sign on to the iSeries server. Go to the Configure TCP/IP menu by typing on the
command line:
CFGTCP
2. Select option 1 (Work with TCP/IP interfaces).
You need two entries, one for the loopback entry and one for the IP address of
your iSeries server (Figure 33).
Note that the loopback entry always has the IP address of 127.0.0.1, subnet
mask of 255.0.0.0, and line description of *LOOPBACK. To add an entry, type 1
and press Enter. The screen in Figure 34 appears.
Bottom
F3=Exit F4=Prompt F5=Refresh F12=Cancel F13=How to use this display
F24=More keys
You need to add entries for the first three fields and leave the other fields as
the default.
3. If the route to the remote host (in this case, the PC workstation) is through a
gateway, or the remote host resides in a different network or subnetwork to the
local host, it is necessary to configure a route. Select option 2 (Work with
TCP/IP routes) on the Configure TCP/IP menu. Add an entry that is similar to
the entry in Figure 35.
Bottom
F3=Exit F5=Refresh F6=Print list F11=Display type of service
F12=Cancel F17=Top F18=Bottom
Internet Host
Opt Address Name
1
127.0.0.1 LOOPBACK
LOCALHOST
Bottom
F3=Exit F5=Refresh F6=Print list F12=Cancel F17=Position to
Figure 36. CFGTCP: Work with Host Table Entries before adding names
Enter 1 the Opt field to see the Add TCP/IP Host Table Entry display (Figure
37). In our example, we use a name server and only need to set up the entry
as shown in Figure 37.
Bottom
F3=Exit F4=Prompt F5=Refresh F12=Cancel F13=How to use this display
F24=More keys
Go back to the Configure TCP/IP menu, and select option 10 (Work with
TCP/IP Host Table Entries (Figure 38)).
Internet Host
Opt Address Name
5 127.0.0.1 LOOPBACK
LOCALHOST
Bottom
F3=Exit F5=Refresh F6=Print list F12=Cancel F17=Position to
You do not need to create a loopback entry and add an additional host name
under it called “LOCALHOST”. Your Work with TCP/IP Host Table Entries
display should look exactly the same as the example in Figure 38.
Note
You have to be careful to match TCP/IP system names between what is
defined in the SAP R/3 system and what is defined in the TCP/IP system.
R/3 uses the names in the /usr/sap/<SID>/sys/profile/DEFAULT.PFL file as
the TCP/IP system names (where <SID> is your SAP system ID). The
names are in this format:
<system>_<SID>_<INSTANCE_NUMBER>
The system portion of this name must match what is in your TCP/IP
configuration (CFGTCP option 12 and option 10) or in your name server. Note
that these names are also case-sensitive. To see the names that the SAP
system uses or if your SAP system fails to start, you can look in the
/usr/sap/<SID>/DVEBMGS<INSTANCE_NUMBER>/work/dev_w0 file. You can
also, look at the job logs for SAP<number> and sapstart.log.
5. Select option 12 (Change TCP/IP domain information). Be sure that you have
entries under “Domain Name” and “Host Name”. If you have a remote name
server (or servers), you need to define the IP address for it here. See Figure
39.
Bottom
F3=Exit F4=Prompt F5=Refresh F10=Additional parameters F12=Cancel
F13=How to use this display F24=More keys
For the sake of convenience, we assume that the TCP/IP host name is equal
to the SNA system name. However, the TCP/IP host name can be different
from the SNA system name. The “Current system name” is on your Network
Attributes display. To access this display, type:
DSPNETA
See Figure 40.
More...
Press Enter to continue.
F3=Exit F12=Cancel
Figure 41 shows a part of the SAP R/3 directory structure on the iSeries server.
As you can see, the directory structure starts with the root (/) file system.
usr QFileSvr.400
QSYS.LIB
<hostname>
sap
R3<REL>OPT.LIB
sapmnt
trans
trans
<SID> <SID>
DW.PGM
R3TRANS.PGM
<instance> SYS global profile exe
TPOS4.PGM
R3trans
Key: run
symbolic link disp+work
hard link
IFS consists of several file systems. Three of them are shown in Figure 41:
• File system QSYS.LIB
• File system QFileSvr.400
• Root file system
The QSYS.LIB file system is shown on the right-hand side of the directory tree. It
contains the OS/400 library structure, which is used by the SAP R/3 database,
the executable SAP R/3 kernel programs, work management objects, and so on.
The dotted lines between some of the directories are symbolic links (or soft links).
They point to another directory. Symbolic links contain only pointers to the
referenced data, not the data itself. For example, the /usr/sap/<SID>/SYS/profile
directory is a symbolic link that is pointing to
/QFileSvr.400/<hostname>/sapmnt/<SID>/profile. The latter is where the
information is actually stored. /QFileSvr.400/<hostname> identifies the iSeries
server where the information is located. This <hostname> can be the name of any
iSeries server in the network.
Performance tip
In many situations, you may gain a performance benefit if you change some of
the default soft links. One such case is documented in SAP Note 68487.
The /sapmnt/trans directory (shown in the shaded box in Figure 41) is used by the
SAP R/3 Transport Management System (TMS) to transport the SAP R/3 objects
between different systems. For more information on the Transport Management
System, see Chapter 15, “Change and transport system” on page 349.
If you lose the connection with the system where this directory resides, your SAP
R/3 system will continue running. However, you will not be able to use the
Transport Management System because it needs the
/QFileSvr.400/<hostname>/sapmnt/trans directory. In an SAP R/3 landscape with
multiple iSeries servers, the sapmnt/trans directory is used on only one of the
iSeries servers (although each iSeries server contains its own /sapmnt/trans
directory). All iSeries servers in the SAP R/3 landscape should use the
/QFileSvr.400 directory to reference the /sapmnt/trans directory of the designated
iSeries server.
The /usr directory, shown on the left-hand side of Figure 41, contains all stream
files used by SAP R/3, including the profiles and SAP R/3 log files.
Recommendation
We strongly recommend that you make alterations to the configuration files
only through the R3MENU or by using ADD, CHG, or RMV commands from the
SAP R/3 menu interface.
To view the details of the directory structures on the iSeries server, use the
OS/400 WRKLNK command. The WRKLNK command contains parameters that
allow you to specify the level of detail you require to be displayed from the IFS.
The WRKLNKSAP command, contained in the SAP R/3 kernel library, also offers
options for changing, copying, deleting, displaying, renaming, moving, printing,
and working with stream files using numbered options.
The SAP R/3 installation program automatically creates a start profile and an
instance profile. The start profile contains information about which SAP R/3
services to start when the instance is started.
The system landscape for this example is shown in Figure 42. The landscape has
three SAP R/3 systems installed on a total of five iSeries servers.
PRD
Database Server
DEV
Host = PRODDB
Development System SID = PRD
Instance = 02
Host = DEVSYS
SID = DEV
Instance = 00
/usr/sap/trans
/QFileSvr.400DEVSYS/sapmnt/trans /usr/sap/trans/PRD/SYS/profile
/QFilesSvr.400/PRODDB/sapmnt/PRD/profile
/sapmnt/config/<SID>/SYSTEM.CFG
/sapmnt/trans/config/<SID>/DEVSYS_<system number>.CFG
DEFAULT.PFL
/usr/sap/trans
START_DVEBMGS02
START_D03
START_D04
PRD_DVEBMGS02
PRD_D03
TST PRD_D04
/usr/sap/trans
/usr/sap/trans /usr/sap/trans/PRD/SYS/profile
/usr/sap/trans/PRD/SYS/profile
/usr/sap/trans
The shaded area depicts the iSeries application servers that are not present in a
two-tier SAP R/3 system landscape. Consequently, the corresponding start
profiles, instance profiles, and configuration files for these application server
instances would also not be created in the case of a two-tier system landscape.
There are several things you need to decide before starting the implementation.
First, you need to decide on which iSeries server to store the
/usr/sap/trans/config directory, which will contain the configuration files for each
SAP R/3 system in the landscape. The /usr/sap/trans directory is also used to
support transporting SAP R/3 objects between different SAP R/3 systems
through the Transport Management System.
The first instance for the production system to be installed is the central instance
(02) on the database server. This is followed by the instances (03 and 04) for the
two application servers of the production system.
Note
The installation of multiple SAP R/3 systems (SIDs) on one iSeries machine is
fully supported. Adjustments have to be made in the hardware sizing exercise
to accommodate multiple SAP R/3 systems. This is a strategic decision that
has to take into account that operating system and database software
upgrades, as well as PTFs, will affect all SAP R/3 systems installed on the
same iSeries server.
Each installation of SAP R/3 on different iSeries servers has its own set of
executable code regardless of whether they are part of a single SAP R/3 system
(sharing a single database) or separate SAP R/3 systems belonging to a single
SAP R/3 transport domain. There is no sharing of SAP R/3 executable code
across separate servers. They can (and mostly do) share profiles and transport
directories. Although multiple SAP R/3 systems on the same iSeries server may
share the same set of executable code, the relatively small amount of additional
disk space required more than compensates for the increased flexibility in having
separate executable kernels.
For each SAP R/3 system (SID), the following iSeries objects are created:
• Library R3400 contains objects that are common to all the SAP R/3 systems
running on a single iSeries server. For example, the objects may include user
spaces for storing data and indexes.
• Library R3<rel>OPT (by default, <rel> is the SAP R/3 kernel release level, but
you may select any name) is created on each iSeries server. This library
contains the SAP R/3 kernel executables that are required for running the SAP
R/3 system.
• Library R3<SID>400 is created for each SAP R/3 system. All jobs for an SAP
R/3 instance run in their own subsystem environment. This library contains all
work management objects required for establishing this environment.
Note
The user profiles <SID>OFR and <SID>OPR are the only ones that should be
used to sign on to an SAP R/3 system. You should ensure that the <SID>OFR
and <SID><nn> passwords are the same in a three-tier environment. Refer to
the SAP documentation, Installing R/3 on IBM iSeries, for more details.
IBM customers may choose to install the SAP R/3 themselves or use the IBM
Preload on iSeries offering.
At the present time, the following preload activities are carried out:
• OS/400 is installed.
• The required PTFs are installed.
• A user ASP is configured for SAP R/3 journal receivers.
• iSeries server values related to the SAP R/3 environment are set.
• Basic TCP/IP settings on the iSeries are configured.
• The iSeries user tools for the SAP R/3 environment are installed.
• SAP R/3 systems and instances are installed.
• The Remote Function Call (RFC) kit is installed.
• The CPI-C kit is installed.
• The SAP R/3 license key is installed.
• The SAP R/3 system start is tested.
• The instance and configuration profiles are verified.
• The SAP R/3 performance profiles, based on the iSeries model, are tuned.
• The correction and transport system is initialized and checked in a
“stand-alone environment”.
• Additional language import (optional) is done.
• An entire system backup is done.
The following activities must be performed at the customer site when the system
arrives:
1. Install the SAP R/3 Fontend on the workstation.
2. Configure and test the connection to the SAPNet - R/3 Frontend system.
3. Configure SAP R/3 users, printers, and central system log.
4. Execute client copies (optional).
5. Import supplemental languages if required.
6. Request a developer license key from the SAPNet - R/3 Frontend.
7. Configure the Transport Management System to conform to your SAP R/3
system landscape.
Note: The following items that are marked with an asterisk (*) indicate actions
that were already performed on the iSeries servers that are preloaded with SAP
R/3 (see 5.4.1, “Preload option” on page 80). If you do not have a preloaded
system, you must perform these tasks manually.
1. Before you start to install SAP R/3, complete these steps:
a. * Check the hardware and software requirements for the iSeries server and
front-end PCs. See 5.1, “Hardware and software requirements” on page 67,
for further information.
b. * Ensure that the necessary OS/400 PTFs that are required for the SAP
R/3 installation are loaded and applied. The list of Informational APARs
includes:
• APAR II11832 for OS/400 V4R4
• APAR II12399 for OS/400 V4R5
• APAR II12833 for OS/400 V5R1
You can obtain the APARs through the IBM ECS link with the following
command:
SNDPTFORD PTFID((IInnnnn))
Here, nnnnn is the APAR number.
The APARs list is also available through the Internet at:
http://www.as400.ibm.com/service/bms/support.htm
Select your relevant OS/400 release from the list and search for SAP400.
Also refer to SAP Note 83292.
Attention
Do not install SAP R/3 without first installing the required PTFs. The
installation will fail because the SAP R/3 installation program checks for
the presence of certain PTFs.
c. * Set the required iSeries server values for the SAP R/3 environment. Refer
to the SAP guide, Installing R/3 on IBM AS/400, for more information.
d. * Set up and configure a separate user ASP on the iSeries database server
for storing journal receivers. For a detailed description, see the SAP
publication, Installing R/3 on IBM AS/400, and the IBM document Backup
and Recovery, SC41-5304.
e. Ensure that Electronic Customer Support (ECS) is set up on the iSeries
server. We recommend that you set up the ECS connection with IBM. ECS
provides an integrated set of service and support functions and provides
online and remote technical support.
f. * Configure and test the TCP/IP configuration on all iSeries servers in the
system landscape. If you do not have a TCP/IP network configured, contact
your network administrator about proper planning for your TCP/IP network.
Note
The host name and domain name entries are case sensitive. We
recommend that you consistently specify these entries in lowercase and
enclose them in single quotation marks (‘’). If the quotation marks are
omitted, these entries will be converted to uppercase. This could result in
the system being unable to resolve the host name and domain name.
Three-tier environment
In a three-tier environment, the user profile of the user installing the SAP
R/3 system on the application server must also exist on the database
server. The passwords must be the same on both systems. Sign on to both
systems with the same user name and password to verify this.
a. * Configure and install the SAP R/3 system, database instance, and central
instance.
b. * Configure and install the application server instances.
c. * Configure TCP/IP on the PCs, and test the connection to the iSeries
server. Consult your PC Network guide for more information.
d. Install the front-end SAP GUI software.
5. Carry out the post-installation tasks:
a. * Register the SAP license key. After the installation, you must request a
permanent license key for your SAP R/3 software. For the installation, you
use a temporary license key that is only valid for four weeks. You can find
information on how to obtain a permanent license key in the SAP
documentation Installing R/3 on IBM AS/400.
b. * Install the optional components such as RFC SDK and CPI-C SDK.
Remote Function Call (RFC) and Common Programming Interface -
Communication (CPI-C) are both communication interfaces you can use to
establish a program-to-program connection between ABAP programs and
Refer to SAP Note 203256 and the information files contained on the SAP
Documentation Installation CD before you start the installation.
Customized documentation
You can access both the SAP R/3 online documentation and your own
customized documentation using the SAP Knowledge Warehouse. SAP refers
to this type of online documentation as DynamicHelp.
Installation
Install the online documentation on the file server (or Web server) according to
the instructions in SAP System Installation: IBM AS/400.
To display the online documentation from within the SAP R/3 system, you need to
specify the variants that will be used to display the online documentation. These
settings are maintained in the SAP R/3 IMG, under General Settings-> Variants
to Adjust Help (SAP Library).
These settings will be used when the Application Help, SAP Library, and Glossary
options are selected from the SAP R/3 Help menu.
Refer to the SAP documentation Installing the SAP Library for complete details
on installing the SAP online help documentation.
To ensure correct and consistent language support for SAP R/3, you must
perform the following tasks:
1. Install the proper front-end software and set the correct code page for the front
end (that is, the wincode page in the system.ini file for Windows).
2. Change the SAP R/3 zcsa/installed_languages profile parameter to include
the language that you plan to add to the system. This parameter lists all
languages that are installed in SAP R/3. For example, if German and English
are installed, this parameter should read zcsa/installed_languages =DE.
3. Import the language.
4. Change the SAP R/3 zcsa/system_language profile parameter to specify the
main language used by the system (that is, the language in which the logon
screen appears).
5. Verify that the tables TCP0C, TCP09, TCPDB, and TCP0D contain the correct
entries (see SAP Note 69337 for SAP R/3 Release 3.x and 99792 for SAP R/3
Release 4.x).
6. Update all the instance profiles to add the language key. Alternatively, add the
language key to the DEFAULT.PFL profile of the SAP R/3 system.
The QTIME system value should be set to the current time at your specific
geographic location. Set the system value QUTCOFFSET to coincide with the
time difference between your geographic area and Coordinated Universal Time
(GMT).
In areas where daylight saving time (summer in the northern hemisphere and
winter in the southern hemisphere) is observed, both the QTIME and
QUTCOFFSET system values have to be manually adjusted to coincide with
these change overs. Changes to these system values are effective immediately
(no IPL of the iSeries server is required for these changes to take effect).
These settings should also coincide with the SAP R/3 customizing settings that
are maintained via the SAP R/3 IMG.
Three-tier environment
During the initial installation process, you use options from the SAP R/3
Installation menu Figure 43.
Selection or command
===>
The Create R/3 System objects and Create R/3 Instance objects menu options
allow you to make changes prior to commencement of the actual SAP R/3 kernel
and database installation. These changes are reflected in the configuration files
in the /usr/sap/trans/config/<SID> directory that control the installation process.
Once the installation is complete, changing certain elements in your SAP R/3
system become more complex. This includes the following elements:
• The name of the SAP R/3 kernel library
• The ASP for the SAP R/3 database
• The ASP for journal receivers
One or more of these upgrades may have to be implemented at the same time.
Any upgrade has the potential of impacting the availability of the SAP R/3 system
to the users. Therefore, careful planning of such an exercise is extremely
important. We suggest that you first test any upgrade on your test or development
system as far as possible before performing the upgrade on the production
system. A well-documented upgrade strategy and review process should be an
integral part of your installation.
If you run your database server and application servers on different releases of
OS/400, it is required that the SAP R/3 kernel that corresponds to the earliest
release of OS/400 is loaded on all systems in the SAP R/3 system landscape. For
example, if you run your database server on OS/400 V4R5 and you run your
application servers on V4R4, the SAP R/3 kernel corresponding to OS/400 V4R4
must be installed on the database server and the application servers.
However, we do not recommend that you mix different releases of OS/400 in your
SAP R/3 system.
Note
Collect all the relevant SAP Notes pertaining to the upgrade. Then integrate
these into a single, clear plan of activities.
This section discusses the configuration of SAPNet - R/3 Frontend. In the text,
SAPNet - R/3 Frontend is referred to simply as “SAPNet”.
Before you start to configure your iSeries server for SAPNet, you should read and
understand the online information for SAPNet provided by SAP. In particular, you
should understand how to use a SAProuter and the security provisions afforded
by using it. After you connect your system to SAPNet, it is on a public network. Be
sure that you have taken the necessary precautions to prevent unauthorized
access to your system.
The following sections explain how to setup a connection over an X.25 line and
Frame relay. ISDN is another connection alternative that is not discussed here.
Each of the preceding steps is discussed in more detail in the following sections.
The adapter you need is determined by your network provider. Choose the
adapter card based on the connection requirements of your X.25 network.
Note
The use of routers is not addressed in this book.
Your network provider assigns an X.25 network address to you. This is the
number by which your system is recognized on the network. You need to provide
SAP with this number to establish a connection between the SAP X.25 server and
your iSeries server.
The subscription you have with your network provider determines whether you
use permanent, switched, or both types of circuits, and the number you have of
each. You need to know this information to configure X.25 and TCP/IP on your
iSeries server. In the example shown in Figure 44, we assume that the logical
channel is a switched virtual circuit for both incoming and outgoing calls.
5.7.1.3 IP address
In addition to an X.25 network address, you also need an IP address. You may
already have an IP address for your iSeries server associated with your LAN
communication line. This IP address is necessary for you to run your R/3
application. Because IP addresses defined on your iSeries server must be
Source Destination
X.25= X.25=
iSeries 400 0000499 0000222
A N
SAP
SAProuter d X e X.25
a . t Server
p 2 w
t
Name=AS23 5 o Name=X25SERV
e
X.25 =199.5.83.6 r
r X.25 =199.8.38.1
IP =199.5.83.5 k
iSeries 400
In this example, the following values are assigned to the iSeries server (source
host):
• iSeries server = AS23
• Network address = 0000499 (one switched circuit)
• X.25 IP address = 199.5.83.6
• Subnet mask = 255.255.255.3
SAP has provided the following information on the SAPNet and X.25 servers:
• SAPNet server = SAPSERV
• Network address = 0000222
• X.25 IP address = 199.8.2.5
• Subnet mask = 255.255.255.0
• X.25 Server = X25SERV
• X.25 IP address = 199.8.38.1
The screens of the CRTLINX25 command are shown in the following four figures.
In this example, we use the name SAPNETLN for the line description that we
created.
Some of the parameters for the screens are explained in the following list. The
values depend on the network provider. For any parameter, you may position the
cursor on the parameter and press F1 for help.
• Logical channel entries
This is the logical channel configuration that the network provider has
specified for your use. You may need to enter more than one channel
specification here. In the example, we specified *SVCBOTH for the channel
More...
F3=Exit F4=Prompt F5=Refresh F12=Cancel F13=How to use this display
F24=More keys
Additional Parameters
Bottom
F3=Exit F4=Prompt F5=Refresh F12=Cancel F13=How to use this display
F24=More keys
Bottom
F3=Exit F4=Prompt F5=Refresh F10=Additional parameters F12=Cancel
F13=How to use this display F24=More keys
Bottom
F3=Exit F5=Refresh F6=Print list F11=Display interface status
F12=Cancel F17=Top F18=Bottom
Enter option 1 on this display. Then you see the Add TCP/IP Interface screen
shown in Figure 51.
Bottom
F3=Exit F4=Prompt F5=Refresh F12=Cancel F13=How to use this display
F24=More keys
On this display, enter the IP address for your X.25 adapter (199.5.83.6 in this
example), the name of the X.25 line description that was previously created
(SAPNETLN in this example), and the subnet mask that is associated with your IP
address (255.255.255.3 in this example).
You may want to also fill in the X.25 maximum virtual circuits parameter to
something other than the default value of 64. This parameter controls how many
switched virtual circuits TCP/IP can use. A value of 64 means to use them all.
The number specified here must be equal to or less than the number of switched
circuits you specified when the line description was created. In our example, we
only created one switched circuit on the CRTLINX25 command so we can only
specify one here. However, if you create more than one, you need to decide how
many to allocate for TCP/IP use and enter that number on this parameter.
If you want TCP/IP to use permanent circuits in place of, or in addition to,
switched circuits, enter the channel identifier number (or numbers) in the PVC
logical channel identifier. The number (or numbers) you specify here must also be
specified when the line description is created.
Configuring TCP/IP
Use the CFGTCP command to configure TCP/IP. Perform the following steps:
1. Add the host name and IP address of the SAPNet server you are using to the
host name table.
2. Add the host name and IP address of the X.25 server to the host name table.
Note
This step assumes you are using your local host name table. If you are
using a remote name server, you need to ensure that the X.25 and SAPNet
servers are already in the host name table on that server. Check option 13
on the CFGTCP display to see if you are using the local iSeries host table or
a remote name server.
3. Add a new TCP/IP route entry to route a request from your host to the X.25
server and then to the SAPNet server you are using.
4. Add the TCP/IP interface information for the X.25 line description that was
created previously.
5. Add a new TCP/IP remote system entry for the SAP X.25 server.
Selection or command
===> 10
From this display, enter option 10. Then you see the Work with TCP/IP Host Table
Entries (Figure 53).
Internet Host
Opt Address Name
1 _________
127.0.0.1 LOOPBACK
LOCALHOST
Bottom
F3=Exit F5=Refresh F6=Printlist F12=Cancel F17=Positionto
Now select option 1 and press Enter. This brings up the display shown in Figure
54. On this screen, enter the IP address for the SAPNet server, the host name of
the SAPNet server machine, and a text description that describes what the new
entry is for.
Bottom
F3=Exit F4=Prompt F5=Refresh F12=Cancel F13=How to use this display
F24=More keys
Repeat this process for the X.25 server shown in Figure 55.
Bottom
F3=Exit F4=Prompt F5=Refresh F12=Cancel F13=How to use this display
F24=More keys
Note
The IP address for the iSeries host must be explicitly defined in the host name
table.
Bottom
F3=Exit F5=Refresh F6=Print list F11=Display type of service
F12=Cancel F17=Top F18=Bottom
From this display, enter option 1, which brings the screen shown in Figure 57.
Bottom
F3=Exit F4=Prompt F5=Refresh F12=Cancel F13=How to use this display
F24=More keys
On this display, enter the SAPNet server IP address as the route destination, the
value *HOST for the subnet mask, *NORMAL for the type of service, and the X.25
server IP address for the next hop. Set the smallest packet size in any gateway
router between the system and the X.25 line as the maximum transmission unit.
Note
Any variation from this example configuration will require additional routes to
be configured. For example, if the SAProuter is running on the host AS24 and
the X.25 line is on AS23 as shown in Figure 44, you have to add a route on
host AS24 (Next hop parameter), similar to the example shown in Figure 58.
Bottom
F3=Exit F4=Prompt F5=Refresh F12=Cancel F13=How to use this display
F24=More keys
Bottom
F3=Exit F5=Refresh F6=Print list F12=Cancel F17=Top F18=Bottom
Bottom
F3=Exit F4=Prompt F5=Refresh F10=Additional parameters F12=Cancel
F13=How to use this display F24=More keys
Note
Note: Verify that the interface status is active by using the CFGTCP command
and pressing F11 (Display interface status) on the Work with TCP/IP Interfaces
display. When you work with the SAPNet site that you are using, the SAPNet
site can also verify the connection from their end.
SAP requests that you provide the IP address of your machine that has an X.25
connection and the IP address of your machine that is running the SAProuter. In
When the IP network is different between the customer system (for example,
192.45.33.7) and the SAPNet X.25 server (for example, 199.8.38.1), you need to
set the IP datagram forwarding parameter to *YES (the default is *NO). This is
found in CFGTCP option 3 (Change TCP/IP Attributes) shown in Figure 61.
Note
SAP Note 79411 recommends you place saprouttab in the /usr/sap directory.
Note
An extra entry for port 23 is needed to allow a Telnet connection.
For more information on saprouttab, please refer to SAP Note 30289 and the SAP
online documentation CD.
Alternatively, you can start and stop SAProuter from the R3MAIN menu. Select
option 1 for General Task and option 9 to Start SAProuter.
For a more detailed description of setting up the Route Permission table, refer to
the online documentation on SAPNet from SAP and SAP Note 79411.
5. Be aware that your iSeries server now has two IP addresses. One is
associated with your X.25 line, and the other one is associated with your LAN.
You should add the LAN IP address to the SAProuter 1 section of the window.
The Instance no. parameter does not refer to your R/3 system instance.
Instead, it refers to the TCP/IP service no. used by the SAProuter running on
your iSeries server to establish a connection with the SAP site. The default
value for this parameter is 99. If the SAProuter on your iSeries server uses a
service other than sapdp99 (3299), change this parameter accordingly (use
the CFGTCP command and option 21 (Configure related tables) to check).
6. Click the Save push button to save your settings.
7. Log on to SAPNet. Once you are logged on, the first step is to define your new
installation and service connection within SAPNet. Refer to SAP Note 86251.
Note
See SAP Note 60856 for more details on how the SAPNet - R/3 Frontend works
on the iSeries server.
It is assumed that the network infrastructure for the frame relay connection is
provided by a network service provider and that the customer will use TCP/IP to
5.7.2.1 Prerequisites
To establish a remote connection, complete the following steps:
1. Obtain the services of a network provider to establish the frame relay
connection.
2. Provide an official IP address for the router that will connect to your LAN.
Refer to SAP Note 50430 for more information on the official IP addresses for
SAP access.
3. Decide to which SAP location you will connect.
4. Configure TCP/IP on the iSeries server.
5. Configure saprouttab and start SAProuter.
6. Complete and fax the Remote Data Connection Sheet to SAP.
7. Verify the connection.
8. Configure the router data for SAPNet logon.
The iSeries server (source host) has the following values assigned to it:
• iSeries server = AS23
• LAN IP address = 192.41.246.5
• Customer Router = 192.41.246.95
SAP has provided the following information on the SAPNet server and
SAPNetrouter:
• SAPNet server = SAPSERV
• SAPNet server IP = 199.8.2.5
• SAPNet router = SAPROUTE
• SAPNet router IP = 199.8.31.1
Selection or command
===> 10
On this screen, enter option 10. This brings up the Work with TCP/IP Host Table
Entries screen shown in Figure 64.
Internet Host
Opt Address Name
1 _________
127.0.0.1 LOOPBACK
LOCALHOST
Bottom
F3=Exit F5=Refresh F6=Printlist F12=Cancel F17=Positionto
Now enter option 1 and press Enter. This brings up the Add TCP/IP Host Table
Entry screen shown in Figure 65.
Bottom
F3=Exit F4=Prompt F5=Refresh F12=Cancel F13=How to use this display
F24=More keys
On this screen, you can enter the IP address for the SAPNet server, the host
name of the SAPNet server machine, and a text description that describes what
the new entry is for.
Bottom
F3=Exit F5=Refresh F6=Print list F11=Display type of service
F12=Cancel F17=Top F18=Bottom
From this display, enter 1. Then you see the screen shown in Figure 67.
Bottom
F3=Exit F4=Prompt F5=Refresh F12=Cancel F13=How to use this display
F24=More keys
Enter the SAPNet server IP address as the route destination, the value *HOST for
subnet mask, *NORMAL for the type of service, and the IP address associated
with Customer Site Router for next hop. Set the maximum transmission unit to the
minimum of any router or gateway along the route. Press Enter to save your
settings.
With TCP/IP configured, you can verify the connection by using the PING
command with the SAPNet server name. If the PING command was successful,
SAProuter starts, and the SAPNet technical settings are configured, you can log
on to SAPNet.
This chapter discusses code pages and coded character set identification
(CCSID). Code pages are the specification of code points (hexadecimal value) for
each character in a character set. Each code page has its own identification
number within the manufacturers. For example, the IBM code page for Japanese
is 0290, where the SAP code page for Japanese is 8000.
Note
Unicode has only one CCSID because it is not language specific.
All objects within OS/400 are defined by CCSIDs. Therefore, this chapter
mentions CCSID numbers when referring to OS/400 objects.
Code page name SAP code Language supported by the code page
and IBM CCSID page number
German and English are part of the Latin-1 code page and are provided with the
SAP software. This section explains the steps needed to install a SBCS language
that is not in the Latin-1 code page. In our example, we will use Russian.
SAP Notes 693377(R/3 3.X releases) and 99792 (4.X releases) show further
details on code page and locale relationships.
As you will see, code page numbers differ by manufacturer. Four different code
pages are introduced during this section. For the Russian example, the IBM code
page is 1025, the SAP code page for the application server is 500, the SAP code
page for the front end is 1504, and the Microsoft code page for the PC operating
system is 1251.
Table 8 shows the data that should be included in the TCP0C table for the
Russian example.
Table 8. TCP0C settings for Russian
OS/400 E RU RU_RU_ISO5
OS/400 R RU_RU_ISO5
OS/400 R RU RU_RU_IS05
Table 9 shows the data that should be included in the TCP09 table for the
Russian example.
E 0500
R 0500
Follow the instructions in SAP Note 15023 to have the TCPDB table contain the
proper data. Table 10 shows the TCPDB settings for the Russian example.
Table 10. TCPDB settings for Russian
0500 0500
Follow the instructions in SAP Note 42305 to have the TCP0D table contain the
proper data. Table 11 shows the settings for the Russian example.
Table 11. TCP0D settings for Russian
Country DB Language
RU R
With the ASCII/Unicode solution available with OS/400 V4R5 and SAP R/3
Release 4.6D, it is possible to implement four different DBCS languages:
• Japanese
• Simplified Chinese
As a first step to complete the multiple language support for SAP on the iSeries
server, an ASCII Application Server was created for the iSeries server to support
the full range of languages currently available with SAP. Since this ASCII
Application Server implicitly uses all DBCS resources coded within mySap.com, it
automatically supports DBCS languages. The general SAP DBCS solution based
on ASCII code pages has had excellent stability and reliability over the past years
making this a proven approach for Asian language support.
For the SAP DBCS support, these functions were enhanced to support DBCS
ASCII and now make a separate product. This product is called ASCII runtime. It
is available as PRPQ 5799AAS. ASCII runtime is a set of C functions that
provide:
• The ASCII equivalent version of a C-runtime function
• A simple translation layer before invoking the native EBCDIC runtime function
• High performance translation functions for converting data between ASCII,
Unicode, and EBCDIC
This allows the application to run and manipulate ASCII data transparently while
the underlying operating system and job run in an EBCDIC code page. With this
approach, the SAP kernel runs in ASCII on the iSeries server.
ASCII runtime is designed to work with SAP and other business partners’
products. After installing ASCII runtime, SAP users are required to perform a few
steps that are unique to the SAP environment. These steps are described in
6.2.2.1, “Installation prerequisites” on page 119.
When writing into the database, character data is converted from the ASCII code
page of the application server to the Unicode code page of the database
(UCS-2). When reading from the database, character data is converted from
UCS-2 to the ASCII code page of the application server.
The conversion is done by the SAP database interface that services all types of
database requests from the SAP application server. To the SAP application
programs only, ASCII data is visible. See Figure 68 for further illustration.
Numeric data and binary data (for example, pool and cluster table data) do not
require any conversion and are stored using the appropriate data types as with
the EBCDIC version.
Table 12 shows the different DBCS languages you can use with R/3 on the
iSeries server and their corresponding IBM and SAP code page numbers.
Table 12. Standard SAP installations for DBCS languages
Figure 69 shows the relationship between the code pages and CCSIDs in our
Japanese example. Note that the SAP code page numbers used are the SAP
ASCII code page numbers. See SAP Note 103935 for a complete table of the
Japanese Windows -
Microsoft Code Page 932
SAP GUI Frontend -
SAP Code Page 8000
ASCII Sort
Sequence
Table - IFS -
DB - ASCII
Unicode ASCII
CCSID Code page
CCSID
943 943
13488
We discuss these code pages and set the CCSID in later sections.
Note
Note
This is also where you control what language the GUI session will display
for the log on screen.
• install/codepage/db/transp = 8000
install/codepage/db/non_transp = 8000
install/codepage/appl_server = 8000
The codepage parameters should list the code page used in this R/3 system.
Table 13 shows the data that should be included in the TCP0C table for the
Japanese example.
Table 13. TCP0C settings for Japanese
OS/400A E JP JA_JP_SJIS
OS/400A J JA_JP_SJIS
OS/400A J JP JA_JP_SJIS
Table 14 shows the data that should be included in the TCP09 table for the
Japanese example.
Table 14. TCP09 settings for Japanese
E 8000
J 8000
Follow the instructions in SAP Note 15023 to have table TCPDB contain the
proper data. Table 15 shows the settings for the Japanese example.
Table 15. TCPDB settings for Japanese
8000 8000
Follow the instructions in SAP Note 42305 to have table TCP0D contain the
proper data. Table 16 shows the settings for the Japanese example.
Table 16. TCP0D settings for Japanese
Country DB language
JP J
Installation of an MDMP system (or the conversion of an existing single SAP code
page system to MDMP) on the iSeries server is accomplished in essentially the
same manner as on the other SAP platforms. The installation process is
documented in CSN Note 73606. At a high level, the steps to do this are:
1. Install an SAP system in the normal manner, specifying one of the planned
SAP code pages during the installation process. Or, if an existing single code
page ASCII system is to be converted to MDMP, proceed to step 2.
2. Modify the instance profile or profiles to configure an additional language or
languages. For example, to add Korean to a Japanese system, update the
zcsa/installed_languages parameter as follows:
zcsa/installed_languages = EJK
3. Delete the following parameters from the profile. They are not needed for an
MDMP system:
install/codepage/db/transp = 8000
install/codepage/db/non_transp = 8000
install/codepage/appl_server = 8000
abap/locale_ctype = JA_JP_SJIS
4. Create the required locales. Sign on as <sid>OFR and use the CRTSAPL CL
command as follows:
CRTSAPLCL SID(<sid>) CODEPAGE(8500)
Run the command for each SAP code page to be added to the system.
5. Use the RSCPINST report in transaction SE38 to activate each of the
additional languages (see CSN Note 42305).
6. Use the SMLT transaction to import each of the languages as described in the
R/3 Language Transport guide.
OptiConnect hardware and software was specifically designed for high speed
transfer of data from one iSeries server to another.
The connection between any two iSeries servers is not a typical communications
type connection such as LAN, ISDN, or FDDI. Rather, each iSeries server in an
OptiConnect network is connected to a dedicated, shared I/O bus. Each system
in this network is connected to every other system in the same network through
this shared I/O bus. The connection may be best viewed as a device connection
where one system is accessing another system as if it was an attached device.
The data transfer rates provided by the fiber-optic link using the shared I/O bus is
in the 1 Gbps range. The software used to move data across is lightweight with a
normal path length much shorter than other communications methods.
Note
Information-only RPQ number 843871 describes OptiConnect in greater detail.
Note
OptiMover is available on OS/400 V4R5 or earlier releases. With the release of
OS/400 V5R1, it has been withdrawn from marketing.
OptiMover for AS/400 is used to move data across the fiber-optic link. This
program offering contains a set of system APIs that gives the using program
(SAP R/3 for example) access to the facilities of the OptiConnect hardware.
OptiMover does not use DDM files as the OptiConnect program offering does.
The protocol across the fiber-optics connection is a private protocol similar to a
device protocol.
This work process-to-agent relationship stays in effect until the work process
ends. At that time, the agent job is also automatically ended by the OptiMover
support.
Figure 70 illustrates the use of the OptiMover APIs by the R/3 system.
Application Server
WP0 WP1 WP7 WP8
OptiMover OptiMover
Fiber-optic Cables
OptiMover
Database
The OptiMover program provides a good price per performance solution for SAP
R/3 three-tier implementations on the AS/400 system. You can find more
information about OptiMover in OptiMover for the AS/400, SC41-0626.
Hub System
Satellite System
The hub machine provides the communication route for all machines on the
network. This includes communications between the hub and a satellite as well
as communications between two satellites. There is no processing overhead of
any significance on the hub machine. If the hub machine fails for any reason, all
communications routed through this hub also fail, and consequently, the network
can fail.
A dual path configuration is also available. This introduces a redundant hub into
the network so that if one hub fails, the redundant hub can take over, and the
network remains operational. Figure 72 illustrates a network consisting of two hub
machines and two satellite machines.
Virtual OptiConnect
When an iSeries server is configured into logical partitions (LPAR), OptiConnect
can be configured for communication between these partitions. This is referred to
as Virtual OptiConnect since it uses the internal hardware path to connect two
logical partitions in a single iSeries server. Refer to 3.4, “SAP R/3 landscapes
with logical partitioning (LPAR)” on page 47, for more information on LPAR.
On the other hand, if the database server is placed on a satellite machine, the
availability of the system is impacted if the satellite (and the associated database
server) or the OptiMover/400 hub machine fails. This arrangement of database
and application servers is illustrated in Figure 73.
Hub Machine
5799-FWQ - OptiMover/400 1 1 1 1
Based on this information, the IBM Representative can determine the price and
place an order for the products.
Once you install the hardware and the software, you must start the QSOC
subsystem by using the STRSBS QSOC/QSOC command.
Then, use the DSPOPCLNK command to verify the connections between the hubs
and satellites. This command presents a display that shows the system name
followed by the OptiMover resources for that system. If the status of the
resources is Active, or Varied on, the support is installed correctly.
To use the Gigabit Ethernet, the R/3 database server should run on iSeries Model
270 or 8xx, while the R/3 application server runs on iSeries Model SB2, SB3, or
270.
The Gigabit Ethernet, which is a viable alternative for OptiConnect, uses TCP/IP
to move the data over the dedicated Gigabit Ethernet connection. Consider the
following points when choosing between a Gigabit Ethernet connection and an
OptiConnect connection:
• The performance that Gigabit Ethernet offers matches that of OptiConnect.
• The price for Gigabit Ethernet is lower than for OptiConnect.
• Industry standard switches can be used with Gigabit Ethernet as well as
PCI-based cards.
• No extra software is needed for a Gigabit Ethernet.
• Gigabit Ethernet runs only on iSeries 8xx and 270 models.
As with OptiConnect, the communication between the database server and the
application server should be on a dedicated network, for best performance
(Figure 74).
Dedicated 1 Gb Ethernet
Database
Application Application
Server
Server Server
Company LAN
An additional network card is used to connect the two servers to the rest of
network.
Bottom
F3=Exit F4=Prompt F5=Refresh F10=Additional parameters F12=Cancel
F13=How to use this display F24=More keys
The Host name search priority parameter defines the order that a name server is
searched. Maybe your value was to *REMOTE, meaning that a remote name
server is always searched first.
Change this to search the local name server first. If a match is not found, the
remote name server is searched. This has the effect in R/3 of saving a trip to and
from your remote name server every time you look up the local system name,
since the local system is defined in the local name server.
In general, you should set the send and receive buffer to the maximum amount of
data that the application streams in one direction before waiting for data to be
received from the remote application. Also, the line speed should be taken into
consideration. Having a large send and receive buffer on a fast line can
significantly improve performance. However, increasing the buffer size on a slow
line could actually degrade throughput with overall system performance.
Note
Optimal send and receive buffer size is customer specific. It depends on the
application you’re using with R/3, the network, and the size of the iSeries. The
default send and receive buffer size works best for most customers.
When connecting to two or more iSeries servers using TCP/IP over OptiConnect,
you can create the connection as an emulated LAN or as a point-to-point
unnumbered connection (subnet mask 255.255.255.255). Although either of
these methods can be used with SAP R/3 implementation, the point-to-point
unnumbered configuration is typically the common choice because:
• It is simple to implement.
• It allows protection of the optical bus from user activity.
Configuration example
Figure 76 shows a configuration with three iSeries server connections with optical
link and attached to a local area network (LAN). The IP addresses shown are
used only as an example.
OptiConnect Bus
Bottom
F3=Exit F4=Prompt F5=Refresh F12=Cancel F13=How to use this display
F24=More keys
Bottom
F3=Exit F4=Prompt F5=Refresh F12=Cancel F13=How to use this display
F24=More keys
Figure 78. Add TCP/IP Interface (ADDTCPIFC) for the OptiConnect bus
3. On the AS1 system, add an Internet address and its associated host name
used for the LAN connection to the local host table (Figure 79).
Bottom
F3=Exit F4=Prompt F5=Refresh F12=Cancel F13=How to use this display
F24=More keys
Figure 79. Add TCP/IP Host Table Entry (ADDTCPHTE) for LAN
4. On the AS1 system, add an Internet address and its associated host name
used for the OptiConnect connection to the local host table (Figure 80).
Bottom
F3=Exit F4=Prompt F5=Refresh F12=Cancel F13=How to use this display
F24=More keys
Figure 80. Add TCP/IP Host Table Entry (ADDTCPHTE) for OptiConnect
To do the same activities on the AS2 system, enter the following command
statements in the order given:
ADDTCPIFC INTNETADR(10.2.4.165) LIND(TRNLINE) SUBNETMASK(255.255.255.0)
ADDTCPIFC INETADR(10.1.1.12) LIND(*OPC) SUBNETMASK(255.255.255.255)
ADDTCPHTE INTNETADR(10.2.4.165) HOSTNAME(AS2)
ADDTCPHTE INTNETADR(10.1.1.12) HOSTNAME(AS2_OPTI)
To do the same activities on the AS3 system, enter the following command
statements in the order shown:
ADDTCPIFC INTNETADR(10.2.4.166) LIND(TRNLINE) SUBNETMASK(255.255.255.0)
ADDTCPIFC INTNETADR(10.1.1.13) LIND(*OPC) SUBNETMASK(255.255.255.255)
ADDTCPHTE INTNETADR(10.2.4.166) HOSTNAME(AS3)
ADDTCPHTE INTNETADR(10.1.1.13) HOSTNAME(AS3_OPTI)
The most common method of configuring TCP/IP over Virtual OptiConnect is the
point-to-point unnumbered configuration. As with OptiConnect, use the Add
TCP/IP Interface ( ADDTCPIFC) command to configure the IP address interfaces for
Virtual OptiConnect. Each logical partition must have an IP address assigned to
the internal optical bus in this manner (Figure 81).
For additional information on these and other RFCs, please visit the Web site at:
ftp://ftp.isi.edu/in-notes/
The implementation of SAP R/3 normally begins with the installation of the new
software on a development or test system. This development or test system is the
basis for developing new business processes, organizational changes, and data
transition. It is also used to educate the users who work with the new system. In
the meantime, the development or test system is customized and configured
according to the requirement, and sometimes an additional specific function must
be developed. After the test is completed, the test system with all of its
parameters, additional specific functions, and its file is moved to the new
production environment.
SAP R/3 provides a facility to transfer the existing application data into the SAP
R/3 database using a function called batch input. This function reads the data
from a sequential file and stores it into the SAP database using normal R/3
interactive transactions. The sequential file that contains the data to be imported
should have the following characteristics:
• All data must be in character format.
• Data must have the logical structure expected by the batch input program.
This sequential file is used as a transfer medium between the existing application
and the SAP R/3 database. You are responsible for producing this sequential file
by using a data transfer program that reads the existing data files, checks and
converts it, and exports it into the sequential file. You can either write your own
data transfer program or use data porting tools for this purpose. The data porting
concept is shown in Figure 82.
Existing Format
Sequential
File
SAP Format
In addition to these basic tasks, the data transfer program initializes the SAP
format (data structure) in the sequential file with the special no-data character. If
a batch input program finds the no-data character in the field, the program allows
the field to default to its standard value in the SAP transaction that contains the
field. By default, the no-data character is “/”.
To write the data transfer program for batch input, use the following procedure:
1. Analyze the data that is required by the batch input program. SAP provides a
facility to generate a data structure for SAP tables in the COBOL, PL/1, or C
languages. You can incorporate this data structure into your data transfer
program. To generate the data structure, select Environment and select the
Generate table description in the ABAP Dictionary.
2. Analyze the SAP format (data structure) for the existing application and
determine which fields to transfer and map to which field in the SAP system.
3. Determine the conversion rules. The batch input program requires that:
• The data field must be in character format.
• No data field is longer than those in the SAP format.
• If the field is shorter, left-justify it and fill in the right end with blanks.
4. Write the data transfer program. It can be developed in ABAP or other external
languages such as COBOL, RPG, and so on.
The batch input program is written in ABAP and basically performs the following
tasks:
• Reads the data to be imported to the SAP database from a sequential file.
• Converts the data record if necessary.
• Simulates an SAP transaction to enter the data into an SAP database.
The following statement is used to declare the SAP format (data structure) in the
ABAP program:
DATA: BEGIN OF <bdc-table-name> OCCURS <occurs-parameter>.
INCLUDE STRUCTURE BDCDATA
DATA: END OF <bdc-table-name>
Sequential
File
READ
DATASET
Data
Dictionary
Batch Input Program
BDCDATA
BDC Structure
Table INCLUDE
Structure
CALL FUNCTION:
BDC_OPEN_GROUP CALL
BDC_INSERT TRANSACTION
BDC_CLOSE_GROUP USING
(1st Method) (2nd Method)
CALL
Process DIALOG
Batch Input Session (3rd Method)
SAP
Database
SAP provides a ready-to-run standard batch input program for most of the SAP
applications. If necessary, you can also create your own batch input program. To
do this, analyze the SAP transaction as shown in the following steps:
1. Go through the application function just as you are doing a normal transaction.
2. Note the program names and display (dynpro) number. Do this by selecting
System-> Status.
3. Note any field names, check boxes, or buttons that require input. You can do
this by pressing F1 (Help) on the field, check box, or button, and choose
Technical Info.
4. Note the display (dynpro) sequence and function codes.
5. Create a BDC table structure.
In this chapter, you can find an example of a batch input program that shows how
the batch input data structure may appear.
Information about non-IBM porting services and tools from iSeries Business
Partners is available on the Web at: http://www.ibm.com/software/
This section examines some of the data porting tools available on the market
today.
The LSM Workbench helps in organizing data migration project and provides
guidance through the process by using a clear sequence of steps. The most
common conversion and migration rules are predefined with LSM Workbench.
Field
Preparatory Data
mapping
steps import
Data in and rules
legacy Data on
system R/3
database
Checklist LSMW
One or several
files
Legacy data
on PC
Read data Read data
Structure Legacy data
relations on application
server
Batch Input
Conversion processing
rules
Converted Direct Input
data processing
IDoc inbound
processing
Logon as user <sid>adm resp. <sid>ofr and run the following command:
Check the file trans.log in the current directory. The maximum admissable return
code (see end of trans.log) is 4.
To start working with the LSM Workbench, use transaction LSMW (Figure 86).
On the initial screen, you can create a new project, corresponding subprojects,
and objects by clicking Edit-> Create new entry.
On the initial screen shown in Figure 86, All objects provides a list of all projects
created already. My objects displays a list of all objects you created personally. All
objects of the project displays all objects of the selected project as tree structure.
Project documentation displays any documentation written for the individual
pop-ups and processing steps. You can print the project documentation out, send
it, and save it in various file formats.
Figure 87 shows an example for a project with several subprojects and objects.
This representation is displayed by clicking the All objects of the project button.
In the screen shown in Figure 89, the object type and import technique are
selected.
In the display shown in Figure 90, the data structures are defined for the legacy
system, so that they can be mapped in the R/3 system. You define the structures
of the object with a name, description and the hierarchical relationships.
Figure 90. Entering the structure for the legacy system in R/3
In the pop-up window, click Change. You can now define, change, relink, or
remove structures. All these functions are available via pushbuttons.
When you define more than one structure, a pop-up display appears that queries
the relationship between the structures same level/subordinated.
Figure 91 shows the rules definitions for the source fields to target fields. It also
defines how the field contents will be converted.
Data from PC applications or data already converted onto a PC-based file can
also be converted to SAP R/3 using LSMW. The display in Figure 93 shows the
interface for PC data.
For additional help and detailed examples of how to use LSMW, refer to:
http://service.sap.com/LSMW
8.4.2 MIDAS400
One of the tools for porting data from iSeries databases to SAP R/3 is MIDAS400,
developed by IT-Services and Solutions. MIDAS400 can migrate data from any
OS/400 application into the SAP R/3 system. The data migration includes the
following processes:
• Defining field relationships
• Exporting data
• Importing data
• Permanent data interface
The process of defining field relations requires applicable knowledge of both the
OS/400 application and SAP R/3. It is the basis for the whole migration process.
By defining field relations within a table, a documentation of the migration
process is created and updated automatically with every change that is made.
For data migration with MIDAS400, you can create different projects. Before you
create a new project, you need to copy all field information from the SAP R/3
system. This is realized by ABAP programs that scan the required data for field
After you select one of the SAP R/3 data types, you need to specify the
corresponding primary file of the existing OS/400 application. For each OS/400
data item, one record is created. In case there are additional files that need to be
accessed to extract migration data, these files must be declared as secondary
files. Secondary files are linked to their primary file through keys. The secondary
file can be linked to the primary file through a maximum of seven key fields.
MIDAS400 checks both the linked files and the key fields.
Cyclic fields
Some SAP R/3 data types contain so-called cyclic fields. These fields can be
defined more than once per cycle. This allows, for example, procurement or sales
order or material master items to have different amounts of quantity units
assigned to them. If this information is not provided by the primary file, secondary
files can be used as well. However, single records are not addressed and
sequentially processed through key assignment. It is rather the particular group of
records that is dealt with in this way.
Cyclic fields (loop fields) are found in several SAP R/3 dynpros. Therefore, for a
special data record, more than one value per field can be entered here. In this
case, two types of fields have to be clearly distinguished for data migration:
• Cyclic fields in the primary file: All values for these fields stem from the
primary file.
• Cyclic fields in the secondary file: All values for these fields stem from a
secondary file that is linked to the primary file through a key.
In both cases, each record containing cyclic fields is written out several times
until all cycles are completed.
To start data export, select a data type from all available data types. Assign a
primary file and possibly linked secondary files in use to the selected data type.
The data type needs to have at least one view edited by the user. Views must
contain entries for all required fields. To prevent errors, views should be checked
with the field check option.
For selection, you can enter select criteria manually on the screen or use
predefined select criteria. For batch processed data export, only predefined
select criteria are allowed. During dialog processing, the number of selected
records are shown on the screen. After this selection, the relevant records of the
primary file are processed sequentially. Data fields are read referring to the
defined field maps, converted according to the migration rules and written to the
output file. In case of errors during the process, error records are written to the
error file.
If data import takes place on a different platform than data export, the exported
file needs to be transferred to the SAP R/3 system environment using data
transfer.
The first step is performed only once, where steps two and three are used for
permanent data transfer. As a general rule for permanent data transfer, two
opposite directions must be distinguished:
• iSeries –> SAP R/3
The interface transfers data from the OS/400 application to SAP R/3.
• SAP R/3 –> iSeries
The interface transfers data from SAP R/3 to the OS/400 application.
The desired direction can be selected along with a project call. After a selection is
made, data types that are available for the chosen direction are shown.
8.4.3 R/3-KOMPAKT
R/3-KOMPAKT Switch from Plaut enables users to transfer transaction data and
master data from any iSeries application into the R/3 system. Data relationships
between the OS/400 application files are defined in control tables. The completed
migration file is available for transfer as soon as the export program is executed.
With the help of suitable transfer options, the program system can be used as a
permanent interface between subsystems and R/3. For more information on
R/3-KOMPAKT, refer to the Plaut home page at: http://www.plaut.com
Figure 94 illustrates the flow of data from its origin within an R/3 application to its
arrival on an iSeries server output queue.
iSeries server
R/3 spool system OS/400 print support
iSeries
R/3 R/3 server
application application spooled
iSeries
file to
server network
Internal output
spooled printer
data stream
R/3 file
spool
Spool
data
Format writer
information TemSe Data Output
queue
Device
definition
Printer Device
R/3 SCS, ASCII, file description
spool work process AFPDS QSYSPRT
data streams
to remote
print server
In R/3, there are several ways to produce output that is to be printed. The most
common ways are:
Therefore, printed output from R/3 can consist of a simple list or complex
documents that require advanced printer functions. In any case, R/3 does not
actually print the data. R/3 always hands the final output data stream over to the
operating system that is responsible for its final printing.
The R/3 spool system is separate from the iSeries server spooled support. As a
result, the R/3 spool system requires a definition of print resources and
capabilities. Making a printer available to an R/3 application requires a two-step
process:
1. Configure the printer on the iSeries server using the normal iSeries
configuration support. This makes the printer known to the iSeries server, but
not to the R/3 system yet.
You can find some iSeries server configuration examples in 9.11,
“LAN-attached printers” on page 202.
2. Add the printer to R/3 using the support provided by the R/3 system. This adds
a new printer to the set that is known by the R/3 system and makes it available
for use by R/3 applications.
Through the SAP GUI at the workstation, interfaces are provided to define and
add new printers to the R/3 system (using transaction SPAD).
All printer methods supported by the iSeries server can be made available to an
R/3 application, including SCS, AFPDS, and ASCII using local, LAN, and remote
attachment. For a complete description of the different printer models and
attachment methods supported by the iSeries server, refer to the redbook IBM
AS/400 Printing V, SG24-2160. A detailed description of how printers are defined
to R/3 is described in 9.5, “Example of configuring a new device to the R/3 system”
on page 166.
The R/3 spool system does not recognize or use DDS, externally described data,
and printer files. To define the proper format of print data, the R/3 spool system
provides its own mechanisms for you to use. These mechanisms are described in
more detail in the following sections.
R/3 spooled files are managed using the R/3 facilities, not of the iSeries facilities.
Through the R/3 SAP GUI at the workstation, interfaces are provided so you can:
• Display the list of outstanding spooled requests.
• Display the content of a spooled file.
Printing a spooled file causes the R/3 spool system to transform the data and
give it to the iSeries server for actual printing. Once the data is given to the
iSeries server, it enters an output queue. At that point, the printer actually prints
the data.
Note
The system printer file QSYSPRT is used by SAP R/3 if the operating system
spooler is involved. R/3 overwrites the printer file to match the printer
customization within R/3.
Managing the R/3 spooled files is discussed in 9.8, “Managing R/3 spooled and
output requests” on page 181.
TemSe data can be stored in one of two ways in the iSeries server: in database or
in the IFS. The rspo/store_location profile parameter controls the method by
which the TemSe data is stored. If this parameter has a value of db, the TemSe
data is stored in the database. If it has a value G, the TemSe data is stored in the
integrated file system. The default value for this parameter is db. For more
information, refer to SAP Note 20176.
Depending on which system the spool data is stored, you may want to run the
spool work process on the same machine.
Note
Beginning with SAP R/3 Release 4.0A, it is possible to have more than one
spool work process within an R/3 instance. For more information, refer to SAP
Note 107899.
In a two-tier configuration, the spool work process always runs on the same
machine where the TemSe data is stored. Therefore, the spool work process has
local access to the data it needs to process.
In a three-tier configuration, there are two basic options for placing the spool work
process:
• On the database server
• On the application server
Figure 95 illustrates the placement of the spool work processes on the database
server.
TemSe
data
Database server
The main disadvantage of this option is that it increases the network traffic
between an application server and the system containing the spooled data. If the
TemSe is stored in the database, then the system containing the spooled data is
the database server. If the TemSe is in the IFS, it is the system that contains
’/usr/sap/<SID>/global’. If the TemSe data must flow two ways, the R/3
applications initially send the data to the TemSe database. Later, the spool work
process must bring the data back for processing.
If the TemSe data is kept in the database, the data flow between an application
server and database server is either over fiber optic cables or Gigabit Ethernet.
Because of the high transfer rates on those types of connection, there should be
no performance problem due to network traffic. If the TemSe data is kept in the
IFS file, the data flow is across a TCP/IP connection where performance might be
a consideration (unless a high speed connection is used).
Figure 96 illustrates the placement of the spool work processes on the application
server. In this example, there are multiple application servers, each running the
same instance.
TemSe
data
Database server
To define something to the R/3 spool system, use the SPAD transaction. This
brings you immediately to the spool administration window.
A device type and its components do not provide any information about how data
is to be formatted for the printer. This information is provided by a format (paper
type). A format is linked to another component, a page format, which specifies the
physical dimensions of a paper page and the orientation of the printing on the
page.
You can modify an existing R/3 standard device type instead of creating one, but
you may lose these changes at the next release upgrade if you do this. As a
result, we strongly recommend that you follow the example of this book and
create a new device type using the template of an existing device type. Since
SAP R/3 Release 4.6B, a reference to the standard device type is kept in the new
device type. The benefit is that changes made to the standard device types (most
likely by SAP) will immediately affect all device types referencing to that one.
Table 18 shows the currently supported IBM printers and device types. For more
information, refer to SAP Note 8928.
Table 18. IBM printers supported by SAP
Printer Description
IBM239X Device type for the IBM 238X/239X Plus line printer series from
Lexmark. This includes the types IBM 2380 Plus, IBM 2381 Plus, IBM
2390 Plus, IBM 2391 Plus. The IBM emulation and character set IBM
850 are used.
IBM4226 Device type for the IBM 4226 line printers from Lexmark. The IBM
emulation and the character set IBM 850 are used.
IBM4232 Device type for the IBM 4232-302 line printer from IBM. The 4202
emulation and the character set IBM 2 are used. OCR-A and OCR-B are
included and supported. Barcode printing is not supported.
IBM6408 Device type for the IBM 6408-A00 line printer from IBM. The PropPrinter
III XL emulation and the character set IBM 850/IBM 2 are used. OCR-A
and OCR-B are included and supported. Barcode printing is not
supported.
IBMAFP Device type for the IBM external CVTPRTDTA converter. The R/3 spool
output is converted to AFPDS format and passed to IBM AFP software.
IBMAFP can only be used in conjunction with spool-exit (access method
Z or L when defining the device type). Selection of printers directly
connected to R/3 is not possible. IBMAFP must be used for 240 pel AFP
printers. Character set is ISO 8859-1 (Latin 1). OCR-A and OCR-B are
supported, as well as barcodes. IBMAFP is for use on R/3 UNIX and
Windows NT platforms.
IBMAFP3 IBMAFP3 must be used for 300 pel AFP printers. For more information,
refer to the IBMAFP printer.
IBMEFP IBMEFP is the proper device type for iSeries server R/3 Platforms and
uses the EBCDIC character set. For more information, refer to the
IBMAFP printer.
IBMEFP3 IBMEFP3 must be used for 300 pel AFP printers. For more information,
refer to the IBMEFP printer.
IBMSCS Device Type IBMSCS supports the “basic IBMSNA Character String”
data stream for printers that are connected under IBM OS/400. IBMSCS
is only supported for use under SAP R/3 on the IBM iSeries server
hardware platforms.
IBMNP Device type for laser printer IBM Infoprint 20 as well as the IBM Network
Printer 12, 17, 24, IBM Infoprint 32, Infoprint 40. OCR- and MICR fonts
are supported by the device type. The printer needs an additional
module for these fonts. “Barcode-, MICR and OCR A+B SIMM for IBM
Network Printers” is required. Read SAP Note 133660 also. Barcode
printing from R/3 is not supported.
Important note: IBMNP uses new 4.0A features (scalable font under
PCL-5) and can only be used in maintenance level 4.0A and higher.
Laser printer IBM These IBM laser printers can be operated in the PCL-5 mode with
3912/IBM device types HPLJ4/HPLJIIID. If the HP font card (as it is called for
3916/IBM 3130 HPLJ4/HPJIIID) is used, OCR-A and OCR-B can also be used. Barcode
printing from R/3 is not supported.
Line printer IBM According to IBM, this line printer (IBM 4230-4I3, IBM 4230-4S3, IBM
4230 4230-5I3, IBM 4230-5S3) is compatible with IBM 4232 and can,
therefore, be operated with definition IBM4232.
Line printer IBM According to IBM, this line printer (IBM 4247-A00, IBM 4247-001, IBM
4247 4247-002) is compatible with IBM 4232 and can, therefore, be operated
with definition IBM4232.
Line printer IBM According to IBM, this line printer (IBM 6400-005, IBM 6400-009, IBM
6400 6400-014) is compatible with IBM 6408 and can, therefore, be operated
with definition IBM6408.
Line printer IBM According to information from IBM, this line printer is identical to the
6412 BM6408 printer and can, therefore, be operated with the device type
definition of IBM6408.
Laser printers These IBM laser printers can be used in PCL-5 mode with device type
IBM Network HPLJ4/HPLJ5 or IBMNP. OCR-A and OCR-B fonts are supported when
Printer 12, 17, 24 using a special IBM Flash-SIMM (see Note 133660). Barcode printing
and 24PS from R/3 is not supported.
Laser printers You can operate this laser printer in the PCL-5 mode with device types
IBM Infoprint 20, HPLJ4/HPLJ5 or IBMNP. OCR-A and OCR-B are supported if a special
32, 40 SIMM module is used. Read Note 133660. Barcode printing is not
supported.
SAPWIN Generic device type for printers linked (or also fax devices) to PCs
running under MS Windows 3.1, Windows 95, or Windows NT by means
of the R/3 program SAPLPD. Windows printer drivers are used, and the
character set is ISO 8859-1. Barcode printing from R/3 is possible with
the additional installation of a third-party DLL (see Note 25344), but is
not supported in the standard system. OCR-A and OCR-B fonts are
possible with an appropriate TrueType font (see also Note 48803).
As of Release 3.0E, you can use SAPWIN to:
• Print proportional fonts and lines or boxes in SAPscript
• Print black and white and color TIFF graphics (with the 32-bit
SAPlpd on Windows 95 and Windows NT only)
See Note 39031.
SAPGOF SAP Generic Output Format. This data format is used to supply external
conversion programs with R/3 printouts. The SAPGOF data format can
be used to describe both ABAP list format and SAPscript documents.
ASCII version.
SAPGOF_E EBCDIC version of SAPGOF. See 9.10.5, “Access method and device
type for AFP printers” on page 188, for more information.
When creating a new device type, fill in the following input fields:
• Device type: The name by which the new device type is identified. We
recommend that this name start with the character Y or Z to avoid a collision
with the names of the predefined device types.
• Name: A field that allows you to enter descriptive information about the device
type. For example, you can enter the name and model of the related printer
here.
• Version: A field that allows you to associate a version number with the device
type definition.
• Base device type: You can select the base device type from the list box.
• SAPscript driver: The driver to use in this device type to convert the output
text format (OTF) data stream generated by SAPscript into the final data
stream for the printer. For example, drivers are provided to convert to
PostScript, Prescribe, and line printer formats. A special driver is provided to
convert from OTF to AFP. To determine which print drivers are available, click
in the list box. Select an entry from this list.
• List printer driver: Select the printer driver for converting the ABAP list
format into the final data stream for the printer.
• Printer character set: Enter three SAP ID numbers for three character sets
that are compatible with the printer model for which you are defining the
device type. Note that these are SAP character set IDs and not a
manufacturer's code page number.
The first ID is used to convert all output data sent to a printer of this type to the
correct representation for the printer. The second and third character sets are
not currently used, but must be filled in. You can use the same ID in all three
fields.
A number of character sets are predefined by SAP. To see the list of
predefined character sets, click in the field and the list symbol that appears.
Each entry in the list shows the SAP ID for the character set, an indicator of
what manufacturer the set is intended to support, and a brief description of the
character set. In most cases, this is enough information for you to choose the
correct set. If you cannot find the correct set, examine each character set and
each character in the set to ensure that its hexadecimal representation in the
set is the same as on the printer. If a character is in the set but not on the
printer, you may produce unprintable characters. If the character does not
have the same hexadecimal value, you may print a different character than
intended.
If no set is found that meets your needs, create your own character set. This is
discussed later in 9.4.6, “SAP characters and character sets” on page 165.
A device type format is created after the device type and format are created. To
create a new device type format, follow these steps:
1. Click the Device types button and then click the Change button.
2. Select the device type and click the List of implemented formats button.
3. Double-click the format and the window appears where you can edit the
control characters for all kinds of actions that can be taken at different points
during the printing of a page.
4. Not all actions that are listed need apply for a specific format. You need to
choose those that do. Your choices are influenced by what the print driver is
for the device type. Some drivers used for SAPscript do not use what is
specified here while others do. To understand what needs to be specified,
refer to the SAP Printing Guide.
5. To edit the control characters for an action, double-click the button of the
particular action. This shows a window where you can enter one or more lines
of information. What you need to enter is the exact sequence of escape
characters that are needed to accomplish the desired effect at the printer. The
control character sequences needed can be found in the printer manual for the
specific printer being used. The SAP programming editor is processing this
window. As a result, there is a language syntax that you use for entering the
information. This syntax is described in the SAP Printing Guide.
6. After you enter the information for each action, you need to enter the attributes
for the device type format. From the window that lists the actions, click the
Attributes tab.
7. Most fields on the this window are for documentation purposes only. Select the
PostScript format active check box if the format is for PostScript output.
Otherwise, deselect the check box.
The value to assign a symbolic name is determined by the print control table
associated with the printer's device type. To see the print control tables that are
available, click Utilities-> For device type -> Print PrCtls. A window appears
that allows you to select either all print controls for every device type or you can
specify a print control and device type. If you leave the defaults, a list is shown
where each print control table is identified by the name of the associated device
type. A print control table does not exist independently of its associated device
type, nor do two device types share the same print control table.
To see the print controls that are currently assigned to your device type, complete
these tasks:
1. Click the Full administration button
2. Click the Device Types tab
3. Click the Device type button.
4. Click the Change button, and select the device type from the list.
5. Click List of implemented print controls to access the print control table for
that specific device type.
Each entry consists of a couple of fields. The most important field is the one that
holds the Control character sequence. Please note the following points:
• Not all print control names have a substitution value. If a printer does not
support a particular print control function, there is no value to fill in.
• If the radio button in the Hexadecimal column is active, the value in the
Control character sequence field is in hexadecimal representation. Each
hexadecimal character is a code point in the encoding scheme of the printer
(ASCII code points for ASCII printers and EBCDIC code points for EBCDIC
printers). The values entered here are the control characters needed to
activate a specific print behavior. These are found in the technical manual for
the specific printer.
The only time you need to define a new print control table is when you create a
new device type. The easiest way to create a new print control table is to copy an
existing one and modify it.
Note
Any print control name that is specified in a print control table must also be
specified in the Standard Print Control table. Therefore, if you add a new print
control name, you need to add it to the standard table and the device type
specific table first. The standard table is edited in a manner similar to a device
type table.
To see the current content of the master list, follow these steps:
1. Click the Full administration button.
2. Click the Char. sets tab.
3. Click the SAP characters button.
As you can see from the master list that is displayed, there is no encoding
scheme associated with a character. That is, the master list only specifies the
SAP identification number and a description of what the associated character is.
To specify the exact encoding for printing a character at a printer, a character set
is used. A character set provides mapping from the SAP identification number to
the exact byte encoding for the character. Therefore, by associating a character
set with a device type, the spooled system knows how a character must be
encoded for the final output data stream.
It is unlikely that you need to define your own characters and character sets. The
character sets predefined by R/3 are extensive. Even if you need to define a new
device type, you can use one of the predefined character sets. However, R/3 has
provisions for you to:
• Add new characters to the master list.
• Create a new character set.
There a number of rules that you need to follow when doing this. To understand
fully how to work with characters and character sets, refer to the Maintaining
Character Sets chapter in the BC - SAP Printing Guide.
Sometimes it is necessary to add a new device type to your R/3 system because
the existing printer device drivers do not match the function of your printer has.
Refer to SAP Note 17054 for more information about how to copy or create a
device type.
2. Click the Change button and try to find an existing device type on the list
where the control sequences resemble your new printer. This is your template
device.
Note
For example, most of today's impact printers have the ability to emulate an
EPSON type or an IBM PROPRINTER III XL type printer. This means, you
can use one of those printers as a template if your new printer is an impact
printer. The same analogy can be applied to laser printers as well.
Many IBM SCS printers have no escape control sequences. Because of
this, these printers must be controlled by iSeries server printer files or
directly by their own settings from the control panel.
Select the printer and click the Create using template to create your new
device type. The new name should start with a Y or Z according to the SAP
naming convention for customer objects as shown in Figure 99.
3. Save the new the device type by clicking the Save button.
Go back to the spool administration window and click the Print controls
button. This shows a list of existing standard print controls as shown in Figure
100.
4. Click the Create using template button to create new standard print controls
based on an existing standard print control. Then, the Spool Administration:
Copy Standard PrCtrls window (Figure 101) appears. Enter the name of your
new standard print control, and enter a description in the Comment field.
Choose which of the three print types this new print control can be used with in
the Print control status box.
Note
If your new functionality falls into the categories of characters per inch or
lines per inch, use the standard form CIxxx and LIxxx as the name of the
new standard print control, where xxx is CPI or LPI. If your new functionality
does not fit into one of the standard categories, type a five-character code
that makes sense to you.
5. Save your new print control by clicking the Save button and go back to the
spool administration window. Click the Device types button. Select the device
type you just created (in this example ZIBM6408), and click the List of
implemented print controls button. A list of print controls is shown that was
copied from your template device and. These print controls are currently
assigned to your device type.
To add a new print control, click the Standard print controls. This shows all
standard print controls that are available. Double-click the print control you
just created (in this example CI018). Then the Spool Administration: Edit Print
Controls window (Figure 102) appears.
6. Enter the needed control character sequence according to the printer manual.
Click the Save button to save the device type.
7. Initialize the new device type for more page formats. To do this, go back to the
spool administration window, and click the Device types button. Then, select
the device type, and click the List of implemented formats button. The Spool
Administration: Format for Device Type window (Figure 103) shows a list of the
implemented formats for the selected device type.
8. Double-click the format to modify the printer initialization. Then, the Maintain
Format window (Figure 104) appears.
10.It may be helpful to add some or all of the printer initialization control
characters to the Start of page format as well, specially for very large output
requests. This will increase the time needed for the print output a little bit. The
benefit is that this initializes the printer at the very beginning of every page.
This helps usually to prevent from displaced print output.
11.If any special formats and page format are needed, follow the instructions in
9.4.4, “Format types” on page 162.
If you defined barcode print controls for your new device type, associate these
with an existing system barcode or define a new system barcode to associate
them with.
3. Click the Change button. On the next window, click the Create button and fill
in the needed information as shown in Figure 108.
4. To associate your new device type print control for barcodes with a standard
barcode or with one that was created by you, return to the SAPscript Font
Maintenance: Initial Screen. Select Printer barcodes and click the Change
button. On the next window, double-click your new device type. If the device
type you use as a template has defined barcodes, these are listed as shown in
Figure 109.
5. To add either standard barcodes or your own barcode previously defined, click
the Create button and select a desired barcode. Enter the associated print
controls SBPxx (barcode prefix) and SBSxx (barcode suffix) as shown in
Figure 110.
8. The print controls for barcode printing are now associated to the device type.
5. Specify the Host spool access method (in this case C), and enter the Host
printer, which is the name of the output queue on the iSeries server. The Spool
Administration: Create Output Device window in Figure 114 shows an
example.
Document
TemSe
Output request
When you print a document, R/3 generates a spool request and places the spool
data stored in the TemSe. The spool request and the spool data make up a output
request. You can generate several output request out of one spool request. To
combine the two-step process into one, you can specify “print immediately”.
Note
The relationship between the output request and operating system spooled file
is one to one. That means every output request results in a spooled file on the
iSeries server if the operating system spooler is involved.
In most cases, a spool request is used to manage a single spooled file. However,
if multiple spooled files are generated that have the exact same attributes, what
once were multiple spool requests are now merged into one that is used to
manage and process the multiple spooled files.
The separation of the spool request record from the actual output data allows for
an easier way to manage the spooled data and for changing attributes after the
output data is generated. For example, you can redirect the output to a different
printer.
Managing R/3 spool and output requests requires that you navigate to the Output
controller window. To do this from the SAP R/3 main menu, call the SP01
transaction.
Once the window appears, you can display a list of spool or output requests that
are in the R/3 spool system. To list the spool request, click the Spool requests
tab and enter the criteria for identifying the spooled requests in which you are
interested.
There are different criteria that you can use to identify only those spooled
requests in which you are interested. As criteria, you can enter one or more of the
following values:
• Spool request number: The number assigned by R/3 to the spool request.
• Created by: The name of the R/3 user that created the spool request.
• Date created: The creation date of the spooled request. This includes all
spool requests created on or after the specified date.
• Client: The name of the client that was used to create the spool request.
• Authorization: R/3 spool authorization.
• Output device: Spool requests for a specified output device. The device is
identified by the R/3 device name.
• Title: The title of the printed output as it appears on the standard SAP cover
sheet. The title can be used only for spool requests where the standard cover
sheet is included.
• Recipient: The name of the person to receive the document as it appears on
the standard SAP cover sheet.
• Department: The department of the recipient as it appears on the standard
SAP cover sheet.
• System name: The R/3 system name. It has to be a valid RFC destination. If
you leave the field empty, all the spool requests for all the systems in table
ALCONSEG (can be maintained use transaction RZ20) will be listed.
Once you enter the criteria, a list appears of those spool requests that meet the
criteria. For each entry selected, important attributes about that entry are shown,
including spool request number, output status, size of the data to be printed, and
title.
To list the output requests, click the Output requests tab and enter criteria for
identifying the output requests. The selection criteria is basically the same as the
above list.
Note
It is important to keep the size consumed by the spool requests to a
minimum.
You must have the necessary authority to actually use the commands.
9.10.1 Concept
The SAP R/3 AFP PrintSuite feature provides OS/400 users the Convert Print
Data (CVTPRTDTA) command to enable them to use AFP high-speed printers.
The CVTPRTDTA command provides a direct transform of SAP R/3 print data
into the AFP native MO:DCA-P data stream. This MO:DCA-P data stream
contains text records that you can print using fonts.
The SAP R/3 AFP PrintSuite feature includes two types of files that you require:
To print output from the CVTPRTDTA command, you must install the appropriate
fonts on the system from which you will print. The fonts that you need to install
are found in the IBM AFP Font Collection.
The AFP driver can be used like all other print drivers under SAP R/3 for ABAP
report and SAPscript printing.
SAP Application 1
SAP Environment
Storage Device
Spooling
Management Management
OS/400 Environment
Spool 3
Overlay
7
Fonts
Page
Segments 4 PSF
5
Page and
Form
6
Definition
9.10.2 Requirements
Table 19 shows the products that are required prior to using SAP R/3 AFP
printing.
Table 19. Required products
1. PSF/400 is the AFP system software for iSeries server printers using the IPDS
printer data stream. PSF is required to print with AFP support for SAP R/3. Install
either option 36, 37, or 38 based on the speed of your printer. The IPDS printer must
be configured with the AFP(*YES) option. For more information, refer to the redbook
IBM AS/400 Printing V, SG24-2160.
2. The AFP Compatibility Fonts are free of charge but contain only fonts in 240-pel
resolution.
3. If the target printer is a 300-pel resolution, the AFP Font Collection is required as this
product includes font family in 240 and 300-pel resolution. This product contains
libraries for code pages and fonts. The AFP Font Collection is not visible in the
DSPSFWRSC output.
IBM also has services available to create AFP resources. For more information,
contact your IBM Printing Systems Representative or call the Application
Solutions Group at 1-303-924-6700.
Figure 117 shows the elements of the AFP print process with SAP R/3 using the
AFP driver.
SAP Environment
Storage Device
Spooling
Management Management
CVTPRTDTA
AFP Driver
Config.
2
files
OS/400
Overlay Spool
Fonts
Page
Segments PSF
Page and
Form
Definition
Note
The way how to define the output device for AFP printer within R/3 has
changed since R/3 release 4.0A. Access method L has superseded access
method Z.
The SAPGOF data format is used to supply external conversion programs (such
as CVTPRTDTA) with R/3 printouts. These external software components can
also contain printer drivers for printer protocols that are not directly supported in
R/3, such as IBM AFPDS. The SAPGOF data format can be used to describe
both ABAP print lists and SAPscript (OTF) documents. SAPGOF is available in a
BETA version from Release 3.1G and in a formally released version from Release
4.0A. A SAPGOF data output is produced by setting up an output device with
transaction SPAD, which has the device type SAPGOF (or SAPGOF_E).
There are two versions of the SAPGOF data format, an ASCII version (device
type SAPGOF) and an EBCDIC version (device type SAPGOF_E).
The SAPGOF data format replaces the so-called “Spool Exit” that was available
in an earlier release (access method Z). All product suppliers for the spool exit
that are known to SAP have changed their products to the SAPGOF data format.
The spool exit (access method Z) is no longer supported by SAP after release
4.0A.
3. Enter the output device and the short name. Select the device type of
SAPGOF_E.
4. Click the HostSpoolAccMethod tab to access method L. The window shown
in Figure 119 appears.
5. Enter the output queue on the iSeries server in the Host printer field. Select
Edit- > Command set to access the Command record ID field. Type
something (like A) and double-click. The window shown in Figure 120 appears.
If a job’s pages all have the same media style, you can simply map a format that
fits your needs to a formdef in pagedef.tab. In this case, the first media map
within the formdef is used to define the media style. If there is a need to switch
media styles on a page-by-page basis (for different overlays on different pages),
SAPscript data (OTF) can invoke a media map on a page-by-page basis by
defining paper resources for pages in a custom form (formerly known as layout
set). Each paper resource name passed in the OTF page command defines a
media map. The AFP produced contains the Invoke Media Map (IMM)
commands, which call out a media map in a formdef. A media mapping remains
in effect until another media mapping is invoked.
Note
OS/400 comes with an assortment of formdefs. One of the existing formdefs
may fit your needs without requiring any modification. For more information on
existing OS/400 formdefs, refer to Printer Device Programming, SC41-5713.
Another possible solution for a job with the same media style for all pages is to
build a formdef that has the specific style you desire. For example, you may
choose the same formdef as media map found in F1SAP.PPFA, such as
S200000L, which is simplex, pull from bin 2, and print landscape). Make sure that
the new formdef has only one copy group in it (the one that defines the behavior
you desire). Create a new format (such as ZS2L). Edit pagedef.tab to include this
new entry. In the formdef field for your new entry, enter the formdef you made.
Now, the document using this new format prints with this formdef's media style.
Note
All ABAP system formats follow the naming convention
X_<number-of-rows>_<number-of-columns>, and all other system formats are
SAPscript formats (for example, Letter). Be sure that if you define a new ABAP
format, follow the naming convention
Z_<number-of-rows>_<number-of-columns>_<description>.
4. Click the Execute button. Then the Maintain Format window (Figure 125)
appears.
5. Notice that the new format is uninitialized. Click the Copy format button. Enter
a source device type and format to initialize the new format as shown in Figure
126.
6. Click the Copy reference button. Notice that the format is now initialized.
Click the Save button.
Consider the example of defining a media name for each defined page in an
existing form. Follow these steps to do this:
3. Click the Change button. The Change Header window (Figure 128) appears.
4. Click the Basic settings button to access the window in Figure 129.
5. Click the Pages button, and enter the setting like in the example shown in
Figure 130.
You must define at least one page for every form. And you must designate a
“first” page in the form header. Otherwise, text formatting is not possible. In
addition, you should inform the system which page is to be used after reaching
the end of the first page. If you do not specify a next page, the output of your
text ends at the end of the current page.
With Resource name, you can specify that the paper for this page should be
taken from a particular paper tray at the printer. In Resource name, enter the
print control that has been defined for switching to the paper tray you want to
use.
6. Click the Save button. Remember that media mapping remains in effect until
another media map is encountered.
2. Select the Font families radio button. Click the Change button and then click
the Create button on the next window. A display like the example in Figure 132
appears.
Also make sure that the new barcode resources are in your resource path and
are available on the same machine as your physical printer.
The following IBM IPDS printers can be LAN-attached to the iSeries server:
• Any IPDS printers with an IBM Advanced Function Common Control Unit
(AFCCU) such as IBM 3130, 3160, Infoprint 60, Infoprint 62, 3900, and
Infoprint 4000
• IBM Network Printers NP12 (4312), NP17 (4317), NP24 (4324), or IBM
Infoprint 20 with the appropriate LAN card (token-ring or Ethernet)
• The following IPDS printers; IBM 3812, 3816, 3912, 3916, 3112, 3116, 4028,
4230, and 6400 using the I-DATA 7913 printer LAN attachment box (token-ring
or Ethernet) 3900, and Infoprint 4000.
Before you begin to configure the printer, you should consider these points:
• Your TCP/IP network must already be set up on your iSeries server.
• Check that Print Services Facility/400 (PSF/400) is installed on your system
(Display the list of installed licensed programs by using the GO LICPGM
command and search for 5769SS1, option 36, 37, or 38).
• To avoid any problem, install the latest cumulative PTFs on your system.
3. Page down to continue, and the screen shown in Figure 139 appears.
More...
F3=Exit F4=Prompt F5=Refresh F12=Cancel F13=How to use this display
F24=More keys
User-defined object:
Object . . . . . . . . . . . . > NP17 Name, *NONE
Library . . . . . . . . . . > QGPL Name, *LIBL, *CURLIB
Object type . . . . . . . . . > *PSFCFG *DTAARA, *DTAQ, *FILE...
Data transform program . . . . . *NONE Name, *NONE
Library . . . . . . . . . . . Name, *LIBL, *CURLIB
User-defined driver program . . *NONE Name, *NONE
Library . . . . . . . . . . . Name, *LIBL, *CURLIB
Text 'description' . . . . . . . DEVD for IBM Network Printer 17
Bottom
F3=Exit F4=Prompt F5=Refresh F10=Additional parameters F12=Cancel
F13=How to use this display F24=More keys
Bottom
F3=Exit F4=Prompt F5=Refresh F10=Additional parameters F12=Cancel
F13=How to use this display F24=More keys
2. The name of the PSF configuration must correspond to the name specified in
screen in Figure 140. The same PSF configuration object can be used for
more than one printer.
IPDS pass through reduces the PSF/400 conversion time for some *SCS or
*IPDS spooled files.
If only one system is using the printer, specify *NOMAX for Release timer
because there is no need to release the printer for another system.
3. To continue, press F10 (additional parameters) and page down. The screen
shown in Figure 142 appears.
Additional Parameters
Bottom
F3=Exit F4=Prompt F5=Refresh F12=Cancel F13=How to use this display
F24=More keys
5. Leave the default parameter values as they are, and press Enter to create the
PSF configuration object.
Before you begin to configure the printer, you should consider these points:
• Your TCP/IP network must already be set up on your iSeries server.
• To avoid any problem, install the latest cumulative PTFs on your system.
More...
F3=Exit F4=Prompt F5=Refresh F10=Additional parameters F12=Cancel
F13=How to use this display F24=More keys
Figure 144. CRTDEVPRT for LAN-attached ASCII printer using the PJL driver (Part 1 of 3)
2. Page down to continue. Then you see the display shown in Figure 145.
More...
F3=Exit F4=Prompt F5=Refresh F10=Additional parameters F12=Cancel
F13=How to use this display F24=More keys
Figure 145. CRTDEVPRT for LAN-attached ASCII printer using the PJL driver (Part 2 of 3)
3. Specify *YES for Host print transform because the spooled files from the
iSeries server must be transformed from EBCDIC to ASCII. Page down to
continue. Then you see the screen shown in Figure 146.
Remote location:
Name or address . . . . . . . > '9.9.99.99'
Bottom
F3=Exit F4=Prompt F5=Refresh F10=Additional parameters F12=Cancel
F13=How to use this display F24=More keys
Figure 146. CRTDEVPRT for LAN-attached ASCII printer using the PJL driver (Part 3 of 3)
More...
F3=Exit F4=Prompt F5=Refresh F10=Additional parameters F12=Cancel
F13=How to use this display F24=More keys
More...
F3=Exit F4=Prompt F5=Refresh F10=Additional parameters F12=Cancel
F13=How to use this display F24=More keys
3. Page down to continue. Next you see the screen shown in Figure 149.
Bottom
F3=Exit F4=Prompt F5=Refresh F10=Additional parameters F12=Cancel
F13=How to use this display F24=More keys
The format (paper type) you are using to print the ABAP output has an entry in
either the ’/QIBM/UserData/PrintSuite/pagedef.tab’ or
Edit the ’/QIBM/UserData/PrintSuite/pagedef.tab’ file and change the entry for the
format your spooled output is using. It is necessary that user SIDnn is allowed to
read this file. Remember, all AFP output you print with this format will be
changed, so you may want to create another format, add this entry to the
pagedef.tab file, and print with that format instead.
Visual Explain shows the job run environment details and the levels of database
parallelism that were used to process the query. It also shows the access plan in
a diagrammatic form. This allows you to zoom to any part of the diagram for
further details.
Best of all, you do not even have to run the query to find this information. Visual
Explain has a modeling option that allows you to explain the query without
running it. That means you could try any of the changes suggested and see how
they are likely to work, before you decide whether to implement them.
For more information on Visual Explain, refer to following documents, which are
available at: http://www.redbooks.ibm.com
• DB2 UDB for AS/400 Visual Explain: Illustrating the Secrets, REDP0505
• Using AS/400 Database Monitor and Visual Explain to Identify and Tune SQL
Queries, REDP0502
• DB2 UDB for AS/400: Database Administration with Operations Navigator
V4R5, SG24-5993 (Redpiece)
The central system can be any iSeries V4R4 (or higher) server that you use to
manage the other iSeries servers in your network. The other systems that are
managed by the central system are called endpoint systems. Figure 151 shows
the Management Central topology.
C entral System
TC P/IP
Administrator's
workstation
Endpoint System
Endpoint System
Commands and package definitions can be reused later, which is not the case
with some other similar tools such as FTP.
In addition, you can establish thresholds for selected system resource collected
by each monitor and automate the triggering of warning messages or other
actions when the measurements exceed these thresholds. Management Central
will continue to monitor your systems and perform any threshold commands or
actions that you specified, even if your PC is inoperative.
This chapter outlines the standard iSeries server backup, recovery, and availability
facilities available. It also provides an example of backup and recovery facilities
and procedures in the SAP R/3 environment. You can find full, detailed coverage
of the subjects in:
• Backup and Recovery, SC41-5304
• R/3 online documentation
• BC R/3 Database Guide: DB2/400
• iSeries Information Center at
http://publib.boulder.ibm.com/pubs/html/as400/infocenter.htm
We strongly recommend that you read these documents to plan backup, recovery,
and system availability to protect and maintain crucial business functions.
11.1.1 Terminology
Before you determine the best solution for availability, it is important to
understand some availability terminology:
• Outage: A period when the system is not available to users. During a
scheduled outage, you deliberately make your system unavailable to users.
You might use a scheduled outage to run batch work, save your system, or
apply PTFs. An unscheduled outage is usually caused by a failure of some
type.
• High availability: The system has no unscheduled outages.
• Continuous operations: The system has no scheduled outages.
• Continuous availability: The system has no scheduled or unscheduled
outages.
• Disaster recovery: Plans are in place and ready to go to recover off site from
a disaster.
Notes
1. May not require you to shut down the R/3 system.
2. Is only needed in special cases such as tables containing a lot of deleted
rows that cannot be reused and causing performance or space problems.
If a failure does occur, the impact to the business must be minimized. That is why
the iSeries server places continuous emphasis on the improvement of recovery
times.
Note
This should be the minimum protection for the ASP on which the R/3
database library is located (usually the system ASP).
Do not include the disks for the journal receiver user ASP to the same parity
set used for the database library.
Note
Mirrored protection is recommended for the user ASP that contains the
journal receivers. The benefits are maximum disk unit protection and better
disk I/O performance than device parity protection can accomplish.
Note
We strongly recommend you create a user ASP to provide dedicated
resources for journal receiver objects (in the R3<SID>JRN library) for
recovery reasons and to improve the performance.
Once this information is provided, SAP returns the license keys. Until the license
keys are obtained for a machine, the R/3 system cannot be used on that machine.
SC41-5304
SAVSYS, SAVCFG,
Chapters 12 & 13 SAVSECDTA,
RSTUSRPRF, SAVLIB, SAVOBJ,
RSTAUT, RSTCFG, QSYS.LIB (Library)
SAVCHGOBJ, SAV,
RSTLIB, RSTOBJ, SAVR3SYS
RST
QDLS
RSTDLO SAVDLO
(Document Library
RST SAV
Services)
QOpenSys
RST SAV
(Open Systems)
QNetWare
RST SAV
(Novell Netware)
User-Defined File
RST SAV
System (/dev/QASPxx/)
Note
The following file systems cannot be saved:
• NFS (Network)
• QFileSvr.400 (File server)
• QOPT (Optical)
• QNTC (Windows NT server)
Figure 154 shows the commands and menu options you can use to save parts of
the system or the entire system. If you choose to use a simple save strategy,
review this figure to see which parts of your system are saved when you use the
options from the save menu.
SAVSYS
22
User Profiles
SAVSECDTA
Private Authorities
23
SAVSTG
IBM-Supplied Directories SAV
21
OS/400 Optional Libraries
QHLPSYS, QUSRTOOL SAVLIB
Licensed Program Libraries *IBM
QRPG, QCBL, Qxxxx
SAVLIB
*NONSYS
Figure 155 shows the commands and menu options you can use to restore parts
of the system or the entire system.
23
22
IBM-Supplied Directories RST
23
Filed Documents and Folders
RSTDLO
Distribution Objects
Save and restore functions can be accessed several different ways: menus via
the GO command, indirectly through other commands, or the commands
themselves. The common save and go menu commands are:
• SAVDLO: Save Document Library Objects
• SAVLIB: Save Library
• SAVOBJ: Save Object(s)
Note that there is no Restore System command since this is done as a dedicated
service tools function. Nor is there a Restore Changed Object command. There
are additional commands, but they are not listed or described here.
This chapter does not intend to explain each command in detail. However, you
can find detailed information on the save and restore commands in Backup and
Recovery, SC41-5304, or CL Reference, SC41-5722.
We list the commands that require a dedicated system. If you wrote your own
save or backup programs using save-while-active and the system is in a
dedicated mode, the save-while-active processing is ignored.
Object Frequency
R3<SID>DATA Daily
R3<SID>JRN At least daily. Make sure the user ASP does not overflow!
/sapmnt/trans transport data Save the data from the system where
the global transport directory resides.
You also need to consider the objects and paths that you may have entered into
table SPTH.
Note
Save the entire system in offline mode after the installation or upgrade of SAP
R/3 is complete! Refer to 11.5.3.1, “Saving the entire system” on page 241, for
the backup instructions.
IFS objects Offline (Save entire system) Online with disconnect from
database using the command
R3<SID>DATA Section 11.5.3.1, “Saving the SAVR3SYS R3STS(*DSCDB)
entire system” on page 241 or SAVR3SYS R3STS(*RUN)
or BRMS (with or without
DSCR3SYS and RCNR3SYS)
R3<REL>OPT -
R3<SID>400
R3400
R3<REL>RFC (opt.)
R3<REL>CPIC (opt.)
R3SYS
Refer to 11.5.1, “Backup methods” on page 239, for the available backup
methods.
The system automatically maintains the configuration data for your logical
partitions. Each logical partition load source contains the LPAR configuration
data. This data is not saved to removable media. This allows entire partition data
to be restored to a system regardless of whether it has logical partitions.
You must perform each backup from the console or a workstation that is attached
to that logical partition. Some backup commands require the system to be in a
restricted state and the operation run from a console.
Note
Changing the operation mode to a restricted state on a primary partition will not
affect other partitions.
11.3.4.1 ObjectConnect
One of the methods of saving data is using the ObjectConnect licensed program,
which is included as a part of OS/400. ObjectConnect provides the ability to
transfer entire objects between systems over a communications link.
ObjectConnect commands are named SAVRSTxxx and are closely related to the
SAVxxx and RSTxxx commands. The ObjectConnect commands mostly support
the same parameters.
For information about how to set up AnyNet, refer to AS/400 AnyNet Scenarios,
SG24-2531.
After the initial setup is done, you can include commands that start the
ObjectConnect environment in your startup procedures. After that, sending
objects is easy. You simply need to type the appropriate SAVRSTxxx command
and specify the Remote Location Name (RMTLOCNAME) where the objects are
to be restored. Table 25 lists the available ObjectConnect commands.
Table 25. List of available ObjectConnect commands
The cost and benefits vary depending not only on the location of the installation,
but also on the company policies. They also depend on the availability of the
required skills to perform the backup and recovery operations.
The strategy should cover the loss of the database, as well as the suite of
application code. The strategy should consider recovery from a disaster resulting
in the loss of the computer site. It must include the following components:
• System: Including the operating system (OS/400), user profiles, authorities,
configurations, system, and network values.
• Application software: Required for normal operations of the business,
including compilers, utilities libraries, application and general purpose libraries
(QGPL), IBM licensed program libraries, job descriptions, output queues, data
areas, message queues, and other application dependent objects.
• Databases: Containing the organization’s information.
The available tape drives provide a range of capacities per tape volume as well as
a choice of backup speeds. The actual elapsed time for backup of a user system
depends not only on the tape drive selected, but also on the sizes and number of
objects to be saved. The capacity of the CPU and other jobs running during the
backup can also affect the backup times.
Type/ Description Maximum capacity per cartridge Maximum media data rate
model
Uncompressed Compressed Uncompressed Compressed
The actual save and restore performance can vary significantly based on the
iSeries server processing speed, the type of data, the number and speed of the
disk units, and the operating characteristics of the tape unit.
11.5 Backup
Backup and recovery options for SAP R/3 on an iSeries server are managed
using native iSeries server facilities. BRMS can provide automated tape backup
and archive operations, recovery services, and tape media management to treat
tape as an extension of DASD from the application point of view.
The OS/400 provides many backup facilities that can be selected from menu
options, depending on the backup requirements. These facilities are an integral
part of the operating system, as is the database management system, security,
and so on. We do not provide a full save strategy and procedure in this section.
Therefore, refer you to Backup and Recovery, SC41-5304, for full, detailed
coverage of the subject. We include this section for your general guidance for
developing a suitable save strategy.
Offline backup You do not have to take care R/3 needs to be down for a
of synchronization at all. relatively long time.
Bottom
F3=Exit F4=Prompt F5=Refresh F12=Cancel F13=How to use this display
F24=More keys
Note
This option requires a dedicated system or restriced state, which means that
no subsystem, except the controlling subsystem (for example QCTL), is
available, and only to support the console. Upon completion, the controlling
subsytem is restarted, and the system is made ready for production. If the
STARTSAP command is not in the IPL startup program, it has to be issued
manually to start SAP R/3.
SAVE Save
System: AS23
Select one of the following:
More...
Selection or command
===> 21
4. Select option 21 to save the entire system. Press Enter to view what this option
will do as shown in Figure 158.
F3=Exit F12=Cancel
Figure 159 shows the recommended save options. For more information about
these options, refer to Backup and Recovery, SC41-5304.
Vary off network servers . . . > *ALL *NONE, *ALL, *BASE, *WINDOWSNT
5. You can use the system reply list to perform an unattended backup operation
as shown in Figure 160. See the command help for requirements.
Bottom
F3=Exit F12=Cancel
6. Check the spooled output of the save procedure and the job log to be
absolutely sure that the save operation completed successfully. You should
retain the information for disaster recovery.
This backup or save, when completed, produces an offline backup of the entire
system to tape. These tapes can be used for recovery purposes of the entire
system or individual objects.
That means this option does not save the Licensed Internal Code or the operating
system, but it saves all other data that is included in option 21 (save the entire
system).
We recommend that you do not use this option because you’ll reduce the backup
time very much compared to option 21. And you cannot restore an older version
of the Licensed Internal Code or the operating system which, might be helpful in
case of a software failure that came along with a PTF.
If only a subset of the R/3 database files change, then you could save time during
the backup process. You need to balance saving time during the backup against
the longer and more complicated recovery process with the SAVCHGOBJ
command.
Note
Specify OBJJRN(*YES) when you use the Save Changed Objects (SAVCHGOBJ)
command.
Refer to 11.3, “Save strategies” on page 232, for what needs to be saved. Section
11.5.6, “Saving journal receivers” on page 260, tells you how to save journal
receivers.
Device . . . . . . . . . . . . . '/qsys.lib/tap01.devd'
Objects: +
Name . . . . . . . . . . . . . '*'
Bottom
F3=Exit F4=Prompt F5=Refresh F10=Additional parameters F12=Cancel
F13=How to use this display F24=More keys
Objects:
Name . . . . . . . . . . . . . > '/usr/sap/R01/DVEBMGS01'
Name . . . . . . . . . . . . . '*'
5. Press F9 and F10 to see the additional parameters as shown in Figure 163.
Specify *PRINT for the Output and *LEAVE for End of media option (to save
rewind time).
More...
F3=Exit F4=Prompt F5=Refresh F12=Cancel F13=How to use this display
F24=More keys
6. Specify *YES for Object pre-check and *YES for Update history as shown in
Figure 164.
Additional Parameters
7. Check the job log to make sure that all IFS objects could be saved. You should
retain the information for disaster recovery.
8. Save the R/3 database by selecting option 2 (Save libraries) from the save
menu, or prompt the SAVLIB command as shown in Figure 165.
Additional Parameters
9. Specify *YES for Object pre-check and *YES for Save access paths as shown in
Figure 166.
More...
F3=Exit F4=Prompt F5=Refresh F12=Cancel F13=How to use this display
F24=More keys
Objects to omit:
Object . . . . . . . . . . . . *NONE Name, generic*, *NONE, *ALL
Library . . . . . . . . . . *ALL Name, generic*, *ALL
Object type . . . . . . . . . *ALL *ALL, *ALRTBL, *BNDDIR...
+ for more values
Output . . . . . . . . . . . . . > *PRINT *NONE, *PRINT, *OUTFILE
File to receive output . . . . . Name
Library . . . . . . . . . . . *LIBL Name, *LIBL, *CURLIB
Output member options:
Member to receive output . . . *FIRST Name, *FIRST
Replace or add records . . . . *REPLACE *REPLACE, *ADD
Type of output information . . . *OBJ *OBJ, *LIB, *MBR, *ERR
Bottom
F3=Exit F4=Prompt F5=Refresh F12=Cancel F13=How to use this display
F24=More keys
11.Check the spooled output of the SAVLIB procedure and the job log to be
absolutely sure that the save operation completed successfully. You should
retain the information for disaster recovery.
You should use *SPTH for IFS files to save rather than specifying the paths
manually. This determines the IFS objects to save from the R/3 table SPTH.
Therefore, you should update the table in R/3 with the information from Table 23
on page 233 before you proceed.
Section 11.5.6, “Saving journal receivers” on page 260, tells you how to save
journal receivers.
1. Use the WRKLBRM command to add a link for saving R/3 IFS objects as shown in
Figure 169.
Bottom
F3=Exit F4=Prompt F5=Refresh F12=Cancel F13=How to use this display
F24=More keys
2. Use the Work with Backup Control Groups ( WRKCTLGBRM) command to create a
new control group with option 1. You can use the example from Figure 170 to
add similar entries to your backup control group.
Group . . . . . . . . . . : SAVR3OFF
Default activity . . . . . *BKUPCY
Text . . . . . . . . . . . Offline backup of SAP R/3 without saving *JRNRCV
Bottom
F3=Exit F5=Refresh F10=Change item
F11=Display exits F12=Cancel F24=More keys
We recommend you use the <SID>OFR user profile to run the scheduled job.
You have basically the two options to save your R/3 system online with disconnect
from the database: SAVR3SYS command and BRMS.
The SAVR3SYS command saves all the information required for an R/3 system.
The intent of this command is to run on the central R/3 system (the system that
has the R/3 database and the critical R/3 stream files, such as /sapmnt/trans).
You should use *SPTH for IFS files to save rather than specifying the paths
manually. This determines the IFS objects to save from the R/3 table SPTH.
Therefore, you should update the table in R/3 with the information from Table 23
on page 233 before you proceed.
Parameter Description
SID Specify the SAP system ID of the R/3 instance to be saved. This is a
required parameter.
DEV Specify the name of the tape device on which the R/3 system should be
saved. This is specified in a “longname” format (that is,
'/QSYS.LIB/TAP01.DEVD'). This is a required parameter.
PMTCMD Specifies whether each of the save commands should be prompted by the
system (allowing you to change additional options on the save).
>*NO: Do not prompt the save commands.
*YES: Prompt each of the save commands.
R3STS Specify what should be done with the R/3 system during the save.
>*DSCDB: Disconnect each of the SAP work processes from the
database, effectively suspending them. This allows them to reach a
commitment boundary within 5 minutes, does the save, and allows the
work processes to continue once a save-while-active checkpoint has been
reached. If they do not reach the commit within 5 minutes they will be rolled
back. Using this option, you do not lose the contents of the R/3 buffers.
*END: End the SAP system (and re-start it after the database and IFS
saves are complete).
*RUN: Allow the SAP system to keep running during the save.
IFS Specify which IFS files to save (similar to the SAV command).
>*SPTH: Determine the IFS files to save from the R/3 table SPTH. This
table can be maintained in R/3.
*OMIT: Use when specifying a file that should be omitted from the save.
*INCLUDE: Use when specifying a file that should be included with the
save.
REFDATE Specifies whether a full save or whether a save of only the changed
objects (since the last save or a specified time) should be done.
>*ALL: Save all specified objects, regardless of whether they have
changed (REFTIME(*ALL) must also be specified).
*LASTSAVE: Save all the objects that have changed since the last time
the SAVR3SYS command was run (REFTIME(*LASTSAVE) must also be
specified).
Date: All changed objects from the specified date (and time on the
REFTIME parameter) will be saved.
REFTIME Specifies whether a full save or whether a save of only the changed
objects (since the last save or a specified time) should be done.
>*ALL: Save all specified objects, regardless of whether they have
changed or not (REFDATE(*ALL) must also be specified).
*LASTSAVE: Save all the objects that have changed since the last time
the SAVR3SYS command was run (REFDATE(*LASTSAVE) must also be
specified).
Date: All changed objects from the specified time (and date on the
REFDATE parameter) will be saved.
EXPDATE Specifies the expiration date for the files written to the tape. All files written
to the tape will be given the same expiration date. Files cannot be written
over until the expiration date.
>*PERM: The files will be protected permanently.
Date: The files will not be allowed to be written over until the specified
date.
SAVACTWAIT Specifies the amount of time (in seconds) that the save operation should
wait for the save synchronization point. This only affects the database
save operations.
>1200: The system will wait for the database to reach its synchronization
point within 20 minutes.
Number of seconds: The system will wait for the database to reach its
synchronization point up to the specified number of seconds.
VOL Specifies up to 75 volumes that will be used for the save operations. If
volume names are specified, the volumes must be mounted in the order
specified.
>*MOUNTED: Use the mounted volumes regardless of the volume name.
Volume: Use the specified volume name only.
This command only saves SAP R/3 related objects. Any non-R/3 related or
iSeries server specific objects (such as Q-libraries, user profiles, and so on) must
be saved using standard iSeries server save commands or menu options.
The concept of disconnecting the database from the work processes is exactly
the same as used by the SAVR3SYS R3STS(*DSCDB) command. But direct use
of the SAVR3SYS command in BRMS does not make sense.
Refer to Figure 169 on page 249 for the link list definition. We recommend that
you use similar logic for the Backup Control Group as shown in Figure 172 and
Figure 173.
Group . . . . . . . . . . : SAVR3DSC
Default activity . . . . . *BKUPCY
Text . . . . . . . . . . . Online backup of SAP R/3 w DSC, w/o *JRNRCV
Figure 172. WRKCTLGBRM: BRMS online with disconnect from database (Part 1 of 2)
Group . . . . . . . . . . : SAVR3DSC
Default activity . . . . . *BKUPCY
Text . . . . . . . . . . . Online backup of SAP R/3 w/o DSC, w/o *JRNRCV
Bottom
F3=Exit F5=Refresh F10=Change item
F11=Display exits F12=Cancel F24=More keys
Figure 173. WRKCTLGBRM: BRMS online with disconnect from database (Part 2 of 2)
Remember it does not make sense to specify *YES for Save While Active for the
IFS backup.
All the other R/3 libraries can be saved successfully without using
save-while-active. The benefit is that the overall backup procedure is faster
compared to the one that uses checkpoint processing for all the libraries. That
means the tape drive can be used for another save operation, for example if the
tape drive is shared between two systems.
We recommend you use the <SID>OFR user profile to run the scheduled job.
This function allows iSeries server objects to be backed up while they are in use.
In contrast, saving objects without this facility requires that the objects are not in
use, and even the online backup with disconnect from database does not allow
the work process to continue until the checkpoint has been reached. Due to the
additional processing involved, save-while-active takes longer to complete than
without it. However, to minimize the duration of the backup, it is a good idea to
perform a save-while-active during periods of low activity.
Note
The save operation may not be successful (checkpoint cannot be reached) if
jobs do not commit their work within the specified amount of time. See SAP
Note 202593 for information on how to solve problems with backup.
When commitment control is active for any job on the system (which is the case
for jobs running the SAP R/3 subsystem), the system performs the following tasks
during the save-while-active checkpoint processing:
• Identifies all jobs that have one or more commitment definitions with pending
committable changes related to the objects being saved by the
save-while-active operation.
• For identified jobs, allows additional committable changes to be made for any
commitment definitions already started or to be started. Additional
committable changes are allowed for the objects so that all pending changes
for the objects saved by the save-while-active operation can be committed or
rolled back.
• Delays any job that attempts to make a committable change to an object being
saved by the save-while-active operation. All commitment definitions for the
job do not have any pending changes for any objects being saved by the
save-while-active operation. The job is delayed only until the checkpoint
processing is completed for the save-while active operation.
The Save active wait (SAVACTWAIT) parameter value on the save commands
can be used to control the amount of time allowed for jobs to reach, and be
delayed at, a commitment boundary.
When the save operation starts, the system establishes a checkpoint image.
While the specified save is in progress and a request is received for an object to
be changed, the system takes a copy of the pages to be changed, and the
changes proceed on the original object. The copies of the pages before the
changes were made allow the system to perform a complete backup of the object.
Additional Parameters
3. Specify *YES for Object pre-check, *LIB for Save active, and at least 3600 (or
*NOMAX) for Save active wait time as shown in Figure 175.
More...
F3=Exit F4=Prompt F5=Refresh F12=Cancel F13=How to use this display
F24=More keys
Objects to omit:
Object . . . . . . . . . . . . *NONE Name, generic*, *NONE, *ALL
Library . . . . . . . . . . *ALL Name, generic*, *ALL
Object type . . . . . . . . . *ALL *ALL, *ALRTBL, *BNDDIR...
+ for more values
Output . . . . . . . . . . . . . > *PRINT *NONE, *PRINT, *OUTFILE
File to receive output . . . . . Name
Library . . . . . . . . . . . *LIBL Name, *LIBL, *CURLIB
Output member options:
Member to receive output . . . *FIRST Name, *FIRST
Replace or add records . . . . *REPLACE *REPLACE, *ADD
Type of output information . . . *OBJ *OBJ, *LIB, *MBR, *ERR
Bottom
F3=Exit F4=Prompt F5=Refresh F12=Cancel F13=How to use this display
F24=More keys
5. Check the job log and the save listing to be absolutely that all objects could be
saved correctly even if the object pre-check was used.
Refer to Figure 169 on page 249 for the link list definition. We recommend that
you use similar logic for the Backup Control Group as shown in Figure 178.
Group . . . . . . . . . . : SAVR3ON
Default activity . . . . . *BKUPCY
Text . . . . . . . . . . . Online backup of SAP R/3 with DSC, w/o *JRNRCV
Bottom
F3=Exit F5=Refresh F10=Change item
F11=Display exits F12=Cancel F24=More keys
Remember it does not make sense to specify *YES for Save While Active for the
IFS backup.
All the other R/3 libraries can be saved successfully without using
save-while-active. The benefit is that the overall backup procedure is faster
compared to the one that uses checkpoint processing for all the libraries. That
means the tape drive can be used for another save operation, for example if the
tape drive is shared between two systems.
Note
BRMS uses the native OS/400 save commands for saving objects. Since the
command default for the SAVACTWAIT parameter of the SAVLIB command is
set to 120 seconds, you have to change the command default parameter value
to at least 3600 seconds. Otherwise, your backup may always fail. There’s no
way to do this in BRMS itself.
You can use the MONSWABRM command in BRMS to monitor the save-while-active
operation. The logic is similar to the one used by the SAVDLTRCV command. For
more information, refer to “SAVDLTRCV program” on page 262.
We recommend you use the <SID>OFR user profile to run the scheduled job.
Attach Save
Opt Receiver Library Number Date Status Date
QSQJRN0008 R3R01JRN 00001 10/20/00 SAVED 10/28/00
QSQJRN0009 R3R01JRN 00002 10/20/00 ONLINE 00/00/00
QSQJRN0010 R3R01JRN 00003 10/23/00 ONLINE 00/00/00
QSQJRN0011 R3R01JRN 00004 10/26/00 ATTACHED 00/00/00
Bottom
Parameters or command
===>
F3=Exit F4=Prompt F5=Refresh F9=Retrieve F11=Display size
F12=Cancel
2. Use the SAVOBJ command to save the receivers with the status ONLINE. As
soon as the save process has completed, the status turns to SAVED.
The advantage to using this technique is that each journal receiver is saved only
once. You will not have problems with duplicate names and partial receivers if you
need to restore. The disadvantage to this technique is that it requires manual
effort to determine the names of the journal receivers to be saved.
This backup method may not work together with high availability solutions from
business partners because they usually use their own message queue for the
journal. In this case, we recommend you use the backup method that was
presented in the previous section.
SAVDLTRCV program
This program waits until a receiver becomes detached, resends the message to
the *SYSOPR message queue, saves the journal receiver, deletes it afterwards,
and removes the message from the message queue.
1. Before using this program, sign on as <SID>OFR and create a message queue:
CRTMSGQ MSGQ(R3<SID>400/SAVDLTRCV)
2. Change the journal to use the message queue:
CHGJRN JRN(R3<SID>DATA/QSQJRN) MSGQ(R3<SID>400/SAVDLTRCV)
3. Submit a batch job to run this program:
SBMJOB CMD(SAVDLTRCV MSGQ(R3<SID>400/SAVDLTRCV) DEV(TAP01)) JOB(SAVDLTRCV)
You should save the journal receivers to tape rather than to a save file. This
provides better protection in case of a disk failure.
However, if you want to save the journal receivers to a save file, you have to
create a R3<SID>SAVF library and use the SAVDLTRCV parameters DEV(*SAVF)
SAVF(R3<SID>SAVF/*JRNRCV). The library can then be cleared after the database
library is saved successfully.
Parameter Description
WAITITV Wait time when receiving messages. If the time expires, the job end status
is checked and either the processing is ended or the wait loop is entered
again.
Recommended value: Any high number of seconds such as 600 (10
minutes)
DLTRTYTIM If the journal receiver cannot be deleted (CPF7024), the job is delayed
some time before re trying to delete the journal receiver.
Recommended value: Any high number of seconds such as 600 (10
minutes)
SAVDLTRCVE program
This program sends a user message to stop the SAVDLTRCV job. End the
backup of the journal receivers that was started with the SAVDLTRCV command
by using the command:
SAVDLTRCVE MSGQ(R3<SID>400/SAVDLTRCV)
11.6 Recovery
Once the system fails or needs to be restored, in case of a software failure or
human error, use the information from the backup media to restore the system up
to the point of failure to minimize the amount of data loss. The restore options
may be selected from the standard Restore menu, which can be accessed by
entering the GO RESTORE command from an iSeries server command entry line.
Note
For more information on new restore options in OS/400, see Appendix B,
“Apply Journaled Changes Extended” on page 545.
For information about how to reset an overflowed user ASP, refer to Backup and
Recovery, SC41-5304.
Attention
The sequence of restoring the SAP R/3 environment is very important. Make
sure the journal receiver library R3<SID>JRN is restored before the
R3<SID>DATA database library. If not, a new journal receiver chain will be
created in the database library.
Do not restore individual files to the R/3 database. Such an action can result in
an inconsistent database. Do this only under the direction of support
personnel.
The journal receivers that contain the changes made to the database can be used
to recover the database.
Database consistency
Consider these points in regard to database consistency:
• You must ensure that commitment transaction boundaries are honored on the
apply or remove journaled changes operations by using CMTBDY(*YES) for any
APYJRNCHG or RMVJRNCHG command. If you don’t ensure this, the R/3
database will end up to be inconsistent!
• You must always recover all the database files in the R/3 library suing the
parameter FILE(R3<SID>DATA/*ALL). Otherwise, the R/3 database will be
inconsistent!
• If the recovery process fails, it does not terminate at a commitment boundary.
The R/3 database is inconsistent in this case.
Recovery restrictions
Some types of entries in the journal receiver cause the apply or remove process
to stop. These entries represent events that the system cannot reconstruct.
For example, if journaling was ended for a particular object (journal code F, entry
type EJ), the system cannot continue applying journaled changes simply because
there is no record of the subsequent changes to that object. For more
information, refer to the “Actions by journal code and entry type” table in Backup
and Recovery Guide, SC41-5304.
DB2 UDB for iSeries offers two ways to recover a database to a specific point in
time.
In case you lose the database library, backout recovery is not an option. If a
program failure or human error forces you to recover the database, consider the
following aspects:
• Find out at what point in time the database was last in a consistent state.
• When did you back up the data?
• It may be faster to perform a backout recovery, since you do not have to
restore the database.
• It may be better to use forward recovery in case the failure happened recently
after the last backup, or in case you simply cannot tell when the failure
occurred and you have go back to a certain database level.
Use the Remove Journaled Changes ( RMVJRNCHG) command directly or the Work
with Journal ( WRKJRN) command, and follow the prompts to remove (or back out)
changes from a file member. The changes are removed in reverse chronological
order from the order in which they were originally made to the file.
You can control the changes that are removed from the file. For example, assume
that an application updated entries incorrectly for a period of time. In this case,
you could remove the changes from the member until that application first opened
the member.
F3=Exit F12=Cancel
8. Note the journal sequence number from the last C code and CM type entry. In
this case, the sequence number is 5647727.
9. Prompt the RMVCHGJRN command, and enter the values as shown in the example
in Figure 181.
More...
F3=Exit F4=Prompt F5=Refresh F12=Cancel F13=How to use this display
F24=More keys
Bottom
F3=Exit F4=Prompt F5=Refresh F12=Cancel F13=How to use this display
F24=More keys
The journal receivers may have been deleted or saved with their storage freed
since the file was last saved (or from some other point). In this case, you must
restore the required journal receivers. Journal receivers do not need to be
restored in a particular sequence.
The system applies the changes to the file in the same order as they were
originally made. When you use the APYJRNCHG command, the file cannot be in
use by anyone else.
Note
You should avoid deleting the QSQJRN journal in the R3<SID>DATA library
whenever possible. Otherwise, the restore forces a chain break in the journal
receiver. you cannot use the FROMENT(*LASTSAVE) or TOENT(*LASTRST)
parameters on the APYJRNCHG command.
Bottom
Command
===>
F3=Exit F4=Prompt F9=Retrieve F12=Cancel
9. Use the WRKJRNA command, and press F15 to check whether all receivers have
been added to the journal.
10.Search for F code journal entries in the corresponding receiver chain using the
command:
DSPJRN JRN(R3R01DATA/QSQJRN) RCVRNG(*CURCHAIN) TOTIME('10/31/00'
'18:00:00') JRNCDE((F))
If there are F code entries, look them up in the Backup and Recovery Guide,
SC41-5304, to check what action the system will take for these entries. If the
action is “Ends”, you will need to restart the apply afterwards.
If there aren’t any entries, proceed with the next step. You cannot use the
RCVRNG(*CURCHAIN) command if the journal has been restored. In this
case, you have to specify the starting and ending journal receiver within the
same chain.
11.Type the APYJRNCHG command, and enter the values as shown in Figure 184.
More...
F3=Exit F4=Prompt F5=Refresh F12=Cancel F13=How to use this display
F24=More keys
12.Specify the Ending date and time and *YES for Commitment boundary as
shown in Figure 185.
Bottom
F3=Exit F4=Prompt F5=Refresh F12=Cancel F13=How to use this display
F24=More keys
13.In case you lost the journal object, you have to find out the starting and ending
journal sequence number for the APYJRNCHG command. Use the last save
entries in the journal for the journal starting sequence number. Even with
specific ranges, you can specify the *LASTSAVE value.
14.Sign off and sign on as <SID>OFR.
In the R/3 environment, the focus of a highly available solution must be at the
network level (that is, a focus that supports minimum disruption to any active
clients while a failing element of the R/3 server environment is replaced with a
backup). While the traditional replication of critical data from the primary machine
to a backup remains necessary, this by itself is not sufficient.
The switch procedure, which replaces the failing elements with a backup, now
comes to the forefront. This procedure determines if the entire R/3 network must
come down while the failing component is replaced or whether the clients can
remain up. It is also this procedure that determines whether the backup
environment is prepared properly for R/3 to run or a manual intervention is
required to do so.
The failure of one of these components can impact the entire R/3 environment.
This is in contrast, for example, to the failure of an instance that is not a central
instance. In this case, clients attached to that instance are impacted, but clients
attached to other instances are unaffected.
Because of the critical nature of these three components, we advise that you
keep them on the same iSeries server. The database and critical IFS information
are automatically together. There is, however, no restriction that limits the
location of the central instance. It may be located on a machine separate from the
one that holds the database. If this is done, the R/3 solution for high availability
becomes more complex.
There are now two points of failure within the R/3 network: the machine that holds
the database and the machine that is running the central instance. Provisions
must be made to recover from failure in either of these two nodes if R/3 high
availability is to be maintained.
High availability middleware is the name given to the group of applications that
provide the replication and management between iSeries servers. More recently
they also provide the Cluster management middleware.
The High Availability Business Partners (HABPs) provide data resiliency tools.
With OS/400 V4R4, they are heading into application resiliency. You can read
more about their solutions in the following manuals and at their Web sites:
• MIMIX:
MIMIX for SAP R/3 by Lakeview Technology, Oakbrook, IL 60521, USA
http://www.lakeviewtechnology.com
• Vision
Vision Suite by Vision Solutions, Inc., Irvine, CA 92612, USA
http://www.vision-solutions.com
• DataMirror
DataMirror High Availability Suite by DataMirror Corporation, Markham,
Ontario, Canada
http://www.datamirror.com
11.7.3 Concepts
This section discusses some high availability concepts, including LPAR, backup
systems, remote journaling, and clustering.
The primary resources in your system are its processors, memory (main storage),
I/O buses, and IOPs. Each logical partition operates as an independent logical
system. However, each partition shares a few physical system attributes such as
the system serial number, system model, and processor feature code. All other
system attributes may vary among partitions. For example, each partition has
dedicated hardware such as processors, main storage, and I/O devices.
Therefore, logical partitions have some hardware fault tolerance if configured
properly.
Figure 186 shows an example of R/3 and LPARs with replication of the production
system.
iSeries iSeries
Machine 1 Machine 2
Figure 186. SAP system PRD replicated to LPAR0 on a different iSeries server
HA software
MI
Send Receive
entry entry
DB Log Replicated
JRN
files Communications space DB files
transport
The remote journal function provides a much more efficient transport of journal
entries than the traditional approach. In the scenario shown in Figure 188, when a
user application makes changes to a database file, there is no need to buffer the
resulting journal entries to a staging area on the production (source) system.
Efficient low-level system code is used instead to capture and transmit journal
entries directly from the source system to associated journals and journal
receivers on a target system. Much of the processing is done below the machine
interface (MI). Therefore, more CPU cycles are available on the production
machine for other important tasks.
HA software
RCVJRNE Apply
Apps
job job
MI
Receive
entry
DB Remote Replicated
JRN
files Communications JRN DB files
transport
JRN JRN
Receiver Receiver
When the remote journal function is activated on the source machine, the system
replicates existing journal entries first as quickly as possible. This is referred to as
catch-up mode. Once the specified journal receivers are transmitted to the target
machine, the source starts continuously sending new entries either
synchronously or asynchronously. The mode of operation depends on what was
specified when the remote journal function was activated. The different delivery
modes are discussed in the following sections.
You can consider the journal receivers on the target machine as a replica of the
production machine’s journal receivers. It is as if you saved the production
machine’s journal receivers and restored them on the target machine. The time
stamps, system name, and qualified journal receiver names in the associated
remote journal’s journal entries are exactly the same as in the local journal’s
journal entries on the source system. In addition, the attach and detach times of
the journal receivers are the same. However, while using remote journal support,
you may see a minimal discrepancy in size between the local receiver and the
associated remote receiver. Note that you are using two different machines,
which pre-allocate space for the journal receivers in different operating system
environments. This may result in slightly different sizes, but the data in the
associated receivers is always the same.
• Synchronous mode: In synchronous mode, journal entries are replicated to
the main memory on the remote machine first. After an arrival confirmation is
returned to the source machine, the journal entry is deposited to the local
receiver. Next, the actual database update is made, if appropriate. The target
system is updated in real-time with all of the journal entries as they are
generated by a user application on the source system. Synchronous
journaling allows for recovery that loses no journal entries on the target
system if an outage is experienced on the source system. Sending journal
The business partner solutions for high availability are in the process of taking
advantage of remote journaling rather than using the traditional approach.
For more information, refer to the redbook AS/400 Remote Journal Function for
High Availability and Data Replication, SG24-5189.
11.7.3.4 Clustering
This offers a continuous availability solution. This solution, called OS/400 Cluster
Resource Services (introduced in V4R4M0), provides failover and switchover
capabilities for your systems that are used as database servers or application
servers in a client/server environment. If a system outage or a site loss occurs,
the functions that are provided on a clustered database server system can be
switched over to one or more designated backup systems that contain a current
copy (replica) of your critical application data. The failover can be automatic if a
system failure should happen, or you can control how and when the transfer will
take place by manually initiating a switch over.
Figure 189 shows a basic cluster. There are four nodes systems A though D. The
nodes are connected through a network. Systems A, B, and C are local to each
other, and system D is at a remote location. The cluster management tool
controls the cluster from anywhere is the network. End users work on servers in
the cluster without knowing or caring where their applications are running.
System A
Cluster Management
Network
System D
System B
Remote location
End-user
In the event of a failure, Cluster Resource Services (CRS), which is running on all
systems, provides a switch over. This switch will cause minimal impact to the end
user or applications that are running on a server system. Data requests are
automatically rerouted to the new primary system. You can easily maintain
multiple data replicates of the same data. Clusters contain more than two nodes.
You can group a system's resilient data (replicated data) together to allow
different systems to act as the backups for each group's resilient data. Multiple
backup systems are supported. If a system fails, cluster resource services
provides the means to reintroduce (rejoin) systems to the cluster and restore their
operational capabilities.
ClusterProven
ClusterProven is a new IBM brand initiative. It gives application providers the
ability to apply a logo their product to say it conforms to a certain level of
resilience on a particular product.
Note
Until now, SAP R/3 had not been ClusterProven.
The following examples are provided based on simple scenarios, using programs
written in ABAP and RPG/400. These examples demonstrate:
• Accessing SAP R/3 data using an RPG/400 program
• Using an ABAP program to access non-SAP R/3 data
• ABAP applications calling OS/400 commands
• RPG/400 applications triggering ABAP programs
• Common Programming Interface-Communication (CPI-C) communication
interfaces between an ABAP program and RPG/400
Important notice
All program examples were created and tested with OS/400 V4R5 and SAP
R/3 Release 4.6C, with SAP R/3 kernel release 4.6D.
All program source code (ABAP, RPG/400, and CL) contained in this chapter
are for demonstration purposes only. They are not intended for use in any
production system. We recommend that a suitably qualified programmer use
this program code as a basis for creating the required programs according to
your specific requirements. Program names and library names should be
adjusted to fit your particular environment.
12.1 Considerations
SAP R/3 on the iSeries server operates in its own environment. All SAP R/3
objects are stored in specific libraries on the iSeries, and SAP R/3 jobs run in
specific subsystems, using their own work management objects (for example,
subsystems and job descriptions). SAP R/3 can run concurrently with other
applications on the same iSeries server or on different servers connected
together.
Figure 190 shows an integrated solution. The SAP R/3 system ("R01", instance
"00") and non-SAP R/3 application run concurrently on the same iSeries server.
All SAP R/3 work processes run in the R3_00 subsystem. The non-SAP R/3
application uses the functions that are provided by the service-program LIBRFC
for communication to the SAP system. It runs in the default iSeries subsystem
environment (QINTER and QBATCH). Both the SAP R/3 system and the non-SAP
R/3 application use the same EBCDIC code page.
The user can access both applications by using parallel sessions from the
front-end PC:
• SAP GUI connects to SAP R/3 instance "00".
• 5250 emulation (for example, Client Access or Telnet) connects to the
subsystem QINTER.
R3R01DATA RFC
iSeries Subsystems
QINTER
R3_00
Other
ABAP Subsystems:
- QBATCH
SAP R/3
SAP R/3 - QSPL
Work Processes iSeries
Work Process - QCMN
- Dialog Interactive - QSERVER
- Batch programs
- Spool ...
SAP R/3
Dispatcher
PC Workstation
Client
SAP R/3
Access/400
SAPGUI
Telnet
When planning to interface non-SAP R/3 applications with SAP R/3 or exchange
data between these systems, consider the following points:
• SAP R/3 applications are developed in ABAP. Programs written in this
language can only run in an SAP R/3 environment. SAP R/3 applications do
not run directly in an OS/400 work management environment. They are
dispatched to an instance work process (batch or dialog). You cannot call an
ABAP program directly by using the OS/400 call level interface. ABAP
programs do not support this interface either. SAP R/3 provides its own
interfaces and tools for communication outside of the SAP R/3 environment.
These include:
FMT FX .....FFilenameIPEAF........L..I........Device+......KExit++Entry+A.
0001.00 FT8189DB IF E DISK
0002.00 FQSYSPRT O F 132 PRINTER
0003.00 C *IN20 DOUEQ'1'
0004.00 C READ Z8189DB 20
0005.00 C *IN20 IFEQ '0'
0006.00 C EXCPTDETAIL
0007.00 C ENDIF
0008.00 C ENDDO
0009.00 C MOVE '1' *INLR
0010.00 OQSYSPRT E 11 DETAIL
0011.00 O ITEMNM
0012.00 O ITEMD
REPORT Z8189AB1.
TABLES: Z8189DB.
SELECT * FROM Z8189DB.
WRITE: / Z8189DB-ZITEMNM, Z8189DB-ZITEMD.
ENDSELECT.
ABAP program Z8189AB1 reads the dictionary table Z8189DB sequentially, using
the SAP-SQL SELECT statement. SAP-SQL is a set of commands similar to
ANSI SQL (SELECT, INSERT, UPDATE, MODIFY, DELETE, COMMIT WORK,
ROLLBACK WORK), which is integrated into the ABAP command set. These
commands are started directly by ABAP and can only be used to access ABAP
Dictionary-defined tables and views. The resulting output of ABAP program
Z8189AB1 is shown in Figure 195.
Where Figure 194 shows the ABAP Dictionary table Z8189DB, Figure 196 shows
the file layout of the associated database file Z8189DB.
File T8189DB (Figure 192 on page 286) and file Z8189DB (SAP R/3 described)
are completely compatible. Therefore, it is possible to print the contents of file
Z8189DB using the RPG program defined in Figure 191 on page 285. To do this,
use the OS/400 OVRDBF command before running the RPG program, for example:
OVRDBF FILE(T8189DB) TOFILE(R3R01DATA/Z8189DB) LVLCHK(*NO)
CALL RFC/T8189RP1
SAP-SQL
SAP-SQL consists of a set of SQL commands similar to ANSI SQL. These
commands are run by ABAP. SAP-SQL can only access ABAP Dictionary objects.
EXEC-SQL
When you use the EXEC-SQL interface, all SQL commands are passed directly
to the DB2 UDB for iSeries database manager to be run. You may embed all
functions supported by SQL/400 and work with all DB2 UDB for iSeries database
objects to which you have access.
Figure 197 shows ABAP program Z8189SQL selecting data from outside the SAP
R/3 database (physical file T8189DB in library RFC) using the EXEC-SQL
statement. The sub-routine OUTPUT-ITEM is performed for each record retrieved
from the T8189DB file.
REPORT Z8189SQL.
DATA: BEGIN OF REC,
RITEMNM(5) TYPE C,
RITEMD(25) TYPE C,
END OF REC.
EXEC SQL PERFORMING OUTPUT-ITEM.
SELECT ITEMNM, ITEMD
INTO :REC
FROM RFC/T8189DB
ENDEXEC.
FORM OUTPUT-ITEM.
WRITE: / REC-RITEMNM, REC-RITEMD.
ENDFORM.
REPORT Z8189AB2.
DATA: FILE(20) VALUE '/t8189/t8189seq'.
DATA: BEGIN OF REC,
RITEMNM(5) TYPE C, RITEMD(25) TYPE C,
END OF REC.
OPEN DATASET FILE FOR OUTPUT IN TEXT MODE.
EXEC SQL PERFORMING OUTPUT-ITEM.
SELECT ITEMNM, ITEMD
INTO :REC
FROM RFC/T8189DB
ENDEXEC.
FORM OUTPUT-ITEM.
TRANSFER REC TO FILE.
ENDFORM.
REPORT Z8189AB3.
DATA: FILE(20) VALUE '/t8189/t8189seq'.
DATA: BEGIN OF REC,
RITEMNM(5) TYPE C, RITEMD(25) TYPE C,
END OF REC.
OPEN DATASET FILE FOR INPUT IN TEXT MODE.
DO.
READ DATASET FILE INTO REC.
IF SY-SUBRC NE 0. EXIT. ENDIF.
WRITE: / REC-RITEMNM, REC-RITEMD.
ENDDO.
CLOSE DATASET FILE.
REPORT Z8189AB4.
DATA: FILE(60) VALUE '/qsys.lib/rfc.lib/t8189db.file/t8189db.mbr'.
DATA: BEGIN OF REC,
RITEMNM(5) TYPE C, RITEMD(25) TYPE C,
END OF REC.
OPEN DATASET FILE FOR INPUT.
DO.
READ DATASET FILE INTO REC.
IF SY-SUBRC NE 0. EXIT. ENDIF.
WRITE: / REC-RITEMNM, REC-RITEMD.
ENDDO.
CLOSE DATASET FILE.
The ABAP program Z8189AB5, shown in Figure 204, runs an OS/400 command
that is passed to it as an input parameter.
REPORT Z8189AB5.
PARAMETERS:
CMD(250) DEFAULT 'CALL PGM(RFC/T8189RP1)'.
DATA: BEGIN OF LISTE OCCURS 100,
ZEILE(132),
END OF LISTE.
CALL 'SYSTEM' ID 'COMMAND'
FIELD CMD
ID 'TAB' FIELD LISTE-*SYS*.
LOOP AT LISTE.
WRITE: / LISTE-ZEILE.
ENDLOOP.
The input parameter (CMD) has a pre-defined default value (DEFAULT). When
you run the program, you may accept the default input string or override it with
another valid OS/400 command string. In the above example, the default
parameter will run the RPG/400 program T8189RP1. See Figure 205.
After the OS/400 command is executed, control is passed back to the ABAP
program and processing continues based on the command output specifications.
In the above example, the result of the OS/400 command is written to an internal
table (LISTE) and displayed on the user screen.
Figure 207 shows the entries created in member Z8189CL of the source physical
file RFC/QCLSRC.
The ABAP program Z8189AB6, shown in Figure 208, reads this source file
member (Z8189CL) sequentially and executes each OS/400 command contained
in this file.
REPORT Z8189AB6.
DATA: FILE(60) VALUE '/qsys.lib/rfc.lib/qclsrc.file/z8189cl.mbr'.
DATA: BEGIN OF REC,
CL(80) TYPE C,
END OF REC.
DATA: BEGIN OF LISTE OCCURS 100,
ZEILE(132),
END OF LISTE.
OPEN DATASET FILE FOR INPUT.
DO.
READ DATASET FILE INTO REC.
IF SY-SUBRC NE 0. EXIT. ENDIF.
WRITE: / REC-CL.
CALL 'SYSTEM' ID 'COMMAND'
FIELD REC-CL
ID 'TAB' FIELD LISTE-*SYS*.
ENDDO.
LOOP AT LISTE.
WRITE: / LISTE-ZEILE.
ENDLOOP.
CLOSE DATASET FILE.
The above ABAP program reads the source physical file member (Z8189CL) as
input. Then it creates the iSeries library T8189LIB and the source physical file
T8189LIB/QCLSRC. The output result of ABAP program Z8189AB6 is shown in
Figure 209.
Use the SAP R/3 transaction SM49 to execute a predefined OS/400 command.
Figure 211 shows the input parameters for this transaction. Note that transaction
SM49 allows you to execute the OS/400 command on another connected host
system.
Figure 213 shows how to define the job name and assign the job priority. Note
that you may select to run the background job on a specific server of the SAP R/3
system. Next, you define the job steps to be executed by the background job.
Figure 215 shows how to specify an external iSeries program as a job step. This
can be an iSeries server program or a user program.
The job steps will be run in the sequence specified. Schedule the background job
to run at the required date and time.
The following sections briefly explain how to use these two methods.
The following list briefly explains how to trigger an SAP R/3 job, using SAPEVT:
1. Define the SAP R/3 background job using transaction SM36.
2. Specify the job steps to be executed.
3. Select After event from the start time selection options.
4. Select the Periodic job option to automatically re-schedule the job upon
completion (if required). This option will automatically schedule and release a
new job (with the same name) upon completion, waiting for the event to be
raised again.
5. Save and release the background job. The job cannot be triggered if it is not in
released state.
This background job will start running once the event is raised. Figure 216 shows
how to specify the event settings in the background job definition.
The above event can then be triggered from the iSeries by issuing the following
CL command:
R346DOPT/SAPEVT EVTID(Z8189_EVENT)
PROFILE('/usr/sap/R01/sys/profile/R01_DVEBMG S01_AS23')
This command may also be incorporated into a CL program that can be used to
trigger the event.
Item Description
The ABAP program reads the input parameter and receives the field ZITEMNM
(item number). To retrieve the item description, the ABAP program invokes the
ILE RPG/400 program, passing the item number to it. This program performs a
random read on the database file T8189DB, using the item number as the key.
The item-description is passed back to the ABAP program.
SAP R/3 provides the CPI-C Software Developers Kit (SDK) with CPI-C
interfaces both for the ABAP and the OS/400 ILE compiler. The communication
can be established based both on the SNA LU 6.2 and TCP/IP protocols. CPI-C
functions for the OS/400 ILE compiler are delivered within service programs
(OS/400 object type *SRVPGM). To access the functions within your OS/400 ILE
program, you have to bind the following service programs to your program:
• CPICSLIB if using the LU 6.2 protocol
• CPICTLIB if using the TCP/IP protocol
SAP R/3
ILE RPG/400
ABAP program Gateway
Program
Z8189AB7 Instance 00
T8189ILE
CPI-C handler
*SVRPGM
CPICTLIB
Use the SAP R/3 transaction SM54 to maintain table TXCOM (Figure 219).
Create one record for each destination system you want to access, specify:
• Symbolic Destination (Dest.) : A symbolic name for the communication
definition. The ABAP communication interface refers to this name when
initializing the communication.
Note: The Gateway host and Gateway service parameters are required for R/2
systems.
CPI-C call from an ABAP CPI-C call from an ILE CPI-C call from an ILE
program RPG/400 program RPG/400 program
(LU 6.2) (TPC/IP)
The example in Figure 220 shows the interaction between an ABAP program and
ILE RPG/400 program, based on a TCP/IP connection. The ABAP program
Z8189AB7 establishes the connection to the ILE RPG/400 program T8189ILE
using the COMMUNICATION INIT and ALLOCATE functions. The ABAP program
sends the data. Then, the ILE RPG/400 program accepts the conversation and
waits for the first input from the ABAP program.
5 Communication Deallocate
REPORT Z8189AB7.
PARAMETERS: ZITEMNM(5) DEFAULT ' 1'.
INCLUDE RSCPICDF.
DATA: CONV_ID(8) TYPE C,
DEST(8) TYPE C VALUE'AS23',
RC LIKE SY-SUBRC,
ZITEMD(25) TYPE C,
DI(4) TYPE X,
SI(4) TYPE X,
LEN TYPE P VALUE 5.
COMMUNICATION INIT ID CONV_ID DESTINATION DEST RETURNCODE RC.
IF RC <> CM_OK. WRITE: / RC, 'INIT'. EXIT. ENDIF.
COMMUNICATION ALLOCATE ID CONV_ID RETURNCODE RC.
IF RC <> CM_OK. WRITE: / RC, 'ALLOCATE'. EXIT. ENDIF.
COMMUNICATION SEND ID CONV_ID BUFFER ZITEMNM LENGTH LEN.
IF RC <> CM_OK. WRITE: / RC, 'ALLOCATE'. EXIT. ENDIF.
COMMUNICATION RECEIVE ID CONV_ID BUFFER ZITEMD DATAINFO DI
STATUSINFO SI RETURNCODE RC.
IF RC <> CM_OK. WRITE: / RC, 'ALLOCATE'. EXIT. ENDIF.
WRITE: / ZITEMNM, ZITEMD.
COMMUNICATION DEALLOCATE ID CONV_ID RETURNCODE RC.
IF RC <> CM_OK. WRITE: / RC, 'DEALLOCATE'. EXIT. ENDIF.
EXIT.
External programs must be written in ILE compiler languages (ILE RPG/400, ILE
COBOL/400, or ILE C/400 are required). Similar to the CPI-C connection, which
is described in 12.7.1, “Using the CPI-C connection” on page 305, RFC
connections can:
• Establish and control communications
• Exchange data
• Convert data (ASCII <–> EBCDIC)
• Deallocate communications
All of the above functions are automatically done by the CALL FUNCTION
statement in the ABAP program. See ABAP program Z8189ABB (Figure 228 on
page 318) for an example of how to use this statement. OS/400 ILE programs,
however, must specify this information in detail, by using the RFC procedures for
OS/400 ILE compilers that are delivered within the service program LIBRFC. To
access these functions, service program LIBRFC must be bound with the OS/400
ILE program.
Table 32 lists the procedures that must be called from within the ILE RPG/400
program to perform an RFC-based interaction.
Table 32. SAP RFC communication call functions
ILE RPG/400
For more information on ILE RPG/400, refer to:
• ILE RPG/400 Programmer’s Guide, SC09-2507
• ILE RPG/400 Reference, SC09-2508
T8189ERR
Error Routine
LIBRFC
SAP Procedure
Library
Ensure that the Function Module Processing type is set to Remote enabled
module (Figure 223).
Figure 224 and Figure 225 show the Import and Export settings required to
communicate with the RPG/400 program.
The MQSeries link for R/3 works in conjunction with the enhanced Intermediate
Document (IDoc) interface. They provide customers with access from R/3 or
ABAP applications using ALE to the assured, time-independent, message
delivery service provided by IBM MQSeries.
This chapter is beneficial for SAP consultants who are installing R/3 systems for
customers. It also helpful for sales representatives who are proposing R/3, where
connection to external systems (that is, non-SAP systems) is important.
The interface requirements are frequently far more complex than these simple
examples suggest. One major oil company identified the need for several
hundred interfaces between their various systems.
The data flow may be one-way, either from R/3 to the external system or from the
external system to R/3, or it may be two-way. The data being exchanged is of
high value. It is business information that can genuinely be described as mission
critical. The originating application needs to be sure that its data will be delivered
to the target application, and that it will be informed if delivery cannot be
achieved. Both applications need to transfer and receive data under transactional
control, so that their views of the data are consistent once the transfer has
occurred.
The exchange of information does not always need to be immediate. The phrase
“near real time” is often used to describe the requirement. The systems involved
may run in different time zones, perhaps on different continents. They almost
always run on different platforms, under different operating systems, and
sometimes, on different network protocols. This means that the synchronous,
blocking approach typified by Remote Function Call (RFC) or CPI-C is not
desirable.
Customers should not have to create the infrastructure for such information
exchange themselves, but should be able to use a standard predefined method,
that is capable of adapting to changing circumstances.
Many installations have a combination of two or more of these. For cost and
efficiency reasons, it is important to keep the management of the network as
simple as possible. Therefore, a single carrier system is required to support all
cases.
SAP and IBM believe that a combination of ALE and MQSeries can satisfy these
requirements for most customers. The following sections present an overview of
MQSeries and ALE. They illustrate how these products meet the requirements
described here.
Figure 230 demonstrates this concept. In the figure, program A sends a message
to program B via Queue 1. If program B needs to communicate with program A, it
puts a message on Queue 2. Programs A and B could run on the same processor
in a single environment, on the same processor in different environments, or on
different processors in different environments.
Three key facts about messaging and queuing differentiate it from other
communication techniques:
• Communicating programs can run at different times (because MQSeries is
asynchronous).
• The application structure is not constrained.
• Programs are insulated from network complexities.
Figure 231. Programs CO and CB invoke the services of the queue managers
A program talks directly to its local queue manager (the one on the same
processor as the program itself) using the Message Queue Interface (MQI). The
MQI is a set of calls that programs use to ask for the services of a queue
manager. There are only two basic operations: put a message on a queue (using
the MQPUT call) and take a message from a queue (using the MQGET call). The
MQI and the queue managers are part of MQSeries.
One of these programs, CO, could be part of an R/3 sales and distribution
system, while the other could be part of an existing mainframe-based financial
system. The principles remain the same.
As Figure 231 shows, there is a queue manager on each of the two processors on
which communicating programs are running. In the example, the queue manager
on the Hewlett-Packard processor could be provided by the MQSeries for HP-UX
product. And, the queue manager on the iSeries processor could be provided by
the MQSeries link for R/3 for iSeries product. When communication across a
network is required, the queue managers at the different nodes in the network
communicate with each other. When communication between programs at a
single node is required, it can be handled by a single queue manager. The
programs themselves operate in ignorance of the network and keep no part of the
networking burden.
All resources, such as queues, can be protected using the security facilities
available on the operating platform.
If an application program is to place on a queue data that exceeds this size limit,
the program must split the data into a number of pieces and put each piece on the
queue as a separate message.
The MQSeries products are the base on which to build tomorrow's client/server
networks. At the present time, there are more than 20 platforms.
Any network based on MQSeries can cope with future change with:
• IBM's commitment to the continued enhancement of MQSeries
• The ease with which programs written to the MQSeries Interface (MQI) can be
ported from platform to platform
• The fact that MQSeries assures a message will be delivered and ends the
application programmer's concern about delivery and differing network
protocols
13.4.1 Concepts
ALE allows applications to be treated as independent, but integrated, parts of an
R/3 implementation. Each R/3 system runs with its own data. There is no need for
a central database; instead, data is distributed throughout the R/3 implementation
as and when required. When data needs to be distributed between applications,
the necessary communications functions are performed by ALE. Different R/3
implementations communicate with each other using synchronous or
asynchronous RFC calls.
13.4.4 Communications
If the data must be sent immediately, generally an asynchronous RFC is used.
Sometimes when remote systems need to communicate directly in read mode, a
synchronous RFC or a CPI-C program must be used.
The settings also differentiate between single IDoc processing and bulk IDoc
processing.
The MQSeries link for R/3 works with the ALE layer of R/3 to transmit IDocs into
and out of the R/3 system. It uses MQSeries messages and queues to carry the
information. It extends the scope of the business by linking R/3 applications to
any other application that can be accessed through MQSeries, even when those
applications require different data formats. See Figure 232.
SAP R/3
ALE
Applications
MQSeries MQSeries
There are two logical aspects to the MQSeries link for R/3: outbound and
inbound. Outbound is concerned with sending information from R/3, and inbound
MQSeries
IDocs Messages MQSeries
SAP R/3 Outbound
Queue
System server
Manager
MQSeries
IDocs Messages MQSeries
SAP R/3 Inbound
Queue
System server
Manager
Outbound
Outbound is when an R/3 application sends information to another application.
The R/3 application passes a single transaction to the MQSeries link for R/3 as a
set of one or more IDocs. The outbound server builds messages to an MQSeries
queue or queues.
If the data being sent is in a format that needs to be converted, an exit handler
gives access to a user exit before the message is put on MQSeries.
Inbound
Inbound is when an R/3 application receives information from another
application. The inbound server retrieves messages from MQSeries and converts
them into IDocs to pass to the R/3 application. If the data is not in IDoc format, an
exit handler in the inbound server gives access to a user exit to convert the data
received in the message from MQSeries.
The application information that the MQSeries link for R/3 passes to the R/3
system is always in the SAP IDoc format.
2 MQSeries Link
RFC
Table for R/3
1 4
ABAP SAP RFC
Application Outbound MQSeries
Server
3
MQ ABAP
MQ Table
The outbound server sends the messages to the specified MQSeries queue. All
the messages are put under syncpoint. They are treated as a single logical unit of
work.
3 4
ABAP SAP RFC 1
Application Outbound MQSeries
Server
MQ ABAP
2
MQ Table
The numbers in Figure 235 correspond to the numbers in the text that follows.
1. Once the inbound server has been started, it polls the MQSeries queue for
new messages. An application sending information to an R/3 application
places a message on an MQSeries queue. The MQSeries link inbound server
retrieves the message from the MQSeries queue, under syncpoint. The
MQSeries link for R/3 creates IDocs from the incoming transaction data. If
necessary, MQSeries link for R/3 calls a user exit to convert the data to IDoc
format.
2. The inbound server requests a transaction ID from the R/3 system.
The numbers in Figure 236 correspond to the numbers in the explanation that
follows.
1. This is the generic MQSeries message format. The header contains MQSeries
control information for processing the message and is followed by message
data.
2. The message data begins with a link header that is used by the MQSeries link
for R/3 software. The link header contains information to identify the
destination of the message.
The MQSeries link for R/3 includes exit handlers for access to user exits that
allow conversion of the structure and content of the user message data. As with
all MQSeries exits, the MQSeries link exit handlers execute the user-supplied
software in line, without additional message flows.
The MQSeries link software provides two sample exits: one to show the typical
structure of a user exit and one to provide an example of simple data
reformatting. If required, the outbound exit is called before a message is placed
into an MQSeries destination queue, and the inbound exit is called after a
message has been retrieved from an inbound MQSeries queue. These exits allow
the format of the user data in the message to be converted.
Figure 238 shows the processing flow of exits by the outbound server.
13.6.1 Installing the MQSeries link for R/3 on the iSeries server
To install the MQSeries link for R/3 on the iSeries server, follow these steps:
1. Insert the product CD into the CD-ROM drive of your iSeries server.
2. Issue the following command:
RSTLICPGM LICPGM(5733A22) DEV(OPT01)
Substitute OPT01 with the actual name of your CD-ROM drive.
3. Verify that the MQSeries link for R/3 is installed correctly on the iSeries server.
Perform these steps:
The R/3 configurations are done using the SAP transactions SM59 and SPRO.
SM59 defines the RFC destinations, which are, in this case, specific for the
MQSeries link for R/3.
The inbound server makes a direct connection to the R/3 system. The inbound
server receives messages from the inbound queue and sends the IDocs into R/3.
The message header normally contains information about that R/3 system to
which the IDoc should be sent.
If the message header does not contain R/3 connection information, the IDoc is
sent to the default R/3 system that is specified in the initialization file for the
inbound server.
The appropriate MQSeries software must also be ordered if the customer doesn't
already have it installed:
Note: To run the MQSeries link for R/3, you must have at least one R/3 system
installed.
Using the MQSeries link for R/3 with ALE also allows for a staged migration from
existing systems to R/3, with minimal disruption to existing operations.
You may decide to add more R/3 systems to the network or to more non-SAP
systems, in the future, or the customer may split off part of the company or takes
over other companies. Whatever the situation, MQSeries provides the simplicity
and flexibility to re-shape the network or networks to support the business with
minimum disruption.
Where the customer plans to replace all existing systems with R/3 applications
over time, using the MQSeries link for R/3 with ALE supports a staged migration
where the SAP system is seen as having the integrating role.
The simplicity of the MQSeries link for R/3, and the fact that it uses standard ALE
calls, and a standard SAP administration procedure, means the SAP consultant
can concentrate on helping the customer to define the Distribution Model
unconstrained by interface or connectivity considerations. The customer's key
technical staff, too, can concentrate on defining the links required, rather than on
the method to be used. The result should be a faster, smoother, implementation
cycle with a model that truly meets the customer's business needs.
With the MQSeries link for R/3, the solution can be proposed with confidence, in
the knowledge that IBM will support the link and the MQSeries products that may
be required.
14.4 Requirements
To minimize the risk involved in migrating an SAP R/3 system, SAP recommends
that you adhere to the following guidelines:
• Only suitably certified SAP Basis consultants with knowledge of the operating
system, database system, and migration tools should perform an OS/DB
Migration.
• The SAP OS/DB Migration Service must be used.
The SAP OS/DB Migration Service can be ordered through SAPNet. This
service consists of several remote service sessions, migration tools,
documentation, and project planning guides. During these sessions, SAP
provides general input and advice, assists in sizing the target hardware
platform, and does performance analysis exercises on the target system upon
successful migration. SAP produces a report with findings and
recommendations at the end of the migration project.
The SAP OS/DB Migration Service supports the migration of an SAP R/3
production system, together with its related systems (development, test,
quality assurance, and so forth). SAP recommends that you increase the
project time line when migrating to a new operating system and database
system at the same time. This allows additional time to adjust and tune the
target system.
• Only the SAP-approved migration tools should be used to migrate an SAP R/3
system.
• The target operating system and database system combination must be
certified by SAP as a valid SAP R/3 environment. SAP supported operating
system and database combinations can be found at:
http://service.sap.com/dbosplatforms
• The target system must contain the required operating system and database
system patches for the specific SAP R/3 release. The iSeries APAR list is
available at: http://www.as400.ibm.com/service/bms/support.htm
• The required hardware for the target system must be adequately sized and
procured at the beginning of the project. The migrated SAP R/3 system is
tested on the target system, while the source system continues normal
productive work.
• A separate project plan should be drawn up for each SAP R/3 system that will
be migrated. Refer to the SAP OS/DB Migration Service Planning Guide for a
sample project plan.
14.5 Preparation
Prior to commencing the migration process, you should verify that:
• The source system contains enough free disk space to accommodate a copy
of the source database. For the source database dump, compression rates
between 5 and 10 have been achieved.
• The target system has enough disc capacity for the operating system, as well
as the source database dump and the new database.
• Remote communications between the source and target systems are set up
and functioning correctly.
• Performance statistics are collected on the source system and saved for a
later comparison with the target system.
• Backup and recovery strategies, as well as high availability solutions, are in
place for the target system.
Testing is typically done using a copy of the source database. OS/DB migration
involves a series of iterative test runs before the final migration of the SAP R/3
production system. This is done to ensure an efficient migration process.
During each test run, the source database is exported from the source system
and imported into the target system. Afterwards, data consistency between the
two systems is checked and verified. System performance is also checked by
executing critical SAP R/3 transactions. All interfaces to and from the SAP R/3
system have to be checked and adapted to the new hardware platform if
necessary.
Note
The profile and parameter settings of the source system should not be copied
onto the target system. Some of these settings depend on the operating
system and the hardware configuration.
The migration process can be adjusted manually to achieve higher data transfer
rates. However, this requires highly experienced basis and migration consultants.
Extract: Define:
Amount of data Storage groups
Structure Databases
Tablespaces
STR Tables
Source- EXT Views
Database Target-
Data Database
(ORACLE,
ADABAS Data
(DB2 UDB
) for iSeries)
Data
Export / Import
The source system is stopped, and the source database is exported and imported
into the target system. The procedures followed and documented during the test
runs are used to set up the target system.
For more information on SAP OS/DB Migration and services, refer to:
http://service.sap.com/osdbmigration
For the purposes of this discussion, we assume that the naming conventions of
the R/3 systems are:
• DEV (development system)
• TST (test system)
• PRD (production system)
Note: OS/400 supports the network file system (NFS) as part of the standard
operating system. This enables iSeries servers to share stream file systems with
non-OS/400 operating systems such as AIX. This makes it easier to transport
changes between the iSeries server and other systems.
There are many ways to distribute a three SAP R/3 system landscape, such as
TST, DEV, and PRD over iSeries machines. One way is to have all three on a
We recommend you isolate your SAP production system as far as possible from
your test and development systems. There are several important disadvantages
of running your production system on the same iSeries server as your
development or test systems:
• Development activity may adversely impact the response time for the
production users
• Testing that requires major amounts of system resources, such as a trial
conversion load of master data, will impact production users
• Training classes run in a development or testing client may degrade
performance in the production R/3 system
• OS/400 PTFs once applied will impact all environments: development, test,
and production. Ideally all changes to the production system should be first
tested in a non-production environment
Each SAP R/3 system in the landscape is installed separately using R3SETUP as
described in Chapter 5, “Installation and configuration” on page 67. A key
/sapmnt/trans directory used by the Transport Management System is located on
only one of the iSeries servers in the landscape. This is referred to as the global
transport directory. It consists of all the transport files that contain the changes
that are transported between R/3 systems.
Typically, the DEV R/3 system is installed first so the link is created from
/usr/sap/trans directory on this iSeries server to the /sapmnt/trans directory.
When additional R/3 systems, such as TST and PRD, are installed at a later date
on different iSeries400 servers, the Change R/3 Shared Location
(CHGR3SHLOC) command must be used to specify the server that contains the
global transport transport directory. This then creates links using QFileSvr.400 file
system to point back to the server with the global transport directory.
For example, DEV is installed on host DEVSYS, which contains the global
transport directory, TST is installed on host TSTSYS, and PRD is installed on
host PRDSYS. After the CHGR3SHLOC command is run for TST and PRD, with
DEVSYS specified as the hostname for the global transport directory, the links
shown in Table 33 are created.
Table 33. Links for the global transport directory
Note
As shown n Figure 241, the standard SAP R/3 client 001 is copied to a new client
200 where the development activity takes place. A client 210 is created as a
sandbox or playpen that is regularly refreshed from client 200. Upon completion
of a development phase, the change requests generated in client 200 are
exported and then imported using TMS to a clean client 300 in the TST system
that is used for continuous testing. Typically, client 300 is copied to a new client
310 in the TST system to perform training of end users. When the testing is
verified, the changes are imported to client 410 in the PRD system for
pre-production integration testing. Once live, further changes are imported into
client 400, the production client, and then client 410 can be deleted.
The appropriate client change settings must be specified for each client and also
for the system as a whole in the system change options. These settings define
the types of objects that can be modified and whether changes made in a
particular client will be saved in a change request to enable them to be
transported.
When an SAP R/3 system is installed, it comes standard with three clients: 000,
001, and 066. These reference clients should not be deleted under any
circumstances and should not be used for customizing or development activities,
which should be done in a copy of client 001.
If you have all three SAP R/3 systems on a single iSeries server, each SAP R/3
system's /usr/sap/trans directory has a symbolic link to the /sapmnt/trans
directory on that system. If you have multiple iSeries servers for three SAP R/3
systems, you have the /sapmnt/trans global directory on one of the iSeries
servers, for example, the iSeries server for DEV. Other iSeries servers access
this shared directory, which is referred to as the global transport directory,
through the QFileSvr.400 file system.
You must create the QFileSvr.400 subdirectory for the host names of each iSeries
server for which access is required by using the command:
MKDIR DIR(’/QFileSvr.400/<hostname>’)
The R/3 installation tool, R3SETUP, has a menu option for changing the location
of the /sapmnt/trans directory that executes the CHGR3SHLOC command. The
TCP/IP hostname of the iSeries server with the global transport directory must be
entered.
Figure 243 shows an example of using the /sapmnt/trans shared directory when
having multiple iSeries servers in a three-system landscape.
In this example, the /sapmnt/trans directory exists on only one iSeries server, and
a symbolic link /usr/sap/trans points to the /sapmnt/trans directory on the DEV
system. As we mentioned earlier, we recommended you move the /sapmnt/trans
directory to the PRD system once the PRD system is up and running. To
understand fully how to work with the QFileSvr.400 system, refer to OS/400
Integrated File System Introduction, SC41-5711.
Important
The OS/400 user profiles <SID>OFR and <SID>nn (where <SID> is the SAP
System Identifier and nn is the instance number) must exist on the servers that
share the common transport directory. They should be created using the
CRTSAPUSR *OFR and CRTSAPUSR *SIDINST commands.
Refer to SAPNet Note 67213 for requirements for transports between R/3
systems on different iSeries servers.
#TMS:0048:DOMAIN_DEV
#
TESTIMPORT = 0
TRANSDIR = /usr/sap/trans/
#
DEV/DBHOST = DEVSYS
DEV/DBNAME = dev
DEV/DBTYPE = db4
#
PRD/DBHOST = PRDSYS
PRD/DBNAME = prd
PRD/DBTYPE = db4
#
TST/DBHOST = TSTSYS
TST/DBNAME = tst
TST/DBTYPE = db4
Prior to R/3 Release 4.5A, the TP command used with the change and transport
system requires parameters within the global transport parameter (TPPARAM)
file. Therefore, prior to R/3 Release 4.5A, you need to check that the TPPARAM
file in the /usr/sap/trans/bin directory includes an entry for each SAP system in
the transport domain with the following information, as shown in Figure 245.
##################################################
# Global parameters #
##################################################
transdir = /usr/sap/trans/
testimport = 0
##################################################
# Specific parameters #
##################################################
DEV/dbhost = DEVSYS
DEV/dbtype = db4
TST/dbhost = TSTSYS
TST/dbtype = db4
PRD/dbhost = PRDSYS
PRD/dbtype = db4
The SAP R/3 WRKLNKSAP command provides options for changing, copying,
removing, displaying, renaming, moving, printing, and working with stream files
(Figure 246).
Directory . . . . : /usr/sap/trans/bin
Subset: *
Type options, press Enter.
2=Change 3=Copy 4=Remove 5=Display 6=Print 7=Rename
9=Edit authority 11=Move 12=Work with
Bottom
F3=Exit F4=Prompt F5=Refresh F11=Alt.view F12=Previous level F13=Repeat
F14=Sort by column F16=User options F17=Top F18=Bottom F21=System command
The basic settings and standard configuration are generated. The transport
domain controller is set as the current system. You can then proceed to define the
transport routes between systems in the transport domain. For systems that are
not yet installed, they can be defined as “virtual” systems initially and are
changed later to real systems.
Once the test and production systems are installed, they can apply to be
accepted into the transport domain via RFC connections to the transport domain
controller. The changed configuration is then re-distributed to all systems in the
transport domain again via RFC from the domain controller.
The Transport Management System setup before R/3 Release 4.6A created the
following table entries:
• Known SAP systems in the landscape (table TSYST): This defines all of the
systems in the system landscape. SAP systems that are yet to be installed can
be created as “virtual” systems in TMS and be fully defined later.
• Delivery routes or paths (table TASYS): This defines the systems for which
transports are delivered automatically after successfully importing them into
the consolidation system.
• Consolidation routes or paths (table TWSYS): This allows for transporting
SAP standard repository objects into the consolidation system.
• Transport layers (table DEVL): This defines the transport path from the
development system to the consolidation system.
To accept the changes and imports from SAP directly such as via SAP Support
Packages (prior to release 4.5, referred to as “hot packages” and “legal change
patches (LCPs)”), TMS also includes an entry for a delivery system with a <SID>
of SAP.
The above tables contain a field for the Version number which allows different
TMS configurations to be stored and retrieved as needed. The TMS version
information is stored in table TCEVERS.
All objects and data within SAP are classified as either client dependent or client
independent. Client dependent objects are valid only for an individual client and
have the client number (MANDT field) as part of the key for the table. Client
independent objects cross all clients (a change to this table affects all clients in
the system). The client dependent tables have the first field called MANDT. This
is a key field that designates an entry to a specific client.
At the start of a development project, the project leader has the option of creating
a change request manually and assigning the project team members to it.
Another option is to let SAP R/3 automatically create the change request. The
Transport Organizer also creates a task for each project member. During the
customizing process, the team members assign their changes to a task number.
The task contains all of the objects that a team member is currently processing in
the development project. As the team members finish their work, they release
their tasks. The task objects are passed to the change request. When all team
members release their tasks, the change request can be released and exported.
Tasks are the lowest level of the transport system. All saved customizing and
configuration changes are copied to tasks. Each task is owned by an individual
user master record. The task contains the actual transport objects that may
consist of table entries or objects such as SAPscripts. The owner of the task must
release the task to the change request. Prior to releasing a change request, all
tasks under that change request must be released. Once released, a task can no
longer be modified. It is now ready to be imported into the next system in the
transport landscape.
In the definition window or transport requests, you can view the results of a
transport by choosing the menu option Goto-> Transport Logs.
At the same time, the change request number is added to the transport buffer of
the test system (TST). In the import phase, the requests in the transport buffer
are applied to the TST system. At the same time, the requests are added to the
buffer of the production system (PRD). Once the change is tested in the test
system, it can then be imported into the production system.
Congratulations! You just completed your first release and import of a change
request.
Attention
Windows NT user names may be longer than 10 bytes. Therefore, you may
need a guest user profile to obtain the authority from Windows NT.
In this example, both the export and import function are shown based on OS/400
commands.
For more information about OS/400 Network File System support, see OS/400
Network File System Support, SC41-5714.
We want to sign on to the iSeries server and move the exported data from the
Windows NT system to the OS/400 integrated file system. Use the following
steps:
1. Sign on to iSeries server SYSNM002 and start the FTP command to the
remote host SYSNM001.
2. Log on to SYSNM001 (user ID and password).
3. Set the name format 1 (IFS name format).
4. Change the local and remote current directory.
5. FTP the cofiles member (subcommand get).
6. FTP the data member (subcommand get, binary transfer type).
ftp SYSNM001
userid: yyyyyy
password: xxxxxx
namefmt 1
cd /usr/sap/trans/cofiles
lcd /usr/sap/trans/cofiles
get K900240.R01
cd ../data
lcd ../data
binary
get R900240.R01
quit
Note: The cofiles member is transported using ASCII - EBCDIC translation,
while the data member is transported in binary format.
For the cofiles file (text), the CPYTOSTMF command must use the
ENDLINFMT(*LF) parameter.
For the data file, the CPYTOSTMF command must use the
ENDLINFMT(*FIXED) parameter.
7. Fix authority after FTP:
CHGAUT OBJ('/usr/sap/trans/cofiles/K900240.CUS') USER(R3GROUP)
DTAAUT(*RWX) OBJAUT(*OBJMGT *OBJREF)
For more information about the FTP command, see the TCP/IP Configuration and
Reference, SC41-5420.
Note: The user ID performing the TP command must be authorized to the source
database R3<SID>DATA library, where <SID> is the source system. The user ID
must also have the supplemental group of <SID>GROUP of the source system in
their OS/400 user profile.
To check that communication between the two systems is working correctly, use
the following command:
tp 'connect <SID>'
SAP R/3 is a client/server ERP application that extensively uses SQL on the
iSeries. Therefore, this chapter also emphasizes the DB2 UDB for iSeries
database performance monitor. The recommended approach is based on the
ongoing measurement and analysis of system performance to enable you to
perform capacity planning and specific performance problem analysis.
Consider a service point where certain tasks are performed for requestors of
service. Generally, requests for service are responded to in the order in which
they arrive. Therefore, those arriving first are responded to first and leave the
service point first.
When the queue grows longer, more time is spent waiting in the queue, and the
total time taken for a request to be serviced becomes longer.
The equivalent functions of requestors and servers are also present within the
client system and within the communications network.
When requests arrive randomly at a single server with a single queue, there is an
equation that predicts the expected service times as a function of server
utilization with a good degree of accuracy over time. This equation expresses the
expected service times as a multiple of the time it takes to process a request
once it has finished waiting in the queue and is actually processed by the server.
The equation is:
QM = 1 / (1 - U)
Response time is directly related to queue length, and the queuing multiplier
expresses the effect of queuing on response times. A graph of the queuing
multiplier against utilization of the server is shown in Figure 248.
As the utilization of a server increases (more work for the server), queuing can
account for a much longer elapsed time for work (or request) completion.
The queuing multiplier is an important factor when projecting the impact of adding
work or additional hardware on current system performance. Systems with
performance problems often show resources with high queuing multiplier factors.
Another important concept is highlighted in Figure 248. The curve shows the
utilization at various rates and the significance of the knee of the curve. The knee
of the curve is the point where a change in utilization produces a corresponding
greater change in the queuing multiplier. That is, the change along the Y-axis
(queuing multiplier) is significantly greater than the change along the X-axis
(utilization). The knee of this curve is the maximum utilization point to which a
Not all resources react the same. There are different recommended maximum
values for the different resources, such as CPU, disk, memory, controller, remote
line, IOPs, and so on.
Client PCs, on the other hand, are single-user systems where the contention for
resources is minimal. However, with the introduction of multitasking operating
systems and more concurrent activity on the PCs, resource contention is
becoming a significant contributor to overall client/server performance.
The number of times information has to move between the client and server
(communications flows) and the amount of data moved before a response is
completed also increase the response time.
The interactive response time experienced by an iSeries user is the total of many
components as shown in Figure 249.
The components of the response time diagram show that the CPU is only one of
the resources (servers) involved in the response time. Disk service time must
also be included in response time expectations. Additional wait times (such as
exceptional wait times including waiting for record or object locks, waiting for
communication line data transmission, and so on) can play an important part in
actual response times experienced by a user. They must be considered when
analyzing performance problems.
Naturally, if the entire file has to be processed (as in creating a full customer list,
for example), the total processing time is directly related to the file size.
16.1.2.1 Subsystems
A subsystem in OS/400 is an operating environment used to allocate main
storage and provide a degree of isolation for jobs with similar processing
characteristics (such as batch or interactive) to run in. This minimizes contention
for system resources and increases efficiency.
You can look at the components of one of the standard OS/400 subsystems,
QBATCH, using the DSPSBSD QBATCH command. The SAP R/3 subsystem
descriptions can be found in the library R3<SID>400, where <SID> is the
three-character SAP R/3 system identifier. The SAP R/3 subsystem names are
R3_<nn>, where <nn> is the instance number assigned during installation.
Please refer to the appropriate SAP online help documentation if you need more
detailed information.
SAP
Paging
• In addition to the work process address space, the following areas of memory
are shared by the work processes:
– SAP paging memory is an extension to the roll area and is used by ABAP
programs to hold large amounts of data such as internal tables. This is also
a part of the work process address space. The paging memory can also be
accessed by all work processes.
– Shared roll memory/file is a common resource accessible by all work
processes. It contains user context information for users not currently
processing a dialog step.
Figure 252 shows that required segments of user context are copied from it
at the beginning of a dialog step (roll-in) and are copied to it at the end of
the dialog step (roll-out) from the corresponding work process address
space.
Shared Memory
Roll SAP Paging
copy-in User-1
p r copy-out 0001-1000
WP-2
p r
WP-1 v o User-2
t l 1001-2000
User-3
2001-3000
SAP
Paging
Some of the key SAP R/3 values that affect memory and disk utilization, and are
specified in the SAP R/3 instance profile (for example,
<SID>_DVEBMGS<nn>_<hostname>, where <SID> is the SAP R/3 system identifier,
<nn> is the instance number, and <hostname> is the TCP/IP hostname) are listed
here:
• ipc/shm_psize: Shared memory pool descriptor sizes that are used to define
the shared memory segments. In some platform implementations, the number
of shared memory segments per work process is limited. Shared memory
pools are not used in the iSeries implementation.
With OS/400 V4R4, teraspace memory management is also available, which was
introduced to support very large linear address spaces and to avoid the 16 MB
memory segment size restriction in SLS. Internally, teraspace uses SLS to make
available large linear address spaces.
From SAP R/3 Release 4.6, extended memory, heap memory, paging memory
and the R/3 internal buffers are located in teraspace. Only heap memory is
implemented directly in the SLS.
Table 35 contains a selection of SAP R/3 parameters that should be set initially
and reviewed after implementation to optimize performance. The values shown in
the recommended value column apply for R/3 Release 4.6 or higher and are
typical of a production SAP instance.
Table 35. SAP parameter settings (iSeries)
Important
We recommend that SAP R/3 memory parameters only be changed on the
advice of SAP or IBM. The SAP Early Watch service and Going Live functional
upgrade check examine the settings of these parameters and make
recommendations that are optimal for your workload and system resources. It
is vital that these sessions are scheduled before you “go live” with your
production SAP environment.
Use the SAP R/3 transaction ST02 and Current Parameters push button, or the
SAP R/3 transaction RZ11 to determine the current parameter values set for the
instance profile. The values can be changed by R/3 transaction RZ10 for the
instance profile (for example, <SID>_DVEBMGS<nn>_<hostname>, where
<SID> is the system identifier, <nn> is the instance number, and <hostname> is
the TCP/IP hostname). A complete list of the current values for all R/3 profile
parameters, including ones not explicitly defined in the instance or default
profiles, can be displayed via transaction RZ10 by clicking from the menu bar
Goto-> Profile values-> Of a server, and then double-clicking the server name.
Note: The effect of these values in an iSeries SAP R/3 implementation is different
from other platforms. Large values in the parameters result mainly in increased
disk utilization, with “runaway programs” using excessive amounts of system
resources cause problems. These jobs can significantly impact other users of the
system by running longer and using up more system resources before they reach
the specified limits and are terminated.
You should also consult SAPNet Notes 121625, 139326, or 44695 for more for
buffer size parameter settings specific to the iSeries. Please refer to 16.6.1.9,
“SAP R/3 internal buffers” on page 450, for information on buffer sizes and
additional parameters that need to be reviewed for good system performance.
Note: Please review the latest performance information in the following “AS/400
Latest News” SAPNet notes:
• SAPNet Note 103123 for SAP R/3 3.1I
• SAPNet Note 77864 for SAP R/3 4.0A
• SAPNet Note 99814 for SAP R/3 4.0B
• SAPNet Note 103805 for SAP R/3 4.5A
• SAPNet Note 139942 for SAP R/3 4.5B
• SAPNet Note 146836 for SAP R/3 4.6A
• SAPNet Note 179665 for SAP R/3 4.6B
The key OS/400 resource utilization indicators that affect performance are:
• Memory faulting rates indicating the frequency of faulting in a memory pool.
In general, attempt to keep these values as low as possible.
The important consideration for memory faulting is the number of memory
faults per second that each active thread can experience without impacting
response times. Therefore, the total number of faults that occur in a pool is not
the only important consideration. A pool used by many threads can show a
much higher average number of faults per second compared to a pool of the
same size with a lower number of active threads (each SAP R/3 work process
is represented by a single thread).
For example, if there are 10 active threads in a pool showing 100 faults per
second, the number of faults per thread per second is 10. Assuming a disk
service time of 0.01 seconds, the delay resulting from memory faulting is 0.1
seconds.
On the other hand, if there are only two active threads in the same pool, there
is an average of 50 faults per thread, at a “cost” of 0.5 seconds per thread.
The following calculation may help you evaluate the impact of memory pool
faulting on overall response time:
Note
The SAP R/3 transactions do not allow changes to OS/400 system parameters.
Use native OS/400 commands to make any adjustments.
The SAP transactions provide historical data to compare periods during the day
or to monitor trends. The OS/400 interactive monitoring commands show only
current information. However, you can use the OS/400 STRPFRMON command,
the Performance Collector in Operations Navigator, or other third-party software
tools, such as Snapshot/400 or Insight (discussed in 16.4.13, “Insight SAP
performance reports” on page 412), to collect and store performance data for
later analysis and comparison.
We recommend the time interval for observation to be not less than five minutes.
For a more detailed analysis, use the data collected by the OS/400 Performance
Monitor (STRPFRMON) command, which collects data over specified periods into
system-created database files in the specified library. You can use Performance
Tool/400, 5769-PT1, to analyze the collected data (see 16.4.12, “iSeries
Performance Tools” on page 409) if you purchased this licensed program. The
performance data collection capability is a part of the standard operating system.
The start profile file is in the directory /usr/sap/<SID>/SYS/profile and has the
name START_DVEBMGSnn_<hostname>.
It can be stopped and restarted using the OS Collector push button on ST06, or it
can be stopped via the R/3 Main Menu as <SIDOFR>. Note that if you have more
than one R/3 system on an iSeries, the SAPOSCOL job will run in only one of the
active R/3 subsystems, usually that of the first R/3 system to be started.
The initial display from transaction ST06 presents summary information on:
• CPU utilization
• Memory
• Pool transitions
• Disk utilization
An example of the displays from transaction ST06 appears in Figure 254 and
Figure 255.
Note: Some values are not applicable (marked N/A) in the OS/400 environment,
and others are treated differently from other operating system platforms.
CPU Utilization shows average CPU utilization over the last one minute, five
minutes, and 15 minutes. This is sometimes referred to as the load average.
Pages ins/outs appear as equal on the iSeries server due to the paging algorithm
where all available memory is used. If information is paged in, an equivalent
amount must be paged out.
Snapshot analysis
• Data collected in “Previous Hours” when the Collector was active (Table 37)
Table 37. SAP R/3 transaction ST06: Previous hours
Previous hours
Performance database
Additional functions
These options provide information on the iSeries server through the SAP GUI
interface for users who may not have access to an IBM 5250-type display
session.
The display you see when you click Detail analysis menu on transaction ST06 is
shown in Figure 256.
Local (ASM23)
System
Option Value Type Description
QACTJOB *ALC Initial number of active jobs
QADLACTJ *ALC Additional number of active jobs
...
QADLTOTJ *ALC Additional number of total jobs
...
QBASACTLVL *STG Base storage pool activity level
QBASPOOL *STG Base storage pool minimum size
...
QDYNPTYADJ *SYSCTL Dynamic priority adjustment
QDYNPTYSCD *SYSCTL Dynamic priority scheduler
...
QJOBMSGQFL *ALC Job message queue full action
QJOBMSGQMX *ALC Maximum size of job message queue
...
QPFRADJ *SYSCTL Performance adjustment
...
QMCHPOOL *STG Machine storage pool size
...
QTOTJOB *ALC Initial total number of jobs
Recommendations for these system values for iSeries servers running SAP R/3
are published in the SAP document SAP system installation: IBM AS/400 for each
SAP R/3 release.
The QPFRADJ system value controls automatic tuning of the iSeries server. It
adjusts memory pool sizes and activity levels based on the extent of system
activity and memory faulting:
• 0 = Switch off automatic tuning for all values.
• 1 = Set up the system only at IPL time.
• 2 = Set up the system at IPL time and tune dynamically.
• 3 = Tune dynamically; do not set up the system at IPL time.
Local (ASM23)
Note the following explanations of some of the parameters and columns in the
screen in Figure 259:
• % CPU used indicates the amount of CPU used during the elapsed time. If
any batch processes is running at the time, this value can be high. If CPU
usage is sustained at a high level, you may have an overloaded processor.
• % DB capability indicates the amount of CPU used for database processing
during the elapsed time.
• % System ASP used indicates the amount of disk space used of the total
available in the system ASP. This value includes the amount of disk space
occupied by the temporary objects created during normal OS/400 operations.
• Total aux stg refers to the total disk space in the entire system and excludes
any disk space that is used up by disk protection such as RAID-5 or mirroring.
• Current unprotect used indicates the amount of disk currently used by
temporary objects. Because SAP uses temporary objects, you will notice this
value rise after an IPL when SAP is started. When SAP is stopped, most of
this space is returned to the system ASP. The amount of temporary storage
used is a function of the number of active R/3 work processes, the instance
profile parameters for the SAP system, and the R/3 transactions executed. An
estimate of the initial size of temporary storage that will be used when SAP is
started can be made using the program SAPPFPAR in the kernel library. Call
this command with the parameter pf=instance profile parameter name as
follows:
CALL PGM(SAPPFPAR)
PARM(’pf=/usr/sap/<SID>/SYS/profile/<SID>_<instancename>_<hostname>’)
You may then enter the memory profile parameter names and see their values.
• Maximum unprotect used indicates the maximum amount of disk space used
by temporary objects since the last IPL.
• DB and Non DB Faulting is measured in faults per second and is the only
measure to determine how the iSeries server is using the available memory in
Local (ASM23)
Local (ASM23)
A CPU snapshot shows the average CPU load for all main processors in an
iSeries server. This is similar to the OS/400 WRKSYSSTS command, which also
shows a single value for CPU utilization. The automatic load balancing on the
OS/400 system ensures that all processors are evenly utilized.
From the SAP R/3 Detailed analysis menu (Figure 256), click the LAN push
button within Snapshot analysis to see the information in the display in Figure
267.
The file system snapshot shows the disk capacity utilization of all auxiliary
storage pools (ASPs) defined on the iSeries such as:
• ASP1 = System ASP (SAP R/3 database and executables)
• ASP2 = User ASP (SAP R/3 journal receivers)
The pool snapshot shows the memory pools defined on the iSeries, together with
the database and non-database faults per second.
The file system shows the disk capacity usage of all auxiliary storage pools
(ASPs) defined on the iSeries server such as:
• ASP1 = System ASP (SAP R/3 database and executables)
• ASP2 = User ASP (SAP R/3 journal receivers)
The pool snapshot shows the memory pools defined on the iSeries server
together with the database and non-database faults per second. Use the scroll
bar to see the job transition information.
Use F11 to view additional information (Figure 279) on the jobs running on the
iSeries server.
By default, all SAP R/3 jobs run in memory pool 2 (*BASE). With the exception of
the Dispatcher, Gateway, Message Server, and Enqueue jobs, which run at
priority 12, the R/3 work process jobs run at a priority of 20. The memory pool
that all work processes run in can be changed by modifying the appropriate
subsystem description for pool definition and the routing entry.
The run priority for all the SAP R/3 work processes in an SAP R/3 instance can
be modified by changing the associated values in the class used by the OS/400
subsystem description. It is also possible to assign priorities by work process
class.
An SAP R/3 instance has a unique number within each iSeries server and is
assigned during creation of the instance. The OS/400 subsystem under which an
SAP R/3 instance runs is denoted by R3_<nn>, where <nn> is the instance
number.
You can limit the jobs that appear when using the WRKACTJOB command to a
specific SAP R/3 instance by specifying the parameter SBS(R3_<nn>), where
<nn> is the instance number.
If you want to see the same information presented in order (by CPU usage, for
example), position the cursor on the CPU % column and press F16.
To identify the SAP R/3 work process type and process ID (PID) of each OS/400
server job, from R/3 Release 4.6, you can use R/3 transaction SM50. The number
nn in the OS/400 job name WPnn equates to the first column of the SM50
Process overview display.
From SAP R/3 Release 4.6, the OS/400 job names of SAP R/3 work processes
are in the format "WP<nn>", where <nn> is the work process number. For
example, the OS/400 job name for work process 1 would be WP01. The job name
DISP is used for the R/3 Dispatcher job.
For releases before SAP R/3 Release 4.6, use the OS/400 Work with a Job by
PID (WRKPID) command (delivered with SAP R/3 kernel) to obtain OS/400 job
information for the required PID. This OS/400 command shown in Figure 282
provides you with the job details about active SAP R/3 work processes. Note that
all R/3 work process jobs are called DISP in releases before SAP R/3 Release
4.6.
Bottom
F3=Exit F4=Prompt F5=Refresh F12=Cancel F13=How to use this display
F24=More keys
You can change the value in the prompt for the xxxJOB command from WRK to
DSP or CHG.
Bottom
F3=Exit F4=Prompt F5=Refresh F10=Additional parameters F12=Cancel
F13=How to use this display F24=More keys
The screen in Figure 285 shows the messages displayed in the history log when
an R/3 system is ended.
More detailed information for any message is available through the F1 help
function key by positioning the cursor on the required line.
Opt Message
Messages needing a reply
(No messages available)
CPYTOSTMF FROMMBR('/QSYS.LIB/QGPL.LIB/QAPZCOVER.FILE/QII12399.MBR')
TOSTMF('/usr/sap/trans/config/infoapar.450')
Refer to SAP Note 144149 AS/400: Compare PTF status with Informational APAR
for the correct command for earlier OS/400 releases. See Figure 290.
In OS/400 release V4R5 and earlier, it is also possible to use the STRPFRMON
command. In OS/400 V5R1, the STPFRMON command has been replaced with
Collection Services.
In this case, we recommend you start the OS/400 Performance Monitor after you
start the SAP R/3 systems and allow the R/3 application to run for a while to allow
the SAP internal buffers to stabilize. End the OS/400 performance monitor before
you stop SAP R/3 system. This gives you data that covers normal user activity
and excludes any overhead involved in starting and ending the SAP R/3 system.
Time interval (in minutes) . . . > 5 5, 10, 15, 20, 25, 30, 35...
Stops data collection . . . . . *ELAPSED *ELAPSED, *TIME, *NOMAX
Days from current day . . . . . 0 0-9
Hour . . . . . . . . . . . . . . > 1 0-999
Minutes . . . . . . . . . . . . 0 0-99
Data type . . . . . . . . . . . *ALL *ALL, *SYS
Select jobs . . . . . . . . . . *ALL *ALL, *ACTIVE
Trace type . . . . . . . . . . . *NONE *NONE, *ALL
Dump the trace . . . . . . . . . *YES *YES, *NO
Job trace interval . . . . . . . .5 .5 - 9.9 seconds
Job types . . . . . . . . . . . *DFT *NONE, *DFT, *ASJ, *BCH...
+ for more values
More...
F3=Exit F4=Prompt F5=Refresh F10=Additional parameters F12=Cancel
F13=How to use this display F24=More keys
The arrows indicate the fields that you may want to change on this display, such
as the duration of the collection and the time interval between each collection of
performance monitoring information. We advise that you obtain the instructions
from someone with OS/400 performance analysis expertise to provide you with
guidance on collecting and analyzing the information.
Apart from the WRKSYSACT command, all options use data gathered by the
Performance Monitor.
16.4.12.1 WRKSYSACT
The Work with System Activity (WRKSYSACT) command, which is installed with
the Performance Tools licensed program, allows you to interactively work with the
jobs and tasks currently running in the system. It gives a snapshot of user jobs
and system tasks using CPU and disk resources being refreshed automatically.
See Figure 292.
If you installed Performance Tools on your system, the menu shown in Figure 293
appears when you enter the GO PERFORM command.
Selection or command
===>
For more detailed information on facilities available with the Performance Tools,
please refer to OS/400 Performance Tools/400, SC41-5340.
Make sure that the number of memory faults is minimized and within guidelines.
This screen is shown in Figure 294.
Bottom
Command
===>
F3=Exit F4=Prompt F5=Refresh F9=Retrieve F10=Restart
F11=Display transition data F12=Cancel F24=More keys
Values of 1 or 2 for QPFRADJ result in a second memory pool of the QSPL and
QBASE subsystems to be changed to shared pools *SPOOL and *INTERACT
respectively. QPFRADJ values of 1, 2, or 3 change the machine, interactive, and
spool memory pool sizes. Values of 2 or 3 in QPFRADJ include the shared
memory pools in the memory management process.
Note: For more information, refer to the OS/400 online help text.
Table 40. QPFRADJ values
0 1 2 (IPL and 3
(Automatic) (IPL Only) automatic) (automatic)
QMCHPOOL X X X
QBASACTLVL X X X
0 1 2 (IPL and 3
(Automatic) (IPL Only) automatic) (automatic)
When you use the automatic tuning feature (QPFRADJ=1,2 or 3), also specify the
following parameters using the OS/400 WRKSHRPOOL command followed by pressing
F11. You then see the screen in Figure 295.
If disk usage is high, for example over 90%, you should take steps to reduce disk
space usage by deleting objects that are not required. You should make sure that
the automatic cleanup jobs are run each day. Use the OS/400 GO CLEANUP
command and select option 1 to display or change the cleanup options as shown
in Figure 296.
As a regular exercise, you should also review the contents of user-defined output
queues with the WRKOUTQ command and remove unnecessary spooled files.
You can set up thresholds for each disk auxiliary storage pool (ASP) which sends
a message to the QSYSOPR message queue whenever the threshold value is
exceeded. The threshold values are set in the System Service Tools. To set the
threshold values, enter the STRSST command. The screen shown in Figure 297 is
presented.
Selection
Choose option 3 (Work with disk units), next select option 2 (Work with disk
configuration), and then choose option 3 (Work with ASP threshold). The next
screen that appears (Figure 298) allows you to set the threshold values for each
ASP.
----Protected--- ---Unprotected--
Option ASP Threshold Overflow Size %Used Size %Used
1 90% No 60129 17.58% 0 0.00%
2 90% No 8589 0.03% 0 0.00%
F3=Exit F12=Cancel
You can also attempt to recover any space occupied by deleted records. Even
though SAP R/3 database files on the iSeries server are defined to reuse deleted
records (REUSEDLT=*YES), depending on the activity of your database, there
can be an accumulation of deleted records that may increase your disk usage
beyond what is necessary.
Examine the database for deleted records using SAP R/3 transaction ST04 and
selecting Detail analysis menu-> State on disk or transaction DB02 by clicking
the Deleted row analysis push button. You can use the OS/400 RGZPFM
command to recover the space occupied by deleted records. A method of
selecting only files with more than a specific number of deleted records is
described in SAP Note 84081: Reorganization of an R/3 system on AS/400.
Useful data about the amount of disk space used by each file system and library
on the iSeries can be obtained by using the OS/400 RTVDSKINF command. This
command should be scheduled to run on a regular basis, for example weekly, and
when major changes are made to your system. It should be scheduled during a
period of low activity on the server. Depending on the amount of data on the
system, it may take several hours to complete. Each time the command is run, it
will replace the existing data previously collected.
Once the RTVDSKINF command has collected the information about disk space,
a report can be generated via the OS/400 PRTDSKINF RPTTYPE(*LIB)
command. A sample of the output is shown in Figure 299.
The Work with Disk Status (WRKDSKSTS) command shows the current
performance information for every disk unit in auxiliary storage (Figure 300).
If your disk arm utilization is approaching the recommended threshold values and
there are no memory constraints resulting in excessive memory faulting and the
associated disk arm activity, you might consider installing additional or faster disk
drives to reduce the disk arm utilization. As higher capacity disk (DASD) devices
(8 GB and 18 GB) for the iSeries become available, fewer arms are needed to
satisfy the capacity requirements. This can lead to configuring too few disk arms
(actuators) to meet the workload placed on them. A lack of disk arms can
bottleneck the processor's performance. To avoid such a bottleneck, a minimum
If you recently added more disk drives to an ASP, the new drives, at first, will have
very little data stored on them. Over time, OS/400 will gradually even this out, but
you will achieve better read and write performance if the data is spread evenly
over all the available disk units. You can use the OS/400 STRASPBAL command
to evenly distribute the data in an ASP across all the disk units by using the
*CAPACITY option. Another alternative is to save the data in the ASP, delete it,
and then restore the data from tape. Other options can be considered with disk
balancing. For example, one option is the distribution of data by usage balancing
to move data from busy disks to less used disks. Another option is by Hierarchical
Storage Management (HSM) balancing to move data from low performance
drives to high performance drives if you have different speed disk drives in an
ASP. These two options require the collection of trace data using the
TRCASPBAL command.
However, there are situations when these algorithms do not provide the best
performance, for example, when a new disk unit is added to an existing ASP. At
the beginning, this disk is empty and contains no data. Therefore, all newly
created objects or additions of new data to existing objects are primarily done on
this disk. This causes the new disk to be used at a higher rate than other disks
within ASP, until the new disk reaches the same percentage of used space as
other disks. Most likely, the new disk will also be used more heavily later because
it contains newer data, which is typically accessed more frequently. A solution is
to use the new ASP balancing options that enable the authorized user to balance
the distribution of data in an ASP.
These balancing options redistribute the existing data throughout the disks within
the ASP. They do not change the storage management algorithms, which still
work the same way.
Usage Balance
This option balances the data on the disk units in an ASP according to the
frequency of usage of this data. As opposed to the Capacity Balance, the
percentage of used space will no longer be even after running the Usage Balance.
This is OK since the final goal of using the Usage Balance is to have less data on
highly utilized disks and more data or less utilized disks. Use Usage Balance
when your system has a wide range of different disk utilizations within an ASP.
This difference can be due to a mixture of different capacity disks or when some
data is accessed more frequently. There are several ways to determine disk
utilization:
• Performance Manager/400 (PM/400) report for customers who sign up for the
IBM PM/400 service offering.
• OS/400 Work with Disk Status (WRKDSKSTS) command. This command
shows performance and status information about the disk units on the system.
It displays the number of units currently on the system, the type of each disk
unit, the size of disk space, the percentage of disk space used, the I/O
requests per second, the average size of the I/O requests, the average
number of read and write requests, the average amount of data read and
written, and the percentage of time that the disk is being used.
• Component Report of the Performance Tools licensed program. Performance
Tools provide a means for a detailed performance analysis of all system
components. The performance data used for analysis can be collected by:
– OS/400 feature Performance Monitor that you run with the Start
Performance Monitor (STRPFRMON) command
– Operations Navigator feature Performance Collection Services
Usage Balance moves cold data to highly utilized disks, and therefore, tries to
influence future allocations of data away from those units. Usage Balance
uses the results of previous ASP traces to determine the disk unit usage.
Therefore, you must perform an ASP trace before you can run the Usage
Balance.
Disk unit compression was introduced with V4R3. Compressed disks have a
larger capacity (because they contain compressed data), but are somewhat
Selection
8
F3=Exit F12=Cancel
This screen appears after you select the Work with disk units option on the SST
(or DST) main menu and select Work with Disk Configuration.
If you do not use the Add units to ASPs and balance data option, we recommend
that you run capacity balancing as soon as possible after the addition of a new
disk unit to ASP.
16.5.1.8 STRASPBAL
The Start ASP Balance (STRASPBAL) command allows the user to run the ASP
balancing function for one or more ASPs. In OS/400 releases prior to V4R1, the
only straightforward way to redistribute the data on disks is through this process:
1. Save the object.
2. Rename or destroy the object.
3. Create dummy files to fill the space that the object occupied.
4. Restore the object, which is then evenly spread across all disk units in an ASP.
V4R3 contains the Disk Balance (DSKBAL) command that schedules the
balancing to occur at the next IPL. The DSKBAL command is also available as a
PTF for V4R1 and V4R2. In V4R4, the STRASPBAL command replaces the
DSKBAL command.
The STRASPBAL command can run for 1 to 9,999 minutes or with unlimited time.
The ASP balancing ends when:
• The balancing is completed.
• The specified time is expired.
• The ENDASPBAL command is run.
If the balance function stops before the balancing is completed, it will continue
from where it left off when the balance function restarts. This allows the balancing
to be run during off hours over a several day period.
Bottom
F3=Exit F4=Prompt F5=Refresh F12=Cancel F13=How to use this display
F24=More keys
Consider using this option after a new disk unit is added to the existing ASP and
the SST (or DST) option 8 was not performed.
Note
DST option 8 is more effective in balancing the units than the STRASPBAL
command with the *CAPACITY option, since it runs in the dedicated environment.
Other users do not use objects that are being redistributed.
Figure 303 shows an example of the STRASPBAL command used to start Usage
Balance.
Bottom
F3=Exit F4=Prompt F5=Refresh F12=Cancel F13=How to use this display
F24=More keys
Usage Balance uses the results of previous ASP traces to determine the disk unit
usage. You must perform an ASP trace before you run a Usage Balance. ASP
trace is described in 16.5.1.10, “TRCASPBAL” on page 425.
Figure 304 shows an example of the STRASPBAL command used to start HSM
balancing.
Bottom
F3=Exit F4=Prompt F5=Refresh F12=Cancel F13=How to use this display
F24=More keys
Bottom
F3=Exit F4=Prompt F5=Refresh F12=Cancel F13=How to use this display
F24=More keys
16.5.1.10 TRCASPBAL
Before you use Usage Balance or HSM Balance, you must run the Trace ASP
Balance (TRCASPBAL) command. This command monitors the frequency that
data is accessed on the disk units in the ASP. Each I/O to the disk units is
monitored, and the results are recorded for use by the STRASPBAL command.
The statistics that are collected are cumulative. Therefore, you can collect trace
information from several TRCASPBAL command runs. This allows you to
accumulate statistics for peak hours from several days.
For example, you may want to run one trace on Monday for 35 minutes. On
Tuesday, you run another trace on the same ASP for 15 minutes. The second
group of statistics is added to the first collection, and the cumulative result is then
used by the STRASPBAL command to balance the ASP. Once a trace is used by
the STRASPBAL command, it cannot accept additional trace accumulations. It must
be cleared before a new trace cumulation can be gathered.
You start the trace by running the TRCASPBAL command with the Trace option
setting parameter set to *ON as shown in Figure 306.
Bottom
F3=Exit F4=Prompt F5=Refresh F12=Cancel F13=How to use this display
F24=More keys
The TRCASPBAL command can run for 1 to 9,999 minutes or without limit. The
trace can be stopped before the time limit is expired by running the TRCASPBAL
command with the Trace option setting parameter set to *OFF. Trace data is
collected cumulatively until it is cleared. Trace data can be cleared in two ways:
• After the HSM balancing has completed, the system automatically clears the
trace information.
• By running the TRCASPBAL command with the Trace option setting
parameter set to *CLEAR as shown in Figure 307.
Bottom
F3=Exit F4=Prompt F5=Refresh F12=Cancel F13=How to use this display
F24=More keys
Clear the old trace data if you do not want this data to be used in determining the
locations of the high-use and low-use data.
How long should you run the trace? Here are the guidelines you should follow:
• In case of Usage Balance, run the trace during the periods of high disk
utilization that you determined by using the WRKDSKSTS command or
PM/400 report or Performance Tools. Usage Balance will move infrequently
used (cold) data to highly utilized disk units and try to influence future
allocations away from those units. The target units percent full will be higher
than other units.
• For HSM Balance, the traces should be longer. HSM Balance moves cold data
from the non-compressed disk units to the compressed units. It also moves
active data off the compressed disk units to non-compressed units.
The screen in Figure 308 shows the parameters for the STRDSKRGZ command.
Bottom
F3=Exit F4=Prompt F5=Refresh F12=Cancel F13=How to use this display
F24=More keys
The user specifies a time limit that the function must run for each ASP being
reorganized. When the time limit is reached, the function ends. The time limit
specified is for each ASP being reorganized. For example, if ASP(*ALL) is
specified and the machine has four ASPs configured and TIMLMT(60) is
specified, four reorganization functions are started, and each can run 60 minutes.
If the reorganization of any ASP has not completed after 60 minutes, it will be
forced to end. This allows you to do disk reorganization incrementally.
The screen in Figure 309 shows the parameters for the ENDDSKRGZ command.
Bottom
F3=Exit F4=Prompt F5=Refresh F12=Cancel F13=How to use this display
F24=More keys
The user can select to end disk reorganization for all ASPs or for one or more
specific ASPs. A message is sent to the system history log when the
reorganization function is ended for each ASP.
Recommendation
Run the STRDSKRGZ command if you receive the CPI0999 system message
(Storage directory threshold reached).
Always use expert cache for the SAP R/3 pool, which by default is *BASE. Turn
off expert cache only in case of main storage constraints.
The value of Max Act for the *BASE pool can be initially set using the following
calculation:
• Central server (database and application): Number of R/3 work processes
x 1.2
• Database server only: (Number of R/3 work processes on DB server +
number of work processes on each remote application server) x 1.2
• Application server only: Number of R/3 work processes on application
server x 1.2
This number may need to be adjusted in line with the recommendations for the
transitions and page faulting described above. For example, for a central server
with a total of 68 work processes, the calculation for the *BASE pool would be:
68 x 1.2 = 81.6
By changing the Run Priority in a particular class, it is possible to change the run
priority of all the work processes within an SAP R/3 instance.
For example, you may have installed a separate R/3 system using the
homogeneous copy method to be used for training users in R/3. In this case, it is
possible to run all the work processes of the training SAP R/3 system at a higher
priority (for example, priority=20) than the Development system (for example,
Bottom
F3=Exit F4=Prompt F5=Refresh F12=Cancel F13=How to use this display
F24=More keys
Make sure you do not downgrade the priorities of other SAP R/3 work processes
because this can severely impact throughput of SAP R/3 transactions in the
subsystem.
From SAP R/3 Release 3.1I, there are four levels of prioritization allowed for each
type of work processes in each SAP R/3 instance on the iSeries server:
• HH: Class priority minus 8
• H: Class priority minus 4
• M: Class priority
• L: Class priority plus 4
By default, the class priority is 20, and all jobs in the R/3 subsystem will run at
this priority with the exception of the following four jobs that run at priority 12.
The following work processes are assigned to run at the priority HH level and
cannot be changed using instance parameters:
• Dispatcher (DISP)
• Message Server (MSG_SERVER)
• Gateway (GWRD)
• Enqueue (WPnn)
The following work processors are assigned to run at the priority M level and
cannot be changed using instance parameters:
• Dialog
• Update
To change the priority of the update, batch or spool R/3 work processes from the
default of 20, enter the appropriate parameter in the instance profile using
transaction RZ10. You then need to restart the SAP instance for the change to
take effect.
You must also have set the OS/400 dynamic priority scheduler system value,
QDYNPTYSCD, to 1. If you need to make this change, you must IPL the iSeries
server for the change to take effect.
If you are running a non-SAP application on the same iSeries as an SAP R/3
system, separate memory pools for each application may help minimize
contention for memory. This section shows how to route SAP R/3 instance jobs
into a different pool.
Stop the SAP R/3 instance and change the pool definition for the instance
subsystem (Figure 314). Assign either a private pool or a shared pool (this
example). If you assign a separate private memory pool, the performance
adjuster (QPFRADJ) does not manage the pool even if the function is turned on.
Bottom
F3=Exit F4=Prompt F5=Refresh F10=Additional parameters F12=Cancel
F13=How to use this display F24=More keys
Use the OS/400 WRKSHRPOOL command to set the size of the shared memory pool.
Bottom
You should examine the performance using NETSTAT option 3, F10 (Display
connection totals) for retransmitted segments before and after changing this
setting. Setting the TCP/IP buffer size too high can cause storage allocation
problems on your server since it will allocate the same size receiving buffer for
each connection. This may happen if you have some remote connections on
low speed ISDN lines and others with high speed local connections. The exact
buffer size that provides the best throughput will be dependent on several
factors, including the types of network switches, ACK timing, error rate and the
network topology. This is discussed in Performance Capabilities Reference
Version 4, Release 5, which is available on the Web at:
http://publib.boulder.ibm.com/pubs/pdfs/as400/V4R5PDF/AS4PPCP3.PDF
• Line Descriptions: To take advantage of the Ethernet performance
improvements since V4R4, the Ethernet line description parameter TCPONLY
should be set to *YES if no other protocols, such as APPC, will be active on the
line. If the Ethernet adapter has a dedicated IOP (feature code 2842 or 2843
on the 2xx and 8xx iSeries servers) the IOP and device driver will run the
TCP/IP optimized version of its microcode. Ensure also that the duplex mode
for the Ethernet line description is set correctly. For example, if a switch is set
to full duplex, the TCP/IP interface parameter for the line should also be set to
full duplex.
For token-ring networks, the Maximum frame size parameter for the token-ring
line description can be increased from the default value of 1994 to its
maximum of 16393 to allow for larger transmissions.
• AnyNet: If AnyNet support (such as for SNA communications) is not required,
the network attribute should be turned off. Use the CHGNETA ALWANYNET(*NO)
command to do this.
You need to be aware that running additional instances on a system can result in
an increased demand for memory for instance buffers when all instances are
started.
If you have more than one R/3 instance active, the DSPTMPSTG command
shows the amount of temporary storage used by the OS/400 subsystem for a
particular instance by specifying the subsystem name, R3_<nn>, where <nn> is
the instance number.
The DETAIL parameter allows you specify the *FULL value to get a detailed
listing from the DSPJOBLOG F10 Detail screen as shown in Figure 316.
The longer an R/3 instance is active, the more temporary storage will be used.
The temporary storage will be released when R/3 is ended or when the server is
IPLed.
The SAPPFPAR program in the kernel library can be used to obtain an estimate
of the amount of temporary storage that will initially be used by an SAP R/3
For example, the following command results in the display shown in Figure 317:
CALL PGM(SAPPFPAR)
PARM(’pf=/usr/sap/<SID>/SYS/profile/<SID>_<instancename>_<hostname>’)
Parameter-Name....:
> ztta/roll_extension
Result............: 2000000000
Parameter-Name....:
===>
For more information on this subject, refer to the Logon Load Balancing section in
the SAP R/3 online documentation.
The SAP R/3 Operating System Monitor transaction ST06, which deals with
monitoring the total resources of the iSeries, and the Work Process Overview
transaction SM50 are discussed in 16.4.7, “SAP R/3 system on: Performance
database” on page 398.
Note: Native OS/400 measurements do not recognize SAP R/3 users, dialogs
steps, or response times. You must use tools provided by SAP through the
Computing Center Management System (CCMS) to determine the number of
dialog steps generated by SAP R/3 users and the response time on the iSeries
server.
You can filter the work processes you want to view by using the Select Process
push button. This allows you to focus on those work processes you think need to
investigate (Figure 319).
Use this function prior to shutting down the R/3 system so users can be warned in
advance. A system message can be sent to all users currently logged on via
transaction SM02.
If you select Goto-> Memory, you can see if any of the users allocated private
memory, which impacts performance by preventing a work process from being
used by other users.
A more detailed analysis is possible by using the Choose push button after
selecting an application module (Figure 324).
The Choose for analysis push button allows you to select a specific server for
review in a multi-server environment (Figure 327). This selection is followed by a
time period selection window.
Use the scroll bar to access more information in the lower portion of the window.
If you need to look at data for the Dialog or Background tasks only, select the
appropriate push button at the bottom of the display.
Note: The Workload push button shows a display similar to that for Workload
Analysis in Figure 328.
When you make your selections, the window in Figure 333 shows details by
transaction.
From this display, you can select a particular transaction and use the Expansion
push button for a detailed view of the transaction (Figure 334).
The following tables give an indication for setting these values, but you need to
reset them after analysis of the buffer quality using R/3 transaction ST02. After
the SAP R/3 application runs for a few hours, the buffers should be fully loaded.
Once a stable operating environment is reached, the target should be able to
achieve a hit ratio at the buffer of approximately 96%. The following settings were
made for a production system with 8 GB of main memory and approximately 100
active SAP R/3 users with R/3 Release 4.6. The settings for a development
system would normally be quite different. The latest information about the size
Important
The correct setting of the R/3 buffer sizes is crucial to the performance of your
SAP system. We recommend that this task be conducted by an experienced
Basis consultant with knowledge of the iSeries SAP environment. In the worst
case, incorrect settings may prevent your SAP system from functioning.
Note: These values are valid from R/3 Release 4.6 onwards.
rdisp/btctime 60 seconds
rdisp/tm_max_no Depends on
number of users
Use the scroll bar to move across and down to see more information on the
various buffer utilizations, including:
• Hit ratio
• Allocated size (KB)
• Free space (KB and%)
• Number of directory entries
• Free directory entries (number and %)
• Swaps
• Number of accesses
Use the scroll bar to view all of the current values of the SAP buffer parameters.
The window in Figure 339 presents an example of the detailed information that is
displayed by selecting the Table definition buffer push button.
Figure 340 shows the Call Statistics window presented by using the Call Statistics
push button.
Click Show statistics to view the performance analysis for each table.
You can see more detailed information by using the Overview<->Detail toggle
push button (Figure 341).
Select the Parameter push button to view the installed instances for the SAP R/3
system (Figure 343).
Selecting an instance and clicking the appropriate push button shows you:
• All active parameters
• History of parameter changes
Apart from providing you with information on the activity of the DB2 UDB for
iSeries database, running the database monitor is important for gathering
information for SAP's EarlyWatch support. In the past, this facility tended to be
heavy on CPU and disk resources. However, since SAP R/3 Release 4.5, a more
efficient version has been provided that enables data to be collected more
frequently and retained over longer periods of time.
The “old” version of the database monitor is retained for its value as a debugging
tool.
16.6.2.1 Starting and stopping the ‘old’ DB2 UDB for iSeries monitor
The “old” DB2 UDB for iSeries monitor can be started and stopped using the
native OS/400 STRDBMON and ENDDBMON commands. The data is collected
in a database file (QAQQPRF) in the R3<SID>DATA library. Note that this is the
only file that is not journaled in the R3<SID>DATA library.
For the memory-based SAP releases starting with release 4.6, the RSDB4UPD
and RSDB4UPH programs are run to collect the information for ST04. For SAP
releases before 4.6, the RSDB4T6M and RSDB4090 programs have to run
before statistical information (about tables, indexes, etc.) for ST04 and DB02
transactions is available.
The data in the output files is then merged with the R/3 database performance
tables by the RSDB4UPD program, which is scheduled by default to run every 5
hours (300 minutes). This value can be changed in the transaction ST04 by the
menu path Edit-> DB monitor configuration-> Change, which displays the screen
shown in Figure 345.
For further information about the DB2 UDB for iSeries monitor, see DB2 for
OS/400 Database Programming, SC41-4701.
This window shows the overview of the DB2 UDB for iSeries database
performance monitor statistics. The date and time the database was last started
(IPL) is shown on the first line, and then the date and time of the last merge of
database monitor statistics are shown.
The database monitor will actively monitor the SAP R/3 work processes as long
as the as4/dbmon/enable instance profile parameter is set to the value 1. Set the
as4/dbmon/memory_size parameter to 1000 in order to reserve up to 1000 MB
memory for the data in the memory.
To check the R/3 work processes and equivalent OS/400 jobs that are being
monitored, choose the path Goto-> Display database monitor activity. The
screen shown in Figure 347 shows the server name, OS/400 job number, user
and name, and the DBMon Type field, which is the type of DB2 UDB for iSeries
database monitor that is active for the job. This field can have the values:
0 Job is not currently monitored
1 Job is monitored by the old file-based DB2 UDB for iSeries database monitor
that uses the STRDBMON and ENDDBMON OS/400 commands
2 Job is monitored by the new memory-based SQL database monitor
Summary
To ensure that the new database monitor is set up and working correctly, you
need to check that the instance parameter profile as4/dbmon/enable is set to 1,
the SAP work processes are being monitored by the new database monitor in
ST04 Goto-> Display database monitor activity, and that the RSDB4UPD
and RSDB4DBH background jobs have been run successfully in SM37.
The initial ST04 overview window also shows the summary information collected
by the database monitor on:
• User calls
• File activity
• Wait statistics
• Table scans
• Sorts
• Index creates
• Temporary files
• Indexes advised
The detail analysis menu has the following options that you can select through
push buttons:
• Overall activity:
– Database lock monitor
– Wait situations
– File activity
• Resource consumption analysis:
– DB monitor history
– SQL requests
– 50 slowest queries
• Query analysis:
– Table scans
– Sorts
– Temporary files
– Table locks
– Index advised
– Index usage
– Index creates
• Additional functions:
– State on disk
– System catalog views
– Performance tables
– SQL packages
You can select an instance for more detailed information by using the Instance
detail push button. The statistics are then displayed for each SAP work process
(the PID number and OS/400 job number are both displayed).
You can access additional data by using the More information push button.
Selecting an SQL request and using the Explain push button shows detailed
information about the statement, including the access path and access method
used in the execution.
Queries that use a table scan to select relatively few rows from a large table need
to be analyzed further. Creation of an index over the columns used in the “where”
If you frequently encounter queries that sort the selected rows, consider creating
an index over the columns used in the “order by” clause.
Using the selection facilities and the Explain push button, you can identify the
criteria used in the creation of the index and the time taken. Consider creating a
permanent index that corresponds to the system-created indexes if they are used
frequently and the average creation times are high.
Examine this option before you decide to delete any indexes that you have
created. Never delete indexes that were created by the SAP R/3 system.
Use the Consistency check push button to validate your database and ensure
that all required database objects are included:
• Find database tables without primary (indexes) lists all database tables
without any indexes. Define at least the primary key.
• Database <–> ABAP Dictionary consistency lists all objects defined in the
ABAP Dictionary but not available in the DB2 UDB for iSeries database library.
• R/3 kernel <–> ABAP Dictionary consistency checks release consistency
between the SAP kernel (library R3<rel>OPT) and the ABAP Dictionary
(library R3<SID>DATA).
As shown in Figure 352, select one of the check boxes to see the names of the
missing objects of that type. For the checks against the ABAP Dictionary, you are
prompted to either display the results of the last check or to run a new check.
Follow the information presented via the Information button on the results screen
or contact SAP in case of inconsistency.
Note: This consistency check can only be used to detect missing objects. A more
detailed check can be performed through SE12.
Use the Deleted rows analysis push button to see a list of database tables with
deleted rows that can potentially occupy a lot of disk space (Figure 354).
The disk space occupied by deleted records may be retrieved using the OS/400
RGZPFM command.
Note: All objects in the library R3<SID>DATA are examined, so non-SAP tables
with no index or non-SAP indexes not defined in the ABAP Dictionary are also
reported. If an SAP index is missing, consult SAP to determine what action to
take.
Note: These tables are large, take a while to return a display, and use a lot of
CPU.
The list assists you in identifying the possible causes of delay in the transaction
response time.
Ensure that your iSeries is correctly tuned and there are no overall resource
constraints on the OS/400 system. Refer to 16.5, “iSeries system tuning” on page
412, for more information.
Notes
• After the STARTSAP command is run, the system needs about one hour of
intensive usage before the buffers reach a good hit ratio.
• You can be generous with the allocation of buffer space on the iSeries
server because this memory is also pageable and, therefore, under control
of the system's memory management algorithms.
Prior to SAP R/3 Release 4.6, there are restrictions on the maximum size to
which certain memory buffers can be set. These restrictions are
documented in SAP Note 121625: AS/400 Buffer sizes. Refer to 16.6.1.9,
“SAP R/3 internal buffers” on page 450.
Transaction ST07 also assists you in forming an opinion regarding the adequacy
of work processing by looking at the response time display. A high wait time can
indicate the need for more dialog work processes.
The component report from OS/400 Performance Tools shows you the SAP R/3
jobs together with the corresponding resource utilization. Jobs with low resource
utilization in each group can indicate if there are adequate work processes in that
group. On the other hand, if all jobs of a group are more or less equal, some
queuing for work processes may occur. However, you need to know which
OS/400 jobs belong to each type.
You can only reorganize the database library files when SAP R/3 is down. The
files are not available during the RGZPFM command. A backup of the database
library should be taken immediately after the reorganization is complete for
Review information produced by the DB2 UDB for iSeries Database monitor
through transaction ST04. If you notice certain temporary indexes are being built
and used frequently, you may consider creating them as permanent indexes to
improve performance.
However, avoid creating too many indexes because they add to the system
overhead of index maintenance. Evaluate the cost to the system of maintaining
additional indexes against the benefit of improved performance and response
time.
The Table Lock push button available through transaction ST04 shows
information on the occurrence of these conflicts.
Delete specific packages in cases such as the creation of new index over a table.
Drill down to see the cause of the termination and the recommended action to
follow. In many cases, you need to use the SAP Notes information database to
search for the keywords suggested in the dump report.
The OptiConnect software will choose the virtual path over an external path if
both paths are available.
When you create a logical partition, you must select whether you want Virtual
OptiConnect (Interpartition OptiConnect) enabled on that logical partition. You
may enable Virtual OptiConnect for a partition at any time. But you must install
either OptiConnect or OptiMover before you use the OptiConnect function. When
Figure 359 shows how data is transferred from partition to partition using DMA.
PARTITION 0 PARTITION 1
MEM MEM
2 3
BUF
1 4
IOP IOP
The data resides on the disk in partition 0 and has to be written to the disk on
partition 1. The following series of actions occurs (note the corresponding
numbers to those in Figure 359):
1. A read request arrives at a disk IOP on partition 0. The IOP reads the data,
and transfers it (using the DMA function) into memory pages in partition 0.
2. Pages are forwarded using DMA into an intermediate buffer on partition 0.
3. To move the data to the memory of partition 1, once again, a DMA is used.
Pages are transferred from the intermediate buffer on partition 0 into memory
on partition 1. No communication link is used for this memory copy. Virtual
OptiConnect emulating the real OptiConnect hardware moves the data, from
the buffer on partition 0 to the memory of partition 1, using a Virtual
OptiConnect IOP.
4. Finally, DMA transfers the pages from the memory of partition 1 to the disk
IOP who writes them to disk. This is done again by a DMA function.
Two remote client copy tests were then performed between the two partitions. In
test 1, the partitions were connected with TCP/IP over the token-ring LAN. In test
2, the partitions were connected with TCP/IP over the Virtual OptiConnect. Both
tests used TCP/IP over the Token Ring for the SAP GUI connection between the
PC and R/3 central instance. The test produced these results:
• Test 1: TCP/IP running exclusively through the token-ring.
Remote client copy took approximately six hours to complete.
• Test 2: TCP/IP running over Virtual OptiConnect
The remote client copy took approximately 3.5 hours.
Two tests with the SAVRSTLIB command were performed between the two
partitions using a library containing a 4 GB save file. Test 1 used TCP/IP over the
token-ring LAN to connect the partitions. Test 2 used TCP/IP over the virtual
OptiConnect between partitions. The tests produced these results:
• Test 1: TCP/IP exclusively over token-ring.
SAVRSTLIB took approximately one hour.
• Test 2: TCP/IP over Virtual OptiConnect.
SAVRSTLIB took approximately eight minutes to complete.
17.1 Overview
Access Builder for SAP R/3 works in a similar manner to the Remote Method
Invocation (RMI) Access Builder. You begin by creating proxy beans in VisualAge
for Java that are derived from SAP business objects. Then you or your customers
use the beans to access the business data in SAP. Figure 360 shows the process
that starts with creating the proxy bean and ends with using the bean for business
purposes.
Hockey sticks
Helmets
Goalie pads
WWW
Figure 360. Access Builder for SAP R/3 providing front-end access to SAP R/3
As shown at the top of the diagram, the SAP system usually resides on its own
server. It includes a Business Object Repository (BOR) plus the actual business
data from a corporation. In the Business Object Repository are objects with
associated methods typically used in business. Interfaces are already defined for
them. Collectively, these interfaces are referred to as the Business Application
Using the Access Builder, as shown in the center of the diagram, a Hockey
Equipment Sales Form is created. This form is a proxy bean; specifically, it is a
business object proxy bean. In the Hockey Equipment Sales Form are listed the
items sold by the corporation: hockey sticks, helmets, and goalie pads. The sales
form is now ready to be used by the customers.
At the bottom of the diagram, the Hockey Equipment Sales Form is accessed by
customers using the World Wide Web. The sales form passes their requests back
to the SAP system, updating the business data controlled by SAP accordingly.
Access Builder for SAP R/3 generates proxy beans for SAP business objects,
their BAPIs, and RFC modules. You can use these beans to design your
application visually or to code an application or applet.
The SAP Access Builder interface provides access to the SAP system and its
business objects.
R/3 Access Classes build the basic run-time access to R/3 Business Objects and
BAPIs. They are used by all other components of the Access Builder package
and by the generated JavaBeans. You can use them to dynamically access SAP
Business Objects and BAPIs.
The online help shows you specifically how to log on through the VisualAge for
Java interface.
Server Site
Users Machine
UsersFrontend WebServer
DCOM
Cookies MTS
TopTier (Microsoft
HTTP- R
Transaction RFC Work Place
Server Server)
R
Portal Configurator R R Server
R +
DCOM CC
Browser
Work (WebGUI) TopTier Database
ISAPI
Place R (ODS)
User
Backend Systems
HTTP(S) / HTML Internet Transaction Server
HTTP- A-Gate
... if SAP GUI
runs 'within' Server R R SAPGUI
Browser W-Gate Prot./RFC BW
launch via temp. starter
WebGUI WebRFC
R
R/3
Core
Java / Templates
HTML Citrix
Files Plug Ins APO
R
SAP GUI SAPGUI Prot./
for Java RFC
FrontendServer
Windows R Proprietary R R KW
Terminal Windows Windows
)
ClientCitrix
( Protocol Terminal SAPGUI Prot.
Server GUI
R SAPGUI Prot./
SAP GUI
for Windows RFC
The interface and exchange of data between the Workplace server and the
Workplace components (for example, SAP R/3, SAP APO, and so on) is
facilitated by an SAP Workplace Plug-In. SAP supplies a Workplace Plug-in with
each release of the SAP Workplace.
The iSeries server fully supports the SAP Workplace by providing the database
and application server environments for the SAP Workplace.
Both the database and application server environments of SAP R/3 run native on
the iSeries server.
APO Demand planning employs the same technology as SAP BW and uses the
SAP BW InfoCubes. Data exchange between SAP APO and SAP BW is,
therefore, relatively simple.
APO also features integrated availability checks with SAP CRM and supports the
roles and scenarios associated with the SAP Workplace. Some of the
components of APO are:
• A core SAP R/3 system
SAP APO integrates fully into SAP R/3 by means of an SAP R/3 Plug-In. This
Plug-In allows for data exchange (master data and transaction data) between
BW consists of:
• BW front end (including the SAP GUI)
• BW server and administrator workbench
• BW extractors (installed in the SAP R/3 system by means of a Plug-In)
The iSeries server supports every BW release that is supported by SAP since
release 1.2B.
BBP has a direct interfaces to SAP BW. You can access to BBP functions directly
from the SAP Workplace.
CFM integrates into SAP R/3 by means of an SAP R/3 Add-on. It is also possible
to run CFM as a stand-alone system in a distributed system environment.
Specific roles exist in the SAP Workplace for SAP CFM.
There is also a Mobile Sales and Mobile Service component where data is kept
up to date by regular data exchange between the central CRM system and the
local database on the mobile clients.
The iSeries fully supports CRM. The Message Hub, which communicates via
RFC with the SAP R/3 OLTP system, can be run on the iSeries. An SAP R/3
Plug-In that supports data exchange with other mySAP.com components, such as
SAP BW or SAP APO, is installed on the OLTP SAP R/3 system that runs on the
iSeries server.
ITS is one of the architecture components of CRM, Internet Sales, and SAP R/3
Online Store. The CRM client is connected to the Communication Station, which
converts DCOM calls to RFC calls. The RFC calls communicate with the CRM
middleware component, or message hub. Network design is an important issue in
the design between the different CRM components.
The SAP KM functions are contained in the SAP Workplace, allowing users to
access KM using their own SAP Workplace roles. The iSeries server supports the
Knowledge Warehouse tables or “Info Objects”.
SAP SEM uses accounting information from the SAP R/3 system and requires a
Plug-In to be installed in the SAP R/3 system. SEM also integrates with SAP BW
and SAP APO. The SAP Workplace offers specific roles for SAP SEM.
ITS requires the Microsoft Internet Explorer 5 Web browser. Currently, ITS
requires the Microsoft Internet Information Server (IIS) product, which only runs
on the Microsoft NT 4.0 operating system.
The ITS components form the front end of mySAP.com Workplace. You need to
install a separate ITS for each SAP system in the Workplace landscape.
The SAP proprietary RFC format is converted to XML (or HTML). Therefore, this
eliminates the need for SAP software on the other end of the communication line.
SAP BC has built-in support for SAP's specification of IDoc-XML and RFC-XML.
The corresponding compiler (JDK, C-compiler, VB) is, however, required if you
want to develop your own program modules. SAP BC is written in Java and runs
on any machine for which a Java Virtual Machine of Release 1.1.6 or higher is
available. A shared version of SAP's C-library librfc is needed for the connection
to SAP R/3.
This chapter introduces different techniques to connect your SAP R/3 with
Domino server, using one of the following solutions:
• Lotus Domino Connector for SAP R/3
• Lotus Script Extensions for SAP R/3
• Lotus Domino Access to SAP R/3 business workflow
• Domino Mail Transfer Agent (MTA) for SAP R/3
The Lotus Domino Connector for SAP R/3 controls authentication and data
transfer from Domino to SAP R/3 application data. The Connector was developed
using SAP R/3’s Remote Function Call Software Development Kit (RFCSDK). It
enables the execution of any SAP R/3 RFC, Business Application Programming
Interface (BAPI), and updates to SAP R/3 applications using Batch Data Input.
Using the Domino Connector for SAP R/3 technology ensures that data transfers
and queries are processed through the SAP R/3 application layer. This preserves
the business logic and data validations contained in SAP R/3 RFC and
transaction interfaces that comprise SAP R/3 server processes. Therefore,
reading and writing SAP R/3 data is always performed through the application
layer, not by directly accessing back-end database tables. All the business rules
provided by RFCs and SAP R/3 transactions are maintained.
The combination of Domino for iSeries with the help of the Lotus LSX and SAP
R/3 provides a highly integrated solution. The LSX for SAP's R/3 system enables
a bi-directional data flow between Lotus products, such as Lotus Notes or any
SmartSuite application, and the R/3 system.
19.3 Architecture
SAP supports a whole set of Remote Function Calls (RFCs) and Business
Application Programming Interfaces (BAPIs). These interfaces enable external
systems to run transactions and access data on the R/3 server. SAP provides
these interfaces with the RFC SDK Toolkit.
19.5.1 Scenario 1
The LSX for R/3 and the Notes DB are installed on a client workstation. In this
configuration, a Notes application runs on a client workstation. The application
accesses the R/3 System using the LSX installed locally. See Figure 362.
R/3 System
PC
R/3 DB LSX Notes Client
Notes
DB
19.5.2 Scenario 2
The LSX for R/3 and the Notes DB are installed on the Domino server. In this
configuration, the Domino server accesses the SAP R/3 system. Lotus Domino
and SAP R/3 can be on separate iSeries servers (Figure 363).
The Notes clients are connected to the Domino server. In this case, retrieving or
updating data happens between the Domino server and R/3 System. Since
Domino is also a Web server, it is possible for a user to connect to Domino with a
Web client.
This function opens up your R/3 data to users on the Internet or intranet. Simply
create a Notes application (following the instructions about how to Web-enable a
Notes DB). Then, you have an Internet-ready interface to your R/3 system.
Notes
DB
R/3 DB
Web client
PC Notes client using a browser
Figure 363. Domino server and R/3 system on separate iSeries servers
Note: If you plan to run Lotus Domino and SAP R/3 on the same system, you
must take performance considerations into account.
The Domino server and the SAP R/3 system can be on one iSeries server (Figure
364).
Domino
R/3 Server
System
LSX Notes
DB
R/3
DB
Web client
PC Notes Client using a browser
Figure 364. LSX extensions on the Domino server and SAP R/3 on one iSeries server
We have created a modified Domino mail template as one part of this answer. By
using Lotus Script and the LSX for R/3, the periodic server agents in this template
download the work items found in a given R/3 user’s work item inbox and create
what appear to be e-mail documents in the Domino user’s mail database.
Depending on what release of R/3 you have, there will be different amounts of
functionality available to the Domino user for these work items. The user may
then perform some processing of these work items from within Domino, or the
user may invoke the SAP GUI and be taken directly to the screen that would have
been presented if the user was working completely from within the SAP GUI. The
end result is that the user only has to look in one location for all that they need,
and that location is the Domino mail database.
19.7 Domino Mail Transfer Agent (MTA) for SAP R/3 R1.5
For many years, Lotus Domino and SAP R/3 have both supported SMTP for
e-mail connectivity between the systems. Why is SMTP not good enough? When
you define a business process with e-mail components, you have to be sure that
the e-mails reach their destinations, and they are actually read and processed at
that point.
With SMTP, you don’t get this kind of information. It is a black hole of uncertainty.
SAP realized this to be true and created SAP Connect, a mail interface where you
can be sure that mail gets where it is intended to go. Lotus and SAP jointly
developed this new MTA using the SAP Connect technology. It provides robust
logging and tracking and good Rich Text support for your Windows and OS/2
based desktop applications.
The most important characteristic is that all of the software required by the
Network Station can reside on one or multiple servers in the network. Network
Station Management Version 3.0 allows you to configure the Network Station to
access boot information from different servers. The servers can be:
• Kernel server
• Configuration server
• Logon server
Anyone of the following protocols can be used to boot an IBM Network Station
from the iSeries server:
• Boot protocol (Bootp)
• Dynamic Host Configuration Protocol (DHCP)
Trivial File Transfer Protocol (TFTP) is for other data communication purposes,
such as the read or write access to files on a remote server. The Network File
System (NFS), if available, can be used for mapping remote disk drives so that
they appear to be local. The NFS server stores common configuration files and
makes them available to an NFS client (the IBM Network Station).
To access your R/3 system, you need SAP GUI, which is stored on the PC server
and runs on top of the Windows-based Terminal Server (WTS) from Microsoft.
WTS is installed in place of a Windows NT operating system and allows multiple
concurrent users and desktop export to the network station using Metaframe
Independent Computing Architecture (ICA) protocol from Citrix Systems, Inc.
WinCenter is the program, that, when called, transfers the WTS desktop window
to your network station. The WTS display appears with the SAP GUI icon. By
selecting the icon, you can start SAP GUI on the PC server from your network
station.
In this configuration, the SAP GUI is stored on the Integrated xSeries Server. As
in the previous configuration, the SAP GUI icon is on the WTS desktop window
that is displayed on the network station.
You can use any Web browser for the administration of the network station.
Chapter 20. Using an IBM Network Station as an SAP front end 499
d. Add the following string to the Optional parameters field:
-display ${IP}:0 -username :${user}
-password ${password}
Using these general parameters, you can use the defined menu item from
any network station where you sign on. Otherwise, you must have the
authority to call the WinCenter program. For security reasons, we
recommend that you sign on manually instead of specifying a user name
and password in the menu definition.
6. When you complete the preceding task, click Add a Remote Program, and
then click Finish.
7. Reboot your network station. After the network station is up, click the menu
item you previously defined. If your settings are correct, the WinCenter
window appears. If not, go back to the preceding steps and review your
configuration to fix it.
8. Find your SAP GUI icon, start it, and sign on to your R/3 system.
Two configurations have been tested. One configuration has the Integrated
xSeries Server installed on the same system as the R/3 application server. In this
configuration, you can take advantage of the internal LAN between the iSeries
and the Integrated xSeries Server. By using the internal LAN, you reduce the
performance loss you would experience by contending with the network traffic on
the external LAN.
In the other tested configuration, the Integrated xSeries Server and the R/3
application server were stored on two different iSeries servers. In this
configuration, the external LAN is used to communicate between the SAP GUI
and the application server.
The software download is free for all SAP customers and business partners. A
SAPNet user ID and password are required to access SAPNet. If you have
access to SAPNet, you can download the Java SAP GUI from any of the available
For more information, refer to 'BcJavGui.hlp' in the SAP GUI directory. The SAP
GUI is installed under the root directory of your selected Web server. For
example, the \InetPub\wwwroot\SAP GUI path is used with Internet Information
Server.
To display the Java SAP GUI on the IBM network station, a JVM is downloaded
from the server when booted. Running the SAP GUI for Java from a PC client
requires a Java-enabled Web browser to be installed. To set up or verify that the
following Web browsers are Java-enabled, perform the following steps:
• For Microsoft Internet Explorer 3.0, click View-> Options-> Security->
Enable Java Programs
• For Netscape 4.0, click Edit-> Preferences-> Advanced-> Enable Java and
Java Scripts
Before running the Java SAP GUI, edit the SAP GUI HTML file in the
<drive>\InetPub\wwwroot\SAP GUI directory and change the value of the
sap_connect parameter. For example, if your hostname is SAPtest and the
instance number is 00, the sap_connect parameter is specified as sap_connect
value=/H/SAPtest/S/3200.
Specify the hostname exactly as it appears in the HOSTS table and observe
uppercase and lowercase characters.
Ensure that the ORBIX server daemon is running on the Windows NT server. If
not, run startORB.BAT in the <drive>\InetPub\wwwroot\SAP GUI directory. As an
alternative, click Start-> Programs-> SAP GUI in Java-> Start the ORB
Daemon.
To call the Java SAP GUI from a PC client, start the Web browser and specify the
URL (for example, http://hostname/directory/htmlname.html). To run Java SAP
GUI from an IBM network station, we manually edited the user's Startup.nsm file
on the boot server.
Note: Since the downloaded Java SAP GUI is a beta release, changes can be
expected that may effect the setup of the IBM Network Station or PC client.
Chapter 20. Using an IBM Network Station as an SAP front end 501
502 Implementing SAP R/3 on OS/400
Chapter 21. Problem determination
This chapter is intended to help you diagnose and manage problems that you
may encounter in running an SAP R/3 system on the iSeries server.
The application is started with the STARTSAP command and ended with the
STOPSAP command. The STARTSAP command has the DLTSPLF parameter
with a default of *YES, which is causing the deletion of all spooled files created
during the previous run. If R/3 is stopped and restarted for debugging, use the
command:
STARTSAP DLTSPLF(*NO)
The STARTSAP command first starts the R/3 subsystem (instance) and submits
a background job to this subsystem that runs the R/3 start program SAPSTART.
The SAPSTART program starts the R/3 services and processes associated with
each instance as shown in Figure 365.
The STOPSAP command does not end the subsystem job and the SAP
performance collector job per default. If you want to end these jobs, specify the
ENDSBS(*YES) parameter.
Also you should see in the QSYSWRK subsystem (starting with V4R4M0) the
QXDAEDRSQL job. Here, listener (Port 4402) for remote database requests from
application servers, which are started by the STRTCPSVR SERVER(*EDRSQL) or the
STARTSAP SID(*DB) command.
The job log is initialized when the job is started and remains in existence until the
job ends. When the job ends, the job log may be written to a spooled file where it
can be viewed or printed.
This change will be in effect after the next restart of the R/3 system.
During the installation or upgrade of an R/3 system, the install jobs inherit the
attributes from the job that started the installation. To make sure that a spooled
file will be created, before (re)starting the installation, change your interactive job
using the command:
CHGJOB JOB(*) LOG(4 00 *SECLVL)
In case of an upgrade, the R3UP program will set the job attributes automatically.
To force a job log here, press F21 (User Window) from the R3UP screen to get a
command line and enter the command:
CHGJOB LOG(4 00 *SECLVL)
Then leave the window with F12 and continue with the upgrade.
Use the R/3 dispatcher monitor (DPMON) if access to R/3 through SAP GUI is not
available to process transaction SM50. You can see the same information from a
5250 screen by running the following command:
CALL PGM(DPMON) PARM(’pf=/usr/sap/<SID>/SYS/profile/<instance profile>’)
q - quit
m - menue
-->
===>
There are three different ways to find the job log of a dialog work process on the
iSeries server. In this example, we want to display the job log of work process
number 0.
Bottom
F3=Exit F4=Prompt F5=Refresh F10=Additional parameters F12=Cancel
F13=How to use this display F24=More keys
Press Enter and type option 10 to display the job log of the job.
Note
You can save the job log from that window by selecting System-> List->
Save-> Local file or by entering %pc. You should always use the unconverted
format. This may be very helpful in case you have to forward the job log to
support personnel.
Note: The work process number from transaction SM50, in this case, is 0.
1. Enter the command:
WRKACTJOB SBS(R3_<nn>)
Refer to Figure 365 for the output.
2. Search for job WP00. Use option 5 (Work with) and option 10 on the next
screen to display the job log.
If you cannot identify a certain job by the above steps (this mainly happens when
problems occur during installation or upgrade of R/3), you can also scan though
all spooled files generated by the user profiles <SID>OFR (for startup,
installation, or upgrade problems), SAP<nn> (for SAP releases up to 4.0B), and
<SID><nn> (for SAP releases 4.5A and later). As usual, replace <SID> with the
R/3 system ID and <nn> with the instance number.
When you look at the list of spooled files, you may notice that some files are
named QPRINT. Some R/3 functions send output to the standard output device
(STDOUT) or the standard error device (STDERR). Since all of the jobs under the
R/3 subsystem are batch type jobs, output sent to STDOUT or STDERR appear
as spooled files. When debugging a problem, look at these type of files, as well
as the job logs.
There are three profiles used to control the settings during the startup of R/3:
• Default profile
DEFAULT.PFL
The default profile indicates basic information about the SAP R/3 system such
as the system name, database host name, and so on. It also contains defaults
for all instances in an SAP R/3 system. Anything specified in the instance
profile overrides information in the default profile.
• Start profile
START_<instance>_<host>
The programs identified in the start profile are started first. This includes the
message server, the dispatcher, and the performance collector. Other jobs are
started from the dispatcher.
• Instance profile
<SID>_<instance>_<host>
The instance profile indicates the R/3 parameter overrides for the instance
including the number of work processes to be started.
The short dump has very detailed information about the failing source statement
(including the contents of some variables). However, the SQL statement shown in
the short dump is written in ABAP syntax, which is different from the statement
that is actually by the OS/400 database code.
You see a number of files in the work directory. The file name dev_disp is the
trace file for the dispatcher task. A name of the form dev_w<nn> is the trace file
for work process <nn>. The file dev_ms is for the message server, while the file
dev_rd is for the gateway reader. In addition, there are trace files for RFC,
startup, and shutdown.
An appendix of the SAP upgrade manual contains a list of the upgrade phases
and the logs created during each phase.
In the SAP R/3 environment, there are several methods to control the trace level
by environment variable QIBM_COMPONENT_TRACE_LEVEL:
• Set the environment variable QIBM_COMPONENT_TRACE_LEVEL at the
system level. The setting will be used in each job that is started afterwards.
This option should be used with care, and it should be ensured that the value
is reset (or the environment variable is deleted at system level) after the
analysis is completed. Otherwise, the system will continue to create user
spaces named QP0Z<nnnnnn> in library QUSRSYS and fill up the system.
• Set the environment variable QIBM_COMPONENT_TRACE_LEVEL in the job
that issues the STARTSAP command. The setting will be used for all SAP
work processes. In a three-tier environment, the setting will also be used for
the shadow processes on the database server.
• For a job that is already running, change the trace level by setting the
environment variable QIBM_COMPONENT_TRACE_LEVEL in an interactive
In all three cases, the change of the trace level is documented by the message
CPF9898 in the job log with the text "XDA TRACE LEVEL CHANGED FROM <x>
TO <y>". If the trace level of the shadow process on the database server is
changed during STARTSAP because of the setting on the application server (see
method number 2 from above), it will be indicated by a message CPF9898 in the
job log with the text "XDA TRACE LEVEL CHANGED FROM <x> TO <y> PER CLIENT
REQUEST". The trace can be used for the SAP work processes, the database
shadow processes (named QXDARECVR in a TCP/IP environment or
APIA<nnnnnn> with OptiConnect), and for the QXDAEDRSQL server job.
The following overview is intended to help you make the right decision based on
the problem description. A higher trace level includes all the data of the lower
levels. Each trace entry has a time stamp associated with it. The following list of
traced information at each level may help to select the right trace level based on
the problem to catch.
V4R3M0 II11296
V4R4M0 II11832
V4R5M0 II12399
V5R1M0 II12833
2. Kernel patch level: Make sure you are at the most recent patch level for the
R/3 kernel. To find out the installed patch level, use transaction SM51. Position
the cursor on the line with your server, and click the Release Information
button. Information about available kernal patches and installation can be
found in OSS Note 49365.
3. Short dumps: Start to analyze the problem by displaying the short dump. If
you do not have a short dump go to the next step. The short dump contains
usually some information about the work process and the job on the iSeries
server like the example shown in Figure 370.
4. System log: The system log may contain additional information about the
error. Use the time stamp from the short dump to specify the From data/time
for the transaction SM21. The short dump shows the work process in any case
and the job name for some types of errors.
You should be able to identify the type of the problem by looking at the R/3 trace
and log files, the job logs, and the system configuration. The following sections
describe the data that can be reviewed or should be collected when you are going
to report the problem.
When debugging, it is important to find out if messages in the job log are related
to the problem seen by the end user. If a short dump with an SQL error code is
generated, you can search for the associated message ID. For example, if the
short dump shows "SQL error "-913" occurred...", you can search for the term
"SQL0913". First, you need to verify if the time stamp in the job log matches the
time stamp of the short dump (a few seconds of tolerance are allowed) to make
sure this is the same event. In any case, but especially in case of an SQL0901,
check which messages were sent prior to this message. If no short dump is
written or the short dump does not contain an SQL error code, you can look for
escape-type messages around the time of the error.
Note
You should delete the SQL packages using the DLTR3PKG command to avoid
database error conditions after:
• Kernel patch installation
• Cumulative PTF package installation
• Database fix package installation
There are some types of messages that generally can be found in the job logs
and do not indicate an error condition (unless they appear in a short dump).
Among these are:
• SQL0204: ... in ... type *SQLPKG not found. – for type *SQLPKG
• SQL0514: Prepared statement ... not found.
• CPC2206: Ownership of object ... in ... type *SQLPKG changed.
• SQL0904: Resource limit exceeded. – for resource type 7
• CPF5009: Duplicate record key in member ...
• CPF5034: Duplicate key on access path for based-on member of ...
• SQL0803: Duplicate key value specified.
For database related problems, you should collect the following information:
• R/3 system log
• R/3 short dump
• Developer trace of the R/3 work process
• Job log of the corresponding job (Refer to 21.2, “Working with job logs” on
page 505)
• R/3 SQL trace (ST05) to identify the failing SQL statement if the problem is
reproducible
If you cannot solve the performance problem by means of this analysis, contact
SAP and describe the problem as precisely as possible.
21.5.3.2 Transaction-based
The performance of a certain transaction may be poor. If the problem is
reproducible, use the following steps to collect all data that is necessary for a
detailed analysis:
1. From the R/3 session where you want to run poor performing transaction,
complete these steps:
a. Go to transaction SE38, enter RSTRC000 for the report, and click the Execute
button.
b. Place an “X” in the Keep work process box, and click the Change button.
You now see a message that says the work process is locked.
2. From another R/3 session, using transaction SM50, you should see the work
process with a status of “Stopped” and a reason of “Lock” for your first
session. You need the PID for the session for the next step.
3. From OS/400, run the command:
WRKPID PID(<nnn>)
Here <nnn> is the PID for the stopped work process. This gives you the
associated job for the work process that needs to be debugged.
4. Change the job attributes of the work process job with the command:
CHGJOB JOB(<jobname>) LOG(4 00 *SECLVL) LOGCLPGM(*YES)
Here, <jobname> is the qualified job name you received from the WRKPID
command.
5. Start the remote service operation with the command:
STRSRVJOB JOB(<jobname>)
6. Put the job into debug mode using the command:
STRDBG UPDPROD(*YES)
7. From the second R/3 session, start the SQL trace for the user using
transaction ST05.
8. Run the poor performing transaction. It may run even slower than before
because you have two levels of tracing going, so please be patient.
9. Once the transaction completes, end the SQL trace with transaction ST05,
end the debug mode with the ENDDBG command, and end the remote service
operation with the ENDSRVJOB command.
10.Do not forget to unlock the work process using report RSTRC000.
11.Copy the job log to a spool file with the command:
DSPJOBLOG JOB(<jobname>) OUTPUT(*PRINT)
Here <jobname> is the qualified job name from step 3.
Make sure port 8473 is in state “Listen”. It should also be verified that the
instance user profile is enabled (SAP<nn> up to SAP Release 4.0B, <SID><nn>
from SAP Release 4.5B on), does not have an expired password, and has the
same password on all systems.
The same job description and user profile must be used by both the application
server and the database server to which it is connected. The user profile is
named SAP<nn> or <SID><nn> and the job description is R3_<nn>, where <nn>
is the instance number. Moreover, the job description must be in library
R3<SID>400. The user profile must have the same password on both systems.
Then, examine the jobs running under that subsystem. The job name for the
required TCP/IP jobs is QTCPIP. Also, you can ping the host using the IP
address. If this job is not running, you must start TCP/IP using the STRTCP
command.
You could also use the iSeries server NETSTAT command to review the status of
TCP/IP network.
Before attempting to run the STARTSAP command, run the following command to
ensure that QSERVER and QPWFSERVD are running:
WRKACTJOB SBS(QSERVER)
If not, end the QSERVER subsystem and TCP/IP support. Restart TCP/IP
followed by the QSERVER subsystem using the STRHOSTSVR command.
To ensure that the host name table is correct, ping using the host names
specified in the R/3 default profile.
To check or correct the host name table entry, enter the CFGTCP command and
choose option 10 to work with the host table entries. Also use option 13 to ensure
that the Searched first parameter specifies *LOCAL. This avoids any errors in
host table specifications in the remote name server and improves the
performance.
The system name in the default profile DEFAULT.PFL is case sensitive and must
match the host table entry.
Therefore, the iSeries server user profile for an application instance must exist on
the database server. The user profile for an instance has the name SAP<nn>,
where <nn> is the instance number. If, for example, instance 00 exists on the
database server and instance 01 exists on an application server, the application
server must have user profile SAP01. The database server must have user profile
SAP00 and user profile SAP01. If you are using the standard installation
procedure, this is done automatically. If you are not using the standard
installation procedure, you need to manually create the iSeries server user
profiles from the application server to the database server. You can use the
CRTSAPUSR command to do this.
Note
Since R/3 Release 4.5A, SAPnn is replaced with SIDnn.
21.5.7.4 MTXW
If you encounter a situation where many work processes show a status of MTXW
after issuing the STARTSAP command, and they remain for a long period of time,
use the WRKACTJOB command, option 5, and then option 19 to find out what mutex is
causing the wait situation. This is valuable information for SAP to find out the root
cause of the problem. You could try terminating the subsystem and restarting R/3
once to see if this situation still stays the same.
Copy from Stream File (CPYFRMSTMF) Library QSYS IBM OS/400 V4R4
Notes:
1. Information regarding how to download and apply the QGPTOOLS PTF is listed in
the Informational APAR for your corresponding OS/400 release. They are V4R3 -
II11296, V4R4 - II11832, V4R5 - II12399, and V5R1 - II12844.
Figure 371 shows the EDTF command with parameters for editing a stream file.
Bottom
F3=Exit F4=Prompt F5=Refresh F12=Cancel F13=How to use this display
F24=More keys
After you press Enter on this screen, the Edit File screen appears from which you
can edit your file (Figure 372).
CMD
....+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8..
..+....0....+....1....+....2....+..
************Beginning of data**************
#MONITORING_SEGMENT
# ALSYSID="R01"
# SEGMENT_NAME="SAP_CCMS_ASM23_R01_01"
# STARTED_AT="Wed Oct 18 11:01:13 2000"
# SEGMENT_TYPE=APPLSERVER
# OWNER="SAP_CCMS"
# LIBRARY_VERSION=20000320
# SEGMENT_VERSION=20000320
# UPLOAD_STARTED_AT="Wed Oct 18 11:01:42 2000" by AlPid 3
# DOWNLOAD_STARTED_AT="Wed Oct 18 11:11:42 2000" by AlPid 0
# NEXT_DOWNLOAD_TREE_AT="Wed Oct 18 11:41:42 2000"
#NEXT_DOWNLOAD_ALERTS_AT="Wed Oct 18 11:41:42 2000"
# SAP_DEFAULT_VERSION="Fri Mar 24 10:15:03 2000"
#
OLD_ALERT
NAME="\###\MoniInfra_ASM23_R01_01\Sapmssy8\Sapmssy8_Runtime"
Directory . . . . : /usr/sap/R01/DVEBMGS01/log
Bottom
Parameters or command
===>
F3=Exit F4=Prompt F5=Refresh F9=Retrieve F12=Cancel F17=Position to
F22=Display entire field F23=More options
Figure 374 shows the DSPF command with the parameters for displaying a
stream file.
Bottom
F3=Exit F4=Prompt F5=Refresh F12=Cancel F13=How to use this display
F24=More keys
After you press Enter on this screen, the Display File screen appears from which
you can display your file (Figure 375).
Browse : /usr/sap/r01/dvebmgs01/log/alalerts
Record . : 1 of 9737 by 18 Column: 1 of 66 by 131
Control :
....+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8..
..+....0....+....1....+....2....+....3.
************Beginning of data**************
#MONITORING_SEGMENT
# ALSYSID="R01"
# SEGMENT_NAME="SAP_CCMS_ASM23_R01_01"
# STARTED_AT="Wed Oct 18 11:01:13 2000"
# SEGMENT_TYPE=APPLSERVER
# OWNER="SAP_CCMS"
# LIBRARY_VERSION=20000320
# SEGMENT_VERSION=20000320
# UPLOAD_STARTED_AT="Wed Oct 18 11:01:42 2000" by AlPid 3
# DOWNLOAD_STARTED_AT="Wed Oct 18 12:21:42 2000" by AlPid 0
# NEXT_DOWNLOAD_TREE_AT="Wed Oct 18 12:51:42 2000"
#NEXT_DOWNLOAD_ALERTS_AT="Wed Oct 18 12:51:42 2000"
# SAP_DEFAULT_VERSION="Fri Mar 24 10:15:03 2000"
#
OLD_ALERT
NAME="\###\MoniInfra_ASM23_R01_01\Sapmssy8\Sapmssy8_Runtime"
VALUE=YELLOW SEVERITY=20 UID=5161 TIME=971867212
Directory . . . . : /usr/sap/R01/DVEBMGS01/log
Bottom
Parameters or command
===>
F3=Exit F4=Prompt F5=Refresh F9=Retrieve F12=Cancel F17=Position to
F22=Display entire field F23=More options
The SAVDLTRCV command continuously monitors the status of the R/3 journal
receivers and backs them up after they are detached from the journal. The
iSeries server detaches the journal receiver when the receiver reaches a certain
size. This is defined at the creation of the journal QSQJRN in the library
R3<SID>DATA, with the Manage receivers and Receiver size options attributes.
When the old receiver is detached, the system automatically creates a new
receiver, attaches it to the journal, and sends a message to the message queue,
which you need to create for this purpose. After the SAVDLTRCV command
Bottom
F3=Exit F4=Prompt F5=Refresh F12=Cancel F13=How to use this display
F24=More keys
In this example, the System ID is R01. Press Enter and check that the Manage
receivers attribute is set to *SYSTEM (Figure 378).
Attached
Option Receiver Library
QSQJRN0013 R3R01JRN
Bottom
F3=Exit F5=Refresh F12=Cancel F13=Display journaled files
F14=Display journaled access paths F24=More keys
If the attribute Manage receivers is not set to *SYSTEM, then change the
journal using the Change Journal ( CHGJRN) command as shown in Figure 379.
More...
F3=Exit F4=Prompt F5=Refresh F12=Cancel F13=How to use this display
F24=More keys
4. Create the message queue for the SAVDLTRCV command (Figure 380).
Bottom
F3=Exit F4=Prompt F5=Refresh F10=Additional parameters F12=Cancel
F13=How to use this display F24=More keys
Figure 380. Create Message Queue (CRTMSGQ) for the SAVDLTRCV command
5. Use the Grant Object Authority (GRTOBJAUT) command to grant user R3OWNER
the authority to this message queue as shown in Figure 381.
Object . . . .
. . . . . . . . . > SAVDLTRCV Name, generic*, *ALL
Library . .
. . . . . . . . . > R3R01400 Name, *LIBL, *CURLIB, *ALL...
Object type .
. . . . . . . . . > *MSGQ *ALL, *ALRTBL, *BNDDIR...
Users . . . .
. . . . . . . . . > R3OWNER Name, *PUBLIC
+ for more values
Authority . . . . . . . . . . . > *ALL *CHANGE, *ALL, *USE...
+ for more values
Authorization list . . . . . . . Name, *NONE
Reference object . . . . . . . . Name
Library . . . . . . . . . . . *LIBL Name, *LIBL, *CURLIB
Reference object type . . . . . *OBJTYPE *OBJTYPE, *ALRTBL, *BNDDIR...
Replace authority . . . . . . . *NO *NO, *YES
Bottom
F3=Exit F4=Prompt F5=Refresh F12=Cancel F13=How to use this display
F24=More keys
Figure 381. GRTOBJAUT: Granting authority for the SAVDLTRCV message queue
6. Use the Change Journal ( CHGJRN) command to associate the new message
queue with the R/3 journal as shown in Figure 382.
More...
F3=Exit F4=Prompt F5=Refresh F12=Cancel F13=How to use this display
F24=More keys
Figure 382. CHGJRN: Associating the message queue with the R/3 journal
7. Use the Submit Job ( SBMJOB) command to submit a batch job that will start the
SAVDLTRCV command as shown in Figure 383. Make sure that you signed on
with user ID <SID>OFR or <SID>OPR.
...
Job name . . . . . . . . . . . . SAVDLTRCV Name, *JOBD
Job description . . . . . . . . *USRPRF Name, *USRPRF
Library . . . . . . . . . . . Name, *LIBL, *CURLIB
Job queue . . . . . . . . . . . *JOBD Name, *JOBD
Library . . . . . . . . . . . Name, *LIBL, *CURLIB
Job priority (on JOBQ) . . . . . *JOBD 1-9, *JOBD
Output priority (on OUTQ) . . . *JOBD 1-9, *JOBD
Print device . . . . . . . . . . *CURRENT Name, *CURRENT, *USRPRF...
More...
F3=Exit F4=Prompt F5=Refresh F10=Additional parameters F12=Cancel
F13=How to use this display F24=More keys
After the job is submitted, the SAVDLTRCV job is active in the Message Waiting
status as shown in Figure 384.
The SAVDLTRCV job should not be active when the SAVR3SYS command is run.
You can stop the job by running the SAVDLTRCVE command before you run the
SAVR3SYS command (Figure 385).
Bottom
F3=Exit F4=Prompt F5=Refresh F12=Cancel F13=How to use this display
F24=More keys
After the SAVR3SYS command has completed, start the SAVDLTRCV job again.
Important
Always use the CRTSAPUSR command to manually create OS/400 user
profiles <SID>OFR, <SID>OPR, and <SID><INST>. These user profiles will be
used by the shared transport directory across iSeries servers or logical
partitions. Creating these user pofiles in any other way (by copying an existing
profile, for example) may result in TMS failures.
Figure 386 shows the parameters of the CRTSAPUSR command that are set to
create user profile R01OFR.
Bottom
F3=Exit F4=Prompt F5=Refresh F12=Cancel F13=How to use this display
F24=More keys
Bottom
F3=Exit F4=Prompt F5=Refresh F12=Cancel F13=How to use this display
F24=More keys
Figure 387. CPYTOSTMF: Copying from a save file into a stream file
The Copy from Stream File (CPYFRMSTMF) command was previously used to
copy data from an IFS stream file into a physical file member. Now it is enhanced
to copy data into a save file as well. Figure 388 shows the parameters of the
enhanced CPYFRMSTMF command when copying into a save file.
Bottom
F3=Exit F4=Prompt F5=Refresh F12=Cancel F13=How to use this display
F24=More keys
Figure 388. CPYFRMSTMF: Copying from a stream file into a save file
The SAP System ID and R/3 instance parameters in the STARTSAP and
STOPSAP commands now include the value *ENV. When the *ENV value is
used, the STARTSAP (and STOPSAP) command will determine, from the
environment variables, which SID and instance will be started (or stopped).
Figure 390 shows an example of the STARTSAP command using the environment
variables.
Bottom
F3=Exit F4=Prompt F5=Refresh F12=Cancel F13=How to use this display
F24=More keys
CALL R3<SID>400/R3INLPGM
The new End subsystem parameter has been added to the STOPSAP command
to permit the ending of the OS/400 subsystem that runs the SAP R/3. Ending the
subsystem releases the memory allocated to that subsystem. To end the OS/400
subsystem, set the End subsystem and Wait for instance to end parameters to
*YES.
Note
Do not end the subsystem with this option when the SAP Operating System
Collector (SAPOSCOL) is running in that subsystem. Always end the
SAPOSCOL first by calling the program SAPOSCOL with parameter "-k".
Figure 391 shows an example of the STOPSAP command, with the End
subsystem and the Wait for instance to end parameters set to *YES.
Bottom
F3=Exit F4=Prompt F5=Refresh F12=Cancel F13=How to use this display
F24=More keys
Figure 391. STOPSAP: Stop R/3 System with the End subsystem option
If you are recovering the whole R/3 system (and not just an individual file) and are
using the forward recovery technique, we recommend that you use the PRPQ. It
is available free of charge from the standard IBM software order process.
Once you have the PRPQ, be sure to view the “readme” file and the online help.
Note: We ran the test on a 4-way S20 with 50 disk arms (193.5 GB total), 2G
memory.
F3=Exit F12=Cancel
Figure 392. Display Saved Objects - Save File screen on the original save
Since we have a second save, we cannot use the *LASTSAVE feature of the
APYJRNCHG command. So we have to determine the range of entries ourselves.
The date/time of this “second save” is really the point in time to which we need to
recover (Figure 393).
F3=Exit F12=Cancel
Figure 393. Display Saved Objects - Save File screen on the second save
In our case, we restore the database to the ORIGINAL SAVE version and then
apply journal entries up to the time of the SECOND SAVE.
Another consideration for explicitly specifying the starting receiver and sequence
number is performance. If you have a large set of receivers containing many
millions of journal entries, it may be faster to find the starting point yourself. The
system scans backwards through the entire receiver range looking for the last
saved entry. By examining attach times, you can generally get there faster.
Perform the following command:
WRKJRNA R3DDLDATA/QSQJRN
Attach Save
Opt Receiver Library Number Date Status Date
8 QSQJRN0109 R3DDLJRN 00001 04/17/01 SAVED 04/24/01
QSQJRN0110 R3DDLJRN 00002 04/19/01 SAVED 04/24/01
QSQJRN0111 R3DDLJRN 00003 04/19/01 SAVED 04/24/01
QSQJRN0112 R3DDLJRN 00004 04/19/01 SAVED 04/24/01
QSQJRN0113 R3DDLJRN 00005 04/19/01 SAVED 04/24/01
QSQJRN0114 R3DDLJRN 00006 04/19/01 SAVED 04/24/01
More...
Parameters or command
===>
F3=Exit F4=Prompt F5=Refresh F9=Retrieve F11=Display size
F12=Cancel
Since the save took place on 04/18/01 at 10:45:02, we see that QSQJRN0109 is
the correct starting point, because it was attached before the save and detached
after the save.
Text . . . . . . . . : *BLANK
Attached
Option Receiver Library
8 QSQJRN0177 R3DDLJRN
Bottom
F3=Exit F5=Refresh F12=Cancel F13=Display journaled files
F14=Display journaled access paths F24=More keys
Note the attach time is before the second save. This will be our ending journal
receiver for the APYJRNCHGX operation. See Figure 397.
From this information, we see that the entry with journal sequence number
1749394 is the first “Member Saved” (MS) entry.
Note: This example shows the “MS” entries related to SAVLIB. If you employ a
save-while-active strategy, you need to search for the “SS” entries instead. Again,
you could let the system find the starting point by using FROMENT(*LASTSAVE).
Note: If you explicitly deleted your database library prior to restoring a backup
version, it is absolutely essential that you do not use TOENT(*LASTRST). This
would have the unfortunate result of replaying all of the journaled changes,
including the delete file entries!
From this information, you see that the entry with journal sequence number
36336426 is the first “Member Saved” (MS) entry from the “second save”.
We are going to scan the journal to see if there are any entries that will cause the
apply to be interrupted. Since we will look in the journal multiple times for specific
information, we decided that it would be faster to use the DSPJRN command and
dump the output to an output file. This would allow us to perform queries against
the output file.
With V5R1 and the Apply Journaled Changes Extended PRPQ, any of the above
journal entries would cause the apply processing to end.
Note: 'EJ' during ALTER TABLE does not cause processing to end. The Ignore on
Apply field in the journal entry is set to 1. 'EJ', which is a result of the ENDJRNPF
command, causes the apply to end.
If you want to check the journal to see if there are any object-level entries (and
therefore require the use of the PRPQ), look for the following entry types:
SELECT * FROM r3ddljrn/jrnoutf
WHERE (JOENTT = 'AC') OR (JOENTT = 'CG')
OR (JOENTT = 'CT') OR (JOENTT = 'DC') OR (JOENTT = 'DM')
OR (JOENTT = 'DT') OR (JOENTT = 'FM') OR (JOENTT = 'FN')
OR (JOENTT = 'GC') OR (JOENTT = 'GO') OR (JOENTT = 'GT')
OR (JOENTT = 'MC') OR (JOENTT = 'MD') OR (JOENTT = 'MM')
OR (JOENTT = 'MN') OR (JOENTT = 'RM') OR (JOENTT = 'RV')
OR (JOENTT = 'TC') OR (JOENTT = 'TD') OR (JOENTT = 'TG')
TYPE COUNT ( * )
BR 55
DL 1,689,901
DR 2,057
PT 30,301,736
Note that in our example, we understood the events that occurred and thoroughly
checked the range of journal entries to apply. We really could have specified
CMTBDY(*NO), which would eliminate one pass through the journal receivers
(and save time). That's because the R/3 system was down and there were no
updates happening to the database. If you are unsure about this, or if you are
recovering to a point in time when the R/3 system was active, you should always
use CMTBDY(*YES).
You should also be aware that there are potentially three passes through the
journal. We discussed earlier how to skip the *LASTSAVE pass through the
journal by figuring out the receiver range and starting sequence number. If you
are planning to apply a large number of journal entries, this technique can
definitely save time.
The second pass through the journal is for commit boundary processing. In most
cases, this pass cannot be avoided. However, if you are sure the ending point is
at a commit boundary (for example, if the R/3 system was ended at the point to
which you will recover), then it is possible to save another big chunk of time by
specifying CMTBDY(*NO). However, you have to be sure about this. It is
absolutely essential to recover the database to a consistent point. If you are
unsure, always select CMTBDY(*YES). The third pass actually applies the journal
entries to the database.
The National SAP IBM Competence Centers provide the first-level support for the
joint IBM-SAP sales force. If you need help in an SAP-related customer situation,
you can contact these centers in your country.
Korea
IBM Korea
Hanil Bldg
c/o Her, Jin Uk
Team leader, Production Ind Mktg Sol & SVC
25-11 Yoido, Yeongdeungpo-gu
Seoul Korea
Phone: +82-2-781-6306
Fax: +82-2-782-9146
Australia
ISSC Australia
c/o Mark Engel
GPO Box 1798Q
Melbourne 3001
Australia
Phone: +61-3-626-6546
Fax: +61-3-626-6010
The ISICC InfoService serves as a point of entry for all IBM SAP-related ERP
pre-sales questions directed to the ISICC. Their main focus is on pre-sales issues
of IBM products within the SAP world. They are also working to improve the flow
of information between both companies. As a managed question and answer
service the ISICC InfoService ensures that questions will be assigned to the most
appropriate experts and will be answered as soon as possible despite restrictions
in peoples’ individual ability.
It is understood that time is often critical. However, the request should be sent as
early as possible so that the Infoservice can provide a quality answer. Requests
received from customers are forwarded to the appropriate country organizations.
Access to the SAP Service Marketplace is restricted only to SAP's customers and
business partners, with valid SAPNet user ID and password. If your company
does not have SAPNet access, you can apply for this through SAPNet Support at
+49 (0) 180 534-3433.
Please read SAP's Remote Connection to the R/3 Online Services document for
details. This can be found in the R/3 system online help.
Information in this book was developed in conjunction with use of the equipment
specified, and is limited in application to those specific hardware and software
products and levels.
IBM may have patents or pending patent applications covering subject matter in
this document. The furnishing of this document does not give you any license to
these patents. You can send license inquiries, in writing, to the IBM Director of
Licensing, IBM Corporation, 500 Columbus Avenue, Thornwood, NY 10594 USA.
Licensees of this program who wish to have information about it for the purpose
of enabling: (i) the exchange of information between independently created
programs and other programs (including this one) and (ii) the mutual use of the
information which has been exchanged, should contact IBM Corporation, Dept.
600A, Mail Drop 1329, Somers, NY 10589 USA.
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.
e (logo)® Redbooks
IBM â Redbooks Logo
Advanced Function Printing OfficeVision
AFCCU OfficeVision/400
AFP Operating System/400
AIX OS/2
AnyNet OS/400
Application System/400 PartnerWorld
APPN Print Services Facility
AS/400 PROFS
AS/400e RPG/400
AT SAA
C/400 Service Director
CICS SNAP/SHOT
ClusterProven SP
COBOL/400 SP1
CT SP2
Current SQL/400
DB2 VisualAge
DB2 Universal Database XT
Distributed Relational Database Architecture 400
DRDA Lotus
IBM.COM 1-2-3
Infoprint Approach
Information Warehouse Lotus Notes
Intelligent Printer Data Stream SmartSuite
IPDS Domino
LPDA Notes
MQSeries Tivoli
Network Station TME
Microsoft, Windows, Windows NT, and the Windows 95 logo are trademarks
or registered trademarks of Microsoft Corporation.
The publications listed in this section are considered particularly suitable for a more
detailed discussion of the topics covered in this redbook.
This information was current at the time of publication, but is continually subject to change. The latest information
may be found at the Redbooks Web site.
Company
Address
We accept American Express, Diners, Eurocard, Master Card, and Visa. Payment by credit card not
available in all countries. Signature mandatory for credit card payment.
577
enqueue work process 30 Informational APAR 524, 558
Enterprise Resource Planning (ERP) 9 initializing the tape 240
Environment, Health, and Safety (EH&S) 488 installation 67
ERP (Enterprise Resource Planning) 9 installing a DBCS system 118
exceptional wait time 369 installing OptiMover 127
EXEC-SQL 290 instance 29, 376
expert cache 20, 429, 430 instance priority 431
extended memory 374 instance profile 29, 76
extended memory buffer 377 integrated file system (IFS) 15, 74
integration 3
interactive 370
F internal buffers 450
File Activity (ST04) panel 466 Internet Business Framework Architecture 489
file reorganizing 473 Internet Transaction Server (ITS) 489
file system 74, 385 Invoke Media Map (IMM) commands 191
font 186 IP address 92
fonts.tab 188 IPDS printers 203
form definition 186 iSeries
format types 162 64-bit RISC technology 9
formdefs 191 availability 4, 18
forward recovery 269 client/server capability 5
FTP 363 communications protocols 5
database 14
G database management 4
gateway 30 DB2 UDB for iSeries 14
Generic Output Format 188 integrated file system 15
global transport directory 350, 352 integration 3
global transport parameter file 354 interoperability 5
GoingLive Check 559 job management 17
GoingLive Functional Upgrade Check 559 object-based architecture 11
Grant Object Authority (GRTOBJAUT) command 535 Performance Tools 409
GRTOBJAUT (Grant Object Authority) command 535 printer management 17
GUI buffers 451 security 15
SQL standards 14
system management 4, 17
H user management 18
hardware information 390 user profiles 15
hardware requirements 67 work management 23
hierarchical directory structure 16 iSeries Informational APAR 558
Hierarchical Storage Management (HSM) 20 iSeries integration 8
high availability 272 ISICC (International SAP IBM Competence Center) sup-
solution 273 port 556
horizontal scaling 26 ISICC infoservice (Walldorf) 557
host table 70 iStar 10
hub machine 124 ITS (Internet Transaction Server) 489
Hypervisor 47
J
I Japanese 118
IBM Performance and Testing Support/Analysis Services Java 23, 567
61 Java SAP GUI 500
IBM SAP Capacity Planning Service Offering 60 Java Virtual Machine (JVM) 501
IBM SAP International Competence Center (ISICC) 556 job 17
IBM server positioning 6 attributes 505
IBM sizing support 60 management 17
IFS (integrated file system) 15, 74 status 504
IFS problems 520 structure 503
IMM (Invoke Media Map) 191 working with 402, 404
index 474 job logs 505
ineligible activity time 369 journal 226
information user 56 journal entries 225
579
OTF user font 199 program buffers 451
output device 157, 189 program temporary fix (PTF) 18
output queue 210 PRPQ 545
output requests 181 PSF configuration object 205
overlay 186 PSF/400 185
PTF (program temporary fix) 18
Pulsar 10
P
page definition 186
page format 157, 163 Q
page segment 186 QADRT 119
page-by-page media map 195 QBATCH 370
pagedef.tab 188, 191 QDATE 87
paging 380, 387 QDYNPTYSCD 437
paging file sizes 377 QFileSvr.400 file system 75
paging memory 373 QPFRADJ 387, 388
paper type 162, 163 QPWFSERVER 370
parallel backup and restore 237 QSOC 520
parameter changes history 406 QSTRUP program 74, 82
partitioned binary radix tree 370 QSYS.LIB file system 74
password 18, 79 QTIME 87
performance 5, 380 quadword 11
concept 365 quantity-structure-based sizings 61
data 408 questionnaire based input analysis 58
data from previous hours 395 queue 366
database 385, 398 queuing 369
review 410 queuing concept 365
tips 129 Quick Sizer 61
tools 409, 412 QUTCOFFSET 87
performance monitor 382, 408
starting 382, 408
Performance Tools/400 409 R
personalization 485 R/3
ping 407 printing 151
PJL driver 208 profiles 510
Plaut 150 spool system 152
pool 385 R/3 system
pool identification 370 customizing 357
pool size 370 R/3 user
pool snapshot 395, 398 active user 56
post-production phase 58 benchmark user 56
preload option 80 information user 56
pre-production performance evaluation 59 logged-on user 56
pre-production phase 58 named user 56
pre-sales phase 58 R/3-KOMPAKT 150
presentation services 30 R3<SID> 79
prestart job 371 R3<SID>400 78
previous hours 395 R3<SID>DATA 79
print 17 R3<SID>JRN 79
print control 157 R3_ 79
print driver 157 R3_<nn> 79
printer 17 R3400 78
printer commands 182 R3DATA 79
printer definition 156 R3GROUP 79
printing problem resolution tips 212 R3JRN 79
priority 431 R3OPT 78
private memory 372, 376 R3OWNER 79
problem analysis 515 race 512
problem determination 503 RCNR3SYS (Reconnect R/3 System) command 252
problem management 18 recent periods 398
process overview 402 Reconnect R/3 System (RCNR3SYS) command 252
581
security 15 ST03 Top 40 by database requests 445
SEM (Strategic Enterprise Management) 488 ST03 Top 40 by response time 445
send and receive buffer size 129 ST03 Workload analysis 443
sequential file 135 ST03 Workload overview 444
server 365, 366 ST04 459, 474
server performance 398 ST04 Database monitor
statistics 398 detailed object analysis 470
server system 368 fifty slowest queries 466
Service Director 19 file activity 465
service time 365, 366 index advised 467
session 30, 372 index creates 467
shared memory pool 373, 377 index usage 467
shared roll memory/file 373 list damaged files 470
short dumps 475, 511 missing indexes 470
short name 158 performance tables 471
short wait 369 sorts 467
short wait extended 369 SQL requests 466
single-byte character set (SBCS) 113 state on disk menu 467
single-level storage (SLS) 11, 376 system catalog tables 471
benefits 11 table scan 466
sizing 55 temporary files 467
terminology 56 wait statistics 465
sizing and capacity planning 55 ST04 Database performance 461
SLIC (System Licensed Internal Code) 8, 263 ST04 Detail analysis menu 463
SLS (single-level storage) 11 ST05 474
SM04 User list 439 ST05 SQL trace 511
SM21 511 ABAP level 472
SM50 399, 402, 473, 505 ST06 383, 386, 388
SM50 transaction 399 ST06 transaction 399
SM50/SM51 212 ST07 473
SM66 438 ST07 Application monitor 440
SM66 Global system-wide work processes 438 ST07 Database access 442
SMLG 437 ST07 R/3 buffers 441
SMLT 122 ST07 Response time 443
snapshot analysis 383, 385 ST11 511
snapshot information 392 ST22 475, 511
software requirements 67 Start Performance Monitor (STRPFRMON) command
SP01 181, 212 408
SPAD 156, 177 start profile 76
spool Start SAP (STARTSAP) command 540
administration 156 Stop SAP (STOPSAP) command 540
request 179 Stop Save and Delete Journal Receivers (SAVDLTRCVE)
server 158 command 263, 532
spool work process 153 storage design 11
spooled files 179 storage management 11, 12
spooled request 179, 181 storage pool 380, 387
SQL standards 14 definition 370
SQL trace 511 stream files 16
SQL trace transaction 474 STRPFRMON (Start Performance Monitor) command
SQL Utility (SQLUTIL) command 542 408
SQLUTIL (SQL Utility) command 542 subsystem 23, 370
ST02 378 subsystem definition 370
ST02 Current parameters 454 subsystem description 376
ST02 Detail analysis menu 455 subsystem jobs 382, 402
ST02 tune summary 453 system 29, 236
ST03 474 system activity 410
ST03 Detailed analysis 447 system configuration 385
ST03 Memory profile 447 System Licensed Internal Code (SLIC) 8, 263
ST03 Response time analysis 445 system log 406, 511
ST03 Time profile 446 System Managed Access Path Protection (SMAPP) 20
U
Unicode 117
uninterruptible power supply (UPS) 4
UNIX 3
upgrade of OS/400 90
upgrade of SAP R/3 database 90
upgrade of SAP R/3 kernel 90
UPS (uninterruptible power supply) 4
user context 372
user data 243
user ID 18
user management 18
user profile 15
user-based sizing 59, 61
V
V4R4 18
vertical scaling 26
virtual address 11
583
584 Implementing SAP R/3 on OS/400
IBM Redbooks review
Your feedback is valued by the Redbook authors. In particular we are interested in situations where a Redbook
"made the difference" in a task or problem you encountered. Using one of the following methods, please review the
Redbook, addressing value, subject matter, structure, depth and quality as appropriate.
• Use the online Contact us review redbook form found at ibm.com/redbooks
• Fax this form to: USA International Access Code + 1 845 432 8264
• Send your comments in an Internet note to [email protected]
Review
Questions about IBM’s privacy The following link explains how we protect your personal information.
policy? ibm.com/privacy/yourprivacy/
Implementing SAP
R/3 on OS/400
Learn how to use SAP This IBM Redbook features a collection of knowledge gained from
IBM and SAP solution experts who work with customers that use
INTERNATIONAL
R/3 with the IBM
SAP R/3 on the IBM ~ iSeries server. It was written to TECHNICAL
~ iSeries server
assist R/3 basis consultants and other IT professionals in SUPPORT
Explore and implement implementing a total business solution consisting of iSeries and ORGANIZATION
the best practices, tips, AS/400 servers, OS/400 Version 4 Release 5 (V4R5), SAP R/3
Release 4.6C, DB2 UDB for iSeries database, and complementary
and hints
solution products. The primary content of this Redbook is divided
into three parts.
Run R/3 on the iSeries BUILDING TECHNICAL
faster, more smoothly, INFORMATION BASED ON
Part 1, “Understanding the solution”, presents the concepts and PRACTICAL EXPERIENCE
and easily other basic knowledge necessary to understand the structure,
features, and functions of the SAP R/3 solution on the iSeries IBM Redbooks are developed
server. by the IBM International
Technical Support
Part 2, “Implementation”, describes the implementation Organization. Experts from
IBM, Customers and Partners
techniques necessary to install and properly set up R/3 in the from around the world create
iSeries environment. It contains detailed guidance and timely technical information
explanations of the specific tasks associated with the based on realistic scenarios.
implementation. Professionals involved in implementing R/3 on Specific recommendations
OS/400 may, at some stage, face all the topics covered in this are provided to help you
implement IT solutions more
part. effectively in your
environment.
Part 3, “Advanced topics”, covers topics that will be of interest to
those who want to enhance their SAP R/3 installation by
improving performance and adding additional functionality.
For more information:
ibm.com/redbooks