Buffer Components:
Definition
An SAP buffer consists of the following parts:
Mode table
The mode table resides in shared memory and tells you which pool contains which shared memory areas. The mode table is part of the common information on the shared memory areas that are accessed by the work processes.
For example, SAP Key 1 with Mode = 0, instructs the OS kernel to extract this buffer from the default pool and to allocate a unique shared memory segment. SAP Key 10 with Mode = pool size instructs the OS kernel to store the buffer specifically in pool 10. SAP Key 11 with Mode = -10 means that the buffer is located in pool 10.
SAP Global Management Table A shared memory area that is allocated by the dispatcher during system startup.
When semaphore protection is on, the SAP Global Management Table is addressed exclusively by SAP Shared Memory Management. This is a central agent that is found in each work process and that sets up a shared memory area for the local application server or instance. The SAP Shared Memory Management issues a call to the operating system (OS) when it creates a shared memory area.
As a result, the SAP key is assigned to an OS key. The OS returns a unique identifier (handle) for the shared memory area, with which the SAP Shared Memory Management addresses the shared memory area that was created by the OS. All work processes in the SAP System can access the SAP Global Management Table. The handle can be accessed by all work processes.
Address Table Every work process contains this table. Assigns virtual addresses to the physical addresses of the shared memory areas.
Shared Memory Objects These include the buffers, for example.
Header Contains information on the shared memory area (also called memory segment). If a write error occurs outside the segment area, then the uniformity of the header is destroyed. The control function of the SAP Management of Shared Memory checks the consistency of the headers.
ID Identifies the memory area. The ID is assigned when a SAP Shared Memory Management user requests the memory area.
Storage Class The memory class. Examples of memory classes: permanent (local), shared, roll, paging and short.
Subdivision A mark for the requested area that can be referred to later when you release the memory area.
Definition
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.
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:
Table definitions TTAB buffer Table DDNTT
Field descriptions FTAB buffer Table DDNTF
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 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.
The IREC buffer is read:
• When a REFRESH command is executed in an ABAP program
• At an INSERT command, when a record is created in the buffers before the data is inserted and the fields are initialized with the values found in IREC buffer
You can set the buffers mentioned above by editing the parameters in the instance profile
There are two kinds of table buffers:
• Partial table buffers
• Generic table buffers
Use
The table below displays these table buffers and their functions.
Whether a table is partially buffered, generically buffered, or fully buffered depends on its attribute settings. You can change the buffer attributes of a table using Transaction SE13.
Definition
The following table displays the program buffer and its functions.
Buffer Also known as Function
Program buffer 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).
The program buffer has a hash structure and supports LRU (Least Recently Used) displacement.
You can reconfigure the program buffer by adjusting its instance profile parameters.
Definition
There are two kinds of SAPgui buffers:
• Presentation buffers
• Menu buffers
The following table shows the SAPgui buffers and their functions:
Roll and Paging Buffers, Extended Memory
Definition
The roll and paging buffers are the preferred working area of the roll and paging areas for an instance (application server). The remaining area is located on disk as roll and paging files. The user context is stored in the extended memory and the roll area (when the job is "rolled out" of a work process). The paging area stores special data for the ABAP processor, while the extended memory stores a large portion of the internal tables of a program.
You set the roll and paging buffers, as well as the extended memory using the parameters in the instance profile
SAP Calendar Buffer
Definition
The SAP calendar buffer stores all defined factory and public holiday calendars.
Calendars are stored in the database tables TFACS and THOCS.
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.
You can change the calendar buffer by editing the parameter in the instance profile
SAP Cursor Cache
Definition
The SAP cursor cache helps to improve system performance by reducing the number of parsing of SQL statements; it is database-dependent. The SAP cursor cache is only slightly different for Oracle, Informix and SAP DB. It is totally different for AS/400 and MS SQL Server.
There are two types of cursor caches:
• Statement ID cache
• Statement cache
Changing the SAP cursor cache parameter value in the default profile will affect other areas as well. You are therefore advised not to tune it without the recommendation of a qualified SAP expert.
Statement IDs and the Statement Analyzer
The source of each SQL statement in the SAP System (ABAP, DYNP, the C modules of the database interface) assigns an ID to its Open SQL / Native SQL etc. statement. The statement ID includes:
• Module name (report name)
• Statement number (line number)
• Timestamp (time of ABAP generation)
The statement ID provides an easy way to recognize statements. There may be different statement IDs for one statement (for example, different ABAP programs doing the same SELECT ). The Statement Analyzer eliminates such duplicities. When it receives an SQL statement (in control block form), this database interface module checks if the statement is simple (for example, SELECT * FROM T100 WHERE... =... AND... =... ), or complex (for example, SELECT * FROM T100 WHERE... <... AND... >... ). If the statement ID is simple, the Statement Analyzer assigns a ‘normalized’ statement ID.
The analyzer is called by the RSQL or Open SQL interface. If it is able to assign a normalized ID, the original ID (if existing) is replaced.
SAP LOCK CONCEPT:
If several users are competing to access the same resource or resources, you need to find a way of synchronizing the access in order to protect the consistency of your data.
Example: In a flight booking system, you would need to check whether seats were still free before making a reservation. You also need a guarantee that critical data (the number of free seats in this case) cannot be changed while you are working with the program.
Locks are a way of coordinating competing accesses to a resource. Each user requests a lock before accessing critical data.
It is important to release the lock as soon as possible, so as not to hinder other users unnecessarily.
Whenever you make direct changes to data on the database in a transaction, the database system sets corresponding locks.
The database management system (DBMS) physically locks the table entries that you want to change (INSERT; UPDATE, MODIFY), and those that you read from the database and intend to change (SELECT SINGLE
Saturday, March 15, 2008
BUFFERING IN SAP ABAP
Labels:
ABAP REPORTS BASICS IN SAP
Subscribe to:
Post Comments (Atom)
Blog Archive
-
▼
2008
(300)
-
▼
March
(84)
- BADI
- WHAT IS THE DIFFERENCE BETWEEN BADI'S AND USER EXI...
- Performance and scalability in SAP?
- What is the relationship between ALE and middlewar...
- . Why does SAP uses ALE instead of database replic...
- Which kind of interfaces do ALE business processes...
- Synchronous vs. asynchronous links in SAP?
- Which ALE services are available and what do they do?
- Which ALE business processes are available in SAP?
- What is the relationship between ALE and Middlewar...
- When should ALE be used?
- What are the benefits of ALE In SAP?
- What is ALE In SAP?
- INTERNAL TABLES IN ABAP
- BUFFERING IN SAP ABAP
- LOCKS IN SAP ABAP
- INTRODUCITON TO SCREEN PROGRAMMINGN SAP
- SCREEN ELEMENTS FOR OUTPUT IN SAP
- SCREEN ELEMENTS FOR INPUT AND OUTPUT IN SAP
- SUBSCREEN TABSTRIPS IN SAP
- SCREEN ELEMENTS ANDTABLE CONTROLS:
- CONTEXT MENUS ON SCREENS IN SAP
- LISTS IN SCREEN PROGRAMMING IN SAP
- What is an add-on project in sap?
- What is a function module exit in sap?
- What is a screen exit in sap?
- What are the various types of customer exits ?
- when do you opt for modification in sap?
- What are the advantages of enhancements IN SAP?
- What are the disadvantages of modification ?
- What is SSCR ?
- What is customer development ?
- What are the different types of enhancements ?
- Why do you need enhancements ?
- What is customizing ?
- What are the different ways in which you can make ...
- What are user exits?What is involved in writing th...
- RFC In R/3
- SAP ON SCRIPTS1
- ACCESSING BAPI USING VB PPT FREE DOWNLOAD
- ABAP VALIDATIONS PPT
- ABAP WORK BENCH PPT FREE DOWNLOADS
- Working with eCATT (Extended Computer Aided Test T...
- MM01 Upload using BAPI
- How can I Increase WebDAV Performance?
- The process of uploading data with a CATT
- CATT
- Can I also execute work items with external progra...
- Can I set deadlines for the latest processing of w...
- How can users be automatically notified that new w...
- What does the substitute rule system look like in ...
- What options do I have as a user to configure the ...
- What is the Workflow basic Customizing?
- How do you debug a background workflow process?
- How do I transport workflow definitions and agent ...
- What is the difference of between an e-mail and a ...
- How are the responsible agents determined?
- How is an event triggered from the application and...
- What is a work item (important terms)?
- What is a workflow? What is a single-step task?
- How can I make sure that user's access their tasks...
- How do I trigger a workflow with an e-mail?
- How can I configure the workflow so that when the ...
- How can I configure the workflow so that different...
- How do I send reports?
- How do I send really complex mails from the workflow?
- How do I send a complex text from the workflow?
- How do I send a standard text as an e-mail from wo...
- What is the difference between sending a mail to a...
- What differences are there between a work item and...
- How can I get the workflow initiator information i...
- What is Wf-XML used for?
- What open interfaces are supported in sap?
- How are workflows triggered in sap?
- How can I check the status of a workflow in sap
- What deadlines can be monitored? in sap
- What happens when a deadline is missed?
- How do I choose who to distribute the tasks to? in...
- What workflow reporting is available and is it use...
- How are users notified about their work pending? i...
- What do customers say are the strengths of SAP Web...
- What are typical costs saved by workflow? in sap
- How do I calculate the cost saved by workflow? in sap
- How do I convince my company to use workflow? in sap
-
▼
March
(84)
No comments:
Post a Comment