*SRVBUFMODE (SETMODE)
PLBCMP Only
The *SRVBUFMODE list control causes the current buffered Application Server messages to be flushed and then it sets the buffering level to the new value
*SRVBUFMODE={ 0 | 1 | 2 }
Valid values are:
0
This is the default level of buffering.
1
This level of buffering adds the feature of allowing non message PL/B statements to be executed between SETPROP instructions for a NETOBJECT or NETCONTROL and methods that do not return a result. In this case, a non message PL/B instruction is any instruction that does not send a message to the client workstation.
If an error occurs at the client for any of the buffered instructions, the program instruction pointer is set back to the statement that causes the failure. However, any operations executed by non message PL/B statements are not reset or undone.
As an example if the following code segment was executed and an error occurs on the first SETPROP instruction.
For this example, both of the SETPROP statements are buffered. When an error happens on the first statement, the program instruction pointer is set back to the first SETPROP statement. But the READ operation is not reset or undone and the next READ would obtain the next record.
2
Level 2 is a temporary level that allows GETPROP statements to be grouped and sent to a client as a buffered message. This level of buffering is terminated when an instruction other than a GETPROP sends a message to the client. Also, this level of buffering is terminated when a GETPROP is to retrieve a creation instance of an object variable. When this level is terminated, the previous level of buffering is then restored.
When using this mode, the programmer must be careful to not use a value in a GETPROP statement that was obtained from a previous GETPROP statement that exists in the same group of GETPROP instructions.
See Also: List Controls (SETMODE), SETMODE
![]() |