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 advance

    Hi,
    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.
    Regards

    Hi,
    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
    BYEEEE

    Hi,
    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. Don’t 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

  • Question about Table Locks

    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.

  • Table buffering concepts

    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 PM

    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 PM

  • Table  buffering  Changes

    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
    Malai

    Dear 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,
    KCV

    Hi,
    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
    Venkat

    Hello,
    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
    neon

    hi,
    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