transactions/big lists.
System performance cannot improve if Dia and Bck workprocess increased. In fact those itself will bring down the performance of the system.
* Do not allocate more the 2 bck process in peak hours
* Check if your hardWARE is adequately sized for these many users.
* Check for any jobs consuming more than 60% of you resource.
( STO6-DETAIL ANALYSIS-TOP CPU)
* Check if there is any NETWORK COLLISION AT SERVER AND USER END.
* Rate of ARCHIEVE LOG SWITCH OVER .
* All USERS use SAME SERVER AT A TIME
* Even USER with ALL SUPER USER AUTHORISATIION can bring DOWN SYSTEM PERFORMANCE AT TIMES
* TRANSPORTS, providing AUTHORISATION and EXECUTING RESOURCE CONSUMING REPORTS TO BE AVOIDED at PRIME TIME.
ABAP,ABAP report,Interactive Report,ALV grid,ALV list,IDOC,User Exit,RFC,Smartform,sapscript,ABAP Performance,Remote Function Module( RFC ),Function Module,Modularization techniques,ABAP tools,ALV report Generator,ABAP Interview Questions,BDC,BAPI,ALE,BADI, EDI,InternalTable,DataStructure,LSMW,Domain,DataElement,Basis and Administration ,ABAP HR development,ABAP Debugger,BW,ExceptionHandling,Download FI, CO, MM, PP, SD, PM, PS, QM, SM, HR, BW, APO,ABAP Tutorial
Search on this Website
Tuesday, December 9, 2008
Reason for the SAP R/3 System Running Slow
Saturday, November 29, 2008
SAP Authorization, Profiles, Address
For example, to change a material master record, authorizations are required for the :
· Transaction change
· Specific material
· General authorization to work within the company code
RSUSR010 - Transaction Lists According to Selection With User, Profile or Object.
List of Transaction codes of the user.
RSUSR007 - List Users Whose Address Data is Incomplete
The program check for space in the address data field. To print the whole list, tick a field which is always
space. (e.g. Room No.)
Version 4.6x
RSUSR002_ADDRESS - Users by address data
In 4.6x you used Role for each users and SAP will generate the necessary profiles and authorizations.
PFCG - Basic Maintenance
Type in a meaningful ZXXX role name and click Create
Menu -> Transaction (insert all the transaction code for this role)
Authorization -> Change authorization data -> Generate
What is Transaction RZ10- Edit Profiles?
choose the instance profile
click Extended maintenance
click the display or change button
look for this parameter name login/system_client
Work Processor :-
rdisp/wp_no_dia DialogProcessor
rdisp/wp_no_vb UpdateProcessor
rdisp/wp_no_vb2 Update 2 Processor
rdisp/wp_no_enq Enquiry Processor rdisp/wp_no_btc BackgroundProcessor rdisp/wp_no_spo Spool Processor
Tuesday, August 14, 2007
SAP R/3 System Parameters Review
or the instances that are running on these servers. The majority of system parameters ensure that SAP operates effectively on the customer’s preferred hardware, operating system and database platforms. System parameters also control how SAP operates and provides system wide control over some aspects of Security. System parameters are set using transaction RZ10. To make the parameters globally effective set them in the default profile, DEFAULT.PFL. To make them instance-specific, you must set them in the profiles of each application server in your R/3 System. System parameters can be reviewed with transaction TU02 or from the standard SAP report RSPARAM using transaction SA38.
Incorrect Logon, Default Clients and Default Start Menus
• Login/fails_to_session_end (default value - 3) defines the number of times a user can enter an incorrect password before the system terminates the logon attempt.
• Login/fails_to_user_lock (default value - 12) the number of times a user can enter an incorrect password before the system locks the user. If the system locks, an
entry is written to the system log, and the lock is released at midnight.
• Login/failed_user_auto_unlock (default value - 1) unlocks users who are locked by logging on incorrectly. The locks remain if the parameter value is 0.
• Login/system_client This parameter specifies the default client. This client is automatically filled in on the system logon screen. Users can enter a different client.
• Login/ext_security Since release 3.0E, external security tools such as Kerberos or Secude have managed R/3 System access. If this parameter is set, an additional identification can be specified for each user (in user maintenance) where users log on
to their security system. To activate, set the value to X.
• rdisp/gui_auto_logout (default value - 0) Maximum time allowed between input from the GUI before the frontend is automatically logged out. The value is set in seconds and the value of zero is used when this facility is not active.
• Start_menu This parameter specifies the default start menu for all users and can be overwritten with the user-specific start menu (transaction SU50). The default is S000, and this value can be set to any other area menu code.
Password Security
System profile parameters define the minimum length of a password and the frequency with which users must change passwords.
• Login/min_password_lng minimum password length. The minimum is three characters and the maximum eight characters.
• Login/password_expiration_time number of days after which a password must be changed. The parameter allows users to keep their passwords without time limit and leaves the value set to the default, 0.
• To prevent use of a certain password, enter it in table USR40. Maintain this table with transaction SM30. In USR40, you may also generically specify prohibited passwords.
There are two wild-card characters:
– ? means a single character
– * means a sequence of any combination characters of any length
Examples:
– 123* in table USR40 prohibits any password that begins with the sequence 123.
– *123* prohibits any password that contains the sequence 123.
– AB? prohibits passwords that begin with AB and have an additional character, such as ABA, ABB, and
ABC.
Securing SAP* user master record
• login/no_automatic_user_sapstar By default SAP is installed with a user master record SAP*. This user has the profile SAP_ALL with access to all transactions and programs in SAP. By default if this user master record is deleted then SAP allows logon using SAP* and a password of ‘PASS’. Although the user master record does not exist, SAP grants unrestricted system access privileges to SAP*. By setting this parameter value to ‘1’ this ‘backdoor’ access is blocked in the event the SAP* user master record is deleted. Prior to version 4.0 this parameter was login/no_automatic_user_sap*.
Tracing Authorisations
• Auth/check_value_write_on (default value - 0) Authorization failures can be evaluated immediately they occur by running transaction SU53. This functionality is only active if the parameter is set to a value greater than zero in the system profile parameter.
• Auth/authorization_trace (version 4.0B onwards - default value - ‘N’) When the parameter is set, any authorization checks performed are validated against existing entries in table USOBX. If the table does not contain the transaction/authorization object combination, then a new entry is added to the SAP reference table (i.e. USOBT not USOBT_C). Due to significant performance issues, SAP does not recommend this parameter being set in customer systems.
• Auth/test_mode (version 4.0B onwards - default value ‘N’)
When activated every authority check starts report RSUSR400. However SAP recommends not activating this parameter as the system is paralyzed if syntax errors occur in running the report and it has a significant performance impact .
Authority Check De-activation
• Auth/no_check_on_sucode (version 3.0E to version 3.1H - default value ‘N’), Auth/no_check_on_tcode (version 4.0 onwards - default value - ‘N’) From release 3.0E, the system checks on object S_TCODE. In upgrades from versions prior to 3.0E to set this flag
to ‘Y’ to ensure that old profiles operate in the new system. By default, the function is inactive.
The flag should not normally be switched on because of the degradation in security that results.
• Auth/no_check_in_some_cases (version 3.0F onwards -default value depends on release) This parameter needs to be set to ‘Y’ for installation of the profile generator. It defines the use of table USOBT in the authority checks undertaken and allows authority checks to be disabled in individual transactions. Whilst SAP recommends switching off unnecessary authority checks, the full impact of this should be considered carefully.
• Auth/object_disabling_active (default value -‘N’) Whilst_no_check_in_some_cases allows authority checks to be switched off in for individual transactions, this parameter allows checks on individual objects to be switched off globally within SAP. It is recommended that this parameter is not set.
Number of Authorisations in User Buffers
• Auth/auth_number_in_userbuffer When a user logs onto SAP, the authorizations contained in the user’s profiles are copied to a user buffer in memory. The maximum number of authorizations copied is set by this parameter. The size of the buffer must always exceed the maximum number of authorizations as authorization checks are made only against those in the buffer. The default value is 800, but this can be set to between 1–2000. Refer to OSS notes 84209 and 75908 for more detailed information regarding changes to the size of the user buffer.
Transaction SU56 shows the contents of the user’s user buffer and a total for all the authorizations in a user master record.
Table, ABAP and RFC system parameters
• Rec/client (default value - ‘N’) The parameter switches automatic table logging on. Images of the table before and after are logged rather than just changes and so consideration to which tables are to be logged and log volumes must be made before using this as part of a control solution.
• Auth/rfc_authority_check (default value - ‘1’)
The parameter determines how object S_RFC is checked during RFC calls. The object has three fields, activity, the name of the function being called and the function group in which the function resides. The parameter defines whether S_RFC object is checked and if so, whether the function group field is included in the validation.
Value = 0, no check against S_RFC
Value = 1, check active but no check for SRFC-FUGR
Value = 2, check active and check against SRFC-FUGR
• Auth/system_access_check_off (default value - ‘0’ - check remains active) This parameter inactivates the automatic authorization check for particular ABAP/4 language elements (file operations, CPIC calls, and calls to kernel functions). This parameter ensures the downward compatibility of the R/3 kernel.
Useful Transactions
• TU02 Shows current parameters for all hosts and gives a history of changes to parameters
• RZ10 Maintain system parameters
• RZ11 View single system parameters and their functional area.
• SU56 Shows all authorizations a user has in their user master record and the total number. This is useful to identify apparent authorization failures caused by user buffer overflow.
Useful Reports
RSPARAM displays all system parameters set and applicable to the system and instance in which it is run. From version 4.0 the RSUSR003 report also shows the settings for some of the critical password parameters. The report also shows identifies whether SAP*, DDIC or CPIC have insecure passwords by comparing value of the encrypted password field with the encrypted values of the standard shipped passwords. It also shows whether the SAP* user master record is absent from any clients.
Click Here to Read More !!!!
Thursday, May 24, 2007
Installing Oracle/SAP over Pre-existing Data files
This procedure is useful when you need to reinstall the NT or Oracle or SAP
software on an existing SAP db/app server, and
you don't want to waste time with a backup/restore to get your database back. This
procedure assumes that all control file paths start with "oracle" (this is usually
the case):
/usr/sap/SID/sys/profile)
/usr/sap/SID/sys/profile)
options only. This will create the necessary registry keys
don't need to recreate the database.
rename "oracle0" folders to "oracle"
Click Here to Read More !!!!
Installing SAP 30F on Oracle 7.3.4
Why would you need to install 30F on Oracle 7.3.4? I had a client once that was migrating
to a new platform and upgrading from Oracle 7.2 to 7.3.4 and from SAP 30F to 31H. To
save time, we installed 30F on 7.3.4 first, imported the old 7.2 database into the
7.3.4 database, and then upgraded SAP. This cut out the step of upgrading from 7.2 to
7.3.4.
- Install all items from Oracle 7.3.4 (SAP Oracle 7.3.4 CD)
- Copy the files Core34.dll, Core34o.dll, and Nlsrtl31.dll
from the Oracle 7.2 installation CD to the target Orant/bin directory.
- copy (not rename) svrmgr23.exe to sqldba72.exe in Orant/bin
- copy (not rename) folder rdbms73 to rdbms72 in Orant
- Install Application Server (R3Inst, SAP 30F Kernel CD)
- Create the Oracle services with oradim73 -new -sid <SID>
- Copy files initnt.ora, initnt.sap, initSID.dba, initSID.sap
from the 31H kernel CD to
the install directory (drive:\users\SIDadm\install).
- Edit the sapfs.inf file to adjust tablespace sizes
- Install the database server (R3Inst, SAP 30F Kernel CD)
Click Here to Read More !!!!
SAP System Migration: Export/Import (using Oracle)
This section explains how to migrate an SAP system (version 3.x) running Oracle 7.x from
one machine to another. This procedure was used to migrate a database from
the Alpha (NT) platform to the Intel (NT) platform.
For instance, if you are upgrading to a new server, you can use this procedure
to move your system onto the new server. It will work even if the old server
and the new server
are different operating system platforms, as long as Oracle is able to
export from the source platform and import the target platform
(although SAP makes a very big deal about such cross-platform migrations).
Several steps in this procedure require familiarity with Oracle database administration,
which is not described in detail here.
Topics covered here are:
disks, tablespaces, data files, etc.
Troubleshooting and log analysis with grep, awk, and diff
This document refers to several programs, some of
which you may not have used before. Some notes on these:
that comes with your Oracle software. Like sqldba,
sqlplus can be used to execute SQL commands. It also has a screen buffer, so you can
scroll up to see output that is longer than the screen size (which you can't do with
sqldba). On NT platforms, sqlplus has the additional benefit of being accessible from
a remote workstation on the net. SQL*Plus is used here for generating scripts, and
either SQL*Plus or sqldba can be used to execute the scripts
I prefer using SQL*Plus when possible, because you can copy and paste in SQL*Plus.
However, some scripts need to be run from sqldba (or svrmgr).
Depending on your version of Oracle,
the program for sqldba may be sqldba72, sqldba73, svrmgr23, or svrmgr30. For
information on setting up SQL*Plus, see
Troubleshooting SAP Server startup.
To create and execute a script (with sqldba/svrmgr):
to a file named script_name
the full pathname of the script file, and log_file is the full pathname
of the file to which you want to log the script's results.
This is easier, especially for executing one-time scripts (like deleting
a set of objects):
output is messed up by page or line breaks, adjust the buffer settings
linesize, pagesize, buffer width, buffer length.
and press Enter a few times to return to the SQL*Plus prompt.
export/import programs that come with your Oracle
software (the actual names will be something like imp72.exe or exp72.exe, depending
on your Oracle version)
native to UNIX, but can be used on NT
(by downloading them from any of several sites that have the GNU executables. One
such site is ftp://ftp.tas.gov.au/gnu). This document describes some basic
applications of them for searching (grep), manipulating (awk),
and comparing (diff) text files.
Before starting any export/import, you should, of course, backup the database and the
database environment (such as control files, directory paths, and environment variables).
Also, you will need to obtain a new license key from SAP in order to run the system on
a different server.
Planning the Layout: the Most Important Step!
back to top
Before starting the export/import process (and ideally, before even procuring the
target system server), you must plan the layout for the target system,
primarily for security, performance, and reliability/redundancy reasons.
To plan out the layout,
The maximum data file size may be a limitation of your operating system; some
operating systems have a maximum file size of 2G. It may also be a matter of policy, as
performance may be better if large tablespaces are spread across several data files.
To assist in these tasks, use transaction DB02 and/or use
sapdba/sqldba/svrmgr/sqlplus to query the tables
dba_data_files and dba_free_space:
select fs.tablespace_name, sum(fs.bytes/1024) FreeKb,
df.status, df.file_name
from dba_free_space fs, dba_data_files df
where fs.file_id = df.file_id and
fs.tablespace_name = df.tablespace_name
group by fs.tablespace_name, df.status, df.file_name
select TotalKbSQL.tablespace_name,
round(TotalKb, 2) TotalKb,
round(FreeKb, 2) FreeKb,
round(TotalKb - FreeKb, 2) UsedKb,
round(100*(TotalKb - FreeKb)/TotalKb, 1) PctUsed
from (
select tablespace_name, sum(bytes)/1024 FreeKb
from dba_free_space
group by tablespace_name
) FreeKbSQL,
(
select tablespace_name, sum(bytes)/1024 TotalKb
from dba_data_files
group by tablespace_name
) TotalKbSQL
where TotalKbSQL.tablespace_name = FreeKbSQL.tablespace_name(+)
The output of this query looks something like:
TABLESPACE_NAME TOTALKB FREEKB USEDKB PCTUSED
------------------------------ --------- --------- --------- ---------
PSAPBTABD 3416064 886584 2529480 74
PSAPBTABI 1775616 537576 1238040 69.7
PSAPCLUD 109568 48512 61056 55.7
PSAPCLUI 20480 13104 7376 36
. . . . .
. . . . .
. . . . .
select FreeMBSQL.dataset, round(TotalMB, 2) TotalMB,
round(FreeMB, 2) FreeMB, round(TotalMB - FreeMB, 2) UsedMB,
round(100*(TotalMB - FreeMB)/TotalMB, 1) PctUsed
from (
select
decode(1,
least(instr(df.file_name, 'SAPDATA1'), 1),'sapdata1',
least(instr(df.file_name, 'SAPDATA2'), 1),'sapdata2',
least(instr(df.file_name, 'SAPDATA3'), 1),'sapdata3',
least(instr(df.file_name, 'SAPDATA4'), 1),'sapdata4',
least(instr(df.file_name, 'SAPDATA5'), 1),'sapdata5',
least(instr(df.file_name, 'SAPDATA6'), 1),'sapdata6',
'unknown') dataset,
sum(fs.bytes)/1048576 FreeMB
from dba_free_space fs, dba_data_files df
where df.file_id = fs.file_id and
fs.tablespace_name = df.tablespace_name
group by decode(1,
least(instr(df.file_name, 'SAPDATA1'), 1),'sapdata1',
least(instr(df.file_name, 'SAPDATA2'), 1),'sapdata2',
least(instr(df.file_name, 'SAPDATA3'), 1),'sapdata3',
least(instr(df.file_name, 'SAPDATA4'), 1),'sapdata4',
least(instr(df.file_name, 'SAPDATA5'), 1),'sapdata5',
least(instr(df.file_name, 'SAPDATA6'), 1),'sapdata6',
'unknown')
) FreeMBSQL,
(
select decode(1,
least(instr(df.file_name, 'SAPDATA1'), 1),'sapdata1',
least(instr(df.file_name, 'SAPDATA2'), 1),'sapdata2',
least(instr(df.file_name, 'SAPDATA3'), 1),'sapdata3',
least(instr(df.file_name, 'SAPDATA4'), 1),'sapdata4',
least(instr(df.file_name, 'SAPDATA5'), 1),'sapdata5',
least(instr(df.file_name, 'SAPDATA6'), 1),'sapdata6',
'unknown') dataset,
sum(df.bytes)/1048576 TotalMb
from dba_data_files df
group by decode(1,
least(instr(df.file_name, 'SAPDATA1'), 1),'sapdata1',
least(instr(df.file_name, 'SAPDATA2'), 1),'sapdata2',
least(instr(df.file_name, 'SAPDATA3'), 1),'sapdata3',
least(instr(df.file_name, 'SAPDATA4'), 1),'sapdata4',
least(instr(df.file_name, 'SAPDATA5'), 1),'sapdata5',
least(instr(df.file_name, 'SAPDATA6'), 1),'sapdata6',
'unknown')
) TotalMBSQL
where FreeMBSQL.dataset = TotalMBSQL.dataset
The output of this query looks something like:
DATASET TOTALMB FREEMB USEDMB PCTUSED
-------- --------- --------- --------- ---------
sapdata1 4237 1467.95 2769.05 65.4
sapdata2 2000 205.94 1794.06 89.7
sapdata3 1200 160.1 1039.9 86.7
sapdata4 2052.8 437.82 1614.98 78.7
sapdata5 2923 1344.11 1578.89 54
sapdata6 1975 703.84 1271.16 64.4
Using this information, plus your maximum data file size,
decide if you need to add more data files (if your tablespaces exceed
(maximum data file size)*(number of data files installed), you will have to
add data files).
At the end of this step, you should document the planned configuration of mirroring,
RAID configuration, data file location and size, and SAP directories.
Submitting the Proposal
back to top
Before going ahead and making any changes to any system, make sure that
everyone understands what is involved and agrees to it. For this end, a
formal proposal should be submitted to management. Downtime may affect
the company's productive schedule, so the proposal must include specific
dates of planned downtime for management approval. In order to get a better idea
of the necessary downtime, it may be necessary to run an export on the system
overnight, after shutting down SAP. If the system cannot be down for export testing,
then an online backup can be performed; using the backup tapes, the system can then
be restored to a test system, and the export procedure tested from the test system.
The proposal should include:
include, for example, specific reports or transactions to be run for
verification after the import. Generally, as long as the SAP installation
and the import execute without errors, there will be no
discrepencies between the target system and the source system.
Only when the proposal is agreed upon and signed by management should
further action be taken.
Installing the Software on the Target System
back to top
When you install the software in the target system, note:
as the export (dump) file can be read by the target system's Oracle. For instance,
Oracle 7.3 can import databases that were exported from Oracle 7.2, so
importing a 7.2 database into a 7.3 target system is fine
Note that this the procedure described here is part of an overall
migration procedure to first install the SAP system and blank database using
the unchanged configuration of a new SAP system, then alter the
database configuration (to conform to the plan prepared
from the step Planning the Layout) in the step
Preparing the Target Database. An alternative is to alter the SAPfs.inf file,
which controls how SAP sets up the tablespaces and data files during installation, before
installing the SAP database server.
The procedure for software installation on the target server is:
already installed and working
SAP installation manual
Run R3inst.exe (from the program menu, not the CD), select "New
Server->Application Server" and continue to install the application server
as described in the SAP manual
edit the SAPfs.inf. However, this step is not required, because we will
later set tablespace data file sizes to be unlimited (only during import)
the program menu, not the CD)if it is not already running, and select
"New Server->Database Server". When R3inst.exe prompts you to choose the
items to import, check only "Create Database" and "Setup sapdba
and brbackup". Do NOT check "Import Data".
This will create the database, data files, and tablespaces. It will
not create tables or import table data.
Preparing the Target Database
back to top
The actions taken in this section are:
Step 1 can optionally be done later, since the import will use the commit=y flag and
therefore will not write to the rollback segments.
Steps 3 and 4 are performed using the list (from the step Planning the Layout)
of tablespace and data file sizes and locations.
You can change the size of a data file by using the alter database command.
Since the import will probably require larger tablespaces and data files
for most tablespaces, it may be easier to first set all of your data files
to autoextend, and then manually change the storage parameters of particularly large
tablespaces. You can create an sqldba script to do this from SQL*Plus:
set linesize 40
select rpad('host echo autoextending ' ||tablespace_name, 40, '.'),
'alter database datafile "' || file_name ||
'" autoextend on next NEXT_SIZE maxsize MAX_DF_SIZE;'
from dba_data_files
where tablespace_name <> 'PSAPROLL' and tablespace_name <> 'SYSTEM'
This SQL statement outputs a list of commands, which can be run as a script
from sqldba. MAX_DF_SIZE is the maximum size of your data files (from the
Planning the Layout step), and NEXT_SIZE is the size of the next extent.
Note that, after generating the script, you will have edit it
and change all the double quotes (") to single quotes (') before sqldba can use it.
Cleaning Up, Checking, and Documenting the
Source Database
back to top
Cleaning up the database reduces the amount of data that needs to be exported/imported.
Checking the database is necessary to make sure that it is consistent before export.
Documenting of database and SAP logs is necessary in order to verify the results
of the export/import, and, in the case of differences between the source and target, to
distinguish whether the differences arose from the export/import, or from some other
factor.
Cleanup can be divided into two basic parts: database cleanup (the archiving and/or
deletion of records in db tables) and file cleanup (the archiving and/or deletion of files
on the server). Database cleanup should include regular maintenance from reports
RSBTCDEL, RSPO0041, RSBDCREO, RSSNAPDL, and RSBPSTDE, as well as archiving and deletion
of transport files, temporary files left over from reorgs or upgrades, etc. See
Cleaning the System for more info.
Database checks can be done from transaction DB02.
Document any warning or error entries in the system log (SM21) and
the database logs (located somewhere around the DVEBMGS
Exporting the Database
back to top
Use Oracle's EXP program to export the database to a dump file. A sample use of export
would be to export the entire database to a file named d:\devexport.dmp. The
parameter file d:\devexp.par (text) would be:
and the export would begin executing, while logging output (from stderr) to the
userid=system/manager
buffer=131072
file=d:\devexport.dmp
compress=y
full=y
consistent=n
file d:\devexp.log, with
the command
exp parfile=d:\devexp.par 2>devexp.log
Some things to keep in mind are:
database.
40-60% of the total size of the data files.
desirable.
for verifying a successful export and/or fixing problems during export or import.
The export program let's you specify a logfile, or you can redirect
output with 2> to capture the export program's screen output. Redirecting screen
output generates much more useful information than using the logfile parameter.
If you have a consistent database that will not be modified throughout the
export (usually the case), you can switch off consistency checking,
which will save a lot of time.
Importing the Database
back to top
Use Oracle's IMP program to import the dump file. The IMP program can be run interactively, or using a parameter file. A first-time full import parameter file d:\devimp.par, for
importing a file devexport.dmp, might look like:
userid=system/manager
buffer=131072
ignore=y
commit=y
full=y
file=d:\devexport.dmp
The import would begin executing, while logging output (from stderr) to the
file d:\devimp.log, with the command
imp parfile=d:\devimp.par 2>devimp.log
If the import encounters errors, and some tables are not imported successfully,
a re-import is necessary. A re-import parameter file might look like:
userid=system/manager
buffer=131072
ignore=y
commit=y
full=n
file=F:\export.dmp
fromuser=SAPR3
tables=(TSKT4, TST01, TST03, VBAP)
This tells IMP to only import the specified tables (which belong to the user SAPR3,
as do all SAP tables). The 'ignore' parameter tells IMP whether to
skip a table if it already exists (ignore=N) or to import the table data regardless
of whether it exists already or not (ignore=Y). The 'commit' parameter tells IMP
not to roll back if an error occurs (commit=Y) while importing data. The data
that was already inserted into the table remains so. This may improve performance.
Some things to keep in mind are:
errors occur, it may slow the import down considerably, so make sure to check
the import every few hours.
to create a logfile.
to either re-import data (ignore=y), or to skip over tables that were already imported
(ignore=n). If you use ignore=n, make sure to note any tables that were only partially
imported, as these will have to be re-imported.
IMP program might start and then just hang. And if it is working, the program
may still hang for several seconds without doing anything. Check the CPU usage
if you think it's hanging.
After importing the database, a few other steps need to be done:
parameters, and datafile storage parameters
language environment)
profiles of the source system. First edit the files in the operating system, then
use CCMS to import them into the database.
as outlined in your acceptance documentation (see
Submitting a Proposal to Management)
Additional Notes:
back to top
This section describes some general troubleshooting and analysis methods:
Getting Grep, Awk, Diff
If you are using UNIX, you already can use grep, awk, and diff. Otherwise, you
can get the latest versions at www.simtel.net under the GNU Project (or
ftp://ftp.simtel.net/pub/simtelnet/gnu/djgpp/ or
ftp://ftp.tas.gov.au/gnu
Sample Script Creation Commands
These are some sample commands that can be used to create SQL scripts.
The command is run from SQLPlus and spooled into the script file.
Set the SQL*Plus buffer width to 40 first, to get line breaks at the right
place. Run the scripts with svrmgr or sqldba, such as
svrmgr23 @script.sql 2>logfile.log.
disable autoextend script:
select rpad('host echo autoextend off ' ||tablespace_name, 40, '.'),
'alter database datafile "' || file_name ||
'" autoextend OFF;'
from dba_data_files
where tablespace_name <> 'PSAPROLL' and tablespace_name <> 'SYSTEM'
The script that is generated needs to be further edited by adding the connect internal
command at the start, deleting superfluous output, and replacing double quotes
with single quotes.
drop tables script:
select rpad('host echo drop table ' ||table_name, 40, '.'),
'drop table ' || table_name || ';'
from user_tables
Deleting data from the database
To completely restart an import, the easiest way is to recreate the database by
starting R3INST and selecting only "Create Database" and "Link DB to sapdba/brbackup".
To delete tables, the fastest way is to use the TRUNCATE command, because it deletes
the tables immediately without using rollspace.
To re-import a table that already exists, set the IGNORE parameter to Y
when importing.
Using grep to search the log files for regular expressions (patterns)
SAP Basis: Printing Problems and Solutions
Below is a list of some questions/problems and solutions when trying to print.
| Question/Problem | Solution | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Double-byte characters show up on the screen, but not when printed. | Create a new spool request, but don't print it. Check the output using the DISPLAY function in SP01. Do the characters show up properly? If they do, it may be a problem with SAPLPD or the device format. If not, SAPWIN or whatever device you are using may be misconfigured to the wrong code page, or it could be a problem in the SAPScript. How do I change the codepage on a device? | Copy your DEVICE to ZDEVICE. Under the three listings for codepages, set the | new codepage in listing 1. Leave the other two codepages as 1134 or whatever the codepage settings were for the original DEVICE. How do I copy a device plus its other settings (like print controls)? | Go to SPAD->Device Print Control->Utilities->Copy Device Type. Don't use the | copy utility in SPAD->Output Devices, because it only copies basic info. I used SPAD->Device Print Control->Utilities->Copy Device Type to copy a device, | now how do I delete it? Go to SPAD->Device Print Control->Utilities->Delete. Don't use | SPAD->Output Devices, because it can't delete the device if it has related data like print controls. What do device formats (SPAD->Device Format) do? | They contain comands that are used to set features like font, font size, | character set, orientation, margins, and vertical/horizontal spacing. If you are using SAPWIN, some common commands are:
I want to dial-in to an SAP system and print from my computer. How do I do it? | If you are using MS Windows, you need to remove ALL network devices except the | Dial-Up Adapter. Make sure that you can dial-in and log into the SAP system first. The server must be able to know your machine's IP address by its NAME. The easiest way to do this is to assign a static IP to the dial-up connection, and make sure that an entry is added to the application server's HOSTS file with that IP address bound to a host name (less than 8 characters long). After you have connected, start up SAPLPD. Make SURE that the IP address listed in the SAPLPD window is the same address as your dial-up adapter (from Win95/98, run winipcfg to see your dial-up adapter settings).
I have other problems that are not listed here | Read the SAP R/3 Handbook. Check the SAP Notes database. Write to SAP. Write | me at khari_it@yahoo.co.in. |
Click Here to Read More !!!!
SAP Basis: Transport System Problems and Solutions
Below is a list of common questions/problems and solutions when transporting objects between
systems.
| Question/Problem | Solution |
|---|---|
| The tp command doesn't work. It always shows some error which I don't understand. | Make sure the environment is set up properly. See Troubleshooting Server Startup for details. |
| After releasing my change request, I can't find the transport files in the transport directory. | Make sure you released the request, as well as the tasks under it (the request is the part of the tree directly under the word "Transportable"). Check the action logs using SE09 for errors. If there were no errors, try re-transporting an object by changing it and creating a new request. Before releasing the task or request, go to SE09 and list the request. If the request is listed under "Local", it can NOT be transported to another system. |
| My change request is always local, but I want it to be transportable | The problem lies in either the workbench setup, the development class assigned to the objects you wish to transport, or both. Check the workbench setup with SE06->Display. Is your system set as a productive system? If so, change requests usually are not transportable. Try creating a new development class Z000, and choose any transport layer that the system allows you to choose (if your system does not allow you to choose any transport layers, then the workbench is not set up to allow any changes to be transportable). If it allows you to choose several layers, create on new class for each layer, and a new change request for each class. Then go to SE09 and check if your requests are transportable. If they are transportable, try to release one of the development classes (release the task and the request) and check that the files are created. |
| The system won't let me release a request because the the "target system is the same as the source system." | Click on the request, hit Shift+F6 (Change), and change the target system to a SID other than the source system. If your system won't let you change it to a SID that works, you are either trying to transport from the wrong system, or you need to redo your system landscape. |
| How do I redo the system landscape? | This should be done by a consultant during installation, and should not be changed after installation. If you really want to do it yourself, release all locked objects, log onto client 000 with DDIC, go to SE06, choose the landscape you want (usually 2- or 3-system group, and press Create. Tell the system which SIDs do which roles, and the rest is set up automatically. |
| I want to import objects into a system other than the one for which the transport files are targeted. | Use the override options. See the page on Transport System. |
| After using the override options, tp won't let me delete the request from the buffer. | Re-import the request, and then delete it from the buffer. If you cannot re-import (because, for instance, it is a very old request, and you do not know if re-importing will overwrite newer object), you can delete the entries directly from the file /usr/sap/trans/buffer/SID. This of course is not a "real" solution, but it does work (the "real" solution maybe would involve further editing of the E070, E071, or E070C tables, but I don't know). |
| I have created local objects in both the target system and the source system. Now I want to organize development and create objects only in the DEV system, and allow no direct changes to the target system. What do I do about the objects already created? | They need to be reassigned to a development class before they can be transported. Create a development class (or use an existing one) and test to make sure its objects can be exported and imported successfully. |
| How do I delete all the old change request/task clutter from my system. | If none of the tasks in the request have been released, the entire task/request can be deleted. Before deletion, however, you should check to make sure that the related objects are either changed back to the state they were in before the change that resulted in their being linked to the change request. |
| The system says that I have to release all locked objects before I can perform a certain task. How do I find out what objects are locked? | Look in the tables TLOCK, E070, E071, and E070C. Sometimes, data in these tables can become orphaned, and may need to be processed manually (this is rarely necessary). |
| What do I do with all these transport files? | You can backup and delete old transport files every once in a while. Directories to be backed up and deleted in the /usr/sap/trans directory include: data, cofiles, log, olddata, EPS/out, EPS/log, and put/*. Note that SAP-delivered files can be deleted without backup; this includes directories such as put/exe, put/tools, and EPS/in. |
| I have other problems that are not listed here | Read the SAP R/3 Handbook. Check the SAP Notes database. Write to SAP. Write me at khari_it@yahoo.com. |
Click Here to Read More !!!!
SAP: Troubleshooting the Client Connection
Checklist for troubleshooting the client connection (do in the listed order):
| What to Check | How to Check It | Tips | ||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Client IP configuration | Make sure the client's IP configuration is properly set up. Find out from the systems administrator what your network settings should be, and check that your computer is configured properly | if you are using Win95 or Win98, execute winipcfg from Start>>Run to see the IP configuration. Network Connection without DNS | Check that your computer can ping the SAP server (via IP address) using | ping <server_ip_address>. If there is no reply, then probably your computer is configured incorrectly or there is a problem with the physical network connection of your computer. You can also try | ping <server_ip_address> -w 10000 (the "-w 10000" option tells ping to wait 10 seconds before timing out). The problem might be in a faulty cable attached to your computer, or to a faulty outlet. Try using a network outlet and a network cable that has already been used by a client to successfully ping to the server's IP address. Network Connection with DNS | Check that your computer can ping the SAP server (via server name) using ping <server_name>. If this step fails, but the | previous step succeeded, then your computer is having problems finding the IP address of the server. If this step fails, there are several possible solutions: |
|
Click Here to Read More !!!!
Troubleshooting sheets: Server Startup
Checklist for troubleshooting SAP server startup:
| What to Check | How to Check It | Tips | |||
|---|---|---|---|---|---|
| Network |
| Check listener.ora, tnsnames.ora, sqlnet.ora. Using lsnrctl gives more feedback, which is recorded in the file listener.log. Also see sqlnet.log | |||
| Database | Use svrmgr or sqldba to check database startup and shutdown:
|
| |||
| Applications | After successfully starting the database, start the application services (from NT, use the SAP Service Manager). From UNIX, use the startsap r3 script). |
|
Troubleshooting other applications:
| Application | How to Check It | Tips |
|---|---|---|
| SQL*Plus | Make sure that
|
Click Here to Read More !!!!
SAP Basis: Transport System
The transport system moves data, objects, and customizations from one system to another system. Some general concepts about the transport system are:
The purpose of a transport is to make changes in one system take effect in another system. Some examples of situations that would require a transport are:
The tp command has several unconditional modes that are useful with troublesome transports (from The SAP R/3 Handbook):
There are several types of transports. Some transports (such as those for company codes) can occur between clients within one system. Some transports (such as those for ABAP reports) are client-independent, and only occur between two systems.
In order to preserve data consistency, transports should only occur between systems running the same R/3 version. Transporting between different R/3 versions is possible but should be scrutinized first (especially when changing table data that affects program behavior) to make sure that no unprediced side effects occur. Transporting data dictionary objects between different versions is usually OK if they are all custom objects.
Before transports can be performed, the transport layers must be set up. Use transaction SE06 and read the related help files for setting up the transport layers.
0. Import from buffer without deleting and then use unconditional mode 1 to allow another import into the correct location.
1. During export, ignore the incorrect status of the transport control file. During import, execute the request even if it has already been imported.
2. During import, overwrite original objects. During export, do not expand selection with TADIR brackets.
3. During import, overwrite system-specific objects.
4. Import into system other than the target system that was defined in the transport request.
6. During import, overwrite objects that are unconfirmed repairs.
8. During import, ignore transport restrictions based on table classes.
9. Import into system even if it is locked against this type of transport.
Click Here to Read More !!!!
SAP System Administration: Cleaning the System
There are a number of jobs that should be scheduled to run on a daily, weekly, or monthly basis. You can run the jobs manually first, and devide how often they should run for the particular system, and then schedule them to run automatically. These jobs delete obsolete files such as print logs, job logs, and ABAP dumps.
Additionally, there are some cleanup jobs that should be executed manually on a regular basis (usually once a month). These include:
Click Here to Read More !!!!
SAP Documentation: User Information and Authorization Matrices
User information and authorization matrices are is useful when:
- Analyzing security
- Changing roles/positions/users
- Analyzing performance
- Configuring Security
Information should include:
- Position/Transaction/Authorization/Profile/User Matrices (see examples). Which matrices you use will depend on how you want to implement security (e.g. using the Profile Generator, or not using the Profile Generator). Please see the online help for further details on how to organize user information.
- Real name, department, cost center, and other pertinent information
- Activity groups and user groups (used for security administration)
Examples of User Information Tables Authorization Matrices
The following examples are simplified and incomplete for demonstration. Additional tables should be made to show authorizations contained in each profile. User List
Click Here to Read More !!!!
SAP System Administration: Authorization Concepts
Access control in SAP is composed of several concepts:
Program code that calls an authorization check using the authority-check statement. This will look something like:
authority-check object id field
Authorization fields (corresponding to the in the above code) that define a scope of possible values. Examples of authorization fields would be:
ACTIVITY: defines the type of activity the user is doing with the data. Possible values are
'DISPLAY', 'MODIFY', 'DELETE', etc.
COMPANY_CODE: possible values are any single value, or any range of values, or any combination thereof (such as '0438' and '0600' thru '1100')
Authorization objects that define a group of fields. For example, an authorization object called 'CO_MDATA', containing our above fields ACTIVITY and COMPANY_CODE, might used to control access to the company master data tables.
Authorizations, each of which belong to exactly one authorization object, that define authorization values (within the scopes defined by the authorization objects) to be granted to users. Note that an authorization is different from an authorization object!! Extending our previous examples, we might have an authorization, belonging to the authorization object 'CO_MDATA', called 'CO_MDATA_ALL', that grants all access to all company master data. Then 'CO_MDATA_ALL' would have the following values:
FIELD VALUE
ACTIVITY *
COMPANY_CODE *
Profiles, each of which may contain several authorizations or profiles. A simple profile contains a group of authorizations. A composite profile contains a group of profiles (simple or composite). [Profiles can be conceptualized as forming the structure of a tree, in which end nodes (leaves) are authorizations, and all other nodes are profiles. Simple profiles are nodes whose children are all end nodes, and composite profiles are nodes, other than end nodes, who have no end nodes for children.]
Profiles are designed to define set or one or more functions or positions. For example, a functional profile might define all the authorizations that are required for doing a goods receipt, or for making a payment in the AP module. A position profile, on the other hand, might define all of the authorizations that are granted to an accountant, or to a warehouse supervisor. Often, a position profile is a composite profile consisting of several functional profiles.
Users, to whom profiles are assigned. A user is assigned one or more profiles by the system administrator. These profiles define all of the user's system authorizations. It sounds complicated, but once you start working with authorizations, it's pretty easy.
Configuring Authorizations and Profiles
Click Here to Read More !!!!
SAP Language Configuration
The language environment that comes with the standard SAP installation includes Most language administration can be done with transactions
German and English. To use SAP with other languages, you must perform a language
import or supplement (use transaction SMLT). Changes in the language environment
usually require changes in the codepage setup, which requires changes in some
database tables and in the profile files.
SMLT and SP12, and
reports RSCP0001, RSCP0004, RSCP0017, and RSCP0020.
The codepage environment is summarized in the report RSCP0001. Running the report
will generate a screen with codepage parameters drawn from different places.
A proper codepage setup usually requires that all codepage parameters are the same.
This table show the output of the RSCP0001 report, and where its data is drawn from:Report output Source 1.
Table TCPDB  
Code page for transparent data in the database
Entry in TCPDB table
Code page for non-transparent data in the
database (for example, pools and clusters)
Entry in TCP0C table (can change from online report above) 2.
System profile parameters  
Code page for transparent data in the database
install/codepage/db/transp = 8300
Code page for non-transparent data in the
database (for example, pools and clusters)
install/codepage/db/non_transp = 8300
Code pages used by this application server
install/codepage/appl_server = 8300
Code pages used by SAPTEMU
saptemu/Codepage = 8300
For example, changes in the instance profile, for Traditional Chinese, might look like:
# Change Installed languages to include M (Traditional Chinese)
zcsa/installed_languages = DEM
# Change to desired language for logon screen
zcsa/system_language = E
# Add the following parameters for Chinese Character Set
install/codepage/appl_server = 8300
install/codepage/db/transp = 8300
install/codepage/db/non_transp = 8300
saptemu/Codepage = 8300
abap/locale_ctype = Chinese(Taiwan)_Taiwan.950
install/collate/active = 0
abap/locale_all/needed = 0
rscp/TCP0B = TCP0D
abap/set_text_env_at_new_mode =1
abap/import_char_conversion = 0
Click Here to Read More !!!!
Wednesday, May 23, 2007
SAP and High Availability
High Availability (HA) is the concept of allowing several machines to work together as team. This team of computers, known as a cluster, helps each other out; they divide work amongst themselves, and if one fails for any reason, the others take over its work seamlessly and automatically. HA technology is still under development for both UNIX and NT platforms.
Both operating systems currently support an HA solution at the operating system level. That is, from the view of the operating system, HA can work. If one computer fails, the other computer can sense this failure, and take over the network ID, the I/O operations, and other operating resources of the failed computer.
However, there is currently no solution, for any platform on any hardware, that can offer an HA solution for applications such as SAP R/3. Although the HA solution at the operating system may be able to automatically make the resources of the failed computer available, it still cannot properly shutdown, roll back and/or roll forward, and restart the database and SAP processes. Thus, at present, if a productive SAP R/3 server fails, it always requires manual attention.
Although SAP, Microsoft, Oracle, and almost every major hardware company are currently working on a more complete HA solution, it will probably be a couple of years before a true HA clustering solution is available. A true HA cluster solution would allow a group of clustered servers to be viewed by the end user as a single server, and even when some servers fail, service is uninterrupted (though performance decreases). In this case, SAP on an HA cluster machines would look like this:
Click Here to Read More !!!!
