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:
[email protected] INTRODUCTION Let’s make it really easy, it’s 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 it’s 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. I’ll 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. I’ll 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 I’m 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 you’ll 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. I’ll 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 I’ll send it to you. 1. NOTE: Many of the figures (SAP screens examples) have been downloaded (copied) from internet, some of them don’t have the best resolution; however don’t worry, the best picture is that you’ll 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 I’ve 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 I’d 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 , 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). Central instance and database in the same server
Example 1. Server component (central 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 Application server
Central instance
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 don’t 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
I’d 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; I’ll try to mention the most important points about them for you to go deeper later. I’d 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 I’ll 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 don’t 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. It’s 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 I’ll 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, let’s talk a little bit about the most important issues of the installation, just for you to take into account what resources you’ll 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 DVD’s 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 you’ll find restrictions on the characters to use, for example, you can’t 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 it’s necessary to refer to the SAP system id in a general way, you can find variables like or for the system id in capital letters, and or for the system id in lowercase, here we’ll use and , 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 you’ll 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. You’ll need to set up some mandatory file systems, including installation file system (you can decide its name), SAP kernel file system (/samnt/), SAP working file system (/usr/sap/), 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 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, you’ll find in your desktop an icon like the next one
Double click on it and you’ll 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 (for example PRD); One normally leaves SAProuter String blank (SAProuter is a topic we’ll 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 you’ll 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 you’ll only have clients 000, 001, and 066, but let’s 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 (don’t do it now, it’s just illustrative). Once you are in the screen of any transaction, you can’t 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 15
8
9
18
16
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. 3.-The Client number. 4.-It shows more information of the session and lets you choose. 5.-The hostname of the application server. 6.-Keyboard insertion/overwrite mode.
2 1
4 3
5
6
=> 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//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 don’t 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 don’t 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, you’ll 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 don’t 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. You’ll 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 #EL… or PSAPEL… 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//exe which is accessed via the soft link /usr/sap//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 dbslib.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). You’ll 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, you’ll find a file called SAPEXE.SAR and SAPEXEDB.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 ) 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//exe/SAPCAR –xvf SAPEXE_185-20000978.SAR, the decompression occurs and then you simply execute cp * /sapmnt//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. Don’t 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 don’t 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 )
SAPDBHOST resides
The hostname of the server where the database server
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 __, example: cihost_PRD_01) rdisp/enqname Enqueue instance name, normally the central instance name (conformed by __, example: cihost_PRD_01) rdisp/btcname Background instance name, normally the central instance name (conformed by __, 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 (__) stands for DVEBMGS 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 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 when blocked for failed logins login/fails_to_user_lock locked
Useful to avoid the users to unlock by themselves
Amount of times the user can fail to login before they came
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 rdisp/PG_SHM
Size of pagination memory file 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 I’ll 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.
It’s 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: It’s 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, I’ll 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 adm (example prdadm). Being user adm you start the SAP system by executing the alias startsap, this alias calls a script called startsap_hostname_ (found in the 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_, 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_ (found in the adm user home directory). When starting and stopping the SAP system, logs startsap_hostname_.log and stopsap_hostname_.log are written in the home directory of user 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 adm, so 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 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 dbslib (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, let’s 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 it’s 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 don’t 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 (vía 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 you’re 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//exe Actual SAP kernel directory, there you find programs and scripts necessary for SAP to work on the operative system. In documentation you normally don’t 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//profile Actual SAP profiles directory, there you find the DEFAULT, INSTANCE and START profiles of the SAP system. In documentation you normally don’t 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//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 SPO, JOB. In documentation you normally don’t 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//SYS/exe/run It is a soft link that points to /sapmnt//exe. /usr/sap//SYS/profile It is a soft link that points to /sapmnt//profile. /usr/sap//SYS/global It is a soft link that points to /sapmnt//global. /usr/sap///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, don’t let the file system get full; developer traces can be deleted or cleaned, if SAP can’t find them it just creates new ones. /usr/sap///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_.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 , 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 don’t 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 don’t 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 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 you’ll 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 that’s 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 don’t 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. It’s 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 don’t 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 don’t 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 and corresponds to the gateway port number 33, 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; you’ll 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; it’s the most common practice. You also see a button called Attributes on the bottom of the dialog box, it’s 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 , 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, for example if SID is PRD, message server is sapmsPRD, and the port number is normally 36, 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 don’t 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, that’s 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 I’d like to show you: Authorization.- Is the capability to do certain activity into the system, for example: visualize, modify, create, etc. Authorization object.- It’s an element considered to have authorization restrictions (for example a program, a table, a field on a screen, a screen button, etc.) Authorization class.- It’s the grouping of related authorization objects.
Authorization profile.- It’s 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 you’ll 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 redencircled 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 I’d like to comment about: CUA (Centralized User Administration), I’d 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 don’t 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 let’s 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 shouldn’t 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 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 Example: tp addtobuffer PRD DEVK900005 After that you can transport it by tp import client= pf= 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 let’s 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 don’t 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 dbslib.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). I’m sure most of the times you’ll select Database table, you’ll fill the input area with the table name, and you’ll click on Display button. Once you click on the Display button for a Database table, you’ll 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. You’ll 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 it’s 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 you’ll 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 I’d 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 you’ll 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. Don’t 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. You’ll 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 don’t 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 you’ll 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 you’ll 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). Don’t forget to delete old erroneous update records with certain frequency. Actually you don’t 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 you’ll 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 let’s 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 you’ll 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; let’s 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 you’ll 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, that’s 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, you’ll 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///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 you’ll 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 you’ll 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///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é haría 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, también se le puede preguntar al usuario si está utilizando los mismos parámetros de entrada que ayer, y si no realizó un cambio de parámetros 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 didn’t 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. Let’s 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 company’s 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 company’s 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 company’s 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 don’t 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 I’ll 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 , authorization check , etc.); List allows you to send output to different means (print, send to a file , 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. Let’s 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 you’ll 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 that’s 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 doesn’t 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. (Don’t 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 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 you’ll 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 won’t 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, that’s 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//profile) The adm user profiles The TP_DOMAIN_.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.