Application Development and Automation 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: 
Read only

Buffering switch on

Former Member
0 Likes
1,192

Can buffering be switched on and off anytime.

If the option buffering not allowed is set can it never be turned on at a later point of time.

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
804

Hi Roopa,

Buffering can be changed as per the user wanted..

The types of buffering clearly show to which buffering u want to select..

Because u surely know how much data it will going to retrieve and u can give according to it.

Buffer is the temporary storage area where the data stored for the calcuation or for output purpose..

Here buffering is only used to minimize the load of the network..

Because each time when it tries to get the data from the table it will be a huge traffic in the network..

Try to reward when this helps u

4 REPLIES 4
Read only

Former Member
0 Likes
804

Hi,

Buffering setting can be changed anytime... u can set it as and when required.

Jogdand M B

Read only

Former Member
0 Likes
804

Then why do we have the two options

Buffering not allowed and

Buffering allowed but switched off.

I am assuming that you can turn on the buffer at a later time only if the second option was selected.

Please clarify.

Read only

0 Likes
804

Hi,

Read this:

The buffering status specifies whether or not a table may be buffered.

This depends on how the table is used, for example on the expected

volume of data in the table or on the type of access to a table. (mainly

read or mainly write access to the table. In the latter case, for

example, one would not select buffering).

You should therefore select

- Buffering not allowed if a table may not be buffered.

- Buffering allowed but not activated if buffering is

principally allowed for a table, but at the moment no buffering

should be active. The

buffering type specified in this case is only

a suggestion.

- Buffering allowed if the table should be buffered. In this

case a buffering type must be specified.

The buffering type defines whether and how the table should be buffered.

There are the following types of buffering:

o single-record buffering

o generic area buffering

o full buffering

In generic area buffering, a number of key fields between 1 and no. of

key fields-1 must be specified.

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 using 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 using SELECT SINGLE, a renewed database access can be

avoided.

When should single-record buffering be selected?

o For large tables where there are frequent single-record accesses

(using SELECT SINGLE ...). The size of the records being accessed

should be between 100-200 KB.

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

while 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. The client field is included here.

When should generic buffering be selected?

o 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 that are fully buffered. Refer also to the

text on complete buffering.

o 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 for each generic area, it is more

efficient to use full buffering.

o 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.

o Language-specific tables are an example of good use of generic

buffering (with the language key field as generic key area).

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 th

table are transferred to the buffer.

When should you select full buffering?

o 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.

o 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.

o 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.

Also, refer to following link:

http://help.sap.com/saphelp_erp2004/helpdata/EN/cf/21eab8446011d189700000e8322d00/frameset.htm

Message was edited by:

Jogdand M B

Read only

Former Member
0 Likes
805

Hi Roopa,

Buffering can be changed as per the user wanted..

The types of buffering clearly show to which buffering u want to select..

Because u surely know how much data it will going to retrieve and u can give according to it.

Buffer is the temporary storage area where the data stored for the calcuation or for output purpose..

Here buffering is only used to minimize the load of the network..

Because each time when it tries to get the data from the table it will be a huge traffic in the network..

Try to reward when this helps u