Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

Buffering a table

Former Member
0 Kudos

Is there good way to buffer a table in memory. We have a control table which is accessed by many transactions. So indtead of reading from the transparent table, we want 2 buffer it such that all applications can read from it.. Is there a good way to do it?

5 REPLIES 5

Former Member
0 Kudos

Change your table's technical settings to use buffering by selecting the "Buffering switched on" radiobutton and then selecting "Fully Buffered" checkbox for buffering type. That will take care of it. All your programs will still be doing SELECT statements, but the system instead of going to the database all the time, will read from the buffer.

0 Kudos

Hi Srinivas,

if it is a SAP table you may not want to apply a modification. In this case, you may have a look at Shared Objects - Transaction SHMA .

Regards,

Clemens

0 Kudos

Clemens,

Its a custom transaparent table. Can we use Shared memory on that, if yes, can you give me the steps.

0 Kudos

HI guy,

just follow the advice given by Srinivas Adavi and make the table a buffered table. If it is rather small (up to 50-100 records), make it fully buffered in the technical settings.

The concept of shared objects is based on the

EXPORT obj1 ... objn TO SHARED MEMORY itab(ar) ID key.

statement.

This will be sufficient for your needs. The shared objects concept involves more overhead and is rather complex as it implies use of objects.

You can find more information about SHARED MEMORY

at [<Export>|http://www.sapnet.ru/abap_docu/ABAPEXPORT_DATA_CLUSTER.htm]

and about shared objects at

[SAP shared objects|http://help.sap.com/saphelp_nw2004s/helpdata/EN/14/dafc3e9d3b6927e10000000a114084/frameset.htm]

Regards,

Clemens

Edited by: Clemens Li on Aug 15, 2009 6:50 PM

Former Member
0 Kudos

Hi Friend,

To buffer a table do following -


>>

Goto Technical settings of the table , Click on change mode, then

Click on Buffering Switched ON and choose appropriate form of buffering u require

from ---

  • Single Record Buffering.

  • Generic area buffering.

  • Fully Buffered .

and click on save.

I will let u know about these 3 kinds of Buffering so that u can make idea which one u want to use----

The buffering type determines which records of the table are loaded into the

buffer of the application server when a record of the table is accessed. There are

the following buffering types:

  • Full buffering: When a record of the table is accessed, all the records of

the table are loaded into the buffer.

  • Generic buffering: When a record of the table is accessed, all the records

whose left-justified part of the key is the same are loaded into the buffer.

  • Single-record buffering: Only the record that was accessed is loaded

into the buffer.

Hope this resolves ur issue,

Akash Rana