alternateplanet

February 22, 2010

SAP Memory Buffers

Filed under: BASIS, SAP — Tags: , — admin @ 8:00 pm

Types of Buffers


NTAB buffer:


The name table (nametab) contains the table and field definitions that are activated in the SAP System. An entry is made in the Repository buffer when a mass activator or a user (using the ABAP Dictionary, Transaction SE11) requests to activate a table. The corresponding name table is then generated from the information that is managed in the Repository.

The Repository buffer is mainly known as the nametab buffer (NTAB), but it is also known as the ABAP Dictionary buffer.

Table definitions: TTAB

Field descriptions: FTAB

Initial record layouts: IREC Buffer (Contains the record layout initialized depending on the field type)

Short Nametab: SNTAB Buffer (A short summary of TTAB and FTAB buffers)

The description of a table in the Repository is distributed among several tables (for field definition, data element definition and domain definition). This information is summarized in the name table. The name table is saved in the following database tables:

DDNTT (table definitions)
DDNTF (field descriptions)

The Repository buffer consists of four buffers in shared memory, one for each of the following
The Short nametab and Initial record layouts are not saved in the database. Instead, they are derived from the contents of tables DDNTT and DDNTF.

When access to a table is requested, the database access agent embedded in each work process first reads the Short nametab buffer for information about the table. If the information is insufficient (for example, the SELECT statement uses a non-primary key) it accesses the Table definitions buffer and then the Field descriptions buffer.

By reading the Repository buffers, the database access agent knows whether the table is buffered or not. Using this information, it accesses the table buffers (partial buffer or generic buffer) or the database

Program buffer: Also called as
SAP executable buffer
ABAP buffer
PXA (Program Execution Area)

Stores the compiled executable versions of ABAP programs (loads).

The contents of this buffer are stored in tables D010L (ABAP loads), D010T (texts) and D010Y (symbol table)

Calender Buffer:
The SAP calendar buffer stores all defined factory and public holiday calendars.
Calendars are stored in the database tables TFACS and THOCS.

There are two kinds of SAPgui buffers
:
Presentation buffers
Menu buffers
The following table shows the SAPgui buffers and their functions:

The buffer has a directory structure. This means that if the shared memory is configured too small, only the required data is loaded; there is no LRU displacement of the contents of the buffer.
Presentation buffer (Screen Buffer): Stores the generated screens (DYNPRO loads)
Menu buffer (CUA Buffer): Stores objects from the SAPgui.

For example, menus, pushbutton definitions.
The buffer has directory structure and supports LRU displacement.
The menu buffer is adjusted by amending its instance profile parameters

The CUA buffer holds objects from the GUI interface, such as menus, pushbuttons, and so on. In the database, these objects are held in tables D342L and D345T. Its size is expressed in KB. The standard SAP recommendation is: Up to 2500 KB for small systems, up to 3000 KB for medium systems and up to 6000 KB for large systems.

February 18, 2010

SAP ARCHIVING

Filed under: SAP — Tags: — admin @ 8:00 pm

SAP ARCHIVING MANAGEMENT:

As the usage of SAP database increases it’ll results in huge amounts of enterprise data, which is stored in SAP R/3. The new updated data is entered into the system while the old data still resides in the SAP enterprise system. So the Database size increases rapidly. Since some of the old data is critical, it cannot be deleted. Hence, a SAP database keeps on expanding rapidly and enterprise systems, which have limited data retention abilities for a few years, suffer from problems such as data overflow, longer transaction processing times, and performance degradation.

The solution of this problem has led to the concept of Data Archiving in SAP. Data Archiving removes out-of-date data from the SAP database that the R/3 system does not need online, but can be retrieved on a later date, if required. This data is known as archived data and is stored at an offline location. Data Archiving is nothing but removal of Application Data belonging to completed business process from the database. Data Archiving not only consistently removes data from the database but also ensures data availability for future business requirements. The removed data is compressed and stored in another location. Before deleting data in the database, a delete program compares the contents of the archive files with the same data stored in the database; deletion takes place only if both sets of data are identical. We can use the Transaction SARA for Archiving management. For each archive run, a specific program variant determines which data should be archived. Depending on the archive object, there maybe several parameters to maintain. During an archive run, the status can be monitored in RZ20.

Data archiving is an administrative task that must be performed regularly, particularly if you are facing fast growing data volumes. How often you archive largely depends on the growth rate of your database tables.

Three Phase Archiving Process

Data archiving process comprises three major phases. They are:

1. Creating an archive file

2. Removing the archived data from the database

3. Transferring the archived files to a location outside the SAP database

Creating Archive Files

The archived files of data are created in the SAP database by the Archiving Management system. The Management system reads the data from the database and writes it to the archive files in the background. In instances of archived files exceeding the maximum specified limit, or if the number of data objects exceed the stipulated limit in the system, then the system automatically creates new archive files.

Deleting files from the Database

While archiving management system writes data on the archive files, another program deletes it from the database permanently. The program checks whether the data has been transferred to the archive. It is quite important too as it is the last check performed by the system before deleting data permanently from the database. Several deletion programs run simultaneously, because the archiving program is much more faster than the deletion programs. This is important as it increases the efficiency of archiving process.

Transferring Archive Files

Once the Archive management system has finished archiving the data, the next step is to save the archived files at a different location other than the SAP database. This can be accomplished by an automated process in the system or by a manual process. This step is optional since many enterprises may wish to keep the archived files within the current database. However, large enterprises transfer their data periodically as a part of their data archiving processes

February 15, 2010

SAP Background Jobs

Filed under: SAP — Tags: , , — admin @ 8:00 pm

Background Jobs:

Background processing is used to: Reduce the load on the dialog processor, as the dialog wp duration is limited.

You can define and schedule background jobs in two ways from the Job Overview:

  • Directly from Transaction SM36.
  • The Job Wizard : To use the Job Wizard, start from Transaction SM36, there you’ll find Job Wizard

Procedure

  1. Call Transaction SM36.
  2. Assign a job name. Decide on a name for the job you are defining and enter it in the Job Name field.
  3. Set the job’s Priority or Job Class

  • High priority: Class A
  • Medium Priority: Class B
  • Low priority: Class C

Target server field, indicate whether to use system load balancing.

  • For the system to use system load balancing to automatically select the most efficient application server to use at the moment, leave this field empty.
  • To use a particular application server to run the job, enter a specific target server.

  1. If spool requests generated by this job are to be sent to someone as email, specify the email address. Choose the Spool list recipient button.
  2. Define when the job is to start by choosing Start Condition and completing the appropriate selections. If the job is to repeat, or be periodic, check the box at the bottom of this screen.
  3. Define the by choosing Step, then specify the ABAP program,external command or external programe to be used for each step.
  4. Save the fully defined job to submit it to the background processing system.


Status of Background Job:

Scheduled: Job created but start condition not defined.
Released: Job completely defined and is waiting for selection
Ready: Job has been selected for execution
Active: Job is being executed by a Background processor
Finished: Job successfully completed.
Canceled: Job terminated.

Start Condition:
Time Based : Immediate, At a date or time, On a chosen workday
Event Based: After an event, After a Job, After an operation mode switch.

Using SM37 you can monitor the Background Jobs.

February 10, 2010

SAP BASIS Transaction Codes

Filed under: BASIS, SAP — Tags: , — admin @ 8:00 pm

Administration

AL11 Display SAP Directories
OSS1 Logon to Online Service System
SARA Archive Management
SCC3 Copy Analysis Log
SCC4 Client Administration
SCC5 Client Delete
SCC7 Client Import Post-Processing
SCC8 Client Export
SCC9 Remote client copy
SCCL Local Client Copy
SICK Installation Check
SM01 Lock Transactions
SM02 System Messages
SM04 User Overview
SM12 Display and Delete Locks
SM13 Display Update Records
SM14 Update Program Administration
SM21 System Log
SM35 Batch Input Monitoring
SM50 Work Process Overview
SM51 List of SAP Servers
SM56 Number Range Buffer
SM58 Asynchronous RFC Error Log
SM59 RFC Destinations (Display/Maintain)
SM66 System Wide Work Process Overview
SAINT SAP Add-on Installation Tool
SPAM SAP Patch Manager (SPAM)
SPAU Display modified DE objects
SPDD Display modified DDIC objects
ST11 Display Developer Traces
ST22 ABAP/4 Runtime Error Analysis
SU56 Analyze User Buffer

Alert Monitoring

AL01 SAP Alert Monitor
AL02 Database alert monitor
AL04 Monitor call distribution
AL05 Monitor current workload
AL16 Local Alert Monitor for Operat.Syst.
AL18 Local File System Monitor
RZ20 CCMS Monitoring

Configuration

FILE Cross-Client File Names/Paths
RZ04 Maintain Operation Modes and Instances
RZ10 Maintenance of Profile Parameters
RZ11 Profile parameter maintenance
SE93 Maintain Transaction Codes
SM63 Display/Maintain Operating Mode Sets
SPRO Customizing: Initial Screen

Database Administration

DB01 Analyze exclusive lockwaits
DB02 Analyze tables and indexes
DB12 DB Backup Monitor
DB13 DBA Planning Calendar
DB15 Data Archiving: Database Tables

Jobs

SM36 Define Background Job
SM37 Background Job Overview
SM39 Job Analysis
SM49 Execute External OS commands
SM62 Maintain Events
SM64 Release of an Event
SM65 Background Processing Analysis Tool
SM69 Maintain External OS Commands

Monitoring

AL08 Current Active Users
OS01 LAN check with ping
RZ01 Job Scheduling Monitor
RZ03 Presentation, Control SAP Instances
ST01 System Trace
ST02 Setups/Tune Buffers
ST04 Select DB activities
ST05 Performance trace
ST06 Operating System Monitor
ST10 Table call statistics
ST03 Performance, SAP Statistics, Workload
ST07 Application monitor
STAT Local transaction statistics
STUN Performance Monitoring (not available in R/3 4.6x)

Spool

SP01 Output Controller
SP11 TemSe directory
SP12 TemSe Administration
SPAD Spool Administration

Transports

SCC1 Client Copy – Special Selections
SE01 Transport Organizer
SE06 Set Up Workbench Organizer
SE07 CTS Status Display
SE09 Workbench Organizer
SE10 Customizing Organizer
SE11 ABAP/4 Dictionary Maintenance
SE16 Data Browser
SE80 Repository Browser
SM30 Call View Maintenance
SM31 Table Maintenance
STMS Transport Management System

User Administration

PFCG Profile Generator (Activity Group Maintenance)
PFUD User Master Data Reconciliation
SU01 User Maintenance
SU01D User Display
SU02 Maintain Authorization Profiles
SU03 Maintain Authorizations
SU05 Maintain Internet users
SU10 User Mass Maintenance
SMLG Maintain Logon Group
SUPC Profiles for activity groups
SUIM Infosystem Authorizations

February 5, 2010

What are ABAP Dumps

Filed under: BASIS, SAP — Tags: , — admin @ 8:00 pm

ABAP DUMPS:

An error in an ABAP program that is running in a background generally causes an immediate termination of the background job. If an ABAP program terminates, an ABAP dump is usually generated. This dump contains a description of the precise cause of the error.

You can use transaction code: ST22 to look at the dumps generated.

February 3, 2010

SAP BASIS Interview Questions

Filed under: BASIS, SAP — Tags: , — admin @ 6:00 pm

Some more info, I was forwarded these in an email and thought it might be useful for the readers here:

1.)We are running SAP release 4.0B using the 620 GUI. By default, my list, save, local file, directory is C:SapWorkDir. How do I change this to something else? If I click on Options there is a directory for the local data area, which looks like the place to change the directory, but that does nothing. There must be a way to change this.

Use transaction SO21 to maintain the PC local directory. Or, run the ABAP program (via SA38 or SE38) RSSOPCDR.

2.)I would like to know which users have access to particular transactions. Is this possible?

Yes. There are several ways.

I think the easiest one is for you to run transaction /nSUIM. In this transaction (User Information System), drill down to:

Infosystem authorization -User -Users by complex selection criteria -By transaction authorizations

Finally, enter the transaction in question and execute.

If you are running R/3 4.7, you can also run transaction /nPFCG.

3.)I want to install SAPGUI into 50 machines. Can I do it from the server by installing the SAP installation server? If so, how?

Go to the “Knowledge Corner” section and look for it under “SAPGUI 6.20 for Windows”. The steps are basically the same for SAPGUI 6.40 –if you are installing that version.

Once you have set up the server you can use SAPadmin to create custom packages and install the client software remotely.

4.)I’d like to know if we make client copy today, will the data will be copied to another client today as well? Suppose after one week I want to copy the rest of the data to the same client. Will I have to copy all the client data and overwrite it, or do I have an option to copy only one week’s worth of data and update it?

A client copy overwrites the target client. The only exception is the user master records (SAP_USER copy profile). But, you cannot just copy a week’s worth data using SAP standard tools. You need to use ALE to transfer the data you want or use third-party tools for that.

5.)I have a problem with my server. When I start the server the dispatcher (disp+work.exe) is getting started, but then it’s stopping. I am using R/3 4.6B. Its sysid = DEV and the OS = 2003server.

This could be due to a number of reasons. My best recommendation at this time is to examine the developer tracer.

Within the SAP MMC, right-mouse click on the instance name and choose developer traces from the drop-down menu. There, choose to examine the file dev_disp, dev_ms and see if there are any dev_wpX files exist.

Also, make sure that the system profiles exists under usrsapsysprofile. Check that the services file contains the appropriate entries (example: sapMS xx).

6.)Can we make the WPs changes in operation mode effective immediately by force? One of our consultants said that it is possible through a transaction.

Yes. It’s possible via transaction RZ03.

Choose the instance and use Control -> Switch Operation Mode.

7.)Users are complaining that the SAP system shows a hour glass for a long time at the time of logon and they aren’t able to log on to the system. How can I troubleshoot this problem?

This is a symptom of busy dialog processes. Use one of these tools to find out the status of the work processes: dpmon.exe at the OS level (part of the R/3 kernel), MMC and SM50 (Work Process Overview).

Also, check the CPU and other system resources via ST06 and using Performance Monitor at the OS level.

8.)I have a stand-alone computer for which I forgot the user and password for log in.

Is there anyway I can log in to it?

Yes. This requires you to go to the database level, though. I don’t know what RDBMS you have (MSSQL, Oracle, MaxDB, etc.). But, really all you have to do is to delete the SAP record in table USR02 for client 100. After that, SAP will let you log in as SAP with password PASS.

9.)Our SAP file system is filling up because initially it was defied too small. What are the non-required files that can be deleted from the SAP system? We are using HP-UX NetWeaver2004s on an Oracle database.

The files that can be deleted are mentioned below.

1. Offline Redo log files

Backup them and then delete

2. Old spool and log files

They are not necessary for R/3 functions and should be deleted regularly by scheduling a periodic batch job.

3. File name “CORE” (Unix only)

The R/3 System work directory (e.g. /usr/sap/c11/D00/work ) often contains a file called ‘core’ from previous program terminations. This file may be deleted at any time.

4. Old ABAP/4 trace files.

Use Transaction SE30 to delete the files

5. Old output requests

They are stored on the data directory as files SP*.

Remember that deleting these files is not a permanent solution. You should increase the file system sizes.

10.)It is a very common misconception that “sequential reads in SM50 means that a full table scan is executed and an index is not used”. The correct definition/concept is:

Direct read

The term “Direct read” refers to accesses in which a maximum of one line is returned by the database. This includes summarization queries such as SELECT COUNT and fully-qualified primary key accesses.

Sequential Read

A “Sequential Read” refers to all other read database accesses, in which there may be more than one line returned. It is true that the term “Sequential read” is a little deceptive since it implies that blocks are always read sequentially (as in a full table scan). In reality, however, when you perform a trace on these queries you will see that index is used in most cases.

So, “Direct read” and “Sequential read” in SM50 are worthless for a performance analysis. It only shows that the processes are running and processing one of the queries directed at the database interface.

For expensive SQL statements analysis, “Reads/User Calls” value (TCODE BACOCKPIT or ST04OLD) is an indication. If this value is above 15, the SQL statements should be checked in detail.

11.)My admin user ID has been locked out. Is there a table I can update in Oracle to reset the flag and enable myself to log in?

Select all entries of table USR02 where ‘UFLAG’=128. These users are locked by reason of incorrect logons. ‘UFLAG’=64 will give you the users that are blocked by Administrator. Set ‘UFLAG’ to 0, to unlock your account.

12.)Why are transport requests classified into workbench and customizing? What does this classification indicate?

All customizing changes (changes to SAP functionality) are collected in customizing requests. Changes to the SAP repository and data dictionary (customers development or changes to SAP standard objects) are collected in workbench requests.

February 1, 2010

SNOTE OR SAPNOTES

Filed under: BASIS, SAP — Tags: , — admin @ 6:00 pm

All you  need to know about SAP Notes:

SAP Notes give you instructions on how to remove known errors from SAP Systems. They include a description of the symptoms, the cause of the error, and the SAP Release and Support Package level in which the error occurs.

Depending on the type of error, an SAP Note may also include:

· Workarounds

· Descriptions of how to correct repository objects in the ABAP workbench, known as correction instructions

· Links to Support Packages that solve the problem

You can access SAP Notes both from the SAP Service Marketplace and SAPNet – R/3 Frontend.

Caution: The Note Assistant can automatically implement only SAP Notes that have correction instructions.
Read the SAP Note carefully before you use the Note Assistant to implement it. The SAP Note can contain prerequisites, interactions, and references to postprocessing activities (making changes to a table, for example) that you must take into consideration when you implement it.
Technical Details on Correction Instructions Locate the document in its SAP Library structure

You can find information about the following topics here:

The format of correction instructions

The validity of correction instructions

Prerequisites for correction instructions

Objects that can be changed using correction instructions.
Format

Correction instructions describe the changes that must be made to repository objects in the ABAP Workbench and particularly the source code of ABAP programs to correct errors.

Changes to the Source Code

Each change specifies the object (include, function module, and so on) and the modularization unit (FORM routine, for example). To identify the code that needs to be changed, a unique number of preceding unchanged lines is specified (context block). These are followed by the lines that need to be deleted (delete block) and then the new lines (insert block).

Correction instructions can consist of multiple context, delete and insert blocks.

When the system implements correction instructions automatically, it searches for the context blocks in the function module or include, checks whether the delete blocks follow and then replaces them with the insert block.

If the function module or include has been modified by the customer, the system sometimes cannot find the context blocks or delete blocks specified in the correction instructions, and it cannot implement all the corrections. If this is the case, you can use the split-screen editor to adjust the corrections from the SAP Note to your modifications.

Changes to Other Repository Objects

Repository objects or parts of them that are not of the source code type are stored in database tables. A correction instruction contains information about which table entries have to be deleted, inserted or changed to correct an error. The system displays this information in the form of contents of a correction instruction. However, this display is primarily designed with experts in mind, for the purpose of problem analysis. We recommend that you do not implement correction instructions manually using this information. Use the automatic implementation only.

Validity

All correction instructions specify the releases and Support Package levels in which you can implement them. These release and Support Package levels are known as the validity range of the correction instructions.

For example, if Support Package 5 corrects and error in Release 4.6C, the validity range of the correction instructions is 4.6C Support Packages 1 -4.

An SAP Note can also determine that correction instructions are not allowed to be implemented if a certain software component (an add-on, for example) exists in the system. This is the case, for example, when a correction changes a program part that is required by another software component in an unaltered form.

If an exception such as this was defined, it is displayed in the header area of the correction instructions, under Invalid for .

The Note Assistant automatically checks the validity and only implements a correction instruction if the system status is within the validity range specified.

Prerequisites

In some cases, you can only implement correction instructions if certain other correction instructions have already been implemented. This is due to related changes made to the same part of the source code, or semantic dependencies.

These dependencies are described in the header area of the correction instructions. These dependencies (prerequisites) mean that you need to implement a sequence of SAP Notes, and not just one SAP Note.

Objects that can be changed using correction instructions.

Powered by WordPress