SAP Basis beginner notes
The below notes were hand written by a collegue and I digitized them for public use. These are especially useful for beginner SAP Basis consultants looking for a quick cheatsheet. Keep in mind, I am not responsible for any broken production systems if you mess up. The below content is provided on as-is basis.
You will find many mistakes because the typing may have been wrong/misinformed, if possible please e-mail me with corrections and I will update them here.
Enjoy.
Tcodes
Sr.No | Transaction Code | Description |
---|---|---|
1 | SM50 | Work process specific for a particular instance (central) (local wlp overview) |
2 | SM66 | For additional instance (basically all inst) (global wo/p overview) |
3 | SM04 | To check wether instance is active or not (users which are not physically logged in) |
4 | AL08 | For global users login (active users) |
5 | SM12 | Lock management / system lock overview |
6 | SM13 | Update management |
7 | SM14 | Activate / Deactivate the Update prog add |
8 | RZ10 | Static parameter profile param maintan |
9 | RZ11 | Dynamic parameter / display profile parameter |
10 | SU01 | Create a single user |
11 | SU10 | Create multiple users |
12 | PFCG | Create role & profiles |
13 | SE16 | To view any table |
14 | USR02 | Table of users |
15 | SUIM | Security purpose, User information system. |
16 | SE11 | Maintaining metadata, data dictionary |
17 | SU21 | All authorisation object in SAP |
18 | SU24 | To check any authorisation object in nodes |
19 | SU53 | You are assigned to some authorisation or not / missing authorisation |
20 | SE93 | To check which prog is running in bg |
21 | SE38 | To execute this program (ABAP Editor) |
22 | SM37, SM39 | To know active background jobs overview |
23 | SM36 | Scheduling (define) background process (job) |
24 | SM51 | Kernel version (list of all application server) |
25 | ST04 | Analyse database |
26 | DB13 | Schedule the database backup (offline) |
27 | EWZ5 | Lock all users |
28 | SM02 | To send message to customer |
29 | SCC4 | To (create client) check how many clients are there |
30 | SCCL | Local client copy |
31 | SCC3 | Client lock analysis |
32 | SCC5 | Client deletion |
33 | SCC9 | Remote client copy |
34 | SCC7 | Client import |
35 | SCC8 | Client export |
36 | SMLT | To know the language in your SAP system |
37 | SICK | After installation run the system & check for errors |
38 | BD54 | Creating logical name |
39 | BTCtrans1 | Suspend the background job |
40 | BTCtrans32 | Resume the background job |
41 | SM49 | Maintain the external OS commands |
42 | SM69 | To execute the external OS commands |
43 | SM62 | To event history overview |
44 | SM64 | Release of events |
45 | RZ04 | Maintain the operation modes |
46 | SM63 | Timeset for operation mode |
47 | SPAD | Spool Administration / To define the olp devices |
48 | SP01 | Output Controller / Spool request selection screen |
49 | SP02 | List of spool request |
50 | SP11 | Temp sequential object request screen |
51 | SP12 | Temse Administration |
52 | SM301 | Lock / Unlock Tcodes |
53 | SMGW | Gateway work process overview |
54 | SMMS | Message server overview |
55 | SMICM | ICM Monitoring (Internet Comm Manage) |
56 | SUPC | Mass profile creation |
57 | SUGR | User group creation |
58 | PFUD | Compare user assignments |
59 | SU56 | User buffer |
60 | SU02 | Maintain authorisation profile |
61 | SE54 | Create the authorization group |
Transport Management System | ||
62 | STMS | To configure TMS |
63 | SE01 | Transport organizer |
64 | SE03 | Transport organizer tool |
65 | SE06 | Change transport system |
66 | SE09 | Workbench request |
67 | SE10 | Customizing request |
68 | TSTC | To seek all transaction code |
69 | ST01 | All missing authorization |
70 | SM59 | RFC Administration |
71 | SMLG | Creating logon group |
72 | SAINT | Applying Addons |
73 | SPAM | Support Package Manager |
74 | SALE | To create logical client |
75 | STZAC | Timezone setting |
76 | ST22 | ABAP Dump |
77 | TZCUSTHELP(Table) | For timezone |
78 | SM21 | Check / display system logs |
79 | ST17 | To check error log files |
3 Layers:-
- Presentation
- Application
- Database (SQL Processes)
Work processes of ABAP
- Spool ---> For printing purpose
- Update ---> Make update in the database if any
- Dialog ---> It is like interface, eg (GUI) SAP logon
- Background ---> Run job/processes in background
- Enque (for lockup) ---> Lock the processes
ABAP Architecture
- Application layer provides environment to run processes
- Request will be one of the 5 processes
- Message server knows how many instance are there
- Dispatcher knows how many free instance are there
Sequence for ABAP System
Starting
- Database
- Central Services
- Central Instances
-
All instances can be identified by unique instance number. CS —> 01, CI — 00, (ASCS) —> ABAP, (SCS) —> Java
-
100 instances we can have at most
-
SID (System ID ) ---> Should be 3 letters, should not start with digit & no special characters, uppercase letters only
-
/usr/sap/< sid > ---> Log files, config files, executable files (kernel), temporary files.
-
sapmnt / < sid > / (global directory)
-
Files of IP address of all additional application instances for a particular system
-
Security files, gateway files, authentical files.
-
To go from one transaction to another
/n:- Close this open new
/o:- Keeps the other open to
Profiles (Configuration Files)
-
Parameters needed to start an SAP system
- default ---> resource allocation
- instance ---> parameters used by specific instance
- Central Service Profile
- Central Instance Profile
- Additional Instance Profile
-
Each instance has its own config so separate instance profiles
-
When we open system first default, then central service
-
If any change is default profile, sys needs to be restarted
Transactions
- Whatever functionality needs to be used in SAP ABAP system they are taken care of transaction codes
- Required media
- Kernel
- GUI
- Database
Shared Lock
-
SSFS:- Secured store of file system
-
Data file:- Stores name & password creations, to connect and fetch
-
Key file:- Stores special key associated with database credentials. Different key values for db
-
SAP Fiori:- Provides modern web based UI
-
Role:- Every transcation has an authorization object & collection of objects is called Role
Collection of such roles is called Profile containing details of authorization object for particular use
- Profiles generated by SAP eg. SAP_ALL, SAP_CUST
App Server: 10.17.232.13 Instance No: 00 SID: TR5
User -- ILPBASIS11
Password -- Abc@123
- If user type is system of dialog then only we can login using SAP GUI SNC = Secured W/W Communication
-
Roles
-
Single
- Master (Parent)
- Derived
-
Composite
-
Menu Tab in Roles
-
Which transaction needs to be assign to that Role.
-
Authorization:- Authorization object & organization level details
-
When create role a new profile will be generated 1 profile attached to 1 role. User can be attached to role or profile
-
Update:- Will update tables in database
- U1 ---> Critical update
- U2 ---> Less critical
-
Gateway:- Allows to communicate between application server to administration server
HANA
-
in-memory databse
-
HANA is not only a database, its a suite of application software
-
HANA Components:-
- Database
- Client
- Studio
- Lumina
- AFL
- SLT
- SDS
- SDI
BACKUP
- Copying entire system
- Database
- Filesystem (img backup)
- In SAP we have separate space for storing backup, generally thrice original space.
- Frequency of data depends on criticality of data.
- Path of location
- Removal of old backup
Backups
-
HANA Studio - Gives a GUI to allow you to do things at OS level with logging to Linux server Admin, monitoring, maintain, update needed.
-
SLT (SAP’s Linear Transformation)
-
Realtime /Simultaneous replication/High Availability
Disaster Recovery (Replication)
- Primary: The one cue are working
- Secondary - The one with realtime replication and same geographical area
- Tertiary - Realtime replication in different area. In case of networks, server failure, its useful.
SDS - Smart Data Streaming
Majorly used for image/video processing
- Non-standard part of HANA
- Works on concept of AI
- Realtime streaming of data
- Installed explicitly
SDI - Smart Data Integration
- Separately stored procedures & written
- Only arithmetic/mathematical calculations
HANA DATABASE
Architecture
- Entire HANA in C++ so C++ compiles JCC files
- Index server is heart of system, basically data storing, data persistence, handling of queries
- statistic server is user, memory, processes info
- Name server stores metadata, stores system server information
- A merge brings data from persistance to index server
HANA DB version
-
Check whether db is up and running sapcontrol -nr 02 -function GetProcessList
-
DB2 and oracle dont work on instance no. functionality
-
Red, grey, yellow, green colour code for HANA processes
-
To check connection between app and DB: R3 trans-d
-
Check filesystem :
df -h
-
Copy:
cp
-
Make directory:
mkdir
-
Change mode:
chmod
-
Change owner:
chown
-
extension files: .SAR
-
Extract .SAR:
SAPCAR -xvf <filename>.SAR -R <destination path>
Linux
To be added later
Kernel update
prerequisites
- DB/FS backup
- version of kernel
- Approval
- Plan downtime
- Space Availability check
- SM02 (to send msg to customer)
- Download required patch
- backup of exe folder exe folder path - sapmnt/< sid> (only kernel files) sar files
- lock all user [EWZ5] on SAP GUI backup cp -Rp systemname (linux x86_64/install/ ) extract root doesnt have access to extract files
- copy downloaded file of exe location
Upgrade steps
To be added later
Create user
-
[SU01] -> Enter Lname and set password default users are ddic and sapstar user
-
[SU10] -> for creating mass user
-
i) startup profile, ii) default profile, iii) instance profile when 0 sapstar is allowed
-
After 1st installation by default 3 clients are there 000 001, 066 (SAP Clients)
000 - Main activity, end users cant work on these 3 clients
066 - ewa/generate report about bg
001 - copy of 000 -
Any activity that end user wants to do are will create separate client till 1000 (999)
-
logical system is necessary for each client Switch user in HANA DB - su -
adm -
TOOO - table that stores client data snote - small correction, apply the notes support pckg - large scale correction, spam
-
Schema user is used to connect ABAP user to DB
-
RFC - Remote function call
Profiles
- SAP_ALL - all client specific data without change document
- SAP_APPL - customizing app data without change document
- SAP_APPX - SAP_APPL without authorization profile and roles
- SAP_CUST - customizing data
- SAP_CUSV - customizing and user variant
- SAP_CUSX - customizing without authorization profile and roles
- SAP_PROF - only authorization profile and roles
- SAP_UCSV - customizing user master record and user variants
- SAP_UCUS - customizing and user master record
- SAP_UONL - user without authorization profile and roles
- SAP_USEr - user master record and authorization profile
Prerequisites for client copy
- send msg to user using [SM02]
- check which users are logged on in the application server using [SM04]
- if logged on then lock particular user [EWZ5] lock all
- check if any background process is running using [SM37 then it needs to be suspended
- In [SE38] run Tcode[BTCtrans1] to suspend the jobs [BTCtrans2] to resume suspended jobs
RFC administration
- 4 types of Remote Function call (RFC)
a) Synchronous - Both the system should be active
b) Asynchronous - Not wait for result from target system
c) Transactional - if system is available we’ll get result else not
d) Queued - RFC will form a queue
e) Background - merged transactional and queued rfc
Types of users
- dialog
- system
- communication
- reference
- service
- Transport domain: DOMAIN_SID
- Domain Controller is used to manage all SAP system in some landscape
- Transport is used to move object frmo one SAP system to other system within same landscape DEV -> QAS -> PRD
STMS -> overview in SAP system -> virtual system -> SAP system -> create -> sid -> distription -> save
- During STMS, tms adm user is created and changes done are stored in domain.cfg file
/usr/sap/trans/bin/domain.cfg at OS level
-
If name starts with SAP then that is standard layer otherwise that is customize layer
-
3 Types of routes are consolidated integrated and delivery
DEV -> QAS -> PRD
consolidated delivery
-
/usr/sap/trans/bin which contains information of STMS and profile parameter of transport request.
-
TP_DOMAIN
- transport request parameter -
cofiles contain control info of transport request. that start with K
-
Datafiles contains actual info of transport request. That start with R
-
Path for both the file is /usr/sap/trans/cofiles (OR) /usr/sap/trans/datafiles
-
Transport request naming:
Kg <5 digit no> -
For single system there is no transport route
Types of Transport request
-
Customizing request - it contain client specific obj data. Importing this will no affect all clients only a particular client.
-
Workbench request - It contains cross client object and repository obj data. It affects all clients in the system. Changes done in development system is stored in repository.
-
Transport of copies - It contains the more table data and is used for client refresh and database refresh
-
Relocation - It is used for changing the location of one object from one sap system to another
-
Whatever you change data in development system is stored in repository
-
Transport target group if more than 3 system or multiple clients are present
-
it works on extended domain controller used to transport the object within the same client and same system
-
After config check connection SAP System -> check -> connection
-
Variant is the input given to the program
-
STMS import - find all the request queued extras -> other requests -> add
-
Schedule - You have define the program name and variant but you have not define start conditions like start date and time
-
Reloaded - All the required criteria are fulfilled for the job definition. Start condition must be define for the job in the release status
-
Ready - All required conditions are may to run the job in bg, but the job scheduler has to put job in a queuem because it is waiting for the bg workprocesses to be free
-
Active - job has started running in the bg, we cant change the status of the job when that are active
-
Finish - job is executed successfully. It means task completed without an error
-
Cancelled - there are 2 possibilities for this: a) Administrator may stop it forcefully b) issue in job
-
Start condition for BG job
- date/time
- immediate
- after job
- after event
- An operation mode (provide time period)
Before installation
-
check which solution of SAP system we need to install
-
check which DB we need to install
-
check database and SAP system solution for particular system
-
check RAM size, storage, CPUs and OS version
-
To install the SAP system below software is required: a) Windows/Linux server b) DB software c) BAR R/3 SAP kernel CD d) Export CDs e) FS and require directory should be created on win/linux server
R/3 installation - DB -> DB install (HANA/ASE/Oracle) - Application -> (CS/DB/CI)
S/W of solution (ECC6.0) which we are going to install
- kernel file
- DB (Oracle)
- Installation upgrade for language
- SWPM (Software package manager)
First we install CS then DB and lastly CI
Run SWPM sapinst -> Find out SAP ERP version frmo kernel dump SAP ERP 6.0 EhP6 6.0 - ECC, EhP6 - Enhancement package
SAP Business Suite = {CRM, SCM, ERP}
2 ways to install SAP
- Central instance - DB and app on same system
- Distributed instance - DB and app are on different system
Select CI -> Software provisioning Manager -> define parameter -> parameter mode -> typical -> it will take 00 as default installation -> Custom -> OK
- In software provisioning manager -> maintain FQDM -> then set password -> then choose local installation (if db and s/w are in single system)
Kernel Upgrade process flow:
-
Download the files: SAPEXE/SAPEXEDB
-
Copy/Move to application server
-
Extract files
-
Stop application
-
Kill supstartsrv process
-
Take backup of kernel directory
-
Copy/Move previously extracted kernel files to the actual kernel dir
-
Correct ownership of some exe files with
./saproot.sh <SID>
as root. -
Switch to
user and test the database connectivity with Rstrans -d
-
Start application
-
Kernel directory: /sapmnt/
/exe/uc/linux86_64 -
Instance directory: /454/sap/
/sys/global -
Global dir getting files frmo: /sapmnt/
/global -
Keep your extracted kernel files into /sapmnt directory
SAP JAVA: Server Administration
-
http://hec03v0233460.sh.hec.sap.biz:50000/startpage hec03v0233460 - server, sh.hec.sap.biz - FQDN, 50000 - port number
-
SAP netweaver administrator (no client concept in java system)
-
Credentials
-
To create roles go to identity management -> create user -> fill in info (name, pass, group)
-
001 client contain some info about java system (user)
-
7.1X and above central instance became primary application server instance and dialog instance became add app server which contains application server instance + central instance
Errors in TMS:
-
Why ASE is more stable than HANA?
-
Latest version of ASE: 16.0
-
SAP never allowed you to downgrade support pcick or DISDC files downgrade compatible
-
using SUM you can upgrade all components at any time
-
using SPAM you can upgrade only 1 component at a time
-
ABAP support pack upgrade one by one
-
Java support pack upgrade directly
-
SOLMAN -> managing solution - 7.2 (monitoring different SAP solution)
SOLMAN as a whole central console
-
What is system refresh? Copy a SAP system to another
-
Latest HANA version? 2.0.23
-
Return Codes?
-
SNOTE: small correction apply on notes
-
Patch: upgrade version of SAP system
-
Maintanence planner tool to make XML/generate file
-
Stock file contains all the updates which we need to change
Stackfile is actual data of particular sid while XML is just data
- Addon are the additional features in already installed system.
Modern DB platform
- SAP HANA is the MDP
- Data will store in CRM and ERP
- OperationalData Store - This will take required data from CRM and ERP
- Traditional approach is used before HANA came
- Transactional process - It works with analysis part
- ETL (Extraction, ransformation, loading)
Summarize data
- Data model - Summarize data will store in data model
- Indices - it is index and start with 0
- Aggregates - It stored periodically used data
- Data warehouse - Collection of multiple databases and stored data for a long time
- Data mart: specific set of data (eg. HR/Finance data)
- Analysis: Analyze the inventory (eg. which product is used more)
- Inmemory data are faster
- HANA is a tool which is used as developing platform
- In HANA no need to summarize the data that whole process is done in modern enterprise platform
- Example: ILP
- HANA is efficient, flexible and not time consuming
- Data footprint is the space acquired by the data whether it is deleted or available
Policies of HANA
-
SAP HANA Support Pack stack: Released every 6 months and is a set of components
-
SAP HANA support package revision - only few components will update (3 months)
-
SAP HANA system varified revision - After applying support pack stack it will release every 3 months
-
SAP HANA maintainence revisions - released every 2 months
Components of HANA
-
Hash - Environment in which HANA is stored with all info
-
System: Identify by ID (SID). It needs OS
-
Instance: Host -> it has storage, local dir. We can access system via host
-
Data volume
-
Hypervisor
-
Root directory HANA STUDIO data will be stored in /hana/shared/sid/hdbclient, /hana/shared/sid/hdbstudio
-
/usr/sap -> local files
-
Actual data and log data will be stored respectively: hana/data/sid, hana/log/sid
-
To get log file/dir with timestamp:
ls -lah
-
Save point consists of latest update of data/recent change
/ERROR := display/give the error in logfile /parametername := It will display that parameter
-
Monitor and handle wakprocess is done by web dispature
-
Virtualip list - It is gives configured virtual L10s
HANA Commands
-
To check if the database is running on the server:
sapcontrol -n 02 -function GetProcessList
02 - instance no. -
Stop HANA DB: HDB stop
-
Start HANA DB: HDB Start
-
Show a status of sapcontrol: watch
-
logs of file: cdtrace
-
To see the user are there: hdbuserstore list
-
Change the key of particular user: hdbuserstore set
-
To login into the user: hdbsql -u
-
version of HANA DB: HDB version
Apply License
- Go to SLicense -> Install License -> Find Notepad and fill details
[SM51] - Find kernel version
RFC Connection types
Connection - Type ABAP - 3 HTTP to external server - G HTTP to ABAP system - H Internal connections - I Logical connections - L TCP/IP connections - T Connection via ABAP driver - X
RFC Connection
RFC connection -> Destination -> Administration -> Technical setting (gateway host and IP) -> Logon & security (provide user)
- To update request type TCODE [SM13]
Administration -> Update -> server (eg. critical and less critical) -> Parameters
- We can deactivate this TCODE
System lock management
-
To check which user is logged in the particular table enter TCODE SM12 -> enter table name -> lock that user (if you want to use that table)
-
To check logs we have ST22 and SM21 at time of error
-
How to troubleshoot when SAP goes down: /usr/sap/
/<ins.no.>/logfiles/ (you can get error in that logfiles)
SUM - Software Upgrade manager
-
XML
-
Patches
-
SUM Files (SAR)
-
All the files must be in a single folder
-
To generate the stack files maintanence planner (download this file)
-
It requires superuser and password
Maintenance planner
-
ABAP (Provide SID)
-
JAVA
-
You need to give OS version/name, addons, SP level, net viewer version, kernel version, SP GUI version
-
Generate XML (put in download basket)
-
Download patches (put in download basket)
-
Download SUM fill (put it in installation location) (server) (all files should be in single folder)
-
Change mode of SUM file and also give sidadm permission: chmod 777
, chown :sapsys -
Extract SAR files -> SUM Folder
SAPCAR -XVF <filename>
-
Run startup file using /startup config hostagent
-
Run the SUM
-
it will provide link for ABAP SUM upgrade.
-
Select link and run it in browser
-
You need to give sidadm and password
-
it will ask you for the XML file (File location:install/../stack.xml)
-
it will lock your system in execute step
-
If you want to unlock the system at the time of execution phase: a) go to SUM folder with
cd SUM/ABAP/exe
b) runtp unlocksys <SAPSID>pf = ..\var\DEFAULT.TPP
c) runtp unlock_e4 <SAPSID>pf = ..\var\DEFAULT.TPP
-
If you want to upgrade single component use SPAM
Prerequisites for support package implementation:
- Support package should be aplpied on client 000
- The user to be used for support package implemntation must have authorization of DDIC and SAP
- Call the transaction spam and see if any previous support package implementation is incomplete or not
- You can proceed ahead unless previous support package implementation is successful
- Ensure that there is enough space in transport directory (/usr/sap/trans)
- Take a backup before starting upgrade (DB and FS)
- Lock users using (EWZ5)
- Suspend bg jobs -> SE38 -> BTCTrans1
- Valid license should be mandatory
Steps to upgrade support package
- Download the required support packages from SMP (Service Marketplace)
- Load the support packages (SPAM) a) from app server (have to store it in trans directory) >10mb b) from frontend (you can store it in any location required) <10mb compress support pkgs which are in the trans directory using SAPCAR -XVF. .ATT4 .PAT files are there .ATT4 = Attrbiute file .PAT = Patch file
c) It will put your files in /usr/sap/trans/EPS/in folder
- Patch version should be latest
- We can revert snotes but we can’t revert support pack and addons
SAP Note -> reset (reset snotes)
- System -> status (to check support packs)
Apply support package:
SPAM -> Display -> select package and click on queue -> go back -> check in queue and click on truck icon (apply)
- It will ask for bg and immediate
Target Audience
- SAP Technology Consultant
- Technical Business Solution Manager
- IT Governance experts
- Business and Project Team leaders
System change options
SE06 -> Change system option -> Global Setting (modifiable/non-modifiable)
Modifiable - In the standard SAP s/w component particular component can be modified
Restricted Modifiable - Only can create object. You cant modify directly, you can create an object which will not reflect the original component
Not modifiable - Enhanceable only -> You cant change the object, however the object can be enhanced
Not modifiable; not enhanceable - -> You cant change the object, you cant enhance either