Salesforce

Sample ABL Code to determine how many buffers available in Alternate Buffer Pool

« Go Back

Information

 
TitleSample ABL Code to determine how many buffers available in Alternate Buffer Pool
URL Name000031841
Article Number000176712
EnvironmentProduct: OpenEdge
Version: 10.2B, 11.x
OS: All supported platforms
Question/Problem Description
How to monitor how much of the Alternate Buffer Pool has been filled?
How many blocks are still available in the Alternate Buffer Pool ?
Steps to Reproduce
Clarifying Information
Error Message
Defect Number
Enhancement Number
Cause
Resolution
The following code example will show a positive number of blocks still available in the Alternate Buffer Pool or will state that the alternate buffer pool is exhausted:
DEFINE VARIABLE numbuffs AS INT64 NO-UNDO. 

FIND FIRST _startup NO-LOCK. 
ASSIGN numbuffs=_startup-Alternate_buffs. 

FIND FIRST _actbuffer WHERE _buffer-id = 3. 
IF _actbuffer._buffer-osrds < numbuffs THEN 
MESSAGE "Alternate buffers remaining: " + STRING(numbuffs - _actbuffer._buffer-osrds) VIEW-AS ALERT-BOX. 
ELSE 
MESSAGE "Alternate buffer pool exhausted." VIEW-AS ALERT-BOX.

Starting in OpenEdge Release 11.5:
The _DbParams VST can be used. _DbParams replaces the _Startup VST from previous versions. The _Startup VST will be removed from the OpenEdge Database in OpenEdge 12.
Also use _actbuffer._buffer-active instead of _buffer-osrdr.
 
DEFINE VARIABLE dbbuffs AS CHAR NO-UNDO. 
DEFINE VARIABLE numbuffs AS INT64       NO-UNDO.

FIND FIRST _DbParams WHERE _DbParams._DbParams-Name = "-B2".
ASSIGN numbuffs = INTEGER(_DbParams-Value).    

FIND FIRST _actbuffer WHERE _buffer-id = 3. 
IF _actbuffer._buffer-active < numbuffs THEN 
MESSAGE "Alternate buffers remaining: " + STRING(numbuffs - _actbuffer._buffer-active) VIEW-AS ALERT-BOX. 
ELSE 
MESSAGE "Alternate buffer pool exhausted." VIEW-AS ALERT-BOX.
Workaround
Notes
Keyword Phrase
Last Modified Date11/20/2020 7:04 AM

Powered by