Sie sind auf Seite 1von 105

FRIENDLY CHAT ABOUT SAP BASIS

Original author: David Soto Ruiz


SAP Credentials: Certified SAP Netweaver Technology Consultant
Certified SAP OS and DB Migrations
10 years of experience in SAP Basis Administration
Current Job: IBM de Mexico, Software Group Services as DB2/SAP Basis Consultant
E-mail: dsotor@mx1.ibm.com

INTRODUCTION

Lets make it really easy, its true that SAP Basis is a big world, however such a big
world can be shrunk at maximum to be understandable for new system administrators.

To be able to start administering SAP Basis its important (but not a restriction) to have
knowledge on database administration and some main topics on OS administration
(UNIX is preferred because all the topics related to OS in this material are noted in UNIX
format, for example OS directories paths and OS commands), with such background it
could be easier to get involved in SAP Basis administration.

The main propose of this material is to give you a baseline to start administering SAP
Basis, no matter you have never had contact on it, and give guidance on where to go
when problems arise.

I neither show the more accurate definitions nor something based on sophisticated
literature, but only what my memory of several years working with SAP Basis dictates
me, and my main intention on doing this way is no other than give access anyone to this
knowledge.

Ill try to share this document to anyone interested in learning or in completing it with
his/her own knowledge, with updates for new versions, in a few words, anyone interested
in enriching it and sharing SAP basis knowledge. Ill pretend to do an understandable
document for SAP Basis beginners; to go deeper, more knowledge can be gotten by
taking SAP courses or by reading specialized literature.

IMPORTANT REMARKS

Have in mind that Im trying to put on this document much of the knowledge about SAP
Basis that my memory dictates me; so, it is an excellent opportunity for you to enter this
world in a rapid and easy way; please do not hesitate in reading and understanding the
whole material, it is not so technical but understandable.

I recommend you that after reading this material, continue reading and reading on
selected topics, SAP world is very wide and the more you read the better SAP basis
professional youll turn into. You can find information on all the topics mentioned here
by accessing http://help.sap.com. Navigate there or use the search utility.

And finally: I just explain what the important SAP basis transactions do, but you have to
go deeper by exploring them once you are in contact with the system. Ill add a series of
transaction screens in a zipped file together with this document, so you can have access to
a how to do it material. You can send me an e-mail asking for the zipped file and Ill
send it to you.

1. NOTE: Many of the figures (SAP screens examples) have been downloaded
(copied) from internet, some of them dont have the best resolution; however
dont worry, the best picture is that youll get when having first contact with the
SAP system.
Table of contents

=> What is SAP .................................................................................................................. 4


=> SAP Versions ................................................................................................................ 6
=> What is SAP Basis......................................................................................................... 7
=> How to install SAP ........................................................................................................ 8
=> How to login to SAP ................................................................................................... 10
=> Initial Configuration of the SAP system ..................................................................... 15
=> SAP kernel and SAP kernel patches............................................................................ 22
=> Configuration profiles ................................................................................................. 24
=> Important Configuration Parameters ........................................................................... 25
=> SAP Support Packages ................................................................................................ 28
=> Basic information (How does it work?) Connection with the database, Work
processes, .......................................................................................................................... 30
=> SAP OS directories structure....................................................................................... 34
=> The client concept ....................................................................................................... 37
=> SAP landscape and changes in the system (transports)............................................... 38
=> Client Administration .................................................................................................. 42
=> RFCs ............................................................................................................................ 44
=> Logon groups............................................................................................................... 46
=> Operation modes.......................................................................................................... 48
=> Users Administration................................................................................................... 49
=> SAP OS programs ....................................................................................................... 53
=> Client Copy functions.................................................................................................. 55
=> SAP Printing................................................................................................................ 56
=> SAP ABAP dictionary................................................................................................. 61
=> SAP Programs and Functions...................................................................................... 64
=> SAP Customizing ........................................................................................................ 67
=> SAP Monitoring .......................................................................................................... 69
=> Problem Solving .......................................................................................................... 87
=> SAP Service Marketplace............................................................................................ 90
=> Miscellaneous Topics .................................................................................................. 92
=> What is SAP

Ive been working during 10 years on SAP Basis administration and when somebody out
of the computing business asks me what I do in my job, I answer this way:

I work with a big computing system which helps companies to take control of most of
the administrative tasks they have to do day by day, for example: finances administration,
accounting, sales, invoicing, procurement, inventory, plant maintenance, projects, human
resources, payroll, etc. This is a complex German system which interconnects all those
business functions the way one movement in certain area task provokes the necessary
movement in a related area; for example, the payroll process generates the necessary
changes in finances and accounting; the sale of a product causes the direct change to the
inventory; etc.

Moreover, such system has the capacity to be implemented in any company in the world
by adapting (customizing) the system to the business specific processes or by adapting
some processes to the way the system works by default

I think that is a good definition, but Id like to add some more technical features:

- SAP is an Enterprise Resource Planning (ERP) System


- SAP extends its functionality, farther from the activities all the companies
in the world have in common, by providing industry solutions for specific
business, such as Telco, Oil, Government, etc.
- SAP provides companies with some other helpful applications useful for
decision support, for example Business Intelligence, Customer
Relationship Management, Portal, SAP for small and medium business
(SAP One), etc.
- SAP is a so called three tier system which separates user interface from
application and database infrastructures, this way, each of the components
can run on a different operative system platform, for example, it is
possible to have the database running on a UNIX OS, the application
server running on Linux and the user interface running on Windows.
- SAP is a multiplatform system, it can run on different operative systems
(several UNIX <AIX, Solaris, HP-UX>, Windows, Linux, IBM AS400,
IBM OS390), and different databases (all DB2 platforms, Oracle, MaxDB,
SQL Server).
- SAP system is built on its proprietary programming language called
ABAP, although they have now a development environment based on
Java.
- SAP kernel (its engine) lives in an OS file system, however the ABAP
application programs (the actual SAP system construction) live in the
database.
The SAP system server components can be a single central instance server, or a central
instance server and one or more dialog instance servers (commonly called application
servers).

The user logs to the SAP system via the SAP graphic user interface (SAPGUI or Java
GUI or Web access via an internet browser) which is installed in the user workstation
(normally a PC with Windows or Linux); SAPGUI communicates with the server
component via TCP/IP by using one or two ports, depending on the login type (one port
to directly log to the central instance or an application server, or two ports when logon
balancing is used which is going to be explained later).

The server components communicate with the database by using a TCP/IP port or in
some cases via memory messages (for example when the database resides in the same
server than the central instance).

Example 1. Server Central instance and


database in the same
component (central
server
instance and
database) residing
in the same server
TCP/IP Network to
access servers from
user interfaces

Example 2. Server
component residing
in different servers Database server

Application server Application server

TCP/IP Network to
intercommunicate
server components

Central instance Application server

TCP/IP Network to
access servers from
user interfaces
=> SAP Versions

Understanding SAP versions and releases is such a complex issue, some times I feel a
little lost about it, but dont worry; this material is intended to be useful for current
releases. I just put this topic here to give you a hint about versions and to warn you that it
is not easy but for beginners it is not very important to understand it.

I think the SAP version most used during several years was SAP R/3 4.6C, and although
this release is out of maintenance for SAP, nowadays there are several companies around
the world which have such release yet.

SAP has been encouraging companies to upgrade their 4.6C system to SAP ERP 6.0
which is a system based a complex system open technology called SAP Netweaver 7.0.

As part of SAP ERP 6.0 exists SAP ECC 6.0, and this version is the actual evolution of
SAP R/3 4.6C, which evolved more or less this way:

SAP R/2 (very old and forgotten SAP version, forget it you too)
SAP R/3 3.0D
SAP R/3 3.0E
SAP R/3 3.1I
SAP R/3 4.0B
SAP R/3 4.5A
SAP R/3 4.5B
SAP R/3 4.6C
SAP R/3 Enterprise 4.7
SAP ECC 5.0
SAP ECC 6.0

Id like to let it clear that such versioning is just about the basic SAP product for business
administration, which most of the SAP customer companies own.

However, there are other products which you can commonly find in medium or big
companies, like SAP BW (for business warehouse) which has had versions like 2.0, 3.0B,
3.5 and currently is part of SAP ERP 6.0, nowadays each SAP ERP installation has the
possibility of using business administration (via SAP ECC 6.0) and BW or BI (Business
Intelligence) systems.

It is a good idea to become familiar also with version names like SAP Web Application
Server 6.20 o SAP Web Application Server 6.40 which are names that SAP used to call
the infrastructure where some products are based on. For example, SAP BW 3.0B and
SAP R/3 Enterprise are products based on SAP Web Application Server 6.20; SAP ECC
5.0 and SAP BW 3.5 are products based on SAP Web Application Server 6.40, etc.
=> What is SAP Basis

As the name says: the base, the foundation, on what the whole SAP system is
supported, the lower layer, composed for those elements which are far from the final
users understanding, hidden for them but extremely important because if the foundation
have any damage the whole building (system) can fall.

SAP is built by modules, each of them related to a business area, for example, finances
module (FI), human resources module (HR), sales and distribution (SD), plant
maintenance (PM), projects (PS), controlling (CO), treasury (TR), material management
(MM), etc.; and all of these modules lay on Basis module (BC).

Basis module is composed for the SAP software itself, the resources management (CPU,
memory, disk, network), the data dictionary, the ABAP programs, the processes
management, the output management (printing service), the user administration (users
and their access privileges), the database management, the system performance
management, the changes management (transports), the interfaces with other SAP & non
SAP systems.

The Basis administration duties, involve activities related to the areas mentioned in the
previous paragraph, except for ABAP development which is not for administrators but
for software developers. However, depending on the company size, it is possible to
separate Basis administration roles; for example, some big companies put user
administration, database administration, printing service, or change management, apart in
a specialized area. Despite of such separation, it is very important for a Basis
administrator to understand all of the Basis areas, therefore, in this document we are
going to speak about all of them; Ill try to mention the most important points about them
for you to go deeper later.

Id like to add that the installation of the SAP system and some times the installation of
the database are tasks that the Basis administrator does.
=> How to install SAP

What Ill say sounds obvious but it is not: the easier way to install an SAP system is by
following the installation guide from the beginning to the end. Hey, but dont try to
follow it as if were a recipe at first instance; I recommend you to first read it at all,
understand it, and once you understand it clearly proceed to follow it more or less like a
recipe, this way it is going to be difficult to have a faulty installation. Remember, SAP is
a kind of complex software, not like a spreadsheet or a word processor; therefore
you have to be very careful on following the directions.

Its very important to read and to understand also the related SAP notes mentioned
in the installation guide, and take into account that such related notes also can have
notes related to them, so read and understand them too. The related notes have
information not contained into the installation guide, information about problem
resolution, and in general, issues not contained in the installation guide important for the
installation too.

NOTE. In the previous paragraph I spoke about SAP notes, and even though Ill speak
later about this topic, let me tell you that SAP notes are part of the support SAP provides
to their customers and partners via the SAP Support Portal, contained in the SAP Service
Marketplace which can be accessed via http://service.sap.com where you can reach the
main menu or you can go directly to the notes via http://service.sap.com/notes. To access
such portal SAP provides the company with an administrator account which can be used
to add more accounts for the company. SAP normally provides the first account to the
SAP leader of the company, so ask that person for an account for you. Moreover, if you
read the electronic installation guide (a PDF file), you can normally go directly to the
note by clicking on the note number.

Now that you know the correct way you have to do to install SAP, lets talk a little bit
about the most important issues of the installation, just for you to take into account what
resources youll need, this way you can plan before start having access to the
corresponding installation guide for your product.

NOTE: The installation guides can be downloaded from the SAP Support Portal through
the link http://service.sap.com/instguides. SAP provides customers with an installation
package (a set of DVDs for the installation), and you can find current releases of the
installation programs in http://service.sap.com/installations.

Important issues of the SAP installation follow.

Choose an id for your SAP system. You have to choose a three characters id. In the
installation guide youll find restrictions on the characters to use, for example, you
cant use ids like, SAP or IBM, It is common to choose names like DEV for
development system, QAS for quality assurance system, TRN for training system,
and PRD for production system, however you can choose any non restricted three
characters id. Take into account that in the literature, when its necessary to refer to
the SAP system id in a general way, you can find variables like <SAPSID> or <SID>
for the system id in capital letters, and <sapsid> or <sid> for the system id in
lowercase, here well use <SID> and <sid>, so when you find them, just substitute
them for your actual system id, for example PRD and prd respectively.
Check installation requirements. You have to check what resources youll need for
the installation (hardware and software)
Read installation notes. There are some important installation notes you must read;
and remember to also read the other notes which installation notes indicate.
Make necessary OS configurations. Settings to OS are necessary, such as OS kernel
changes, users creation (that you can do by yourself or let SAP to do), and
environment variables for the installation.
Configure necessary file systems. Youll need to set up some mandatory file
systems, including installation file system (you can decide its name), SAP kernel file
system (/samnt/<SID>), SAP working file system (/usr/sap/<SID>), and SAP
transport file system (/usr/sap/trans).
Configure database space. Depending on the database, you have to create file
systems, directories, or row devices with sufficient space to create the initial database.
Create installation directory. A directory in a file system with enough space
(indicated in the installation guide).
Execute installation program (SAPINST). Current SAP releases provide SAPINST
program for the installation which needs a graphic java environment to run. Firs you
have to choose what you are going to install (database software, database creation,
central instance installation, dialog instance installation).
Feed installation program with necessary inputs. You need to feed SAPINST with
information like SAP system name, system number (a tow digits number starting
from 00, that uniquely identifies the central or dialog instance), database and instance
host name, port names (for SAP message server, for database communication),
database name, available memory for SAP system, available memory for database,
necessary file systems, database space for installation, etc.
Post-installation activities. There are a series of necessary activities after the SAP
installation has finished, for example, start and stop the system (executing at
operating system level startsap and stopsap respectively with user <sid>adm), logon
to the system, install SAP and database final licenses, execute a backup of the
installation (SAP and database file systems, installation directory, and database),
check that the installation was done correctly by logging in to the system and
executing transaction SICK.
=> How to login to SAP

Currently, most of the users (including final users, developers, functional team, Basis
administrator) access the SAP system via the SAPGUI program, and first of all, such
program has to be installed in the user workstation.

SAP recommends using the latest SAPGUI version which is downwards compatible
with all SAP versions; you can find SAPGUI in the installation package or in the link
http://service.sap.com/installations under the name SAP front end components.

There is also a guide to install SAPGUI, and you should follow it overall if you want
to do a special installation called Server installation, which lets you install and
update SAPGUI for all the users via the network from a server.

If you want to do a single installation, for example in your PC, just execute the
corresponding setup.exe that comes in the SAP front end DVD or in the package you
downloaded from the SAP support portal.

After the installation, youll find in your desktop an icon like the next one

Double click on it and youll find a screen like the next one
Here, there are already a series of systems to access, however, the first time you
access SAPlogon program you find no systems in there, so you have to add the
systems you need to access by clicking New item button, and fill in the next screens

Click Next

In Description put something that identifies your system, for example: Development
system; In Application Server put the IP address or hostname of your central or
dialog instance; In System Number put the number assigned to the instance you want
to log in (for example 01); in System ID put the <SID> (for example PRD); One
normally leaves SAProuter String blank (SAProuter is a topic well try in Advanced
topics later in this document). After you fill the mentioned fields just click on the
Finish button.

Once you have entries in the SAPlogon window, you simply have to double-click on
the desired one, or select it and click on the Log on button. Then youll find the
actual SAPGUI access window, something like the next figure

We are going to speak about SAP Client concept deeply later. It is a three digits
number starting from 000 that identifies and independent set of data in the system and
can be used, for example, to separate companies in a productive system, or to separate
set of test data in a development system. After the installation of your SAP system
youll only have clients 000, 001, and 066, but lets only pay attention in client 000
which is the base of all the clients in the system, therefore, imagine you only have
client 000 after your installation, so you type 000 in field Client.

Fill out User and Password with the necessary entries. After the SAP installation you
only have DDIC and SAP* users which have a peculiar password that you can find in
the installation guide (19920706 for DDIC and 06071992 for SAP*). You have to
change such passwords after your first logon. You also have to create an
administrator user by using the correct procedure mentioned later in this document,
this is to avoid using DDIC and SAP* users which are designed for specific activities.

For field Language you have to choose the desired logon language or leave it blank if
you just want to log in with the default system language or the language assigned to
your user, it is a two character id, for example, EN for English, ES for Spanish, DE
for Deutsch, etc.

Once you fill out with the correct data, a screen like the next one appears.

You find a menu panel (which can be customized by the user administrator), and you
can navigate in such menu or you can go directly to a transaction by typing its code in
the upper left field and clicking the green check or pressing ENTER, in the figure you
can see the transaction STMS which takes you to the transport system after you click
in the green check or press ENTER (dont do it now, its just illustrative).

Once you are in the screen of any transaction, you cant go to a transaction by just
typing the transaction code in the upper left field, in that case, you have to precede
the transaction code with the characters /n, for example, if you are in the transport
system transaction and want to go to the global processes transaction, you have to
type /nSM66 or /nsm66; the field is not case sensitive.

You can also use characters /o preceding a transaction code to open the transaction in
another window.

You can leave SAP in the normal way you close any program in Windows by
clicking in the upper right X button, when you do so, SAP warns you that any
unsaved data is going to be lost once you leave. But you can also leave SAP without
receiving any warning by simply clicking /nex and the green check (or ENTER).

Next figure shows the function of the buttons at the top of the screen.

1 2 3 4 5 6 7 11 12 13 14 17 18

15 16
8 9 10

1.-Once the transaction code is typed you click this button to access the transaction.
2.-In this field you type the transaction code.
3.-This arrow is to hide or show the transaction field.
4.-This floppy disk button lets you save modified info, or in some transactions the screen
configuration (Ctrl-S).
5.-To go to the earlier screen (F3).
6.-To abandon a transaction or to leave the system (F12).
7.-To cancel the current transaction.
8.-To send screen output to print (Ctrl-P).
9.-To find in the screen document (Ctrl-F).
10.-To find the next occurrence of the find pattern (Ctrl-G).
11.-To go to the first page of a document (Ctrl-Pg-up.).
12.-To go to the previous pages of a document (Pg-up).
13.-To go to the next page of a document (Pg-dwn).
14.-To go to the last page of a document (Ctrl-Pg-dwn.).
15.-To open a new session.
16.-To create a shortcut in the desktop.
17.-To display online help (F1).
18.-To do SAPGUI adjustments (Alt-F2).

Now the functions in the button of the screen

1.-The System Id.


2.-The session number. 2 4 5 6
3.-The Client number.
4.-It shows more information of the session and lets you choose. 1 3

5.-The hostname of the application server.


6.-Keyboard insertion/overwrite mode.
=> Initial Configuration of the SAP system

Some basic settings should be done in the SAP system after it is installed, they are very
important to start working with the SAP system in a correct way, description of those
activities follows:

Transport system configuration. SAP encourages its customers to not do changes


(for example, corrections, new developments, customizing), directly in the production
system (the final user system), but using a development system, and then test the
changes in a quality system; To do it, SAP provides an infrastructure to take the
changes from one system to another in an ordered way, such infrastructure is the
transport system.

After installing SAP, the transport system has to be configured by calling transaction
STMS. For the first installed system in a group (landscape) of development, quality
assurance and production systems, you have no choice other than define it as the
Transport Domain System (the transport domain system is the system that is used to
manage the configuration of the whole transport system), after calling transaction
STMS, a screen appears inviting you to define the system like the transport domain,
you just have to provide a description and save the change.

If the installed system is not the first in the landscape, before starting SAP and
configure the transport system you have to mount via NFS the transport directory
(/usr/sap/trans) from the transport domain system, so when you call transaction STMS
for the first time, a screen appears inviting you to add this system to the previously
configured transport domain, after you fill the screen with the system description and
save the changes; then you go to the transport domain system, select the systems view
button, select the recently added system and choose from the upper menu the option
Accept.

More configurations are necessary but these are the basic ones. Other configurations
are mentioned in the Transports section of this document.

NOTE: All the transport configurations have to be done in client 000.

Language installation. By default the SAP system comes with languages English
and Deutsch, however if the system is for users of a country where another language
is spoken, you have to install the corresponding language. There is a complete guide
to install languages, you can download it from
http://service.sap.com/installationguides. Transaction code to install a new language
is SMLT.
Configuration profiles import. The configuration settings of the SAP kernel are
noted in OS text files (called profiles) which reside in the directory
/sapmnt/<SID>/profile; there is a DEFAULT profile which keeps the parameters for
all the SAP instances (application servers) of the system, a START profile (one for
each instance) which keeps fixed parameters to start the SAP instance and an
INSTANCE profile (one for each instance) which keeps parameters for the specific
instance. The SAP kernel parameters are necessary to manipulate the behavior of the
SAP system, there are login parameters, language parameters, memory parameters,
buffers parameters, work processes parameters, ABAP parameters, database specific
parameters, etc.

After the SAP system installation, DEFAULT, START and INSTANCE profiles have
some basic configuration parameters, during the life of the system the profiles change
because the administrator needs to feed them with other SAP recommended
parameters, or with parameters needed to tune the system.

Although profiles reside in text files which can be modified by using an OS text
editor, the best practice is to modify them into the SAP system by using transaction
RZ10 (it is going to be revised later in this document), and to make the SAP system
know the profiles to star modifying them, they have to be imported by using
transaction RZ10 and chose from the upper menu Utilities -> Import profiles -> Of
active servers.

Operation modes creation. The way SAP attends the user requests is through
specialized processes called Work Processes; there are work processes of different
kinds: Dialog for interactive requests, Background for batch requests, Update for
processing of data modifications, Spool for processing spool requests, and Enqueue
for concurrency control.

The amount of work processes available in the system does not change while the
system is online, however the amount of each kind of them can be changed by
utilizing operation modes, most of the times you turn dialog work processes into
background work processes and vice versa.

For example, you can have configured in your system 20 dialog work processes plus
5 background work processes in a an operation mode for the day, and you can have
an operation mode for the night with 10 dialog work processes plus 15 background
work processes for the night.

So, the operation mode is the way you dispose of your available work processes to
attend the kind of business requirements during a 24 hours day.

The operation modes are configured in transaction RZ04. The way it is done is
mentioned further in this document.

Housekeeping jobs schedule. There is a series of housekeeping activities necessary


for the system to keep good performance and to avoid cumulate unnecessary data.
You have to program such activities to run in the background, preferable during the
night. You program jobs by using transaction SM36, and you dont have to remember
exactly their names or the programs they use, it is because in the top of the work area
of transaction SM36 there is a button called Standard jobs, by clicking on that
button you get a list of housekeeping jobs for them to be scheduled.

Support packages application. Support packages are accumulations of corrections


and improvements SAP does to the original (boxed) system programs and data
dictionary. Indeed, SAP is constantly publishing and delivering corrections via SAP
Notes which can be accessed via http://service.sap.com/notes; however, more or less
quarterly SAP releases support packages to let customers have their systems up to
date.

Support packages are grouped and called depending of the modules they are for. For
example, there are Basis support packages (its name starts with SAPKB) ABAP
components support packages (its name starts with SAPKA), application components
support packages (its name starts with SAPKH), human resources support packages
(its name starts with SAPKE), etc.

It is very important that after the installation of the SAP system you put it up to date
by applying the latest support packages. There is a section of this material for the
explanation of applying support packages, but I like to mention that they have to be
applied in client 000 by using transaction SPAM.

Although SAP frequently distributes media with the latest support packages, you can
download them from http://service.sap.com/patches.

Work client creation. The creation of a work client is always necessary you must not
do business activities in client 000; on the contrary, you have to create at least one
new client for your developers and customizers in a development system, for you
testers in a quality assurance system, a productive client for your final users in a
production system.

It is a good idea to have an ordered way in the naming of the work clients; for
example, if you define client 100 in the development system for the developers and
customizers, you should define a client 100 to test the changes in the quality
assurance system and a productive client 100 in the production system; and if for
example you could need another productive client to add another company to your
system, and you want to call it 200, then you should create a client 200 in both the
development and quality assurance systems.

The client creation is done through a process called client copy, even though you can
find the way to do the client copy later in this document, in advance I tell you that
you have first to create an entry in the clients table (T000) by using transaction
SCC4, there you name you client and put basic information like description, city,
currency, logical system, and client role. After that you can log to the new client with
the embedded user SAP* and password pass. Logged into the recently create client
you call transaction SCCL (client copy), there you indicate client 000 as the source
client and you can choose for example the copy profile SAP_UCSV (the most
commonly recommended for clients copied from client 000).

You can monitor the advance of your client copy by calling transaction SCC3.

While your client copy is occurring you have to check the database space available if
you dont have implemented an auto storage strategy, because you could need to add
space to a storage unit (calling this way, the table spaces, data spaces, or whatever the
database vendor calls the units necessary to let the database store the information). In
order to do this activity you have to ask for help to the database administrator, or if
you have access to database transactions in the sap system, call transaction DB02 and
certainly you can monitor this issue from there.

Transaction SCCL has a function to test the client copy, and makes an approximate
computation of the required space increase in your storage units. It is taking some
time to do the test but is a good practice.

SAP license installation. Once you installed SAP, youll have a temporal license to
work (during one month). It is very important for you to install a permanent license.
You have to first get the license key from http://service.sap.com/licensekey. There
SAP is going to ask you for some information about your system like: the installation
number, the hardware key, and data about your system. The installation number is
provided by SAP (you will be able to select it in the URL), the hardware key can be
gotten from the system in two ways: by calling program saplicence with the
argument get (saplicense get) at OS level or by calling into the sap system
transaction SLICENSE.

You can find much documentation on license keys in the mentioned URL for you to
know more. Once SAP provides you with the license key, install it with transaction
SLICENSE or with saplicense install at OS level.

The next figure is a view of transaction SLICENSE.


To install the license you select from the top menu Edit -> Install License or you click
on the button encircled in red.

Loads generation (SGEN). If you install the SAP system and dont generate
program loads with transaction SGEN, the first time you or any user call a
transaction, it has to be compiled what would mean waiting time. So it is
recommended to run it after the installation or after a major change in the system (for
example support packages application, upgrade, and migration).

Here the options shown in the first screen of transaction SGEN.


After the installation, you can choose, for example the first option, Generate All
Objects of Selected Software Components. This option would let you choose from
a list of SAP modules for the generation of loads, if you are sure of what modules are
going to be used in your company, you just select them, if you are not sure, you can
select all of them. Then the system is going to ask you for the application server
instances where you want to generate the loads (it means the load generation can be
parallelized), after that you have to schedule the generation, it can be immediate or at
the time you choose (it is a good practice to run it overnight because it can take
several hours). The latest screen of the transaction lets you monitor the advance.

Here a look of the latest screen of transaction SGEN


Note at the bottom part of the screen the options for the load generation schedule:
Start Job Directly to start it immediately, Schedule Job for to indicate the date and
time, and Job Overview to monitor the job log.

Once you start the generation of the loads, you can see the advance by refreshing via
the Refresh button at the top of the work area. Youll be able to sys the amount of
generated loads, the percentage of completion, and a estimate time for the generation
to be completed.

NOTE: Be careful with the database space, mainly pay attention on the database
storage unit called <SID>#EL<SAP_version> or PSAPEL<SAP_version>
because all the loads consume some GB of disk space (think initially in 3 or 4 GB).
=> SAP kernel and SAP kernel patches

The SAP kernel is the set of core executable programs that start and keep working the
SAP system at operative system level. In UNIX you can find the kernel programs in the
path /sapmnt/<SID>/exe which is accessed via the soft link
/usr/sap/<SID>/SYS/exe/run.

The most important program is called disp+work; this program starts the dispatcher
which is the process father of all the work processes, there is another very important file
called db<dbs>slib.so (example: dbdb6slib.so, dboraslib.so) which is the interface that
converts SAP data types to specific database data types and vice versa (the database
library). Youll find a long list of files in the kernel directory, and some of them are either
corrected or improved frequently, so you have to apply such changes known as kernel
patches.

You can download kernel patches from http://service.sap.com/patches. In the


corresponding link of your SAP release you look for database independent and database
dependent kernel patches, youll find a file called SAPEXE<patch_version>.SAR and
SAPEXEDB<patch_version>.SAR respectively; you have to download both of the files
with the same version (try to get the files with the largest version number), take them to a
temporal directory in your operative system and uncompress them by using the program
SAPCAR (with parameters xvf <filename>) which also resides in the kernel directory,
after you do so simply copy the uncompressed files to the kernel directory using the
UNIX copy command cp without options to permit the files keep their original
permissions.

For example, If you want to get the kernel patch for your SAP ECC 6.0 system which
runs on operative system AIX with database DB2, in http://service.sap.com/patches you
have to choose Entry by Application Group -> SAP Application Components -> SAP
ERP -> SAP ERP 6.0 -> Entry by Component -> SAP ECC Server SAP KERNEL
7.00 64-BIT UNICODE > AIX 64bit -> #Database independent (or DB2 UDB for
the database dependent part of the kernel), scroll down the screen until you can see the
SAPEXE file, for example for the database independent part,

Or for the database dependent part of the kernel


!

To download them you have to mark them with the check box, add them to the Download
Basket by clicking the corresponding button, then use the program SAP Download
Manager which you have to install previously in your PC (Hint: if you click on the
button Maintain Download Basket an screen is open and it has a button with the title
Get Download Manager for you to get it).
To uncompress the files you type at OS level: /sapmnt/<SID>/exe/SAPCAR xvf
SAPEXE_185-20000978.SAR, the decompression occurs and then you simply execute
cp * /sapmnt/<SID>/exe/ (try to avoid copying the SAPEXE file by moving it to
another directory before you execute cp).

Ready, you have your kernel patched!

NOTE: It is very important to do this task frequently because you can avoid and solve
several identified problems. Dont forget to do it after a new installation too.
=> Configuration profiles

As mentioned in section 6 of this document, configuration profiles are maintained


through transaction RZ10. There are some important things you have to take into account
when modifying configuration profiles:

The system saves versions of them


They need to be activated for the system to write them in the OS corresponding files
The changes done in the configuration profiles are not dynamic; the system has to be
restarted for the changes to take effect
Certain profile parameters are dynamic but they need to be maintained in transaction
RZ11 or in the dynamic section of transaction RZ10.

Most of the profile parameters have default values, in case you dont put the profile
parameter either in the DEFAULT profile or in the INSTANCE profile, the default value
is taken; if you put a value to a certain parameter in the DEFAULT profile it is valid for
all the instances of the system, but if you put the same parameter in the INSTANCE
profile it is going to have precedence.
=> Important Configuration Parameters

There are some parameters that are much known, and you should know what they are for,
the list follows with a brief explanation (you can find documentation of the parameters in
transaction RZ11 or in the SAP Notes):

Some commonly utilized in the default profile (DEFAULT.PFL)

SAPSYSTEMNAME Is the three characters id of the system (the <SID>)

SAPDBHOST The hostname of the server where the database server


resides

rdisp/mshost The hostname of the server where the message server


resides (it is normally the central instance server)

rdisp/sna_gateway The hostname of the server where the gateway service


resides (it is normally the central instance server)

rdisp/sna_gw_service The gateway service, conformed with sapgw and


the instance number, for example sapgw01, it has an entry in the
/etc/services file (port number 3301 for this example, the 33 and the
instance number)

rdisp/vbname Update instance name, normally the central instance


name(conformed by <hostname>_<SID>_<instance number>, example:
cihost_PRD_01)

rdisp/enqname Enqueue instance name, normally the central instance


name (conformed by <hostname>_<SID>_<instance number>, example:
cihost_PRD_01)

rdisp/btcname Background instance name, normally the central


instance name (conformed by <hostname>_<SID>_<instance number>,
example: cihost_PRD_01)

rdisp/bufrefmode The way that the buffers of the instances are


refreshed, it is important to take into account that if your system
only have a central instance then the value of this parameter should be
sendoff,exeauto; in case your system has other application server(s)
apart of the central instance, the value should be sendon,exeauto.

dbms/type The tree characters identifier of the database software


vendor, examples: db6 for DB2 LUW, ora for Oracle, inf for Informix,
etc.

Some commonly used in the instance profiles


(<SID>_<instance_id>_<hostname>)

<instance_id> stands for DVEBMGS<instance_number> for the central


instance. Example of a central instance profile name:
PRD_DVEBMGS01_cihost, DVEB stands for the kind of work processes the
instance holds, central instance at installation time holds Dialog,
Vpdate, Enqueue, and Background work processes. MGS stands for the
message service which normally resides in the central instance. For a
dialog instance <instance_id> is composed by a D and the instance
number. Example of a dialog instance profile name: PRD_D02_dihost.

SAPLOCALHOST Hostname of the instance (by default it is the value the UNIX
command uname n returns), this parameter is useful when you need to use a different
name than the default, for example in high availability environments.

SAPSYSTEM Corresponds to the instance number

INSTANCE_NAME Corresponds to the instance id

rdisp/wp_no_btc Amount of background work processes

rdisp/wp_no_dia Amount of dialog work processes

rdisp/wp_no_spo Amount of spool work processes

rdisp/wp_no_vb Amount of update work processes

rdisp/wp_no_vb2 Amount of update2 work processes

login/failed_user_auto_unlock Useful to avoid the users to unlock by themselves


when blocked for failed logins

login/fails_to_user_lock Amount of times the user can fail to login before they came
locked

login/password_expiration_time Time in day for the user passwords to expire

login/system_client Default login client for the users

rspo/store_location Place where the spool requests are saved (database or file system)

zcsa/installed_languages One character id for installed languages (for example DES


when Deutsch, English and Spanish are installed)

zcsa/system_language One character id for default system language

em/initial_size_MB Size of the SAP extended (main) memory

rdisp/max_wprun_time Maximum time in seconds a dialog user session can run in


a dialog work process, after that time the system cancels the session issuing a short dump
called TIME_OUT

rdisp/PG_MAXFS Size of pagination memory file


rdisp/PG_SHM Size of pagination memory
rdisp/ROLL_MAXFS Size of roll memory file
rdisp/ROLL_SHM Size of roll memory

A list of buffer related parameters follow, please check their documentation in transaction
RZ11:

rsdb/obj/buffersize
rsdb/obj/large_object_size
rsdb/obj/max_objects
rtbb/buffer_length
rtbb/max_tables
zcsa/db_max_buftab
zcsa/presentation_buffer_area
zcsa/table_buffer_area

A list of memory related parameters follow, please check their documentation in


transaction RZ11:

ztta/parameter_area
ztta/roll_area
ztta/roll_extension
ztta/roll_first
ztta/short_area
abap/buffersize
abap/heap_area_dia
abap/heap_area_nondia
abap/heap_area_total
abap/heaplimit
em/blocksize_KB
em/global_area_MB
em/initial_size_MB
ipc/shm_psize_10
ipc/shm_psize_40

Ill speak about some of these parameters in section SAP Memory Management
=> SAP Support Packages

As explained before, support packages are a collection of corrections and improvements


for the system made by SAP.

SAP recommends to always having the latest released support packages, so applying
support packages turns into a very important and frequent Basis task.

The process of support package application basically consists of:

Download the support packages from the SAP Support Portal via the link:
http://service.sap.com/patches.
Load the support packages files into the system (it can be from the frontend or from
the server) via transaction SPAM.
Create an import queue via transaction SPAM.
Read notes related to support package import (the system advises about notes to
read).
Import the support package queue.
Adjust data dictionary and program modifications via transactions SPDD and SPAU
respectively.
Confirm the import.

Its important to remark functional team (the guys who customize the system) has to
check the notes related to the support packages of each specific area, in order to find if
the application is not going to cause any impact on the system functionality.

Besides, the support packages have to be applied along the system landscape, starting on
the development system, some tests should be done there, and made necessary
corrections; then the support packages and the corrections done in the development
system are applied to the quality assurance system and corresponding tests must be done
over there, if more corrections are necessary, they have to be made in the development
system and taken to the quality assurance system. Once the most critical business
activities are tested you can proceed to apply the support packages and corresponding
corrections to the production system.

Take into account that support packages overwrite the standard data dictionary objects
and programs, so if you had made a correction to a standard object and it comes corrected
in an applied support package, it is overwritten; however SAP gives you the tools to
adjust your modification, it is by either keep the original or get back your modification or
remake your modification into the original. It is via transactions SPDD for data
dictionary objects and SPAU for repository (programs, functions, etc.) objects.

Support packages have to be applied in client 000.


NOTE: Its very important to note that there is a special package for corrections of the
transaction SPAM; it is called SAINT/SPAM Update. Before you apply support
packages, be sure that you have the latest SAINT/SPAM Update; you can download it
from http://service.sap.com/patches. The name SAINT comes from transaction SAINT
which is used for the application of either SAP or independent vendors Add-ons to the
system.
=> Basic information (How does it work?) Connection with the database, Work
processes,

Ill try to make a brief description of the way the SAP system works.

The activity of the SAP system at operating system level is made by the user <sid>adm
(example prdadm). Being user <sid>adm you start the SAP system by executing the alias
startsap, this alias calls a script called startsap_hostname_<SID> (found in the
<sid>adm user home directory), the script calls passes the information of the START
profile to the sapstart program (part of the kernel) which calls program disp+work.
Program disp+work generates a process called dispatcher which is the work processes
father process, so the dispatcher starts their son processes. Dispatcher and work processes
can be identified at operating system level with the name dw.sap<SID>_<instance_id>,
for example dw.sapPRD_DVEBMGS01 for a central instance work process.

Besides starting the SAP system, startsap can start the database. startsap checks first if
the database is online, if it is not, startsap calls the corresponding kernel program to start
the database, in case the database is already online startsap proceeds to only start the
SAP system. You can put to startsap the modifiers db and r3 to start only the database or
only the SAP system respectively.

To stop the sap system you issue the alias stopsap, and it can be used with the modifiers
db and r3 to stop only the corresponding component. stopsap also calls a script called
stopsap_hostname_<SID> (found in the <sid>adm user home directory).

When starting and stopping the SAP system, logs startsap_hostname_<SID>.log and
stopsap_hostname_<SID>.log are written in the home directory of user <sid>adm.

SAP connects to the database by using a user normally called sapr3; I say normally
because another user name can be chosen, for example, when you have more than one
SAP system in a single database (known as MCOD = Multiple components on One
Database), but, although possible, this kind of environment is not too much used.

At OS level, all the activity of the system is done by user <sid>adm, so <sid>adm issues
a su command to turn itself as user sapr3 to reach the database. You can find that user
sapr3 has not OS special environment variables to work, this is because it inherits the
environment variables from <sid>adm when issuing command su.

Only for testing the connection to the database you can use a program called R3trans, it
have different modifiers but the most used is d; If R3trans d returns a successful code
(000) it means the database is online and connections are possible, on the contrary, any
other return code means either there is a problem to connect or the database is offline.
You can check the log of R3trans in a file called trans.log which is written in the
directory were you ran R3trans.
Due SAP is designed to work with the most important Database Manager Systems, to
work with each of them, considering not all of the SQL instructions and data types are the
same neither for SAP nor for the database manager systems, SAP utilizes a database
library (dbsl) which is part of the kernel, and is named like db<dbs>slib (where dbs
stands for the tree characters identifier of the database server, for example, db6 for DB2
LUW, ora for Oracle, mss for Microsoft SQL server, etc.). So, the dbsl has the job of
converting instructions and data types from both SAP -> Database and Database -> SAP.

Work processes

Now that we know how to start and stop SAP, what happens at OS level when sap is
started, and how the SAP connects to the database level, lets take a look to the way SAP
internally works.

The attention to the users is done through the work processes, and as already mentioned,
there are some kind of them, dialog (DIA) background (BTC), update (UPD),
update2 (UP2), spool (SPO) and enqueue (ENQ). The work process do not attend the
users in an exclusive way, I mean, when a user makes a petition, the work process does
the task and then it is released to attend another user petition, but if the user petition
releases the work process but has not finished its activity (because needs to do a
different system task), a user context is saved in memory to permit it continue later. It
means a user task can start in one work process but no necessarily finishes in the same
work process, neither in the same work process type.

Example: Imagine a user transaction which has more than one screen, after filling in
each of the screens a dialog processing occurs, it means that in two different times a DIA
work process is going to be used by the system, and once the user finishes the filling in
process, he or her proceeds to save the information what causes an UPD work process to
be used by the system; moreover, if the data to be changed requires a lock to avoid others
to use it while being updated then the ENQ work process would do its work; and if the
transaction generates a printed document, it would be necessary to use a SPO work
process.

Normally dialog, update, update2, spool, and enqueue work processes dont keep a user
activity during a short period of time (a few seconds), indeed dialog work processes
cancel a user activity (issuing a after it reaches the time established by parameter
rdisp_max_wprun_time (standard value of 600 seconds); this is because dialog work
processes are designed for the interactive work which tends to be agile. The
recommendations for a user activity which overpasses rdisp_max_wprun_time is any of
both improving the corresponding program or schedule (va transaction SM36) the
activity to run as a batch process which utilizes background work processes.

A view of the work processes activity can be reached though transactions SM50 (for a
specific instance) and SM66 for a global view. HINT: Using transaction SM51 you can
switch between instances. A view of SM50 transactions follows.
Transaction SM50

In this transaction you can, monitor work processes activity, CPU and memory
consumption; cancel work processes activity; debug transaction; etc.

Memory usage

There are different memory areas SAP holds, mentioning some important ones, it has:
extended memory, heap memory, roll memory, page memory, buffers.

Extended memory is the main work area of the SAP system; it is used for the programs
to hold the information they need to process, is shared memory, for example internal
tables are written over there. It is normally the largest memory area of the SAP system,
configured by parameter em/initial_size_MB, when programs run out of extended
memory they start using heap memory.

Heap memory is the auxiliary memory area to be used when other memory areas had
been used at all, the parameter that configures heap memory size is
abap/heap_area_total; and parameters controlling the usage of this memory by dialog
and non dialog activities are abab/heap_area_dia and abap/heap_area_nondia
respectively.

Roll memory is intended to save users context while running activities on work process.
Related parameters are rdisp/ROLL_MAXFS and rdisp/ROLL_SHM

Page memory is the memory designed to hold information of the programs, related
parameters are rdisp/PG_SHM and rdisp/PG_MAXFS ##### CHECK #####
Buffers is memory reserved for SAP to hold the most used objects, there are buffers of
different kinds, for example: for programs, for tables, for export/import, for screens, etc.

I wanted to start speaking about memory in this section because work processes need it to
do their job, and you can check in an easy way the consumption of memory of each work
process in transaction SM50, by double clicking on the line entry of the work process you
want to check and going to the bottom part of the presented screen. This is useful when
youre monitoring work process behavior.
=> SAP OS directories structure

You as a Basis administrator have to know the most important directories of the SAP
system, because you must know where to go when issues appear, so, I put here them
together with their description.

/sapmnt/<SID>/exe

Actual SAP kernel directory, there you find programs and scripts necessary for SAP to
work on the operative system. In documentation you normally dont find this as the
kernel directory because SAP utilizes soft OS links that refer to this directory (see
below). Although there are methods other than sharing this directory via NFS, if you have
a system with more than one application server, you have to share this directory between
them.

/sapmnt/<SID>/profile

Actual SAP profiles directory, there you find the DEFAULT, INSTANCE and START
profiles of the SAP system. In documentation you normally dont find this as the profiles
directory because SAP utilizes soft OS links that refer to this directory (see below). If you
have a system with more than one application server, you have to share this directory
between them.

/sapmnt/<SID>/global

Actual SAP global directory, used (if defaults are not changed) to store spool requests
and jog logs for your SAP clients, there you find directories like <client>SPO,
<client>JOB. In documentation you normally dont find this as the global directory
because SAP utilizes soft OS links that refer to this directory (see below). If you have a
system with more than one application server, you have to share this directory between
them.

/usr/sap/<SID>/SYS/exe/run

It is a soft link that points to /sapmnt/<SID>/exe.

/usr/sap/<SID>/SYS/profile

It is a soft link that points to /sapmnt/<SID>/profile.

/usr/sap/<SID>/SYS/global

It is a soft link that points to /sapmnt/<SID>/global.

/usr/sap/<SID>/<instance_id>/work
Work area of the work processes. Here you find very valuable information when you
have problems on work processes, or problems to start/stop the SAP instance. Pay special
attention to developer traces which are filenames starting whit dev_, followed by w##, or
disp, or rfc##, for example dev_w10 which stands for the developer trace of work
process with id 10; or dev_disp which stands for developer trace of the dispatcher
process (the process father of all the work processes); or dev_rfc2 which stands for the
developer trace of rfc with id 2.

There are other useful files you can find in that directory, for example, when you are
diagnosing why SAP cannot start, apart of checking the very important file dev_disp,
you should list the directory by ls ltr and check the files that appear at the bottom of the
list.

I recommend you to frequently check two things related to this directory: 1) the largest
files in there in order to find why the files are growing so, because it could be that there is
a problem in the system; 2) the free space of its corresponding file system, because it
tends to be filled by the developer traces of by core files; after you have checked
something you can delete do it, dont let the file system get full; developer traces can be
deleted or cleaned, if SAP cant find them it just creates new ones.

/usr/sap/<SID>/<instance_id>/data

SAP uses this directory to write roll and page memory files, and to write SAP statistics
files necessary for transaction ST03

/usr/sap/trans

This is the transport directory; it has to be NFS shared along the whole SAP landscape
and to all the application servers (except for the database server). It is a good practice for
this directory to be physically located in the transport domain server, that in most of the
cases is the development system, although some times it is recommended to designate the
production server as the transport domain server because it is normally the most protected
server.

/usr/sap/trans/data

Here you find the transport requests data files; they contain the modifications done to
SAP objects and customizing already released.

As support packages are also transport requests, the import of them also puts information
in this directory, it is easy to recognize such information because the files have the
extension .SAP. I mention it because after applying the support packages along the whole
landscape, those files can be deleted.

/usr/sap/trans/cofiles
Here you find the cofiles, these are complementary files of the transport request and
basically contain the history of the transport request, including releasing date and system,
and where it has been imported in what system.

/usr/sap/trans/bin

This is the directory where the transport profile resides; the transport profile is a text file
which contains the definition of the systems that belong to the SAP landscape, and where
transport requests can be created or imported, its name looks like
TP_DOMAIN_<SID>.PFL, for example, TP_DOMAIN_DEV.PFL. In old SAP systems
you can find a file called TPPARAM, and it had exactly the same function and same
content.

/usr/sap/trans/tmp

When a transport request is being released or imported some temporal files are written in
this directory, it is useful to know it because interrupted transport request operations
some times leave a temporal file that has to be deleted before you can re-import the
transport request.

/usr/sap/trans/log

The log of the transport operations is written here.

/usr/sap/trans/EPS/in

One of the steps of applying a support package consists in loading the support package
into the SAP system, and it can be loaded from either the front end (your PC) or from the
server. Remember, the support package application is done by using transaction SPAM.
In both cases (from front end or from server) a pair of support packages files is written in
this directory.

In case of loading from front end, SAP takes from the PC the packaged file of the support
package (a file with extension .SAR), brings it to the server and unpacks it in the
/usr/sap/trans/EPS/in directory then it starts the loading process.

In case of loading from the server, you have to manually put, via ftp the file with
extension .SAR, in the /usr/sap/trans directory, being there you run SAPCAR xvf
<transport_file.SAR>, and it is going to unpack the file in the /usr/sap/trans/EPS/in
directory, after that you can start the load of the transport request, from server, using
transaction SPAM.
=> The client concept

Take into account that in SAP terms, we dont mean customer when we speak about
client. Ah! And for the Spanish speakers, a SAP client in Spanish is known as
mandante.

A client is defined as a legally and organizationally independent unit within SAP. For
purposes of SAP, a client can be company, corporation or even a business unit.
Technically speaking, a client in SAP is a delimited set of data in the system. Having
different clients in a single SAP system lets you make different configurations
(customizing), different users, and different information for each one; however they share
the same repository (data dictionary, table structures, indexes, programs, functions, etc.).
So if for example, you work for a group of companies (a consortium), and the operation
of the companies is very different, you should consider to put each company in a different
client, although it is not restrictive, because you can have them all in the same client, due
SAP has the mechanisms to let them stay in the same client (by using company codes).

A pair of terms linked to the client concept comes here: client dependent and client
independent. Client dependent refers to objects linked to a specific client, are protected
and can not be seen from any other client, for example customizing, users, authorizations,
etc. Client independent refers to objects not linked to any specific client and can be seen
and modified in any client, for example table structures, indexes, programs, functions,
etc.
=> SAP landscape and changes in the system (transports)

The SAP landscape is the set of SAP systems conforming the lifetime of the SAP project,
for example, you can have a landscape formed by development, quality assurance,
training, and production systems. The intention of having a landscape is no other than let
production system receive only very well tested changes, so you make the changes in the
development system and make some basic tests, then you pass (transport) the changes to
the quality assurance system and make harder testing, and finally you take (transport) the
changes to your training (off course for training purposes) and to your production
systems.

SAP system has a very strong infrastructure to let you administer the changes you need
for your production system; such infrastructure give you the necessary tools to make and
transport the changes in an ordered way, and to avoid doing changes where they dont
have to be done (for example the production system).

Transport Management System (transaction STMS)

In transaction STMS you can make all the configuration of the transport management
system, things you have to configure there are: system overview (here you define the
transport domain, the transport backup domain, and you can add systems to allow
transport requests on them), transport routes (here you define the path a transport
request must follow to finally get production system), import overview (here you can
import transport requests to your systems).

Transport Requests Administration (transactions SE09, SE10, SE01, SE03)

A transport request is a record of the modification of an object or a set of objects,


objects can be either workbench (programs, table structures, indexes, functions, etc.) or
customizing (adaptations to business transactions). Such record passes for a process
where it is written in system tables and once it is released it is written in an OS file.

Normally the transport requests are created in the development system, because
development system must be the only system open for modifications. When an object is
going to receive any change the system asks the person who is changing for a transport
request to write the change, and lets that person to either create a new one or choose an
existing one.

A transport request consists of one or more tasks which are meant to do the changes in an
ordered way. For example, all the changes related to a certain project can be recorded in
just one transport request, considering that each change activity is going to be recorded in
an individual task; in an informal way think of a task as if it were a sub-transport request.
Once the activities of a task of a transport request are finished, it has to be released; after
all the tasks of the transport request are released the transport request has to be released
too in order to make it ready to be transported.
Use transactions SE09, SE10, SE01 to administer transport requests and tasks (display,
create, release, check logs, etc.).

Here a screen example of transactions SE09 and SE10

Once you click on Display button you access to a transport order list which you can
expand in form of a tree to see transport request tasks and objects in the tasks like the
following one
After completing the modifications assigned to each task in the transport request the task
should be released by clicking on the truck icon. After releasing all the tasks you can
proceed to release the transport request by also clicking on the truck icon.

Transaction SE03 (transport organizer) helps you get useful information about objects.
For example, you can see what transport requests have modified certain object. Look at
the following screen, it gives you an idea of the multiple activities you can do with
transaction SE03.

Transport requests have a standard naming, consisting of <SID>K9#####, being ##### a


consecutive number starting from 00001, for example DEVK900001, if a new task is
created in such transport request it would take number DEVK900002, then if a new
transport request is created it would take number DEVK900003, and so on.

Packages (development classes) (transaction PACKAGE)

Packages, formerly known as development classes are the way SAP lets the objects to
be organized, they can be maintained through transaction PACKAGE. All the SAP
standard objects belong to a SAP standard package. But SAP lets you define new
packages to organize your own objects (new developments). Package name, the same that
any customer object name, has to start with letters Z or Y.
You have to have an agreement with the development team on what packages need to be
created. For example, it could be decided to create one package for each of the functional
modules used in the company (FI, HR, MM, SD, etc.).

Transport Layer (transaction STMS)

A package needs to be associated to a transport layer in order to make it possible to


transport object changes from one system to another. A standard transport layer called
SAP exists to allow the transport of standard objects, but you have to define at least one
transport layer for your customer objects, its name has to start with letters Z or Y, for
example ZDEV.

Transport Routes (transaction STMS)

You have to define the route a transport request is going to follow from the development
system until it reaches production system. SAP provides you a graphical way to define
the transport routes, and besides it lets you make typical configurations by using a
wizard.

Read the document STMS Conf.doc which shows you a way to do an initial
configuration of the transport management system, besides, try to explore the different
menu options in transaction STMS

Import Overview (transaction STMS)

Being logged in the system where you need to import a transport request, you call
transaction STMS and from the top menu you choose Overview -> Import Overview
(or you simply click on the truck icon), then you double click the system where you want
import a transport request and youll see the transport list (queue), you click on the top
Refresh button, then choose the transport request you want to import, and click on the
Import request button (the truck with an orange square on the top left corner, be careful
because your system can also show a similar truck icon with the back box totally orange
colored and this icon is to import all the transport requests in the list), then you get a
dialog where you have to indicate the target client for the transport request, fill it and
continue, a check window will appear for you to be sure thats what you want to do, click
on the check mark and ready, you are importing your transport request.

Check document STMS Imp.doc to see these steps with example screens.
=> Client Administration

Client opening/closing to changes (transaction SCC4)

Any client can be either opened or closed to changes; this is because objects
modifications and customizing must be done only in the development system, so you
normally open the development system to changes for both client dependent objects and
customizing, and cross client (client independent) objects and customizing.

Any other system should be closed to any kind of change; however there are some
objects that have to be modified directly in production system, or some times production
system needs to be open for an emergency. The need to open production system to
changes has to be avoided at most.

You use transaction SCC4 to open/close a client to changes. You switch to change mode
by clicking on the pencil icon, then double click on the client you want to modify to
changes, in the shown screen pay special attention to this part:

These two choices, Automatic recording of changes and Changes to Repository


and cross-client Customizing allowed mean the system is open to changes, for both,
client dependent and cross client. You normally do this selection for a development
system.

For a production system you have to select the radio button No changes allowed and
the pull down button No changes to Repository and cross-client Customizing objs.
It means the system is closed to changes.

NOTE: Try to always keep the production system closed to changes; any requirement to
open it has to be well justified.

Current Changes

There are some objects in the system which can be modifiable in two ways; the first way
is by means of opening the client and the second by having the closed client defined as a
production client. It sounds contradictory, because I said above that production system
must be closed to changes to avoid direct changes on it.
Current Changes are special objects in the system that has the characteristic that can be
changed in an open client but also in a closed client which has the production roll.
However if the client is closed but it has a different role than production (for example
development or test) you cannot modify such objects.

An example of current changes object type is the foreign currency exchange, and there
are some others I dont remember right now, but it is possible that your customizing users
can tell you: hey I can change this object in production but in quality assurance I
cannot, it is maybe because quality assurance client is closed to changes and has not the
production role, so you have two temporary options here, opening the client to changes or
changing the role of the quality assurance client to production client, both changes have
to be done with transaction SCC4.
=> RFCs

RFC = Remote Function Call. Its the way SAP connects with external
programs/systems. To reach the connection an RFC destination must be defined in
transaction SM59, for example, if you want to connect a SAP system with another SAP
system you define an R/3 RFC destination, or if you need an external non SAP program
to connect to your SAP system then you define a TCP/IP RFC destination.

When you want to connect your SAP system to another SAP system (by using an R/3
RFC destination) you have to fill a screen with logon data.

Here an example screen of a R/3 RFC destination

Gateway host and service are not strictly necessary; if you dont fill them SAP would use
the default of the target SAP system. You can also fill logon information by clicking on
the Logon & Security label; there you put the language, client, user and password to
connect.

When the connection is going to be done from an external no SAP program to your SAP
system, the external program must have a mean to fill the logon data for the SAP system
together with a program id which is its identification into the SAP system, so when you
define the TCP/IP RFC destination you dont fill the screen with logon data but with the
registration program id.

Follows an example screen of a TCP/IP RFC destination


Note that Gateway Options are also required. This data corresponds to the application
server that is going to receive the connection from the external program. Gateway host is
the hostname or IP address of the application server, and Gateway service corresponds to
the port which is going to be used to allow the communication, its name is defined by
sapgw<instance_number> and corresponds to the gateway port number
33<instance_number>, for example, if instance number is 01, /etc/services OS file
should be maintained with the entry sapgw01 3301/tcp. So you fill Gateway service
field with sapgw01.

RFC destinations can be tested by clicking in the button Test connection; youll see the
time to ping the destination when it is successful, or the corresponding error in case the
connection is not successful.
=> Logon groups

As mentioned before, you can have several application servers in your SAP system, but
how to do to allow your users to log on the different application servers? The answer is
by using logon groups. A logon group identifies a group of application servers where
users can be logged. For example, you can create a logon group that includes all the
available applications servers; or one to group FI users, one to group HR users, one to
group SD users; or if you have different companies in your SAP system you can create a
logon group for each company. The main intention of logon groups is to make logon
balancing.

Using logon groups benefits the SAP system in different ways, for example, putting all
the servers in a single logon group gives some high availability to the system, because if
an application server fails, users simply log again into the system and SAP redirects them
to another available application server; or if you create an application group for each of
the implemented modules and allow the users of each module to log only into their
corresponding logon group, the system can provide a better response time because the
servers of each logon group hold into their buffer the most used data of the corresponding
module.

Logon groups can be created and maintained via transaction SMLG; there you find a list
of all your instances (application servers); the ones that are online are marked with a
green bullet, so you can take them to create new logon groups or to add them to an
existing logon group; you can also delete the assignment of an instance from a logon
group, or you can delete the complete logon group.

Once you have decided to add/modify an instance to/from a logon group in the coming
dialog box you have to fill data like

Group assignment: The name of the workgroup that is or will be defined. SAP reserves
the logon group called "SPACE", so do not use that name.
Instance (application server): Specifies the name of the instance that supports the class
name that was defined above.
Response time: Specify a response time, beyond which the users should be logged in to
another instance.
Users: The maximum number of configured users who can be logged on to an instance.

You can let Response time and Users fields with their default values; its the most
common practice.

You also see a button called Attributes on the bottom of the dialog box, its important to
click there if you need to maintain the IP address or the hostname that users need to
connect to the application server. It is important because that field has the application
server hostname as default and when the users are to connect to such application server
SAPGUI will try to use that hostname which could not be the one the user need to reach
the application server.
How users connect via a logon group?

An entry in SAP Logon must be added. Open SAP Logon in the user workstation click
on New Item button, click next and in Collection type pull down button select
Group/Server Selection. Then fill with a suitable Description, the System ID <SID>,
the Message Server IP address or hostname, and the Group/Server.

Message service is a special port number which normally attends in the central instance
server, therefore the Message Server IP address or hostname corresponds to the central
instance host. Message service is identified by sapms<SID>, for example if SID is PRD,
message server is sapmsPRD, and the port number is normally 36<instance number>,
for example if instance number of the central instance is 01, port number would be 3601.

NOTE. It is very important to insert message service in the services file of the user work
station, for example, sapmsPRD 3601/tcp.

Group/Server corresponds to one of the Logon group you previously created in


transaction SMLG. It could take up to 5 minutes to the system to make the Logon group
recognizable for the work stations after it has been created or modified. You can choose
the corresponding logon group from the pull down.

Once the corresponding entry in SAP Logon has been defined you can log into the
system via the logon group, it happens this way:

- SAP Logon communicates with the message server which has the current
status of all the application servers (response time and logged users), with
this information and the provided logon group it decides which application
server is suitable for the user to login (trying to balance the load between
the servers of each logon group);
- then message server returns the corresponding application server IP
address or hostname to SAP Logon (IP address or hostname returned is the
one you maintained in the Attributes section in transaction SMLG
(previously commented);
- finally SAP Logon makes a normal connection to the returned application
server.
=> Operation modes

As already stated in Initial Configuration of the SAP System section, an operation


mode is the way you dispose of your available work processes to attend the kind of
business requirements during a 24 hours day. Remember: you dont get more work
processes than the available ones; you just switch the purpose of them, and most of the
times you switch between dialog and background work processes.

With transaction RZ04 you maintain operation modes. What you have to do there is to
define the operation mode, to define the instance, maintain the work process distribution,
and maintain the operation mode time table.

Operation modes switch occurs automatically, thats why a time table is necessary; in the
time table you define which operation mode should work in the different hours of the
day. Although in transaction RZ04 there are a link to the time table maintenance, you can
also modify it by calling transaction SM63.

Document RZ04_create.doc describes step by step how to create an operation mode.

In case you need to make an operation mode switch in a time different to the timetable,
you can call transaction RZ03; over there you have the necessary menu options to switch
an operation mode for either one application server or the whole system.
=> Users Administration

Administration of the security is actually a very intense duty! Depending on the company
size, you as a Basis administrator can either be responsible of users and authorizations or
not; big companies normally have a dedicated area for security which involves, user
creation, roles and profile maintenance (authorizations), access control, user audit, etc.
You could also be the Basis guy dedicated to security administration.

There are two main transactions for users and authorizations administration: SU01 for
users and PFCG for roles maintenance (where authorizations are used).

In order to be able to assign authorizations to users, authorizations have to be grouped in


profiles, and profiles can be grouped in roles. You can assign both individual profiles
and roles to the users (when you maintain a user in transaction SU01 you can see a tab to
add profiles and a tab to add roles to the user).

When you first install an SAP system you have two initial users DDIC and SAP*, those
users have two profiles assigned: SAP_ALL and SAP_NEW. Profile SAP_ALL contains
authorizations to access all the transactions in the system and do any change on it (it
means full control). Profile SAP_NEW is intended to give authorization to new created
transactions and objects in the system.

You as Basis administrator, normally, at the beginning of the project, have to create a
user for you; such user is normally a copy of either DDIC or SAP* users; in transaction
SU01 you can make such copy, this way you have full control; however have in mind
that if you are not responsible for authorizations in the system, the responsible area would
give you only the authorizations you need to make your Basis job.

To learn with screens how to create new users please read document SU01.doc

In transaction PFCG you create roles for the users, besides you can add the roles to the
users and create adequate user menus based on the created roles.

As explained before, roles are built with profiles, and in the profile creation there are
some concepts Id like to show you:

Authorization.- Is the capability to do certain activity into the system, for example:
visualize, modify, create, etc.

Authorization object.- Its an element considered to have authorization restrictions (for


example a program, a table, a field on a screen, a screen button, etc.)

Authorization class.- Its the grouping of related authorization objects.


Authorization profile.- Its the grouping of authorization objects, focused to be applied
to a user or group of users.
Document PFCG.doc describes the process to create a role.

How to decide what authorizations a user needs? SAP provides standard profiles and
roles to add to the users depending on the user business activity. SAP documentation
indicates what authorizations are suitable for certain activities. But what if we think we
gave the user what he needed and something is missing; in this case the user would
receive an error message once he tried to do certain activity, and when it happens, ask the
user to type in the top left field of the SAPGUI (where the you type transaction codes)
this string: /nsu53; it has to be exactly after the error appeared, it means the user must not
do any other activity in the system.

Transaction SU53 provides the authorization objects the user needs to be able to do the
failed activity.

Once the user calls transaction SU53, he or she will get a screen like the following

The user can send you a screen shot via e-mail, or you can get the same screen by calling
SU53 while the user is visualizing its own SU53; off course you will see no error for you,
but you can click in the button Remote user, as shown in the following figure:
Then the system will ask you for the remote user, you type it, click on the check mark,
and youll get the same screen the user is watching.

The information shown by transaction SU53 will be enough for you to modify the user
role in transaction PFCG.

=> User Lock/Unlock and User Password Change

These are task you could be commonly asked to do. A thing that commonly happens is
that some users forget their password, and the system locks their account (in accordance
with parameters login/fails_to_user_lock and login/failed_user_auto_unlock). Or for
any administrative task you need to lock certain user, or the user is causing trouble in the
system and you need to lock it. Whatever it is the reason, in transaction SU01 you can
lock and unlock the user, and change the user password, just by filling out the user
account and clicking in the corresponding buttons in transaction SU01. See the red-
encircled buttons in the next example screen.

The button in the left is to lock/unlock and the one in the right is to change passwords.

NOTE: When you change a password, the user is asked to change it again once he logs
into the system.
NOTE: Do you want to lock/unlock several users (all of them perhaps)? Program
EWULKUSR, can be helpful to do it.

Centralized User Administration

There is another issue related to user administration Id like to comment about: CUA
(Centralized User Administration), Id just like to say it is the way SAP lets you
administer users for various systems from a single central location. This theme has
certain complexity and I dont pretend to give a procedure on it but just make you know
SAP provides you with tools to do such administration.

CUA is based in SAP ALE (Application Linking Enabling), which is the way SAP lets
you exchange information between SAP systems. To set up CUA you have to do the
following steps:

Specify Logical Systems.- Logical system is a unique id for your different SAP systems
to permit ALE communication, you shouldnt repeat this id along your SAP installations.
You create logical system in transaction SALE.

Assign Logical Systems to a Client.- You assign logical systems to a client via
transaction SCC4.

Create Communication Users (ADM_CUA).- You create necessary users in your


different SAP systems to allow Central User Administration.

Create RFC Destinations.- You also need to create RFC destinations to connect your
central administration system to each of the administered systems. Remember RFC
destinations are created via transaction SM59.

Set Distribution Parameters for Fields.- Use transaction SCUM to make configure the
way the central administration has to be done, I mean, what parts of the user
administration you want to centralize.

Synchronize Company Addresses.- Company address is a parameter that should be


maintained a the beginning of the project, and for CUA it has to be synchronized between
central administration system and administered systems.

Create CUA.- In transaction SCUM

Transfer Users.- To administered systems via transaction SCUM.

NOTE: You can find more information about CUA in document CUA.doc.
=> SAP OS programs

Most of the SAP administration is done by using SAP transactions, however as


administrator, there are some SAP OS programs that you should know, and have an idea
on how to use them, they are: tp, R3trans, saposcol, dpmon, and R3load. You execute
those programs with user <sid>adm.

tp

Is used to pass transport request from one system to another.

Once a transport request is released, it has to be added to the transport queue of the target
system by

tp addtobuffer <SID> <transport_request>

Example: tp addtobuffer PRD DEVK900005

After that you can transport it by

tp import <SID> <transport_request> client=<target_client>


pf=</usr/sap/trans/bin/<transport_domain_profile> [u<[18]]

Example:
tp import PRD DEVK900005 client=100 pf=/usr/sap/trans/bin/TP_DOMAIN_DEV.PFL

And finally you delete it from the transport queue by

tp delfrombuffer <SID> <transport_request>

Example: tp delfrombuffer DEVK900005

R3trans

Have several functions; it aids tp in the transport process, and it can be used to test
connection to the database by typing

R3trans d

If you get a return code 000 connection was successful; any other return code means no
successful communication. You can check file trans.log for further analysis on problems,
it is written in the directory where you run R3trans.

saposcol
The SAP Operating System Collector is the program responsible for collecting
information about operating system behavior. This program is started when the SAP
system is started. Transaction ST06 (or OS06) calls it for snapshots on CPU, memory,
paging, disk, and network utilization.

You can also call saposcol from OS command line to get snapshots of operating system
behavior.

dpmon

Dispatcher monitor shows information of the work processes in the system. It shows their
status, what user is using them, what program is running on it, what table is accessing,
and processing time. You can also stop and restart a work process with this program. It is
similar to transaction SM50, with the advantage that you dont need to log into the SAP
system to run it. You call it by typing:

dpmon pf=<profile>

To easily know what profile to use in <profile> you type on OS command line:

ps ef | grep dw

This way you see the corresponding OS process for your work processes issuing
pf=<profile>. Use the shown profile for your dpmon program.

R3load

This program together with R3ldctl and R3szchk are used to do system copies. R3load
does the job of exporting and importing data. R3ldctl creates database independent
structures of the SAP data dictionary and R3szchk makes a computation of extent sizes of
SAP indexes, tables and database.
=> Client Copy functions

As commented before, after installing SAP you need to create at least one client for your
company activities, in development system for objects creation/modification and for
customizing; in quality assurance system for your testing; and in production system for
the production activity. Maybe in many SAP installations one client is enough, but you
can create as many clients as the project needs.

The process of creating a new client in SAP is called Client Copy. In section 6, Initial
Configuration of the SAP System, it was explained, in single words, the way a local
client copy is done; however, Id like you to know there are another pair of client copy
functions: Remote Client Copy and Client Transport, these two functions are intended
to copy clients from one system in the landscape to another; for example, imagine your
company started the SAP project with only one computer box where you installed the
initial development system, you initially created a client in there that was used for new
developments and customizing, many transport requests were created during some
months, and the time that your company acquired the computer boxes for the quality
assurance and the production system arrived, so you now have to install such systems and
transport every transport request from the development system, then you think, Id better
do a remote client copy or a client transport.

NOTE: Take into account that neither a remote client copy nor a client transport can be
used to copy client independent objects (programs, functions, table structures, indexes,
etc.), but only client dependent data (customizing, users, authorizations, data, etc.),
therefore if you want to pass client independent objects from one system to another you
have to transport the corresponding transport requests.

Remote client copy (transaction SCC9) works almost the same way than a local client
copy (transaction SCCL), but between different SAP systems, what means you must have
an RFC destination of type R/3 (transaction SM59) to connect each other.

Client transport is based on the export of the client from the source system and the
import of it into the target system (based totally in transport requests management).

Check document Client_Copy_Functions.doc for a step by step guide on client copy


functions.
=> SAP Printing

Printing is a basic function in administrative systems; SAP has a very flexible way to
permit it. SAP provides customers with standard printing functionality, allowing the use
of a local spool in the application servers, providing a way to have spool servers out of
the SAP landscape, for example in a Microsoft Windows server, or converting the user
workstation into a spool server to do the user own printing, etc.

You can add printers to the SAP system and do many printing activities with transaction
SPAD; there is some printing administration you have to do with transaction SP01, and
some housekeeping with transaction SP12.

Before starting to print, you need to define a printer, so you have to know what kind of
printer you want to add, but lets think you only want to add a generic printer which can
be used for any user to print in his/her default Windows printer, all you have to do is:

Start transaction SPAD and click on Display for Output Device

Click on the change icon

Click on the create icon


Fill-in fields as needed. Example:

In Device Attributes tab:


o Output Device: any name, for example Demo
o Device Type: SWIN or SWINU
In Access Method tab:
o Host Spool Access Method: F: Printing on Front End Computer
o Host printer: __DEFAULT (Note they are two underscores)

Save

Now you can use this Demo printer to print from SAP in any Windows workstation. The
__DEFAULT Host printer allows you to do that.

To reach the workstation SAP takes advantage of a program in the workstation called
SAPLPD (the printer daemon) which is installed together with SAPGUI. Normally it is
started automatically when you send a printing leading to the user workstation, it looks
this way
SAPLPD displays messages related to the output requests sent from SAP.

SAPLPD daemon allows you to use any Microsoft Windows workstation or server as
SAP spool server; you just have to install SAPLPD on it, and in the printer definition
(transaction SPAD) you have to do some things different than those of the __DEFAULT
printer, for example:

If you have a defined Device type for your printer, you can look for it in the device type
field and use it, if you dont find it jus use SAPWIN, it is a generic device type suitable
for most of the printers you attach to Microsoft Windows.

- In Spool server field, select the server instance where the spool work process is
running.

- In Host spool access method choose S or B.

- In Destination host field, put the name or IP address of the Windows workstation or
server which works like spool server.

- In Host printer put the exact name the printer is recognized in Windows.

In case you want to define a printer connected to your UNIX application server, you
have to choose the L (Local) Host spool access method, and you must not choose
SAPWIN as the Device type, but the one suitable for the local printer.

How to print?

Once you defined a printer in SAP you would like to test it. To send a document to the
printer you can click on the printer button located in the top of the screen, it is highlighted
when a document is printable.
Or you can look for the option to print in the System top menu option.

A dialog screen will appear asking you for the printer and printing options.

Once you send the printing to the printer a spool request is generated which will
generate an output request. The output request contains the instructions that send the
content of the spool request to the printer.

You as basis administrator should be able to check all the spool request and output
requests generated in the system; it is possible through transaction SP01, there you can
select spool requests and output requests by chosen criteria, for example, you can select
them for a specific user or for a specific printer, etc.

Here a screen example of transaction SP01

And here an example list of spool requests

From the spool request list you can use several functions, for example view the content of
the spool request, print the spool request, view attributes of the spool request, view spool
request errors, etc.
NOTE: Transaction SP01 is very helpful to troubleshot problems with printing.

NOTE: Printing is attended by spool work processes, so get sure you have at least one or
two spool work processes in each application server.

NOTE: The spool requests are stored in an area known as TemSe (Temporary Sequential
Database). You can do some activities of housekeeping of the TemSe with transactions
SP11 and SP12, for example, you can check the consistency of the TemSe and delete
inconsistent documents. Remember that profile parameter rspo/store_location tells SAP
if TemSe is going to be allocated in the database or in file system (file system is
recommended).
=> SAP ABAP dictionary

To allow data be administered by database managers of different vendors SAP needs to


have its own data dictionary, called ABAP dictionary; this way SAP works with its
defined data structures and data types; the same way, if you want to create a database
table in SAP you have to create it in the SAP way. I already commented that the
conversion to and from the database format is done by the database library (dbsl, a
component of the SAP kernel, file db<dbs>slib.so, for example dbdb6slib.so for DB2 for
UNIX, Linux and Windows, dboraslib.so for Oracle, etc.).

Most of the ABAP dictionary activities can be done through transaction SE11; such
transaction is very intuitive; there you can display and maintain table structures, table
indexes, views, etc. You as Basis administrator rarely are going to create a data
dictionary object, but you should be able to know this transaction to do some
administration activities. For example, you can use transaction SE11 to check the
structure of a table or to check the indexes of a table, or the attributes of a table, etc. those
are some activities you could do for troubleshooting. Here an example of the of
transaction SE11 main screen.

Here you can select with the radio button the object type you want to Display, Change,
or Create (you click on the intended action button to do the desired activity). Im sure
most of the times youll select Database table, youll fill the input area with the table
name, and youll click on Display button.

Once you click on the Display button for a Database table, youll get a view like the next
one
You see here the structure of the table, fields, field type, data type, size, etc. The primary
key fields have a check mark in the field Key.

On important point to notice in this screen is the kind of table; the first label of the screen
gives this information. In this case it says MARA is a Transparent table. A transparent
table has a relation one to one with the database; I mean the corresponding table MARA
exists in the database. However there are other kind of tables, like for example Cluster
and Clustered tables, or Spool and Spooled tables. Cluster tables store information of
clustered tables, the same happens with spool and spooled tables. In those cases you only
have the Cluster and the Spool tables in the database but the clustered and the spooled
ones. And you see a strange structure of these tables in the database, because SAP
controls the way it stores data in them.

You can see and maintain indexes by clicking in the Indexes button found in the top area
of the screen. Youll get a view like this

You double click on the index name to get a view of the index definition.
NOTE: In the rare case you need to create an SAP table or index with transaction SE11,
take into account that as a customer object its name has to start with Z or Y, after
you finish and save the object, you have to activate it for the changes to take effect in the
database manager (activation is done by clicking in the match icon found in the top of the
work area. Remember the object maintenance has to be done in the development system
and a transport request has to be created to record the changes (when you try the creation
the SAP system proposes you a transport request to store the changes or let you create a
new one).

Another transaction you should know to work with the ABAP dictionary is SE14
(Database utility), here you can display and maintain the storage parameters of the
dictionary objects (for example you can see in what storage unit the table resides), you
can also check the consistency of the dictionary objects, etc.

To maintain and query the data in the SAP system you need to have an interface that
most of the times its a transaction, a program report, a SAP query, etc. But in case you
want to explore the data records of a table in as if you were using database tools, you can
use transaction SE16. This transaction allows you to do queries on any individual table of
the database.

There are some tables that also have a standard interface that can be accessed via
transactions SM30 and SM31; I mention them because some times they are helpful.
=> SAP Programs and Functions

The Basis administrator does not have the responsibility for developing ABAP programs
or functions, however, some times, you could be asked to do a modification, for example
to apply an SAP recommendation (from an SAP Note or an open case).

It is important for you to know the transactions related with programs and other
repository objects, because you are going to need them to do some troubleshooting.

Transactions SE38 and SE37 are intended to visualize and maintain ABAP programs and
functions respectively, they look very similar and the way you work on them is very
similar too. With transaction SE80 you can explore more SAP repository objects. If you
only need to execute a program you can use transaction SA38.

Some important aspects you must know when creating and modifying ABAP programs
are:

- For you to be able to develop repository objects you have to be registered in SAP as a
developer. It can be done via http://service.sap.com/sccr, there youll find a menu like the
following:

Click on Register Developer and follow the instructions. In some companies the Basis
administrator has the responsibility to register all the developers of the company. To
register them you just have to provide the User id(s) and select the installation number in
which you want to register them. SAP will respond you with the Developer key(s) that
you have to use when first try to create/modify a repository object in your SAP system.

- Note that in the shown menu, there is a button called Register Object; it gives me the
opportunity to make you know that, if you pretend to modify an SAP standard object in
your SAP system, you have to register it too. When you try to modify an SAP standard
object SAP warns you about it and asks you for a Registration key, and providing you
the technical description of the object to modify. For example, if you try to modify
program RSDBBUFF, you just provide such name in transaction SE80, however the full
identification of the program would be R3TR-PROG-RSDBBUFF, therefore to register
the object you have to provide SAP with the full identification, like the following figure
shows:

You also have to select the installation to which the program belongs and submit your
request. SAP will answer with the registration key that you have to provide to transaction
SE38 in this case.

- The naming of customer objects always has to start with the characters Z or Y.

Here the access screen of transaction SE38

Some things Id like to rescue from this screen:

- As you can see, there is a field where you put the program name, after that you can
Create, Display or Change several aspects, depending on the radio button option you
select.

- If you select Source code you can view or edit the program lines through an ABAP
editor. Good news is that the ABAP editor is friendly and has context help, for example
you can click on a called function, and it takes you directly to the edition or view of the
function; or you can type F1 on a selected instruction and you get help on its syntax.

- The option Variants allows you to pre-fill input fields for the execution of a program. It
is very useful when you need to execute a program in background, because you can
create as many variants as you need for such execution, you save them with a name to
identify them and you just use such variant name for the execution.

- A very helpful aspect from this screen is that in the top menu you can choose follow the
path Utilities -> Versions -> Version management and it provides you with the list or
versions of the corresponding program. It is very helpful for troubleshooting because
some times a part of the application suddenly fails, and a good practice to solve the
problem is to check what changed (program is a very common cause).

- In the option program you find several options like Test to execute the program (or you
can choose the clock with checkmark button, Activate (remember that for the changes to
any repository object can take effect they have to be activated, you can use also the match
button), Debug, Generate (important to generate a compilation of the program in the
database, some times youll need this option), etc.
=> SAP Customizing

As already commented, due SAP system is designed to work in any company in the
world, it has to be configured the way your company need. To do that customizing exists.

Off course, the Basis administrator has nothing to do with customizing, however there are
a few aspects you should know for your work to be done in the best way.

Most of the customizing changes are client dependent, it means, the changes done in
customizing only affect the client where they are done.

Dont let customizing to be done in the production system nor in the quality assurance
system. Development system is de adequate system to do it. Be careful when they ask
you to open the production or quality assurance for changes, ask why they need it to be
open and inquire if the change is transportable, because that means the change have to be
done in the development system; if it is an emergency, ask for the justification and the
corresponding approvals.

Most of the customizing is done by following the implementation guide (IMG), which is
accessed through transaction SPRO. Explore it a little bit, for you to get familiarized with
it; you could maybe do some Basis things on it.

This is an example of the of transaction SPRO main screen

To explore it, click on the SAP Reference IMG button, or type F5. Youll get a screen
with a list of defined activities that can be expanded like a tree. An example of such
screen follows.
Expand for example the Cross-Application Components entry, you could find
interesting activities over there, some related with the Basis duties. The implementation
guide has documentation for the activities, and it takes you to the transaction or program
you need to execute the activity.
=> SAP Monitoring

There is a series of things you need to monitor in SAP to be sure the system is healthy,
here I show you some very common.

Users logged into the system

Transaction SM04 provides you with a list of users logged into the application server
where you are logged; here you can see details of the sessions the user has currently
open, and you can get user info. Here a look of the main screen of transaction SM04.

You see client, account id, user terminal (workstation name), current transaction, time of
user last input, amount of open sessions, type of connection (GUI=logged from SAPGUI,
RFC=doing something via an RFC destination). If you click on the Sessions button you
get the detail of the sessions the user has currently open, for example:
If you click on the button to the right of the Sessions button you get details of the selected
user (name, area, phone number).

You can even see the amount of memory every user has currently allocated by choosing
from the top menu Goto -> Memory.

NOTE: Remember you can switch between instances (application servers) through
transaction SM51.

If you want a global view of users logged into the system (into all the application servers)
you can call transaction AL08. You dont get as much details as you can get in
transaction SM04, but you can see the total amount of users logged, and a list per
instance. A view of transaction AL08 follows.

This SAP system has only one application server but in a system with more application
servers you see all of them.

You can also get user access statistics per application module, it is through transaction
ST07 (application monitor); indeed you can see application statics of other areas in such
transaction (DB accesses, DB memory, response time). Call it and explore it! Here a
screen example.
Work processes activity

In section 11 Basic Information I already mentioned transactions SM50 (work processes


for particular application server) and SM66 (global view of work processes) to monitor
work processes activity.

ABAP dumps

Also known as short dumps or Run-time erros, ABAP dumps are bulk information
about errors found in the system, ABAP dumps have an id; some of them are very
common and known. One of the most common is TIME_OUT, which means the user
process has over passed the limit time in a dialog work process (indicated by the
parameter rdisp/max_wprun_time). You can see the list and details of ABAP dumps
through transaction ST22. It is very important to check and understand the details on this
transaction because it takes you to solve the problems in the system, and watching an
ABAP dump in a repetitive way could mean you are in serious trouble with your system.

In the first screen of transaction ST22 you can choose the dumps of today, yesterday or
any other day (by clicking in the button Selection in some old versions or filling the
selection criteria in current versions). Look at the view of the first screen in different SAP
versions.
The next screen shows the list of selected ABAP dumps, for example:

And when you click on one of them you get the detail of the short dump, as shown in the
next figure.
You can get very useful information from here for further analysis; you can see user,
transaction, program, screen, program line where the error occurred, etc.

With the time you can get familiar with some dumps that happen in your system and
youll easily know what to do to solve them.

System log

Transaction SM21 shows the system log, you can see errors, warnings, or just
information messages of your system. The first screen of transaction SM21 lets you
choose the system to check its log; it can be for the current application server (instance)
for all the remote application servers, for a single remote application server. Look at the
figure.
You can do special selections of day and time, user, transaction, etc. and you get a list
like the following one.

You can double click on any line for more information on the message. As I said before,
you can see errors like Run-time error LIST_TOO_MANY_LPROS occurred,
warnings like Communication error, CPIC return code 020, information messages
like Work process 2 was switched from request type BTC to DIA.
Update records

Most of the standard SAP application is designed to let update activities be done by
update work processes in a background way; for example, imagine a user creating a
purchase order in the SAP system, while he or she is filling out the screens, a dialog work
process does the interaction work, but when the user saves the purchase order he gets the
purchase order number immediately, but he does not know that the process generated an
update record to be processed by an update work process which does the interaction with
the database to record the purchase order.

Update records can be seen and checked via transaction SM13. You can see very
important things there. SM13 main screen looks this way:

This main screen shows a very important aspect to monitor: Update status. You can
see in the bottom of the screen work area the message Update is active; it means the
update is working fine. When problems arise you can see a message indicating updated
was deactivated. Always pay attention on that point; in case you see error, you can click
on the Administration button for more information (some versions have a Info button).

As you can see, this is a selection screen where you make your selection (a selection like
the shown in the example is adequate for most cases, you just use another date and click
on the execute button (the clock with a check mark) and youll get a snapshot of the
current update records, you can click on refresh button to notice they come and go very
dynamically (if you are not experiencing problems off course); erroneous updates does
not disappear from the system for you to analyze what was the cause and take the
necessary actions (actions could be restart them, delete them, or just inform the user
about the problem). Dont forget to delete old erroneous update records with certain
frequency.

Actually you dont have to see a long list of current update records. If the list of update
records starts to be of several screen pages, you are maybe in trouble. Take into account
that SAP update system interacts directly with the database, therefore some times
slowness could be related with a database problem (for example, database blocked for log
problems, or database deadlocks due a bad application concurrency design, or slow
database updates due to index issues, etc.). Another possible cause of update slowness
could be a process holding an SAP lock during a long period of time (it can be analyzed
in transaction SM12).

SAP lock entries

Apart of database locks (which are going to be treated later), SAP also has concurrency
control through the use of locks for SAP objects. Concurrency control is done by the
enqueue work process (which normally resides in the central instance).

You can see the list of current lock entries in transaction SM12. Here the transaction
main screen.

After you fill out the selection parameters and click on the List button the system will
show you the list of current lock entries related to your selection. Something important to
notice in the lock list is the old lock entries, because they can be related to a crashed
process and they should be deleted. Be careful when you decide to delete lock entries,
you have to be sure that there is not a current process of the user holding the lock, if
possible ask the user to log off.

Background jobs

Depending on the company, the Basis administrator can be responsible of the background
jobs monitoring, and in some case, he or she can be responsible also of the scheduling.
However, there are companies where each user is responsible of his or her own
background jobs.

It you would be the responsible or not, it is very important for you to know how to
monitor background jobs, because youll need it to do some troubleshooting or to simply
be aware of the system background jobs (for example the housekeeping jobs).
Transaction SM37 lets you monitor background jobs. Main (selection) screen of
transactions SM37 looks this way:

It lets you select for Job name (* means all), for user name, for job status, for job start
condition (date and time scope), for job event (a system or a user defined event), or even
for job program name. After filling out your choices, click on the Execute button and
youll get a list based on those. A screen example follows.
In this case the status column shows most of the jobs like Finished, what means they
ended successfully. However, you could also see a Canceled status what means there
were errors, so the corresponding jobs could need further analysis. You can see at the top
of the work area a series of buttons; lets pay attention in those two important for the
analysis. Before pressing any top button you have to select the job for the action. Button
Spool gives you access to the generated spool request of the job (if any). Button Job log
lets you see the list of actions of the job. Button Step lets you see the program(s) the job
executed; this button is very important because also lets you see the input parameters of
the job by selecting the step (in the step screen), and choosing from the top menu Goto ->
Variant.

Do you want to know step by step how to schedule background jobs (transaction SM36)?
Read document background_jobs.doc

Operative system behavior

Transaction ST06 (or OS06) shows the behavior of the operating system in the current
application server, it shows a snapshot of CPU usage, CPU load average, available
memory, paging (swap), LAN info, disk usage. Here a view of the main screen of
transaction ST06.
Operating System collector button lets you control program saposcol; you can restart it
from here. If you click on button Detail analysis menu youll get a complete set of
useful options for more detailed information on each OS topic. Here an example screen

NOTE: In the operative system behavior is important to note that you could be in trouble
if the idle CPU is less than 10%, so consider taking corrective actions when you get a
15% of idle CPU. In the case of memory, it is a good idea to have some available, thats
it; try to avoid the use of swap it slows down the system.
Would you want to see OS behavior info in other applications severs of the system? You
have too choices: a) switch to the other application server via transaction SM51 and call
transaction ST06, or b) call transaction OS07 which lets you choose the application
server to monitor OS behavior.

It is possible to monitor the OS behavior of any other server, for example, the database
server when it resides in a server other than one of the application servers (in many
installations the database resides in the same server of the central instance). Follow the
directions of SAP note 371023 to configure such monitoring.

System performance

Transaction ST03N or transaction ST03 in new SAP versions gives you excellent
information about SAP system performance (tons of info); there you have different
modes, most of the times you select expert mode to have direct access to all of the
performance information; you can select information for application server or for the total
systems; you can select the period of time for the information you want to see; you can
select different views of the information, for example time profile, transaction profile,
workload, etc.; you can see information for the different task of the system (dialog,
background, update, etc.); you can see several aspects of the performance matter, for
example dialog steps and dialog steps average, CPU total and CPU average, database
time and database time average, network time total and network time average, etc.

Now is a good moment to speak about some performance components in SAP.

Dialog step.- Is a general gauge SAP uses to measure performance, imagine a dialog step
like a change between screens, for example if one user transactions has 4 screens, the
transaction would add approximately 4 or 5 dialog steps to the performance gauge; or for
example a background process which is executed and just makes a query to the database
and returns results, could possibly just add 1 dialog step to the performance gauge.

Response time components.- There are some basic elements that conform response
time: CPU time, the time a transaction spends using machine CPU; Database time, the
time a transaction spends on a database activity (query, update, delete, insert), including
network time between application server and database server on the database request;
GUI time, the time a transaction spends in the interaction with the user, including
network time between application server and user workstation.

In order to have current performance information a standard job called


SAP_COLLECTOR_FOR_PERFMONITOR has to be scheduled (it is scheduled on
transaction SM36 and checked on transaction SM37). Besides, in transaction ST03,
being in export mode, in the left sub-screen you go to menu Collector -> Perf. Monitor
Collector -> Execution Times; the systems shows the content of table TCOLL which
has the programs and execution times the workload collector executes, ensure that the
report RSSTAT83 is scheduled hourly, in case it is not, schedule it by clicking in the
button table maintenance.
In right screen of transaction ST03N you can drill down in certain information, for
example, if you chose to see transaction profile, youll see the response time per
transaction in the system, there you double click on the transaction code and you can see
the list of users which ran such transaction.

As I said before, tons of performance information are collected and can be shown in
transaction ST03N, for example you also can see performance accounting (a very useful
info you can get is the amount of dialog steps of the whole system, per module, per
company, etc.).

Some technical aspects to take into account: most of the performance data is stored in
table MONI; before loading data to the database, performance data is stored in the files
stat and astat found at OS level in /usr/sap/<SID>/<instance>/data; program saposcol
has to be running for OS statistical information.

Here a view of sections in transaction ST03, hope you can soon be able to explore into
one system and get you own view.

SAP Memory utilization

Transaction ST02 shows tree sections, two of them are main sections for monitoring
purposes: Buffers section and SAP Memory section. Here a view of transaction ST02
main screen.
Buffers are a memory area SAP uses to hold the most used objects in order to avoid
going to the database much frequently. Important aspects to notice in buffers monitoring
are HitRatio and Swaps. HitRatio percentage is the buffer quality, the higher the better.
Swaps are the times an object is displaced from the buffer to allow the buffer hold a new
object gotten from the database. If the HitRatio is greater of 99% you feel tranquil, if it is
less than 95% you could be experiencing problems (when you have many swaps in the
related buffer). In case you want to grow a buffer because it is not enough (HitRatio is
low and/or there are too many swaps), you can do it by growing the corresponding SAP
instance profile parameter; for you to know what parameter(s) to grow, double click in
the corresponding buffer (for more detailed information), and in the next screen youll get
a button called Current parameters at the top of the work area, click on it for you to get
the parameter list.

About SAP Memory, you should be aware that MaxUse is less than In Mem for Roll,
Page, and Extended memory; Heap memory should be used the less; most of the times a
high use of Heap memory means you are running out of Extended memory, Current Use
is reaching the In Mem limit; this situation causes the work process to turn into a Priv
mode which means user process keeps using the work process during longer times
because the context switch is not done until the process releases the used memory. If you
double click in Extended memory, you get a detailed screen which has a button called
Current parameters at the top of the work area, click on it for you to get the parameter
list. Here the screen with the memory related parameters from transaction ST02
Memory information is shown for the current application server; you can see information
of the other application servers by selecting from the top menu of transaction ST02 main
menu: Environment -> RFC server.

NOTE: Be careful when you think you have to augment either a buffer or a memory
parameter; you first have to check if you have enough physical memory (use transaction
ST06 to check it), because you can fall in the mistake of growing the parameters pushing
the operative system to use swap (memory on disk) which tends to slow down the system
response.

Database monitoring

There are several aspects related to the database which have to be monitored. This kind of
tasks can be done by the Basis administrator or by the Database administrator (for
example in big companies with several SAP systems). Some of the most important
aspects to check are:

Database locks.- Transaction DB01 shows object-locks holders and waiters, and for
some database systems it is possible to see deadlock situations too.

Database schedule.- Transaction DB13 permits the schedule and checking of database
jobs, for example backups, statistics, reorganizations.
Storage behavior.- Transaction DB02 shows much information about storage units sizes
and usage, and for some database systems, you have also the possibility to manage such
storage units (for example add space).

Database performance.- Transaction ST04 provides you with detailed information


about the behavior of the database system, for example buffers behavior, cache behavior,
transaction log behavior, applications behavior (work processes activity in the database),
etc.

Transaction DBACOCKPIT provides you with a full menu for the


monitoring/administration of the database. For the database system DB2 for Linux,
UNIX, and Windows, transaction DB6COCKPIT, in recent SAP versions, allows you
to do a full administration of the database. Here the first screen example of transaction
DB6COCKPIT:

You can see in the left sub-screen tree-expandable options to monitor/administer all the
aspects of the database.

CCMS (Computer Center Management System) Monitoring

Would you want to monitor most of the system issues in a centralized way? Transaction
RZ20 lets you do it. Here you have a menu tree to choose what you want to monitor; you
can define thresholds and alarms for the different monitoring activities; you can even
define your own monitoring activities; or you can monitor remote systems. Here the main
screen example of transaction RZ20.
Get into it, explore it! I invite you to first choose SAP CCMS Monitor Templates; the
tree contains the following options.

Choose for example Dialog overview and youll get something like the following
Dialog response times. If you select for example the instance encircled in red and click on
the top button Properties you can maintain properties about thresholds and alerts by
example.
=> Problem Solving

Slowness, system blocked, objects blocked, user locked, erroneous programs and other
objects, customizing problems, authorization issues, missing indexes, database problems,
operative system problems, network problems, hardware issues, SAPGUI problems, etc.
are situations the Basis administrator has to be aware of.

When something wrong is happening in the SAP system one should do an initial
question: The problem affects all the users, a group of users or a single user? The
answer to this question leads us to the way we should attack the problem. I already
mentioned in this document some things that should be checked (monitored) to be aware
of the system behavior, but off course, when problems arise special attention should be
put in some areas. A few examples follow:

- Several users report they cannot access the system or that the system does not
respond them. The first thing you should do is checking if you experience the same
problem, in the affirmative case you start checking out of the system, for example at the
operative system, or at the database, you have even some tools to explore the SAP system
from outside, for example programs R3trans to check connection with the database,
saposcol to check operative system behavior, dpmon to check work processes behavior,
or you can the developer traces on /usr/sap/<SID>/<instance>/work/dev_w##.

In case the system responds you but not to some users, it could be an SAP object lock, or
a database object lock or maybe a regional network problem, here you can check on
transactions SM50, SM66, SM12, DB02, SM21, etc.

- An unknown ABAP dump (short dump, runtime error) is shown very frequently
in transaction ST22. You have to display the full description of the error, try to
understand it and check if a rapid solution can be applied, in case you cannot find the
cause or a possible correction; try to find for related (previous or current) messages in
transaction SM21, in the same transaction ST22, in the developer traces dev_w##, etc.
You have not found the cause/correction yet, check for SAP notes in SAP Service
Marketplace http://service.sap.com/notes, put the ABAP dump id and transaction in the
search field, you could find a long list of notes; look for the one closer to your problem.
Did you find the solution? No, it is maybe time for you to open an SAP case (message),
do it at http://service.sap.com/message.

1. - Qu hara si le reporta el rea usuaria que tiene problemas con un programa que
hasta ayer estaba trabajando bien?
2. Simplemente se verifica si los objetos involucrados han sido modificados de ayer a
hoy, tambin se le puede preguntar al usuario si est utilizando los mismos
parmetros de entrada que ayer, y si no realiz un cambio de parmetros en su
SAPGUI.
- User area reports they have problems with a transaction yesterday was working
fine. You verify if the involved objects have been modified from yesterday to today, for
example, if it is a problem of slowness you can see the slow program or table access in
transaction SM50 or SM66, then you use transactions SE38 to check in Utilities ->
Versions -> Version management if the program was changed; or you can check in
transaction DB02 for missing indexes (it could be possible that the index was deleted);
you can check also transaction SE11 to look for changes in the table structure; you can
call transaction DBACOCKPIT to look for old database statistics in the involved table
(off course you or the DBA can check that with database tools too); you can also check
for an SAP object lock or for a database object lock; etc.

What I actually want to tell you in this section is: At this point of the learning you have
several tools you can use to look for the cause and solve problems in SAP; you just have
to take advantage of them.

In case you cannot solve the problem yourself in a considerable amount of time, do not
hesitate in asking for help. Try to follow this path when that happens:

- Try yourself
- Ask someone in the more expert in the team
- Look for SAP notes in http://service.sap.com/notes
- Open a case in http://service.sap.com/message
- Meanwhile SAP responds the open case, look in forums.

Some times SAP Notes have corrections you have to implement in the system. Notes
implementation can be done by transaction SNOTE (the Note Assistant). In such
transaction, you first have to download the note by choosing from the top menu Goto ->
Download SAP Note; then implement it by choosing SAP Note -> Implement SAP
Note.

To be able to download SAP Notes you have to maintain technical settings in the SAP
system for the connection to SAP. To do it you call transaction OSS1 then choose
Parameter -> Technical settings from the top menu, there you click on button Change,
you select from the top menu SAProuter at SAP the saprouter closer to your country, for
example, Walldorf for Europe, Foster City for America, Tokio for Asia, etc., and you
have to fill out the SAProuters at Customer Site fields with your saprouter information (in
the next section I speak about saprouter).

Here a view of technical settings in transaction OSS1


SAP router and SAPNet Message Server at SAP is filled out automatically when you
choose the SAProuter at SAP from the top menu

NOTE: Transaction name OSS1 comes from the former name of the SAP support: OSS.
Some people still use such name; however it has almost disappeared; in the former times
one accessed the SAP OSS system through this transaction, as you can notice in the main
screen, there is a button called Log on to de OSS / Logon to SAPNet. By the way,
SAPNet is the first evolution of SAP OSS, which nowadays is the SAP Service
Marketplace and more specifically the SAP Support Portal (see the next section for
more information)

HINT: Try to get access to SAP Developer Network or SAP Community Network
(http://sdn.sap.com or http://scn.sap.com). You can find too much help in there to solve
SAP problems; explore it, get into a forum cooperate; it could be a good idea.
=> SAP Service Marketplace

SAP Service Marketplace (http://service.sap.com) is the site of access to most of the SAP
services, among them the support service (the SAP Support Portal)
http://service.sap.com/support, the SAP Community Network http://scn.sap.com, the SAP
Help Portal http://help.sap.com.

I have already mentioned these sites along the document, in the case of the SAP Support
Portal, I didnt mentioned it in this way but asking you to access for example:
http://service.sap.com/notes, http://service.sap.com/installations,
http://service.sap.com/instguides, http://service.sap.com/message,
http://service.sap.com/sscr, http://service.sap.com/licensekey, etc., because they all are
shortcuts that take you directly to menu options of the support portal. If you access any of
them you can easily go to any of the other service options.

Lets speak about the SAP Support Portal, it is the SAP service the Basis administrator
uses the most, and there are very important issues you should know.

SAP support through its portal is very complete; it is not limited to your own access to
look for help and download patches and installation software, but also includes the access
of SAP to your systems to do free of charge or billed services; for example, your
companys SAP contract includes services to check new installations, or major changes
like upgrades or migrations, such services are called Going Live Check and they can be
composed by an analysis session and a verification for performance session. Moreover,
your annual maintenance fee includes a service called Early Watch Service, where SAP
checks the health of your systems and gives you recommendations. Or for example, if
you open a support case, SAP could require to access to your system to check, reproduce
and solve the problem.

The results of the SAP support services are also published in the SAP Support Portal for
you to access them. You simply go to http://service.sap.com/inbox and choose Service
Messages.

NOTE: For SAP to be able to connect to your system some activities are necessary to be
done by your companys network communications area; a connection between your
company and SAP should be configured, it can be a VPN connection or a SNC
connection; SAP would provide you with the details to construct the link. You should
designate a machine to be your saprouter machine; such machine must have network
access to all of your SAP systems; it could be any of the boxes of your SAP landscape or
a dedicated machine, the resources consumption is not significant. SAP only requires
connection to your saprouter machine. See next note about saprouter.

NOTE: To limit the SAP access to your SAP systems, apart of the security applied by
your companys network communications area, you have to configure the saprouter,
which is a species of firewall program where you allow or deny access to your SAP
systems and service ports. saprouter is normally installed on path /usr/sap/saprouter in
a designated machine in your company, saprouter should be running in the background at
OS level. If you dont have saprouter installed, download a recent version from the SAP
Support Portal and install it. To allow o deny access to the systems a table called
saprouttab has to be maintained.

You also have to maintain your landscape systems in the SAP Support Portal through
http://service.sap.com/system-admin; and you can also open/close the connection for
SAP to access your systems through http://service.sap.com/access-support.

You could also be in charge of the SAP Support Portal user administration for your
company; to do that you can access http://service.sap.com/user-admin. There you can
create new users, maintain users authorizations for the SAP Support Portal, maintain
user data, delete users, reset users passwords, etc.

NOTE: SAP always provides their customers with initial super-administrator users in
order to start the access to the SAP Support Portal in the SAP Service Marketplace.
=> Miscellaneous Topics

In this section Ill speak about important topics, some of them simple, some of them
complex; however, some of the complex ones are only going to be treated in an
introductory way for you to know them and to go deeper later.

System menu option

You can always find option System in the top menu of the SAP system; it has some
helpful sub-options, look at the next figure.

System menu option is intended for common activities you can do in the system, for
example:
User Profile allows you to set own personal parameters in the user master record (name,
function, department, building, telephone, date and time format, defaults for printing,
screen parameters, etc.);
Services option allow you to execute programs, execute background jobs, record
sessions, maintain tables, etc.;
Utilities option gives you some performance activities (debug a program, do a
performance trace, resource usage <memory>, authorization check <SU53>, etc.);
List allows you to send output to different means (print, send to a file <plain text, rich
text, spreadsheet, html>, send like a message);
Own Spool Requests option lets you manage your spool requests;
Own Jobs option lists your own jobs like in transaction SM37;
Short Message takes you to a SAP mail function, for internal and external messages
(transaction SO00);
Status gives you helpful info about the system, check the next figure.
Look for example at the SAP data, Repository data square, the system provides you
information about the current transaction (this System -> Status was taken while being in
transaction SM13), the current program and screen; in SAP System data you see the
SAP Component version, Installation number, License expiration, whether it is a Unicode
system or not. In the bottom squares you see information of the application server and the
database manager and database server. If you click on the red-circled button at the bottom
of the screen you get even more information. Look at the next figure

You see kernel release and kernel patch number or level (107 in this case); database
library (DBSL) information (Kernel level an DBSL level can be obtained with more
detail in transaction SM51, clicking in button Release Notes); and OS system
information.

F1 (help on screen fields).


If you type function key F1 while the cursor is placed into a screen field, the system will
give you simple help on the field and some more options to get more help. Lets see a
simple example with this screen of transaction SU01 (user maintenance).

While the cursor is placed in field User, you type F1 and you get the next screen

The help gives you a simple description of the field, but gives you some more options, for
example, the green-encircled button gives you access to the Application Help (context
help, in case you previously installed it. Note: the installation guide gives you
information on how to install the On-line help); the blue encircled button takes you to
the SAP Help Portal (http://help.sap.com); and the tools button (encircled in red) gives
you more technical information on the field. See the next figure
It provides you with info of the current program (screen and GUI), and the most helpful
part, the Field data which provides you with the database table name (USR02) in the
example) and the field name (BNAME in this example) of the database table (just be
careful, not all the fields help show the database table nor the field name, in some cases it
is a program structure name and a field of the structure). If you double click in any of the
fields of this screen, you are taken to its visualization with the corresponding transaction
(transaction SE38 for program, transaction SE11 for database table, etc.).

Select text to copy in an SAP screen

If you have a screen that shows input/output fields, you can select them in a normal way,
then type Ctrl-c to copy to the clipboard, and Ctrl-p to paste; however, when SAP shows
a text output in the screen, you cannot simply take the mouse on the text and select it; in
those cases you first have to activate the selection mode by typing Ctrl-y, it causes a
small cross to appear on the screen, it can be moved with the mouse to the point you want
to start selecting text, when you get the start point you click on it and without releasing
the mouse left button you go to the end point, after the selection area is marked you can
type Ctrl-c to copy the text to the clipboard, with the Ctrl-p youll have no problem.

Welcome messages (System messages, transaction SM02)

The Basis administrator can own the duty of setting system messages, messages that after
being created and saved are shown to all the logged users (once the do something in the
system, for example change the screen, save their document, change transaction, etc.),
and are shown to the new logged users as a welcome message (they are shown in this
way while the expiration time of the message is not reached). It is common, for example,
to set a message to say the users Welcome to the SAP Production system (or something
like that), but thats not the main intention of such message, but informing the users about
critical situations of the system (for example, to inform about a programmed maintenance
of the system, or to tell them about a critical application issue: The financial month close
starts on June 29th at 17:00, stop related operations).

System messages are maintained through transaction SM02 (see the screenshot). You just
click on the create button (encircled in red), and a dialog box for a tree line message will
appear, you write it and set expiration and deletion dates.
SM02 is intended for short messages (to be readable for the users), if you need to write
more lines you have to write extra messages. Just bee careful the last written message is
the first shown.

Transaction Codes: Lock/Unlock

It can be necessary to lock a transaction in the system in order to avoid its use because,
for example, the transaction is receiving an urgent maintenance, or there is a critical
application activity that requires the avoidance of use of related transactions.

Transaction SM01 allows you lock/unlock transactions. When you call this transaction
you get a list view of the transactions in alphabetical order with a check box at the left, at
the end of the list you have a field to type the transaction to position for lock/unlock, in
this field you can type the full transaction name or the first starting characters (the system
will list the transactions closer to the typed pattern). For example, here is the list once I
type SM in the find field.

The only way to scroll on this transaction is by typing the transaction or the first letters of
the transaction. To lock/unlock you select in the check box and click on the button
Lock/Unlock.

Background Jobs suspension

There are some system activities that require the background jobs to be suspended, for
example an upgrade activity, a system copy activity, etc. You can suspend jobs through
program BTCTRNS1, and then you can reactivate them through program BTCTRNS2.
Execute them with transactions SA38 or SE38.

External Operative System Commands


There could be some SAP system activities that require certain interaction with OS
commands, for example, a user report generates an output file that needs to be copied to
another directory in the file system (via cp OS command) and then taken to another
machine (via ftp OS command); in this case, the user maybe have a OS shell script
(called copyfile.sh intended to do such copy) and he or she wants that script to be called
from the SAP system background report is executed (or maybe he or she wants to do the
copy manually after the report execution but doesnt have access to OS level).

You can map OS commands to SAP external commands via transaction SM49. When
you call it you get a screen like the next one

To create a new command, you click on the Create icon (encircled in red in the figure),
and you get a new window with fields to put a name to the new command, to put the OS
command and parameters, etc. (Dont forget to save your changes).

After the creation of a new command, it can be executed by clicking in the execute icon
(encircled in green). In old SAP releases, you have to call transaction SM69 for the
execution.

RFC Server Groups

Some application activities can require to be parallelized for a faster execution; it is


possible thanks to RFC Server groups. After the creation and parameterization of a RFC
Server Group, you have to make the user know about it. The groups are of kind RFC
because parallelization occurs in Transactional RFCs (a kind of special remote function
calls used for this kind of processes <- You should read a little more about this topic).
RFC Server groups are a definition of a set of application servers considering certain
parameters to limit the usage of their resources. Parallelization occurs in dialog work
processes, so it has to be well planned to avoid the consumption of all of them, because a
real bottleneck can be caused in the system.

Transaction RZ12 allows you to create RFC server groups. Look at the example screen.

After you click on the create icon (encircled in red) the screen Create Assignment will
appear (as shown in the example screen). In the Server group field you name the group,
in the Instance field you select the instance to add to the group, the fields of the sub-
section Determination of resources are related to a set of SAP profile parameters which
limit the resources for RFC parallelization. Youll have to check, study and understand
them, to do that place the cursor in the field and type F1, youll receive the help on the
parameter, telling you what is its purpose and valid values, youll maybe need to check a
deeper documentation of the parameter in transaction RZ11 or even read SAP notes at
http://service.sap.com/notes, just put as a search pattern the name of any of the
parameters.

For an initial configuration, which can be helpful, fill out the server group and the
instance field, then just click on the button Copy at the bottom of the screen (encircled in
blue) and youll get the default values for the parameters (answer yes to the Apply
current quotas question youll be asked), and as a recommendation, change the value of
the field Minimum Number of Free WPs which corresponds to the profile parameter
rdisp/rfc_min_wait_dia_wp, because the value you set in there will be the number of
dialog work processes that the parallelization will leave for the rest of the users in the
corresponding application server; this parameter has 1 as the default value, which is very
dangerous in case the parallel process could run in a moment of heavy dialog work load
in the system. Change that value to a more suitable value for the workload of the system;
for example, if your system has 25 dialog work process in the selected application server
set the parameter in 15, so 10 dialog work process will be used for the parallel process
that uses the RFC server group, and the rest (15) will be available for the rest of the users.

RFC Resources Monitoring

When a parallel process is about to run, the system needs to verify there are enough
dialog work processes for the execution. Some times the available work process for
parallel process is occupied for another parallel process. If there are no enough dialog
work process for the paralleling processing the system could issue an ABAP dump
indicating not enough resources, so, it is a good idea for you to know the way you can
monitor RFC available dialog resources. Call transaction SMQS and choose in the top
menu Goto -> QRFC Resources.

RFC Queues Monitoring

Apart of parallel processing, there are some other process which use transactional and
asynchronous RFCs, for example, the processes which send or receive information
to/from other systems, via IDOCs (Intermediate DOCument is a standard SAP document
exchange format). The processing of IDOCs is done by using special queues that are
stored temporarily in a set of database tables, like TRFCQOUT, ARFCSDATA,
ARFCSSTATE, etc.

If for any reason the processing of the IDOCs is not fully processed, their information
stays in the queue, what could mean the mentioned tables can start to grow, and grow and
grow; so it is important to determine the cause of the stagnancy situation and correct it.

You can use transactions SM58, SMQ1 and SMQ2 to check for stagnant IDOCs,
comment with the functional people what should be done with them (reprocessed or
deleted).

Batch input

In SAP it is possible to simulate the interaction with screens through the batch input
process. It consists in the capture of the screens and the providing of input data in a plain
text file. This approach is very useful for the load of master data, and for the migration of
data from legacy systems to SAP.

The Basis administrator normally does not need to load data in the system, so you only
need to know how to monitor and troubleshoot with batch inputs. Well just call
transaction SM35, and youll get the list of current batch inputs, you can filter the list for
session name, date, and user account. The user could maybe ask you why his or her
session is not working correctly, and you could maybe check its status, and check the log
to try to discover what is causing the problem.

Archiving

The SAP database tends to grow with the time and such growing is a factor that could
degrade the performance of the SAP system, however much of the information is not
accessed anymore and tends to turn just into historical data.

SAP historical data can be taken out from the database by means of archiving, this way
the database is kept in a good size with only the necessary information.

The SAP archiving consists basically in the extraction of historical data (the functional
team and the users have to decide what data) from the database, putting it into a SAP
compressed file; then such data can be taken to other means, like optical disks or a
solution of cheap read only disks.

The extracted data can be read later without problems (but in many cases the reading
occurs with the indication that is archived data).

The SAP tool which lets the archiving of the data is called ADK (Archive Development
Key), which is used by the SAP Archiving Solutions Vendors to interface with the SAP
system for the archiving.

The most important SAP transaction for the archiving administration is SARA, although
there are some other related transactions.

These are just a few tips for you to go deeper in the SAP Archiving function. You can get
more information in http://help.sap.com.

SAP Office and SCOT (Mail configuration)

There is a way in sap for sending messages to other SAP users or to external mail
accounts, you could be asked from some functional teams to configure these issues.

Messages sending between SAP users can be done with transaction SO00. Look at the
example screen (it is more or less easy to use)
To check your inbox/outbox for new messages or for sending messages you can call
transaction SO01.

It is very important to complete the user master record for the correct use of message
sending (you can notice in the example screen a note that no address is assigned to the
user DDIC in SAPoffice. It is because there is not enough address information in
transaction SU01 for the user DDIC; that information has to be completed. In transaction
SU01 fill out all the Address information about Person and Communication, pay
special attention in assigning an E-mail address to all the users.

To be able to send e-mail messages from SAP to external internet addresses, in current
SAP versions you only have to configure the SMTP service in transaction SCOT, in old
SAP versions you needed to install a client in the email server called SAP-Connect (For
example, SAP Exchange Connector for MS Exchange).

Hopefully you wont have to work with old SAP versions, so you simply go to
transaction SCOT and configure SMTP. Look at the following example screen.

You practically only have to provide a description, the hostname or IP address of your
mail server (it must provide the SMTP service), and the mail port that normally is the
standard 25.

System copy

There are several reasons why you could need to do a copy of your SAP systems, for
example, to have a quality assurance, a testing or a development system by making a
copy from your production system; to defragment data after a big deletion; to pass the
system from one server to another or from one database to another; etc.

Whatever the reason you could have to make a copy of your SAP system, SAP provides
you with tools to do it.

There are two kinds of copies: homogeneous and heterogeneous. In the homogeneous
system copy you use the same operative system and the same database manager in the
target system than in the source one. In the heterogeneous system copy, either operative
system or database system can change, or even both, the change of them is known as OS
migration and database migration respectively.
A homogeneous system copy can be done by using SAP certified database tools, for
example database backup and restore, or disk copy solutions; and it can also be done by
using the tools that are used for heterogeneous system copies. You decide what tool to
use, depending of the needs you have for the copy, for example if you just need an exact
copy of the source system, as it is, you should used database backup and restore or disk
copy solutions, these methods are faster. If you need for example to make a copy to
defragment data after a large deletion on the source system, you have to use the tools that
are used for heterogeneous system copies.

Heterogeneous system copies in most of the cases have to be done by using special SAP
tools which export and import the data in an SAP compressed format. There are a few
cases where it is not necessary to use those SAP tools, for example in some OS
migrations where the database server is DB2 LUW or MaxDB where you can use backup
and restore (you should check the corresponding documentation in the SAP Service
Marketplace to see what cases are supported).

Here the most important SAP tools to do heterogeneous system copies:

R3ldctl. To export SAP data dictionary structures to plain files.


R3szchk. To calculate the database size and the database objects sizes and extents.
R3load. To do the data export and import.
Package splitter. It helps to divide export packages into smaller packages.
Migmon (migration monitor). Aids in the control and parallelization of the import and
export activities.
R3ta. It helps to parallelize individual tables export and import.

The heterogeneous system copy has the peculiarity of having to be done by a certified
SAP OS and DB migrations consultant. Moreover, a migration key has to be gotten from
SAP to do the migration.

Visit these sites for more information (documentation) on system copies:


http://service.sap.com/systemcopy, http://service.sap.com/osdbmigration,
http://service.sap.com/migrationkey.

Unicode
Businesses globalization, internet, and Java are pushing companies to have systems
which require multiple languages with different code pages, SAP used to solve this issue
by permitting the implementation of multiple page codes in the system (MDMP), but
since a few years SAP has turned to the use of the standard Unicode, which is a code
page which supports any character in any language, so, with its implementation it is
possible to have systems with several languages without the need of having to install
multiple code pages.

Nowadays SAP permits the installation of Unicode and Non-Unicode systems, however
SAP makes the invitation of installing Unicode systems to their customers, due that is the
current tendency.

SAP is also inviting customers to migrate their current SAP Non-Unicode systems to
Unicode; that could be done by using System Copy methods. Check link
http://service.sap.com/unicode for more information on the topic.

High Availability (HA)

The implementation of high availability in an SAP system tends to be a very critical need
in the companies, thats why I like to give you some tips about this issue.

A high availability solution involves having a backup system to attend in case the
primary server fails. Most of the times HA is applied to the central instance server.

One of the main components of an HA solution is the name of the servers (and their IP
addressing), because some SAP parameters are related to the name of the hosts and the
idea of an HA solution is not to be changing hostnames, but using the same one
independently of the actual host.

When you install SAP it takes the actual hostname (the one uname n command reports),
which is different in the hosts of the HA solution. However the HA solution always
define a so called floating IP address which is going to be related in the server /etc/hosts
file to a virtual name of the host. For example primary host could be called cihost1 and
secondary cihost2, and you could have the virtual name ciserver which is going to be
taken for the owner of the floating IP address (the active server).

So, here are some SAP components where you have to do changes to adapt SAP to the
HA solution.

The default and the instance profiles (found in /sapmnt/<SAP>/profile)


The <sid>adm user profiles
The TP_DOMAIN_<SID>.PFL file found in /usr/sap/trans/bin
In all those files find the occurrences of the current hostname and change them to the
virtual name. Additionally, in the instance profile add the parameter SAPLOCALHOST
assigning the virtual name to it.

These are just a few tips, for you to take into account or to start checking more info about
HA in the SAP Service Marketplace or in the documentation of the HA solution vendor.

Early Watch Alert

Early Watch Alert is an automatic service SAP provides every week which consists in a
light checking of the health of your SAP system. Now SAP provides that capability
through the use of SAP Solution Manager System. I just wanted to mention it for you to
know about its existence, and to go further for the programming of the service on your
system. Look for information about this topic in the SAP Service Market Place.

NOTE: SAP Early Watch Alert is different that the yearly full service called SAP Early
Watch where SAP makes a deeper check on your system.

Solution Manager

The Solution Manager is a system that permits you to manage your whole SAP Solution
in a centralized way. SAP is starting to provide all the services through SAP Solution
Manager (even for the downloading of support packages, installation and upgrade keys,
etc.), what means all the companies are going to need a Solution Manager system. It is an
SAP system with particular functions.

Solution manager provides services like: centralized monitoring of your SAP systems,
service desk, change management, implementation and upgrade assistant, etc.

Check the link http://service.sap.com/solutionmanager for more information on it.

Das könnte Ihnen auch gefallen