Definiere einen Rückgabewert auf dem Interface

d*Prototyp
D GetBLFOLGE2 PR 5S 0
:

d*Interface
D GetBLFOLGE2 PI 5S 0
:
:
return BlFolge;

Oder Übergebe den Paramter nicht als VALUE.
Dies bedeutet nämlich, dass eine Kopie der Variablen übergeben wird !
Definierst du einen Returnwert, kannst du das dann auch netter aufrufen:

NewBlFolge = GetBLFOLGE2(Parameter);

Achtung:
Dein DONE1-Tag muss VOR dem Close sitzen, da der Fehler nicht beim Open gemeldet wird. Ansonsten ist es besser SQLCOD = 100 (EOF) abzufragen.