About table buffering
hi experts,
Explain me what is table buffering.why we have to use this concept ?and under which circumstances we need to use this concept.and if not what will be the consequences.
ragards,
mani
hi,
You get the same in SAP help, but i dont know the link..
SAP Buffering
The SAP database interface enables storage of database tables in local buffers, i.e. the buffers reside locally on each application server of the system. Buffering is especially important in a client/server environment because the access time using the network is much greater than the access time to a locally buffered table.
The flag Buffering allowed must be set in the ABAP/4 Dictionary in order that a table be buffered. The buffering type must also be maintained in the technical settings of the table. Setting the flag Buffering allowed alone does not cause the tables to be buffered!
Whether or not it makes sense to buffer a table depends on the type of access to the table.
The buffering type defines how the table should be buffered.
There are the following 3 buffering types:
X full buffering
P single record (partial) buffering
G generic buffering
no entry no buffering
A number of key fields between 1 and number of key fields -1 must be defined for generic buffering.
X full buffering
Full buffering
With full buffering, either the complete table or none of the table is in the buffer. If a read access is made to a record, all records of the table are transferred to the buffer.
When should you select full buffering?
For tables up to 30 KB in size. If a table is accessed frequently, but all accesses are read accesses, this value can be exceeded.
For larger tables where large numbers of records are frequently accessed. However, if the application program is able to formulate an extremely selective WHERE condition using a database index, it may be advisable to dispense with full buffering.
For tables with frequent accesses to data not contained in the table. Since all records are contained in the buffer, a quick decision can be made as to whether or not the table contains a record for a specific key.
When considering whether a table should be fully buffered, you should take three aspects into account: the size of the table, the number of read accesses, and the number of write accesses. Tables best suited to full buffering are small, frequently read, and rarely updated.
P single record (partial) buffering
Single-record buffering
With this kind of buffering, only the records of a table which are actually accessed are loaded into the buffer.
This kind of buffering requires less storage space in the buffer than full buffering. However, greater organization is necessary and considerably more database accesses are necessary for loading.
If an as yet unbuffered record is accessed with SELECT SINGLE, a database access occurs to load the record. If the table does not contain a record for the specified key ('no record found'), this record is noted as nonexistent in the buffer. If a further attempt is made to access this record, a renewed database access can be avoided.
When should single-record buffering be selected?
For large tables where there are frequent single-record accesses (with SELECT SINGLE ...). The size of the records being accessed should be between 100-200 KB.
For comparatively small tables for which the access range is large, it is normally advisable to opt for full buffering. Only one database access is required to load such a table for full buffering, whilst single-record buffering calls for a very large number of table accesses.
Generic buffering
In a read access to a record of a generically buffered table, all the records whose left-justified part of the key (generic area) corresponds are loaded into the buffer.
If this type of buffering is selected, the generic area must be defined by specifying a number n of key fields. The first n key fields of the table then define the generic key.
The number of key fields to be entered must lie between 1 and the number of key fields -1. For example, only values between 1 and 5 are permitted for a table with 6 key fields.
When should generic buffering be selected?
A table should be buffered generically if usually only certain areas of the table are required. The individual generic areas are treated like independent tables which are fully buffered. Please also read the text about full buffering.
The generic key area should be selected so that the generic areas are not too small to prevent too may generic areas being produced. If there are only a few records per generic area, it is more efficient to use full buffering.
Generic buffering only makes sense if the table is accessed by a specified generic key. If, when an access takes place, a field of the generic key is not supplied with a value, the buffer is ignored and the records are read directly from the database.
Language-specific tables are an example of a good use of generic buffering (with the language key field as generic key area).
Bypassing Buffer is related to the buffering settings in the technical
details of a database table. These table buffers are available on every
application server. SELECT statements on a buffered table use this table
buffer in stead of processing the SQL request on the database. As a
result, using table buffering leads to performance improvements, but
only if:
- the buffered table is small
- the contents of the table doesn't change often.
SAP uses table buffering for a lot of their customizing table.
Bypassing Buffer means: skip the table buffer on the application server
and process the sql-request on the database.
The table buffers are automatically synchronized with changes in the
database. However, it takes some time for the database updated to be
available in the table buffer. So if you want to be 100% sure that the
data you read is up to date, you must use the option BYPASSING BUFFER.
Please note that there are also SQL statements that implicitely perform
a BYPASSING BUFFER, for example when using a table in a JOIN statement.
regards,
Prabhu
reward if it is helpful.
Similar Messages
-
What is table buffering ?
Hi guys
can any one tell me about the table buffering concept.
Thanks in advanceHi,
Yes sure,
The aim of SAP table buffering is to buffer table contents on the application
server to reduce accesses of the database, thus conserving the database resources
(CPU load, main memory).
2)Records that are buffered on the application server can be accessed up to 100 times
faster than data in the database. As a result, the work processes on the application
server encounter shorter wait times, which means table buffering reduces the
load on the entire SAP system.
Records in the table buffer are saved sorted by the primary index.
3)We differentiate between the single record buffer (technically: TABLP), the
generic table buffer (technically: TABL) and the buffer for complete tables (full
table buffering). The single record buffer contains the records from the single
record-buffered tables. Physically, the generic table buffer contains the records
of the generically and fully buffered tables (this means that technically, both
buffering types use the same memory area on the application server).
cheers
bhavana -
HR: Info about Table T77ZZ
Hi ,
Can anyone give me some idea about table T77ZZ ?
Like why it is used,when it is updated etc.
Thanks very much.
Regards,
Sandip.
Ph: +44 121 683 2561.hi,
check this it may help you....
https://websmp106.sap-ag.de/~form/sapnet?_FRAME=CONTAINER&_OBJECT=012006153200000167822005
https://websmp106.sap-ag.de/~form/sapnet?_FRAME=CONTAINER&_OBJECT=011000358700008971712001
regards,
venu. -
About table display functionalities
Hi all,
I have to deal with one question about table display :
- I'd like to remove the orange color when we select a row. I tried to change the selectionChangeBehaviour properties but it only freeze the colored row to the first position.
Does someone has an idea?
Thank you.
RegardsHi,
If we set selectionMode property to none then it disables the lead selection. Try it once that whether it meets your requirement.
Regards,
Siva -
ABOUT TABLE INDICATING WHEN IAM SELECTING PARTICULARLY
hi,
i got one problem about
table,
if i select table column in UI
THERE IS RED COLOUR INDICATING STARTING
I WANT TO CHAINGE THAT COLOUR OF SELECTING
COLUMN, BECAUSE RED INDICATES DANGEROUS
SO THAT I AM ASKING
THAT RED IS PREDIFINED CAN WE CHAINGE THAT COLOUR
BYEEEEHi,
Extremely sorry. I am not working in Hyderabad.
It will be available in the download area of SDN.(Category : Development tool)
https://www.sdn.sap.com/sdn/downloaditem.sdn?res=/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/business_packages/a1-8-4/nw04stack09themes.zip
Regards
Bharathwaj
Message was edited by: Armin Reichert
P.S: Hi Armin, What Happened ? We cant use [c] tag for a link ?
Message was edited by: Armin Reichert
(Link was broken because of line break, I corrected it) -
I want complete information about table maintanence genarator?
i want complete information about table maintanence genarator?
hi there,,,,,,,
The purpose of table maintainence generator is to enable the table maintenance through SM30, and to implement and validation etc on table field inputs.
SE11->Utillities->table maintainence generator
You need to enter the values of following fields:
1. Table name
2. Authorization group , and authorization object (select the suitable one )
3. Function group and package
4. Maintainence type : single or double screen maintainence view depending on the option selected.
5. Maintain screen number : you may specify a value or let the system generate one for you.
The validation code for the table entry is written in the flow logic of this screen. Even some of the fields may be made display only , by adding suitable code in the logic or directly disabling the input in table control in the layout.
Table maintanance is for creating,adding datas to an existing table.
it is for adding muiltiple records at a time in the table
A table can be manipulated by a program or manually.
When creating table, you will find a check box 'Table maintenance allowed'. If we
check that option, we can manually enter entries using SE16 or table
maintenance generator screen.
SE16 is for data browser.
Go to SE11, give the table name and click on change. Then Go to utilities--> Table
maintenance generator.
In the table maintenance generator screen, we should give Authorization Group,
Function Group name (Function Group name can be same as table name),
Maintenance type can be one step or two step, usually we will create with one
step. we should give maintenance screen number. After clicking on create button,
a table maintenance generator will be created.
To check it go to SM30 . In SM30, we find display, Maintain options.
We can view the table contents by choosing Display and we can create table
entries by choosing Maintain.
In the production system, end-users will not be having access to transaction
codes like SE11 and SE16. Developers will not be having access to many
transaction codes including the above two.
To view the contents of the database table, we will use SE16n in Production
system. Please find out the difference between SE16 and SE16n.
All these authorizations will be maintained by BASIS team, by creating access
profiles.
So in order to edit or create the contents of a database table, we should go for
table maintenance generator. In real time, authorizations will be maintained in
production system. (even in development and Test systems to some extent).
There is an audit like Sarbanes-Oxley Act for American clients, where every thing
will be audited by government agency. To know more about SOX, use the links on
the right hand side of this page.
The second reason is, we can edit or create multiple entries at a time, using table
maintenance generator.
Apart from that we have options like 'Enter conditions' in table maintenance
screen SM30. Please try to find out the use of those, by creating an example.
Table Maintenance generator: Difference between one step and two steps.
While creating table maintenance generator, we find below options:
When we choose one step, we have to give the screen number in Overview Screen field.
When we choose two step, we have to give both overview screen number and single screen number.
You can give any number for screen. Dont give 1000 screen number. As this
number is reserved for selection screen.
When we choose two step, two screens will be created for table maintenance. For
single step only one screen will be created.
When we choose two step, table maintenance will work as follows
Go to SM30, give the table name for which you have created table maintenance-
Overview screen will be displayed. To create entries, when you click on new
entries. Another screen will be displayed, where you give input and save. You can
enter one record at a time.
Go to SM30; give table name for which you have created table maintenance-
Overview screen will be displayed; To create entries click on new entries, you can
enter the records on the same screen. You can enter multiple records at a time.
We use single step generally, as it is user friendly.
To completely understand the difference and above points please do exercise by
creating table maintenance generator in both ways (using single step and two
step).
Link: http://help.sap.com/saphelp_nw04/helpdata/en/cf/21ed2d446011d189700000e8322d00/content.htm
Link: http://help.sap.com/saphelp_46c/helpdata/en/a7/5133ac407a11d1893b0000e8323c4f/frameset.htm
Link: /message/2831202#2831202 [original link is broken]
One step, two step in Table Maintenance Generator
Single step: Only overview screen is created i.e. the Table Maintenance Program will have only one screen where you can add, delete or edit records.
Two step: Two screens namely the overview screen and Single screen are created. The user can see the key fields in the first screen and can further go on to edit further details.
pls reward if useful
regards,
rekha -
Hi All,
Is there any Oracle defined table/place from where we can know the details about Tables that have been locked in the current session?
Thank you.Hi ,
To know which all objects are locked, you can use the below query :-
COLUMN owner FORMAT A20
COLUMN username FORMAT A20
COLUMN object_owner FORMAT A20
COLUMN object_name FORMAT A30
COLUMN locked_mode FORMAT A15
SELECT b.session_id AS sid,
NVL(b.oracle_username, '(oracle)') AS username,
a.owner AS object_owner,
a.object_name,
Decode(b.locked_mode, 0, 'None',
1, 'Null (NULL)',
2, 'Row-S (SS)',
3, 'Row-X (SX)',
4, 'Share (S)',
5, 'S/Row-X (SSX)',
6, 'Exclusive (X)',
b.locked_mode) locked_mode,
b.os_user_name
FROM dba_objects a,
v$locked_object b
WHERE a.object_id = b.object_id
ORDER BY 1, 2, 3, 4;Anand -
I have one query about table entries.
i have one query about table entries.
suppose for particular table we maintained 5 entries in dev server. actaully in the dev we have only these 5 entries.
In production we have 200 entries actually.
If we move the cts from dev to production ,we will get 205 entries right
please help me in this.If i understood correctly, It is a Z table and you have done some changes in DEV system. If you move this to Production, it wont effect the production entries.
There are 2 different ways you can trnasport a Table. 1. with Table entries 2. Without table entries.
If you transport with Table entries then the DEV entries in this case 5 will be moved to PRODUCTION totaling 205.
If you transport without table entries, then in Production you will find only 200 entries. -
Hi,
what is the simple meaining if "invalidate" records in table buffering ?
thanks
b
Moderator message: please find available information.
Edited by: Thomas Zloch on Nov 13, 2011 1:29 PMHi,
what is the simple meaining if "invalidate" records in table buffering ?
thanks
b
Moderator message: please find available information.
Edited by: Thomas Zloch on Nov 13, 2011 1:29 PM -
Expert,
We want to Change the one table Table buffering on from "Buffering Switched on" to "
Buffering not allowed".
we have to do the changes on our my DEV-QUA-> PRD Enviromment.
Please let me know which transaction should I use to do the changes in Dev(ECC-700)system.
Is it sm13. also please provide the steps to do that.
Thanks
MalaiDear Anil, Sunil & hari,
Thank you very much for all quick response..
Ok once I did a changes in SE11 as per you mentioned steps, Then a new transport wil be created right.
I want to apply the same changes in all my three system enviroment. DEV->QEA->PRD>
1. If we import the (Created TR at DEV) TR request from DEV to QUA using Stms-> Will it be updated to QUA system as like Dev system.
Thanks
Malai -
About tables used in purchase order creation
Hi all,
In which table do th information about purchase organisation and vendor stored.
I am getting error vendor 3411 has not been created for pur organization 4000.
can anyone help me that which is the table used for this..
Regards,
KCVHi,
EKKO - po header
EKPO - po item
The error u mentioned could occur when the vender 3411 is not maintained for Pr. org 4000.
Regards
Vadi -
Information about table spaces.
Hi!
I have a requirement to create a Bex by which I can display the list of table spaces available and status of those table spaces like memory free, Used. Though we can get this information from DB02 I need to generate a report and broadcast that to users.
Can anyone help me in telling me the table name where you can get the list of table spaces and infomation or any function module which lists the table spaces name and status of them.
Regards
VenkatHello,
Could you please share more information about this? We need to do the same thing. How did you create your generic datasource? what table/Function module did you used?
Thank you
Ramona -
:S Table Buffering Problems
Hi I am brand new to SAP/ABAP and I am struggling to get rid of a warning I get for a piece of code. Any help would be much appreciated.
Cost Center Cutback object has warnings performance check: (1). <b>Generically Buffered Key Area for Table CSKS not Completely.</b>
Here is the code the warning is pointing to
SELECT kokrs kostl INTO TABLE gs_cskskey FROM csks
WHERE bukrs EQ gs_key_costcut-bukrs
AND kokrs IN gr_kokrs
AND kostl IN gr_kostl
AND bukrs IN gr_bukrs.
Is the problem here that the table buffer is not getting properly filled for some reason???James,
Your table is Generic buffering table. If you read a record from a generically buffered table, all records whose the left-justified part of the key corresponds to that of this record (generic key fields) are loaded into the buffer.
This left-justified part of the key is determined in this field by entering a number n of key fields. The first n key fields of the table are thus the generic key fields.
The number entered must be between 1 and key field number -1. For example, for a table with 6 key fields, only values between 1 and 5 are allowed.
The value to be entered should be selected so that the generic areas, that is, the set of records corresponding to a record in the generic key fields are not too small.
This you can see at SE11==> Table name ==> Technical settings. There you can find one field called no of key fields there.
One ways is
Go to Change mode and change this you can avoid this warning.
Second way is
Try to pick all the key fields in seelction. ie KOKRS,KOSTL, DATBI. I believe this way you can avoid this warning.
Rgds,
TM.
Please mark points if helpful. -
Question about table compression
I administer several 10g databases, and have been asked to compress tables in several tablespaces. I am unfamiliar with using compression. I have read some Oracle documentation on the ALTER TABLE... MOVE COMPRESSION command, but still have several questions. Can anyone recommend a good white paper, or other documentation on how best to compress tables with existing data? Thank you in advance for your guidance!
Basically, I have questions about how to select which tables will benefit from compression. I also read somewhere that, once a table has been compressed, new updates to the compressed data will not be compressed and so I will need to re-compress the tables periodically.
I also needed to know if the ALTER TABLE statement will compress the existing data or just future inserted data. Through further research I found that by using the MOVE clause, it will compress the existing data. I will also need to rebuild the indexes once the ALTER TABLE statement is complete.
Thank you for your help and encouragement! -
Want to know more about tables used and mapping detail
HELLO THERE
I actually have to develop a report in which i able to see all information about from GR to excise to quality testing to bill Passing .
we are using t.code MIGO to J1IEX to QA32 to MIRO RESPECTIVELY .
so i want to know tables used in the respective t.code and how they are mapped .give me a detail sketch plz.so that by entering PO no. in the initial screen we can get all the detail about gr to excise to quality to bill passing detail .My mailid is prabhupad.sap at gmail dot com
Thanking you
neonhi,
EKEB - History per purchasing doc..
EKPO - PO doc item..
MSEG - GR: Doc segment material...
BSEG - Accounting doc Segment...
hope it helps...
Regards
Priyanka.P
Maybe you are looking for
-
My home button isn't working. It works to put it in dfu mode but not to return to home page where my apps are. Can anyone help please?
-
How to tell the date of a source clip (from events) in a project
I am making a very long and complex project. I am using events from IHD and EHD. The project has tons of clips from tons of different events spanning over 10 years. I want to add some still pics. I want the still pics to be inserted around the same
-
Hi all. I'll be upgrading from my current original iPhone to the iPhone 3G in the next week, but wanted to find a really good case to go with it. With my original iPhone, I've been using the iSkin by Revo, and have been happy with its level of protec
-
Canon MX870 scanner stopped working
The fax still works but scanner gives a "stopped working" error. I have tried all the usual trouble shooting including going to the twain32 folder to check for third party interference. Nothing has worked. Any ideas?
-
Script for instant pasting of signature?
I use a full name/address signature in about one out of every ten emails. Is there a way to write a script to paste your signature (or anything related for that matter, like a favorite phrase) using assigned function keys? This would be helpful in pr