-4518 The 4GL program cannot allocate any more space for temporary
string storage.
"Temporary" string storage is used while executing an expression
that involves character values. In any version of 4GL, this problem
can arise if there are nested function calls and the functions return
character strings which in total are longer than 512 characters. In
versions prior to 5.0, this error can also be caused by two valid forms
of 4GL statements. The first is a combination of calls to user
functions and built-in functions in the same concatenation
expression, like the following assignment.
LET charvar = numvar USING "###", myfunc()
It may be possible to eliminate error -4518 by breaking such
concatenations into two statements, as in the following example:
LET charvar = numvar USING "###"
LET charvar = charvar clipped, myfunc()
The second form is the short form of a WHEN clause in a CASE
statement that tests a character value, as in this partial example.
CASE charvar
WHEN "A" . . .
WHEN "B" . . .
It may be possible to eliminate error -4518 by using the longer form
of the WHEN clause as in this example.
CASE
WHEN charvar = "A" . . .
WHEN charvar = "B" . . .
Do not change valid programs in this way unless you have a
problem with error -4518 that cannot be corrected any other way.
These statement forms should not need changing in versions of 4GL
higher than 4.1.
Good luck
Brian Minnick
...!uunet!kmart!bminnick