Kbase P24035: Error (687) when explicitly passing buffer parameters to an external procedure (.p)
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  19/02/2007 |
|
Status: Unverified
SYMPTOM(s):
Getting an error when compiling a program
** Shared buffers cannot be declared for nonshared workfiles. (687)
Attempting to compile a program that takes a static buffer as input parameter for a temp-table. e.g.:
DEFINE TEMP-TABLE tt NO-UNDO
FIELD f1 AS CHARACTER FORMAT "x(20)".
DEFINE PARAMETER BUFFER btt FOR tt.
IF AVAILABLE btt THEN
DISPLAY btt.f1.
CAUSE:
This is expected behavior.
Passing a buffer parameter for a temp-table to the top level of an external procedure was never supported, but the error message raised is confusing.
FIX:
Use a persistent procedure to accomplish the desired behavior.
OpenEdge 10.1B and later releases provide a better error message.