Friendly Chat About Sap Basis

105
FRIENDLY CHAT ABOUT SAP BASIS Original author: David Soto Ruiz SAP Credentials: Certified SAP Netweaver Technology Consultant Certified SAP OS and DB Migrations 10 years of experience in SAP Basis Administration Current Job: IBM de Mexico, Software Group Services as DB2/SAP Basis Consultant E-mail: [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

description

Sap Basis

Transcript of Friendly Chat About Sap Basis

  • 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

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

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

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

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

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

    IMPORTANT REMARKS

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

    I recommend you that after reading this material, continue reading and reading on selected topics, SAP world is very wide and the more you read the better SAP basis

  • professional youll turn into. You can find information on all the topics mentioned here by accessing http://help.sap.com. Navigate there or use the search utility.

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

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

  • Table of contents

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

  • => What is SAP

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

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

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

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

    - SAP is an Enterprise Resource Planning (ERP) System - SAP extends its functionality, farther from the activities all the companies

    in the world have in common, by providing industry solutions for specific business, such as Telco, Oil, Government, etc.

    - SAP provides companies with some other helpful applications useful for decision support, for example Business Intelligence, Customer Relationship Management, Portal, SAP for small and medium business (SAP One), etc.

    - SAP is a so called three tier system which separates user interface from application and database infrastructures, this way, each of the components can run on a different operative system platform, for example, it is possible to have the database running on a UNIX OS, the application server running on Linux and the user interface running on Windows.

    - SAP is a multiplatform system, it can run on different operative systems (several UNIX , 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

    TCP/IP Network to access servers from user interfaces

    TCP/IP Network to access servers from user interfaces

    TCP/IP Network to intercommunicate server components

    Database server

    Central instance Application server

    Application server Application server

    Example 1. Server component (central instance and database) residing in the same server

    Example 2. Server component residing in different servers

  • => SAP Versions

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

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

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

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

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

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

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

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

  • => What is SAP Basis

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

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

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

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

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

  • => How to install SAP

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

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

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

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

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

    Important issues of the SAP installation follow.

    Choose an id for your SAP system. You have to choose a three characters id. In the installation guide youll find restrictions on the characters to use, for example, you cant use ids like, SAP or IBM, It is common to choose names like DEV for development system, QAS for quality assurance system, TRN for training system, and PRD for production system, however you can choose any non restricted three

  • characters id. Take into account that in the literature, when its necessary to refer to the SAP system id in a general way, you can find variables like or for the system id in capital letters, and or for the system id in lowercase, here well 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 youll need for the installation (hardware and software)

    Read installation notes. There are some important installation notes you must read; and remember to also read the other notes which installation notes indicate.

    Make necessary OS configurations. Settings to OS are necessary, such as OS kernel changes, users creation (that you can do by yourself or let SAP to do), and environment variables for the installation.

    Configure necessary file systems. Youll need to set up some mandatory file systems, including installation file system (you can decide its name), SAP kernel file system (/samnt/), 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, youll find in your desktop an icon like the next one

    Double click on it and youll find a screen like the next one

  • Here, there are already a series of systems to access, however, the first time you access SAPlogon program you find no systems in there, so you have to add the systems you need to access by clicking New item button, and fill in the next screens

    Click Next

    In Description put something that identifies your system, for example: Development system; In Application Server put the IP address or hostname of your central or

  • dialog instance; In System Number put the number assigned to the instance you want to log in (for example 01); in System ID put the (for example PRD); One normally leaves SAProuter String blank (SAProuter is a topic well try in Advanced topics later in this document). After you fill the mentioned fields just click on the Finish button.

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

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

    Fill out User and Password with the necessary entries. After the SAP installation you only have DDIC and SAP* users which have a peculiar password that you can find in the installation guide (19920706 for DDIC and 06071992 for SAP*). You have to change such passwords after your first logon. You also have to create an

  • administrator user by using the correct procedure mentioned later in this document, this is to avoid using DDIC and SAP* users which are designed for specific activities.

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

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

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

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

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

    You can leave SAP in the normal way you close any program in Windows by clicking in the upper right X button, when you do so, SAP warns you that any

  • unsaved data is going to be lost once you leave. But you can also leave SAP without receiving any warning by simply clicking /nex and the green check (or ENTER).

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

    1.-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 3 4 6 7 5

    15

    14 13 11 12

    9 10 8

    18 17

    16

    2

    3

    4 5 6

    1

  • => 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 dont have to remember exactly their names or the programs they use, it is because in the top of the work area

  • of transaction SM36 there is a button called Standard jobs, by clicking on that button you get a list of housekeeping jobs for them to be scheduled.

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

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

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

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

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

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

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

  • client and you can choose for example the copy profile SAP_UCSV (the most commonly recommended for clients copied from client 000).

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

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

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

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

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

    The next figure is a view of transaction SLICENSE.

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

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

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

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

    Here a look of the latest screen of transaction SGEN

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

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

    NOTE: Be careful with the database space, mainly pay attention on the database storage unit called #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). Youll find a long list of files in the kernel directory, and some of them are either corrected or improved frequently, so you have to apply such changes known as kernel patches.

    You can download kernel patches from http://service.sap.com/patches. In the corresponding link of your SAP release you look for database independent and database dependent kernel patches, youll find a file called SAPEXE.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. Dont forget to do it after a new installation too.

  • => Configuration profiles

    As mentioned in section 6 of this document, configuration profiles are maintained through transaction RZ10. There are some important things you have to take into account when modifying configuration profiles:

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

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

  • => Important Configuration Parameters

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

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

    SAPSYSTEMNAME Is the three characters id of the system (the )

    SAPDBHOST The hostname of the server where the database server resides

    rdisp/mshost The hostname of the server where the message server resides (it is normally the central instance server)

    rdisp/sna_gateway The hostname of the server where the gateway service resides (it is normally the central instance server)

    rdisp/sna_gw_service The gateway service, conformed with sapgw and the instance number, for example sapgw01, it has an entry in the /etc/services file (port number 3301 for this example, the 33 and the instance number)

    rdisp/vbname Update instance name, normally the central instance name(conformed by __, 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 Useful to avoid the users to unlock by themselves when blocked for failed logins

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

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

    login/system_client Default login client for the users

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

    zcsa/installed_languages One character id for installed languages (for example DES when Deutsch, English and Spanish are installed)

    zcsa/system_language One character id for default system language

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

    rdisp/max_wprun_time Maximum time in seconds a dialog user session can run in a dialog work process, after that time the system cancels the session issuing a short dump called TIME_OUT

    rdisp/PG_MAXFS Size of pagination memory file rdisp/PG_SHM Size of pagination memory

  • rdisp/ROLL_MAXFS Size of roll memory file rdisp/ROLL_SHM Size of roll memory

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

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

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

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

    Ill speak about some of these parameters in section SAP Memory Management

  • => SAP Support Packages

    As explained before, support packages are a collection of corrections and improvements for the system made by SAP.

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

    The process of support package application basically consists of:

    Download the support packages from the SAP Support Portal via the link: http://service.sap.com/patches.

    Load the support packages files into the system (it can be from the frontend or from the server) via transaction SPAM.

    Create an import queue via transaction SPAM. Read notes related to support package import (the system advises about notes to

    read). Import the support package queue. Adjust data dictionary and program modifications via transactions SPDD and SPAU

    respectively. Confirm the import.

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

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

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

    Support packages have to be applied in client 000.

  • NOTE: Its very important to note that there is a special package for corrections of the transaction SPAM; it is called SAINT/SPAM Update. Before you apply support packages, be sure that you have the latest SAINT/SPAM Update; you can download it from http://service.sap.com/patches. The name SAINT comes from transaction SAINT which is used for the application of either SAP or independent vendors Add-ons to the system.

  • => Basic information (How does it work?) Connection with the database, Work processes,

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

    The activity of the SAP system at operating system level is made by the user 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, lets take a look to the way SAP internally works.

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

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

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

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

  • Transaction SM50

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

    Memory usage

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

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

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

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

    Page memory is the memory designed to hold information of the programs, related parameters are rdisp/PG_SHM and rdisp/PG_MAXFS ##### CHECK #####

  • Buffers is memory reserved for SAP to hold the most used objects, there are buffers of different kinds, for example: for programs, for tables, for export/import, for screens, etc.

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

  • => SAP OS directories structure

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

    /sapmnt//exe

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

    /sapmnt//profile

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

    /sapmnt//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 dont find this as the global directory because SAP utilizes soft OS links that refer to this directory (see below). If you have a system with more than one application server, you have to share this directory between them.

    /usr/sap//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, dont let the file system get full; developer traces can be deleted or cleaned, if SAP cant find them it just creates new ones.

    /usr/sap///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 dont mean customer when we speak about client. Ah! And for the Spanish speakers, a SAP client in Spanish is known as mandante.

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

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

  • => SAP landscape and changes in the system (transports)

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

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

    Transport Management System (transaction STMS)

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

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

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

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

    A transport request consists of one or more tasks which are meant to do the changes in an ordered way. For example, all the changes related to a certain project can be recorded in just one transport request, considering that each change activity is going to be recorded in an individual task; in an informal way think of a task as if it were a sub-transport request.

  • Once the activities of a task of a transport request are finished, it has to be released; after all the tasks of the transport request are released the transport request has to be released too in order to make it ready to be transported. Use transactions SE09, SE10, SE01 to administer transport requests and tasks (display, create, release, check logs, etc.).

    Here a screen example of transactions SE09 and SE10

    Once you click on Display button you access to a transport order list which you can expand in form of a tree to see transport request tasks and objects in the tasks like the following one

  • After completing the modifications assigned to each task in the transport request the task should be released by clicking on the truck icon. After releasing all the tasks you can proceed to release the transport request by also clicking on the truck icon.

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

    Transport requests have a standard naming, consisting of K9#####, being ##### a consecutive number starting from 00001, for example DEVK900001, if a new task is created in such transport request it would take number DEVK900002, then if a new transport request is created it would take number DEVK900003, and so on.

    Packages (development classes) (transaction PACKAGE)

    Packages, formerly known as development classes are the way SAP lets the objects to be organized, they can be maintained through transaction PACKAGE. All the SAP standard objects belong to a SAP standard package. But SAP lets you define new packages to organize your own objects (new developments). Package name, the same that any customer object name, has to start with letters Z or Y.

  • You have to have an agreement with the development team on what packages need to be created. For example, it could be decided to create one package for each of the functional modules used in the company (FI, HR, MM, SD, etc.).

    Transport Layer (transaction STMS)

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

    Transport Routes (transaction STMS)

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

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

    Import Overview (transaction STMS)

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

    Check document STMS Imp.doc to see these steps with example screens.

  • => Client Administration

    Client opening/closing to changes (transaction SCC4)

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

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

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

    These two choices, Automatic recording of changes and Changes to Repository and cross-client Customizing allowed mean the system is open to changes, for both, client dependent and cross client. You normally do this selection for a development system.

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

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

    Current Changes

    There are some objects in the system which can be modifiable in two ways; the first way is by means of opening the client and the second by having the closed client defined as a production client. It sounds contradictory, because I said above that production system must be closed to changes to avoid direct changes on it. Current Changes are special objects in the system that has the characteristic that can be changed in an open client but also in a closed client which has the production roll.

  • However if the client is closed but it has a different role than production (for example development or test) you cannot modify such objects.

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

  • => RFCs

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

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

    Here an example screen of a R/3 RFC destination

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

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

    Follows an example screen of a TCP/IP RFC destination

  • Note that Gateway Options are also required. This data corresponds to the application server that is going to receive the connection from the external program. Gateway host is the hostname or IP address of the application server, and Gateway service corresponds to the port which is going to be used to allow the communication, its name is defined by sapgw 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; youll see the time to ping the destination when it is successful, or the corresponding error in case the connection is not successful.

  • => Logon groups

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

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

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

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

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

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

    You also see a button called Attributes on the bottom of the dialog box, its important to click there if you need to maintain the IP address or the hostname that users need to connect to the application server. It is important because that field has the application server hostname as default and when the users are to connect to such application server

  • SAPGUI will try to use that hostname which could not be the one the user need to reach the application server. How users connect via a logon group?

    An entry in SAP Logon must be added. Open SAP Logon in the user workstation click on New Item button, click next and in Collection type pull down button select Group/Server Selection. Then fill with a suitable Description, the System ID , 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 dont get more work processes than the available ones; you just switch the purpose of them, and most of the times you switch between dialog and background work processes.

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

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

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

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

  • => Users Administration

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

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

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

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

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

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

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

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

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

    Authorization object.- Its an element considered to have authorization restrictions (for example a program, a table, a field on a screen, a screen button, etc.)

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

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

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

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

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

    The user can send you a screen shot via e-mail, or you can get the same screen by calling SU53 while the user is visualizing its own SU53; off course you will see no error for you, but you can click in the button Remote user, as shown in the following figure:

  • Then the system will ask you for the remote user, you type it, click on the check mark, and youll get the same screen the user is watching.

    The information shown by