You are on page 1of 41

what is private mode? when does user switch to user mode?

private mode is a mode where the heap data is getting exclusively allocated
by the user and is no more shared across the system. this happens when your
extended memory is exhausted.

what is osp$ mean? what if user is given with this authorisation?


ops$ is the mechanism the <sid>adm users uses to connect to the database .
why do you use ddic user not sap* for support packs and spam?
do _not_ use neither ddic nor sap* for applying support packages. copy ddic
to a separate user and use that user to apply them.
can you kill a job?
yes - sm37 - select - kill
if you have a long running job, how do you analyse?
use transaction se30.
how to uncar car/sar files in a single shot?
on unix:
$ for i in *.sar; do sapcar -xvf $i; done
when we should use transactional rfc ?
a "transactional rfc" means, that either both parties agree that the data was
correctly transfered - or not. there is no "half data transfer".
what is the use of trusted system. i know that there is no need of uid and
pwd to communicate with partner system. in what situation it is good to
go for trusted system ?
e. g. if you have an r/3 system and a bw system and don't want to maintain
passwords. same goes for crm and a lot of other systems/applications.
let me know if my understanding below is correct:
1) by default the rfc destination is synchronous
2) asynchronous rfc is used incase if the system initiated the rfc call no
need to wait for the response before it proceeds to something else.
yes - that's right.
but keep in mind, that it's not only a technical issue whether to switch to
asynchronous. the application must also be able to handle that correctly.
which table contains the details related to q defined in spam? is there a
way to revert back the q defined? if yes, how?
there is a "delete" button when you define the queue. if you already started
the import it's no more possible since the system will become inconsistent.
what is a developer key? and how to generate a developer key?
the developer key is a combination of you installation number, your license
key (that you get from http://service.sap.com/licensekey) and the user name.
you need this for each person that will make changes (dictionary or
programs) in the system.
what is xi3.0 ? explain xi = exchange infrastructure - part of netweaver
2004.
sap exchange infrastructure (sap xi) is sap's enterprise application integration
(eai) software, a component of the netweaver product group used to facilitate
the exchange of information among a company's internal software and
systems and those of external parties. like other netweaver components, sap
xi is compatible with software products of other
companies.
sap calls xi an integration broker because it mediates between entities with
varying requirements in terms of connectivity, format, and protocols.
according to sap, xi reduces integration costs by providing a common
repository for interfaces. the central component of sap xi is the sap
integration server, which facilitates interaction between diverse operating
systems and applications across internal and external networked computer
systems.
how to see when were the optimizer stats last time run? we are using
win2k, oracle 9, sapr346c.
assumed db=oracle

select any table lets take mara here but you should do the same for mseg and
few others to see whether the dates match or not.run the following command
on the command prompt:-
select last_analyzed from dba_tables where table_name like '%mara%';

this gives you a straight answer .else you can always fish around in db14 for
seeing when the optimzer stats were updated.
*-- ankan
automatic cts
even though sap does not recommend automatic imports, it is the
most practical way of moving transports from a development system
to a qa environment or to a special development system (although i
wouldn't recommend auto imports to a production system for obvious
reasons).
there are various methods for doing this. the most effective and
simple method is using an os script (shell/perl etc.) scheduled using
cron for user sidadm. there are a couple of steps you need to take
before setting up automatic imports.
1. your entire project team should agree upon the overall strategy,
frequency of imports etc.
2. resolve any issues with transport approvals (many shops don't
care about traffic between dev and qa)
3. who is responsible for watching for errors and corrective actions
(an email to the developer works in this case)
configuring outbound sap to internet mail gateway (r/3 4.0 and
above)
step 1 (unix setup)
logon to your <db_server> as sidadm
change directory to /sapmnt/sid/global (or any directory globally
available across all application servers)
create the following entries in file sap_email_gateway.sh and save
the file
#!/bin/sh
gwconfig=/sapmnt/sid/global/sap_email_gateway.cfg
export gwconfig
/sapmnt/sid/exe/mlunxsnd $*
execute the command: mlosmadm sap_email_gateway.cfg (enter
the following information)
system name : sid
client : 200
username : mailadm
password : initpass
language : e
loadbalancing : y
message server : <central_instance_host_
group name : logon group1
using saprouter : n
trace level (inboound) : 0
sendmail command : <accept default>
codepage : <accept default
trace level (outbound) : 0
update file : y
step 2 (sap setup)
logon to sapsystem (sid) via sapgui
transaction su01, create user mailadm and password initpass,
usertype cpic
transaction sm59, click create
rfc destination : sap 4.5 internet mail gateway
connection type : t
description : internet email gateway
hit return
click explicit host
enter /sapmnt/p21/global/ sap_email_gateway.sh
save your entries
transaction scot, click edit--> create nodes
node : email
description : sap connect node for email (continue)
rfc destination: (choose sap 4.5 internet mail gateway from the pull
down menu)
choose radio button internet
address area : *domain (your intranet domain)
ccontinue
format : doc, dat, r3f, txt, raw,ppt,xls (continue)
continue
set further address types : n
minimum waiting : 5 minutes
check both node is in use', node can resolve path references
continue
choose goto--> schedule background job
enter name for the job & save
configuring outbound sap to internet mail gateway (upto r/3 3.1i)
sap can be configured to send and receive emails from different
sources. this section explains how to integrate sapoffice with an
external email system. this is in no way supplementing the online
documentation available on the online documentation cd supplied by
sap but simplyfies the process to the bare internet email must be
configured and running prior to this. email from sap is forwarded to
the users external email client such as eudora, outlook etc.
you can configure inbound and outbound forwarding. outbound flow
forwards a sap message (eg:update termination) via unix sendmail to
the intended recepient. inbound accepts a message from sendmail
and places it in the users sapoffice inbox. many sap shops prefer to
configure outbound only.
configuring outbound forwarding
sap configuration
1. create your rfc destination for outbound email using transaction
sm59
rfc destination : sap_internet_gateway
connection type :t
description : sap internet mail gateway
click on 'explicit host' if you want on demand gateway dameon
invocation.
program : /sapmnt/sid/exe/mlunxsnd
target host : enter hostname that runs your central instance.
click 'test connection' and you should see a successfull message.
choose menu tools-->administration-->management-->process
technology-->office-->office settings
click internet gateway
gateway destination : sap_internet_gateway
path for configuration file : /sapmnt/sid/exe/sap_mailsid.cfg
return address : <your company domain>.com
5. click internet settings and fill in the following fields
6. save the settings
7. click back
8. choose menu office-->addresses-->communication types
9. type in int over the comm. type and internet mail over
description.
10.. check maintain and send checkboxes and save your entries.

unix configuration
11.. cd /sapmnt/sid/exe
12..mlosadm sap_mailsid.cfg
13.client 000
14.username : mailadm
15.password : mailadm
16.language : e
17.system name : sid
18.system number : <instance_number>
19.hostname : <hostname>
20.gateway hostname: <central_instance_hostname>
21.gateway server sapgw<instance number>
22.sendmail command : <path_to_sendmail_command>
23.update file : y
testing
1. logon to sap
2. execute transaction so01
3. write a message and send it to <your_internet_email_address>
if you don't see the mail in your internet mailbox, go back
and review steps 1-12
ftp from abap
there are 2 ways of executing ftp from an abap (online or batch
mode),
initiated from the operating system. a script is available in the utility
repository that explains how to do this very easily.
initiated from the abap itself an example is given below.

1. create a logical os command 'zftp' using transaction sm69.


make sure that you enable 'comand line parameter allowed'
checkbox
2. create a shell script called 'zftp' with the following lines
rmthost=`echo $2 | tr '[a-z]' '[a-z]'`
ftp -v $rmthost << eof > /out/zftp.$$ 2>&1
lcd /out
put $1
bye
eof
3. use the sxpg_command_execute function module to call
this script (zftp) with the filename you want to transfer
as the parameter. eg:
call function 'sxpg_command_execute'
exporting
commandname =
tables
exec_protocol =
exceptions
no_permission = 1
command_not_found = 2
parameters_too_long = 3
...
enable web based online documentaion (r/3 4.0 or above)
1. install netscape webserver or use an existing web server
(requires administrators privelege)
2. create a directory called sapdocs4 under your web server
document root.
3. mount the cdrom containing online documentation on your pc or
your unix server.
4. recursively copy all files under /cdrom/docs/ to the sapdoc4
directory under the web server root.
5. create the following entries in your
/usr/sap/sid/sys/profile/default.pfl
eu/iwb/installed_languages = en
eu/iwb/help_type=2
eu/iwb/server_win32=webserver.domain.com
eu/iwb/path_win32=saphelp/helpdata
restart your sap system
how to access an external database from abap via dblink
(oracle)
1. using transaction se11, create a table (ztable) with the
same fields as the table in the external database, make
sure that the type and lengths of the fields are
identical.
2. using transaction se11, create a view (ztable_view,
projection view) using basis table ztable
3. using svrmgrl>
create dblink remote_db as connect to remote_user
identified by password; (database link created)
drop table ztable; (table dropped)
create synonym ztable for ztable@remote_db; (synonym
created)
using transaction se16 , type in ztable_view and hit
return
enter value in key fields and hit execute. (displays rows from
the remote table)
tips and tricks
1. to see the complete text of an error/warning message on the
sapgui status bar, right click on the message and drag left.
2. to prevent your spool requests getting deleted from the basis
cleanup jobs, you need to uncheck the delete after print
checkbox in the print control screen, execute transaction sp01,
find your spool#, click on attributes and change the delete after
date
3. short cuts using the ok-code box.
%sc search in
page
%pc download do
local file
p+ page up
p- page down
p++ top of page
p-- end of page

use transaction al11 to browse the application servers directory


structure.
what is th difference between sap lock and database lock?
a "sap lock" is named "enqueue lock", the enqueue is on a much higher
level, e. g. a complete sales document is locked there whereas in the datbase
usually only row locks exist. since sap runs on more database than oracle
(thanx god) one needed to have a mechanism, that is database independent
and on a higher level.
what is the diff between clients 000 and 001?
client 000 is the sap source client, client 001 exists only on certain
installations (e. g. solution manager). *-- markus
i would like to know is there anyway to transport roles from production
to development or sandbox.
goto pfcg and enter the role which you want to transfer to other system. goto
utilities->mass download it will ask the path where to download/save that
role on local desktop give the location and save it. next logon to the system
where you want that particular role.
pfcg-> role -> upload.
give the path where the role is saved. it accepts and generates successfully.
*-- mahesh
what is the need of having development system?
to develop and custamize sap to companies requirement. say if you dont
have dev, after go-live(started using sap (prd}) if you want to do some
changes to application, you cannot do changes directly to prd server, which
may cause problem the prd server live data. so you do the required changes
on dev first and test them on qas, if it works fine
them transport the same to prd.
difference between application server and central instance?
as: is just a dialog instance.
ci: is dialog instance + database instance.
what is transport domain and domain controller?
td: is the collection of transport controller, trans directory and all other
systems in the group.
tc: a system which will have trans directory, and in which the total landscape
is designed and maintained. in stms you can see all these. *-- suneel
what are snotes ? how to apply them in sap ?
the name of the transaction is snote. a "note" in general is a hint,
documentation, error/bug description and may contain code corrections, that
are applied with the transaction snote.
what is oss ?
oss is the old name of the nowadays "sapnet" which contains everything you
need to run sap a program, patches, installation/upgrade documentation etc.
what are different modules used like ep, xi, crm ,bw, etc?
those are not different modules but different products.
ep = enterprise portal
xi = exchange infrastructure
crm = customer relationship management
bw = business warehouse (that is the old term), it's now call bi (business
intelligence)
what is the correct use of spam, saint, spad and spdd transactions. when
should we use each?
spam is for installing support packages, saint is used to install new addons.
spad is for creating printers (i assume you meant spau) and spdd is for
adjusting modification to dictionary objects.
is it possible to update support release packages from os level?
no - you can import them but the full process will require additional steps
the tools "tp" and "r3trans" are not aware of. the way is to use spam - but
spam has the possibility to schedule those imports in the background.
after doing any support package update in spam, are there any further
steps to carry out for this update to take effect?
no, they are active immediately. *-- markus
what is the use of profile paramater ztta/roll_area?
the value specifies the size of the roll area in bytes. the roll area is one of
several memory areas, which satisfies the user requests of user programs.
for technical reasons, however, the first 250 kb or so of a user context are
always stored in the roll area, further data
- up to the roll area limit ztta/roll_first,
- in the extended memory, up to the limit ztta/roll_extension or if extended
memory is exhausted, then
- again in the roll area, until the roll area is full, then
- in the local process area, up to the limit abap/heap_area_dia or
abap/heap_area_total or until the address space or the
swap space is exhausted.
followed by termination with errors like storage_parameters_wrong_set an
error code, that points to memory bottleneck minimum data transfer with
context change; however, the increase helps to avoid problems (address
space, swap space, operating system paging). *-- anupam sharma
what is r/3? and what is basis version?
sap basis:
- provides the runtime environment for all sap applications
- optimally embeds the application in the system environment
- defines a stable architecture framework for system enhancements
- contains the tools for administering the entire system
- allows the distribution of resources and system components
- provides interfaces for decentralized system parts and external products.
an r/3 instance is a group of r/3 services that are started and stopped as a unit
(by an r/3 dispatcher) and have a common instance profile. the name of an
r/3 instance is composed of letters standing for the relevant services, and an
instance number which is unique for each computer. the services may be d,
v, e, b, m, g, or s, which respectively stand for dialogue, update, enqueue,
background, message, gateway, and spool services.
tips by : suresh babu
i would like to know the version or name of sap that is implemented in
real time?
this is a very generic question and really depends on what you are
implementing (modules).
the history of the "r/3" is
3.0d basis 300
3.0e basis 300
3.0f basis 300
3.1h basis 310
3.1i basis 310
4.0b basis 400
4.5b basis 450
4.6c basis 460
4.71 basis 6.20
4.72 basis 6.20
5.00 basis 6.40 (ecc 5.0 - enterprise core components)
6.00 basis 7.00 (ecc 6.0) - actually in rampup
all of those have increased business functionality and interfaces to other
systems (crm, bw etc.)
what is mysap?
it's a term for all the systems that in a contract (e. g. a mysap business suite
consist of erp2005, crm2005, srm2005).
what is the systems configuration required to implement sap.. i.e for
production,development and qas servers the hard disk space, ram,
processor
this also depends on what your are implementing, how many users will work
on the system, how many records in what area are created etc.
we need a big database system and an even bigger application server for ~
900 users and 12 languages.
what is asap?
it's an old term for an implementation strategy. blueprint -> prototype ->
golive (if you want to say it in one sentence).
how should i set priority for printing say like user, teamlead, project
manager?
there's nothing like "priority" settings for spool processes. just define more
(profile parameter rdisp/wp_no_spool) processes so people don't need to
wait.
using tc sgen i have generated 74% job and later i have terminated the
job. i wish to start generating from where it stopped i have refreshed
but to no chance nothing was done. how should i further proceed so as
to complete the remaining job..
start sgen again and select the same you have selected before. it will popup
and ask if you want to start from scratch or generate the just the remaining.
what is your system landscape?
what are you roles and responsibilities in your company?
what are versions of sap & r/3, oracle you are using?
patch numbers of sap kernel & oracle you are using
if a user wants to execute a background job immediately but there is
no background work process available. how u will do?
what is common house keeping background jobs that run in your
system?
what are common transport errors u faced while transporting?
how you will do client copy? if sap * user is not available at all in your
system then how u will do client copy?
how u will apply ocs patches?
what is the database backup strategy in your company?
what is upgrade process? and how u will do that?
how u will give new authorizations?
how to adjust user master records? if user master record doesn’t
adjust what will you do?
how to check kernel, tp versions?
briefly explain a recent problem you faced, which u felt proud by
solving that? and ho u solved?
how you will rate your self in sap, oracle from a scale 1 – 10?

what are your daily activities in your company?


what are you roles and responsibilities in your company?
what are common background jobs that will run in your system?
if a background job runs more than the time it should be completed
normally then what actions will u take?
how to schedule background jobs at os level?
how to add authorizations, how you will maintain profiles?
what are common transport errors and their codes?
transport request types and its syntax
where will u find transport error logs?
how to do transport at os level?
how to transport objects from production to development?
how to define instances and operation modes?
what are homogenous system copy and heterogeneous system copy
and how you will do that?
what is oracle architecture?
at os level in which directory oracle alerts are stored?
if a lock entry is holding more than 24 hours then what will you do? if
another user wants to share that lock but the user using that lock
haven’t released lock he went for holiday what will u do? this user
wants lock asap then what will u do?
what will you do if u got update failure?
what will you observe in system log (sm21)?
how to increase tables space, resizing, backups and when will you
do?
various client copy methods and how you will do them?
how you will get help from oss notes?
what is the need of having development system?
difference between application server and central instance?
how you will check whether database is active or not from os level?
what is transport domain and domain controller?
what is consolidation route and delivery routes?
how to lock a client? how to delete a client?
how to login in to sap from command level?
how to define logon groups? and what is logon load balancing?
how you will rate your self in sap, oracle from a scale 1 – 10?
what are you roles and responsibilities in your company?
how you will do client copy?
if sap* is not available then how u will do?
after client copy is table space and database sizes will be increased
or not?
how to do client copy fast?
what are various profiles available for client copy?
how to do transport’s between production and development?
how to apply ocs patches?

what are you roles and responsibilities in your company?


how to do client copy?
how to do transports from os level?
where the transport data files will be placed?
how to make security authorization reports?
in which table failed user login attempts will be there?
how to see the t able entry values?
how you will give new authorizations?
have you participated in kernel upgrading and ocs patches?
have you done any up gradations?
how to configure tms?
what is transport domain?
what is consolidation route and delivery routes? how you will identify
them?
transport error codes and their description?
the transaction should not be displayed in user easy access menu but
he must execute that transaction how to do that?

welcome to the exciting world of sap r/3 basis. the term basis
(foundation) is no misnomer. all application modules of an sap r/3
system are integrated using the basis technology and comprise of
four major areas.
application administration: abap, security, correction and transport
system, implementation guide, workflow, sapoffice, external
interface configuration, upgrades etc. are some of the major sub-
areas.
database administration: database interface, space management,
performance, capacity planning, upgrades.
operating system administration: os and sap kernel,
communication, disk, memory, printers etc.
infrastructure administration such as hardware, network planning,
high availability, archiving, language support

automatic cts
even though sap does not recommend automatic imports, it is the most
practical way of moving transports from a development system to a qa
environment or to a special development system (although i wouldn't
recommend auto imports to a production system for obvious reasons).
there are various methods for doing this. the most effective and
simple method is using an os script (shell/perl etc.) scheculed using
cron for user sidadm. there are a couple of steps you need to take
before setting up automatic imports.
1. your entire project team should agree upon the overall strategy,
frequency of imports etc.
2. resolve any issues with transport approvals (many shops don't
care about traffic between dev and qa)
3. who is responsible for watching for errors and corrective actions (an
email to the developer works in this case)

configuring outbound sap to internet mail gateway (r/3 4.0 and


above)
step 1 (unix setup)
logon to your <db_server> as sidadm
change directory to /sapmnt/sid/global (or any directory globally
available across all application servers)
create the following entries in file sap_email_gateway.sh and save
the file
#!/bin/sh
gwconfig=/sapmnt/sid/global/sap_email_gateway.cfg
export gwconfig
/sapmnt/sid/exe/mlunxsnd $*
execute the command: mlosmadm sap_email_gateway.cfg (enter
the following information)
system name : sid
client : 200
username : mailadm
password : initpass
language : e
loadbalancing : y
message server : <central_instance_host_
group name : logon group1
using saprouter : n
trace level (inboound) : 0
sendmail command : <accept default>
codepage : <accept default
trace level (outbound) : 0
update file : y
step 2 (sap setup)
logon to sapsystem (sid) via sapgui
transaction su01, create user mailadm and password initpass,
usertype cpic
transaction sm59, click create
rfc destination : sap 4.5 internet mail gateway
connection type : t
description : internet email gateway
hit return
click explicit host
enter /sapmnt/p21/global/ sap_email_gateway.sh
save your entries
transaction scot, click edit--> create nodes
node : email
description : sap connect node for email (continue)
rfc destination: (choose sap 4.5 internet mail gateway from the pull
down menu)
choose radio button internet
address area : *domain (your intranet domain)
ccontinue
format : doc, dat, r3f, txt, raw,ppt,xls (continue)
continue
set further address types : n
minimum waiting : 5 minutes
check both node is in use', node can resolve path references
continue
choose goto--> schedule background job
enter name for the job & save
configuring outbound sap to internet mail gateway (upto r/3 3.1i)
sap can be configured to send and receive emails from different
sources. this section explains how to integrate sapoffice with an
external email system. this is in no way supplementing the online
documentation available on the online documentation cd supplied by
sap but simplyfies the process to the bare internet email must be
configured and running prior to this. email from sap is forwarded to
the users external email client such as eudora, outlook etc.
you can configure inbound and outbound forwarding. outbound flow
forwards a sap message (eg:update termination) via unix sendmail to
the intended recepient. inbound accepts a message from sendmail
and places it in the users sapoffice inbox. many sap shops prefer to
configure outbound only.
configuring outbound forwarding
sap configuration
1. create your rfc destination for outbound email using transaction
sm59
rfc destination : sap_internet_gateway
connection type :t
description : sap internet mail gateway
click on 'explicit host' if you want on demand gateway dameon
invocation.
program : /sapmnt/sid/exe/mlunxsnd
target host : enter hostname that runs your central
instance.
click 'test connection' and you should see a successfull message.
choose menu tools-->administration-->management-->process
technology-->office-->office settings
click internet gateway
gateway destination : sap_internet_gateway
path for configuration file : /sapmnt/sid/exe/sap_mailsid.cfg
return address : <your company domain>.com
5. click internet settings and fill in the following fields
6. save the settings
7. click back
8. choose menu office-->addresses-->communication types
9. type in int over the comm. type and internet mail over
description.
10.. check maintain and send checkboxes and save your entries.
unix configuration
11.. cd /sapmnt/sid/exe
12..mlosadm sap_mailsid.cfg
13.client 000
14.username : mailadm
15.password : mailadm
16.language : e
17.system name : sid
18.system number : <instance_number>
19.hostname : <hostname>
20.gateway hostname: <central_instance_hostname>
21.gateway server sapgw<instance number>
22.sendmail command : <path_to_sendmail_command>
23.update file : y
testing
1. logon to sap
2. execute transaction so01
3. write a message and send it to <your_internet_email_address>
4. if you don't see the mail in your internet mailbox, go back
and review steps 1-12
back to top

ftp from abap


there are 2 ways of executing ftp from an abap (online or batch
mode),
initiated from the operating system. a script is available in the utility
repository that explains how to do this very easily.
initiated from the abap itself an example is given below.

1. create a logical os command 'zftp' using transaction sm69.


make sure that you enable 'comand line parameter allowed'
checkbox
2. create a shell script called 'zftp' with the following lines
rmthost=`echo $2 | tr '[a-z]' '[a-z]'`
ftp -v $rmthost << eof > /out/zftp.$$ 2>&1
lcd /out
put $1
bye
eof
3. use the sxpg_command_execute function module to call this
script (zftp) with the filename you want to transfer as the
parameter. eg:
call function 'sxpg_command_execute'
exporting
commandname =
tables
exec_protocol =
exceptions
no_permission = 1
command_not_found = 2
parameters_too_long = 3
...
back to top

enable web based online documentaion (r/3 4.0 or above)


1. install netscape webserver or use an existing web server
(requires administrators privelege)
2. create a directory called sapdocs4 under your web server
document root.
3. mount the cdrom containing online documentation on your pc or
your unix server.
4. recursively copy all files under /cdrom/docs/ to the sapdoc4
directory under the web server root.
5. create the following entries in your
/usr/sap/sid/sys/profile/default.pfl
eu/iwb/installed_languages = en
eu/iwb/help_type=2
eu/iwb/server_win32=webserver.domain.com
eu/iwb/path_win32=saphelp/helpdata
restart your sap system
back to top
how to access an external database from abap via dblink
(oracle)
1. using transaction se11, create a table (ztable) with the same
fields as the table in the external database, make sure that the
type and lengths of the fields are identical.
2. using transaction se11, create a view (ztable_view, projection
view) using basis table ztable
3. using svrmgrl>
create dblink remote_db as connect to remote_user identified by
password; (database link created)
drop table ztable; (table dropped)
create synonym ztable for ztable@remote_db; (synonym created)
using transaction se16 , type in ztable_view and hit return
enter value in key fields and hit execute. (displays rows from the
remote table)

tips and tricks


1. to see the complete text of an error/warning message on the
sapgui status bar, right click on the message and drag left.
2. to prevent your spool requests getting deleted from the basis
cleanup jobs, you need to uncheck the delete after print
checkbox in the print control screen, execute transaction sp01,
find your spool#, click on attributes and change the delete after
date
3. short cuts using the ok-code box.
%sc search in
page
%pc download do
local file
p+ page up
p- page down
p++ top of page
p-- end of page

use transaction al11 to browse the application servers directory


structure

1) what is the maximum value for line-size in the report?


2) how many methods are there in bdc? which methods you
know well?
3) what is the difference between report and script?
4) what are control commands in scripts?
5) what is the use of protect and endprotect?
6) can we display text with color in sap script? if yes how can we
do that?
7) what is the use of event at selection-screen on field?
8) what is the use of chain and endchain statement?
9) how can you set rows and columns for table control in a
screen?
10) what is an user exit?
11) what is table maintenance generator?
12) how can you call a subroutine which is located in program a
from program b?
13) what is rfc function module?
14) how many types of rfcs are there?
15)can we use call screen in rfc?
how do i assign authorization groups to tables?
assign a table to a group
1) sm31
2) enter ==> tddat in table name
3) execute
4) select assign authorization groups to tables/views
5) check table name box and execute
6) enter table name (s) (can use wildcards) and execute
7) enter ==> new authorization group(s)
8) check box in front of modified tables
9) select save icon
10) create change request, enter description, execute, execute
11) select back icon

why is it that when i use suim to see who can run certain transactions i
get a certain list of users. but one or more users are missing that i know
have access to run that transaction?
up to now the report did not take into account the transactions which
are executable due to customizing with the help of the su24 / su25
what is client 000 in sap r/3?
client 000 is defined as the sap standard and the customer
cannot change it. this client serves as a copy template for
the creation of further clients.
what are the different type of work process ?
the following work process in sap r/3
dialog (d): each dispatcher needs at least 2 dialog work
processes (not shown above)
spool (s): at least 1 per r/3 system (more than 1 per
dispatcher allowed)
update (v): at least 1 per r/3 system (more than 1 per
dispatcher allowed)
background (b): at least 2 per r/3 system (more than 1
per dispatcher allowed)
enqueue (e): exactly 1 per r/3 system (only 1 e work
process is required and allowed)
how do you start sap r/3?
to start r/3, run the shell script startsap from the home
directory of user <sid>adm.
startsap starts the saposcol process, which is the statistics
collector for operating system resource data, if it is not yet
running.
startsap calls the script startdb, which starts the
database if it is not already started.
startsap then starts the central instance.

the r/3 system administrator can start additional


instances and application servers. to start the instances
independently of the database, use the script startsap.
startsap has the following options:

startsap r3: checks if the database is running; if


it is, only the instance is started
startsap db: starts only the database

startsap all: default entry; starts both the


database and the r/3 instance
in what sequence are profile parameter read?
r/3 processes read the appropriate parameters from a c
source in the r/3 kernel
the default profile /usr/sap/<sid>/sys/profile/default.pfl
is read; profile values already defined in the c source
are replaced with the values in the default profile
the instance profile
/usr/sap/<sid>/sys/profile/<sid>_<instance>_<hostna
me> is read; profile values already defined in the
default profile or in the c source are replaced with the
values defined in the instance profile
this procedure ensures that system parameter values
reflect the instance profile and the values in the default
profile and the c source.
what are the step involved before stopping r/3
system?
before stopping any r/3 system following steps are basic
steps to be performed.
before the r/3 system is stopped, the r/3 system
administrator should check the:
check if any background jobs from any application
server are active or have been triggered externally. use
transaction sm37
check if the background work process btc is running in
any application server.
check if any update records are open when the system
is stopped, the records are rolled back and set to status
init. at startup, the records are processed again.
the administrator must decide whether to interrupt the
jobs or wait until they are finished.
give system users advance warning of the system
shutdown. to create a system message, you can use
transaction sm02.
before shutting down the system, use transaction sm04
to check whether users are still logged on, and ask
them to log off.
the r/3 system administrator and administrators of
external systems should also inform one another about
data transfers between their respective systems.
how do you check the work process from unix?
use the following commands.
to check all the work processes:
ps -ef | grep <sid> | grep dw
to check the message server:
ps -ef | grep <sid> | grep ms
to check the sap os collector:
ps -ef | grep sapos
how do you display the server name?
to display the server name, use transaction sm51.
information about the process types is also displayed. for
further information, select one of the instances and choose
processes. alternatively, to display the system processes,
use transaction sm66.
how do you display all active users in your system?
to display the overview of all active users on the instance
where you are logged on, use transaction sm04. for a user
overview of the whole system, call transaction al08.
performance analysis
q. what happens to locks when the enqueue server is
restarted?
a. if they have not been saved to disk in the backup file,
they will be lost. the locks that are inherited by the update
task when commit work is executed after call function ..
in update task are saved to the disk. the locks are saved to
disk when the update request becomes valid, that is, with
the commit work. each time the enqueue server is
restarted, the lock entries saved on the disk are reloaded to
the lock table. a lock is saved to disk at the point at which
the backup flag is set.

q. the enqueue server is a single-point-of-failure in


the sap system. can i guarantee high availability for
the enqueue server?
a. to guarantee this you must use the standalone enqueue
server with the replication server. this is described in the
documentation standalone enqueue server.
sap note 524816 contains the prerequisites that must be
fulfilled for using the standalone enqueue servers with the
replication server.
q. where is the lock table stored?
a. in the main memory (shared memory) of the enqueue
server. all work processes on the enqueue server has access
to the table. external application servers execute their lock
operations in the enqueue process on the enqueue server.
communication in this case takes place via the relevant
dispatchers and the message server.
q. can locks exist directly after startup?
a. yes, the saved locks, which were inherited by the update
task, are reloaded to the lock table during startup (see first
question).
q. how fast are lock operations?
a. in work processes on the enqueue server, a few 100
microseconds. in work processes of external application
servers you have to include network communications and
process changes. depending on cpu and network load this
amounts to a few milliseconds.
q. what should i do first if a problem arises?
a. use the diagnosis functions:
sm12 extras ® diagnosis and then
sm12 extras ® diagnosis in update
if a problem is reported, back up the trace files dev_w*,
dev_disp, dev_eq* and check the syslog.
q. the following message is displayed in the diagnosis
details in sm12:
lock management operation mode

internal lock management in same


process
what does this message mean and what are the other
options?
a. "internal lock management in same work process" in the
diagnosis function means that you are logged onto the
enqueue server and your work process can access the lock
table straight away. you do not have to delegate enqueue
requests to an enqueue process on a remote enqueue
server. if you are logged onto an application server that is
not an enqueue server, the diagnosis function will provide
you with the name of the enqueue server.
each sap system has exactly one application server that
functions as an enqueue server. this enqueue server
maintains the lock table, which is located in a shared
memory segment. all of the work processes on the enqueue
server can access the lock table. all work processes on other
application servers delegate their enqueue requests to a
special enqueue work process on the enqueue server.

this procedure is configured automatically. the parameter


line "rdisp/enqname =<application server name>" in the
default profile default.pfl indicates which application server is
currently acting as the enqueue server. when an application
server detects that its name matches the name of the
enqueue server, it creates the lock table and all of its work
processes process enqueue requests inline. if an application
server detects that its name does not match the name of the
enqueue server, it sends all enqueue requests to the
enqueue server.
work processes of the type "enqueue" guarantee that
incoming requests are processed immediately. one enqueue
process is usually sufficient. in very large sap systems with
many application servers, a second process can be
beneficial. however, it is not expedient to define more than
two enqueue processes. if the transaction sm50 -> [cpu]
shows that only the first enqueue process is being used, the
bottleneck is due to something else.
q.why is an enqueue work process required in a
central system? don't all work processes have the
same access to the shared memory and thus to the
lock table?
a. although the enqueue process is not used in a central
system, it does not do any harm. since almost all customers
install an application server sooner or later, problems will
inevitably arise if the enqueue process is missing. for this
reason, the enqueue diagnosis function will output an error if
an enqueue process has not been configured.
q. are the locks in the lock table also set at the
database level? if not, database functions could be
used to process objects locked in the sap system.
a. locks are not set on the database. the lock table is stored
in the main memory of the enqueue server.
q. is a lock table built if an enqueue work process is
not started on the enqueue server in the instance
profile?
a. yes, because the work processes on the enqueue server
use the lock table directly, and not via the enqueue process.
the latter is only responsible for lock requests from external
application servers.
q.how can i find out who is currently holding the
ungranted lock? in other words, how can check the
program after an enqueue to determine which use is
currently holding the lock so that i can let him or her
know?
a. when the enqueue_... function module is returned, the
name of the lock owner is listed in sy-msgv1.
q. can i use special characters in my lock argument
(especially the ‘at’ sign (@))?
a. the ‘at’ symbol is used as a wildcard in sap locks
(enqueues). in other words, it can stand for any other
character during collision checks. for example, the
parameter value 12345@ locks the quantities 123450 to
123459, 12345a to 12345z, and 12345a to 12345z, and all
other values with any special character in the 6th character
position.
this is described in detail in the section lock collisions.
in order to prevent the wildcard mechanism from being
activated in sap locks when it is not required, you need to
ensure when enqueue function modules are called that key
value parameters do not contain any wildcard
characters.
if key values that you want to use to lock individual entities
do contain wildcard characters, you have to replace the
wildcards with different characters before the enqueue is
called.
q. with a single-process system as an enqueue server,
we have reached x sd benchmark users. can this
number be increased by using a multiprocessor
system (message server on the same machine as the
enqueue server)? can we assume that scaling is linear
(number of cpus * x sd users)? how many processes
are advisable if message servers, dispatchers, one
dialog, and two enqueue processes are to run on the
system?
a. a significant increase in the enqueue server throughput
can be expected by using several processors. the cpu load
on the enqueue server is distributed relatively evenly
between message server, dispatchers, and enqueue work
processes, which means that up to 3 processors can be
occupied simultaneously. dispatchers and message server
represent the bottleneck with the enqueue. linear scaling
can be expected for up to 3 processors, even if lock requests
are so frequent that message server, dispatchers, and work
processes are occupied simultaneously. due to asynchronous
system processes (for example, syncer), using more
processors can further enhance throughput.
q. the syslog often contains messages such as
"enqueue: total wait time during locking: 2500
seconds". how should i analyze this problem? or is the
entry not critical? (there are no records of
terminations or timeouts.)
a. the message is output for information purposes only but
may indicate parallel processing errors with abap programs.
the specified wait time is the time that has elapsed since
startup due to the use of the wait parameter when the
enqueue function module was
called.
the wait parameter enables a lock attempt to be repeated a
number of times, for example, so that the update task does
not have to be cancelled when a lock is set temporarily by
other programs. the work process remains busy between the
lock attempts.
q. user cannot connect to sap
a. check sap logon settings, ping the host, check message
server, check dispatcher, etc
q. user cannot print
a. see if the user has proper authoriztion. check sap user
setup, check spad, check spools, check unix queue or print
queue at the os level, etc
q. why do you get "getprocesslist failed: 80004005"
error while starting sap console management
a. you have selected one of the process list nodes in the
tree. then you closed mmc and clicked "yes" in the dialog
"save console settings to sapmmc?". now when you open
again the mmc and those processes are not started, you get
this error.

solution: start mmc and select sap systems in the tree. then
close it and choose "yes" in the dialog "save console settings
to sapmmc?". now you won't get this annoying error on
every start.
t-codes
development transaction codes
s001 abap workbench
se09 workbenche organizer (transports)
se11 abap/4 dictionary
se16 data browser
se24 class builder
se30 abap runtime analyzes
se32 abap/4 text element maintenance
se35 abap/4 dialog modules maintenance
se36 logical databases
se37 function builder

se38 abap/4 editor


se39 program comparison
se41 menu painter
se43 area menu editor
se48 call hierarchy
se49 program analysis: table manipulation
se51 screen painter: initial screen.
se55 table maintenance dialog
se80 repository browser
se91 message classes
se93 maintain transaction
shdb batch input recorder
sm30 maintain table views
sm35 monitor batch input

st22 short dump analysis

2. monitoring

st05 sql trace

st07 application monitor

do i need user id and password to enter into the oss?


yes, you need an user id and password to enter into the site. it will be
provided by the basis team in the
project. when they create sap user id, they will create oss notes id also.
you can also register individually in the site.

what is oss notes number?


after entering into sap notes search, you can search for the problem
using keyword appropriate for your
problem. if you have specific oss notes number with you, then you can
directly enter the oss notes number
and you can see the notes explanation.

how to apply oss notes number?


before applying oss notes number into your sap system. you need to
check whether it is already
implemented in your sap system or not. if it is not implemented you can
go ahead.

there are some oss notes, which we should implement manually, that
means we need to change the code
in the programs/objects ourselves according to the steps mentioned in
the problem.

i did not find any oss notes appropriate for my problem or bug. what i
have to do?
if the oss notes displayed are not helpful to solve your problem. you can
write to sap service describing your
problem. you problem will be answered by sap support team.
how to apply oss notes in my sap system? what is the t-code and what
are the steps. in next post we will
see it.
oss stands for on-line service system.
what is the use of oss?
in day-to day business customers who are using sap software
encounters problem or bugs with sap
software. to resolve the issues faced by customers sap has provided an
on-line solution.
what? sap software is having problems or bugs? yes, any software
product is not 100% pool-proof. sap is
continuously updating the versions for better performance and options.

where can i access sap oss?


log on to www.service.sap.com. under the sap support portal, click on
sap notes search.

do i need user id and password to enter into the oss?


yes, you need an user id and password to enter into the site. it will be
provided by the basis team in the
project. when they create sap user id, they will create oss notes id also.
you can also register individually in the site.

what is oss notes number?


after entering into sap notes search, you can search for the problem
using keyword appropriate for your
problem. if you have specific oss notes number with you, then you can
directly enter the oss notes number
and you can see the notes explanation.
how to apply oss notes number?
before applying oss notes number into your sap system. you need to
check whether it is already
implemented in your sap system or not. if it is not implemented you can
go ahead.

there are some oss notes, which we should implement manually, that
means we need to change the code
in the programs/objects ourselves according to the steps mentioned in
the problem.

i did not find any oss notes appropriate for my problem or bug. what i
have to do?
if the oss notes displayed are not helpful to solve your problem. you can
write to sap service describing your
problem. you problem will be answered by sap support team.
how to apply oss notes in my sap system? what is the t-code and what
are the steps. in next post we will
see it.
types of consultants:
the most common question being asked in interviews is ' what are your
roles and responsibilities?'.
before answering the above question, let me explain the difference
between functional consultant and
technical consultant.
roles and responsibilities differ from functional consultant to technical
consultant.
functional consultant:
* functional consultants are responsible for designing the sap
implementation solution based on the
requirements of your company.
* functional consultants are business process experts.
* functional consultants normally use their process knowledge to
calculate the impact of the sap
implementation on the company's processes.
* functional consultants are thus concerned with sap functions and
processes that will generate the data
and output for business.
* functional consultants interact with end users of the company to gather
requirements and based on the
requirements they customize the sap implementation.

technical consultant:
* technical consultants are experts in information technology.
* technical consultants normally assist in configuration of the sap r3
installation. in many sap
implementations, technical consultants help in designing interfaces and
customizations in r3. finally, the
sap r3 technical consultants would be responsible for migration of data
from the legacy system to the new
sap erp implementation.

* here i will discuss major roles and responsibilities of a technical


consultant:

1) designing technical specification by looking at the functinal


specification you have recieved.
usually senior developers having 3 years or more than 3 years of
experience involves in preparing technical
specifications.

2) developing objects using abap workbench tools. that may be a report


program or an on-line program or a
custom table.
remember the development work starts after the technical specification
is approved by your team leader.

3) preparing the unit test case document.


in unit test case document, we document the results and test cases
performed on the developed object.

4) peer review
if you are a senior developer you can perform peer review. i.e review the
code written by your peers.

5) working on problem tickets


if you are working in a support project, you should solve the tickets
assigned to you. tickets are nothing but
the problems occured in production environment.
the above mentioned are the major roles and responsibilities for a
technical consultant.

system landscape:
the system landscape contains all systems that were installed. the
customer can choose any landscape
according to the requirements.
if the customer is very big, one can implement four system landscapes.
mid size customers can go for two
system landscape.
now we will see different system landscapes:

four system landscape:


in this landscape, we will find four systems,
1) development system
2) test system
3) pre-production system
4) production system
in development system, we find three clients
100
140
180
100 can be used as configuration client. 140 can be used for
development. 180 can be used for testing
purpose in development system.
the test system contains two clients
010
040
010 can be used for testing, where as 040can be used for training
purposes.
the pre-production system is the one which behaves exactly as
production system. it contains data similar to
production system. we can test with similar production data.
production system contains one client where the end users will be
working with real time data supporting day
to day business.
cts (change and transport system) :

the cts is the central tool for managing changes to customizing and
repository data that we make in the img
or abap workbench.

as we have discussed earlier, a transport request cab be either


customizing request or abap workbench
request.

a customizing request can be created by the customizing tool img.

an abap workbench request can be created by abap workbench tool.


any changes or objects we develop
through abap workbench are stored in repository tables of sap
database.

as an abap developer you will be working with abap workbench and


thus you create work bench requests.

a functional consultant works with configuration tool img (sap


implementation guide) t-code spro, thus
creating customizing requests.

transport organizer:

transport organizer is the tool provided by sap which records and


documents all changes to objects in the
repository and customizing. the transaction code for transport
organizer is se10 or se09.

transport organizer is fully integrated with abap workbench and


customizing tool img. that means you can
navigate in both directions from transport organizer to abap
workbench and reverse also.

development class:

development classes are used to group similar work objects that are
being developed in a project.
while creating development class we must assign it to the transport
layer.

all the objects assigned to that development class can be transported


according to the routes defined in the
transport layer.

defining transport layer and routes is sap basis administrator job. the
transport layer defines transport
route between the systems included in system landscape.

the development classes are themselves objects in the abap


workbench.

the development class of a development class is always itself.


change request:

information source in the transport organizer that records and


manages all changes made to repository
objects and customizing settings during a development project.

task:

a task is assigned to a change request.

it is the information carrier in the transport organizer for entering and


managing all changes to repository
objects and customizing settings performed by employees within a
development project
vpn (virtual private network)
where are your sap servers located? you might have faced this
question in interviews. the answer is
simple. in general the servers will be located at client side. you may
be working for any company like wipro,
ibm, tcs or infosys. that it company may be implementing the sap for
a customer in uk. though you work
from it company, the servers will be located at client side only.

how do you connect to sap servers which are at client side, if you are
working from offshore?
we can connect through internet or private lines. if you use internet, it
is not secure because of its
accessibility to public. private lines are costly for the companies. here
vpn comes into picture.

as the name itself tells us that it is secure. we will see what exactly it
is.
a virtual private network is a private communications network used
within a company, or by several
companies or organizations to communicate confidentially over non-
private network.

from the above definition it is clear that vpn also uses non-private
network like internet. but it creates a
virtual netwo
tell me the example vpn software names?
at&t and citrix. there are many vpn softwares in the market.

in general, you will be given with a user name and password for vpn.
by using the user name and
password you can connect to vpn.
then you have to use the sap user id and password to connect to the
sap server.
now it is clear that vpn user id different from sap user id.
types of projects:
we can divide the sap projects into three categories. they are
1) sap implementation projects
2) sap support projects
3) sap migration projects

1) sap implementation projects


in this type of projects, customers are moving towards sap software.
previously they might be using some
other software.

2) sap support projects


once sap project is implemented, it should be supported by the
consultants in day-to-day business. in
support projects, the support team helps the customer in day-to-day
business.

3) sap migration projects


as we see, sap is continuously upgrading the r/3 software. customers
are moving from the older versions
to new versions. when the customer decides to new version, it is
called sap migration projects.
now-a-days many customers are migrating from older versions like
4.5 or 4.6b, 4.6c to ecc 5.0 or ecc 6.0
versions.