HP OpenVMS Systemsask the wizard |
The Question is:
I have cobol V5.5 on a VAX with VMS V7.1.
When I make a mistake in calling a function with
an argument that is not defined and gave a statement "ACCEPT DDD FROM
DATE.", I get the
compiler error:
%COBOL-F-BADLOGIC, internal logic error detected at PC 0004572A
In case of commenting the ACCEPT FROM DATE statement I get the correct error
message:
17 CALL "xxxx" USING VRITM ENDP.
1 2
%COBOL-F-ERROR 349, (1) Undefined name
Is this a known bug?
Is there a patch for this bug?
What can I do?
The Answer is :
With DIGITAL VAX COBOL V5.5, the error:
%COBOL-F-BADLOGIC
is potentially related to references to undefined variables within
programs which use:
ACCEPT DATE
ACCEPT DAY
As a temporary workaround for the V5.5 compiler, try to locate the
undefined variable using the following:
1. Comment out uses of ACCEPT DATE and ACCEPT DAY
2. Compile the program and correct any undefined variable references
3. Uncomment uses of ACCEPT DATE and ACCEPT DAY
4. Recompile
Another approach uses ACCEPT DATE or ACCEPT DAY in a paragraph at the
end of the program, and then PERFORM that paragraph. The undefined
variable processing works correctly until the first ACCEPT DATE or
ACCEPT DAY is encountered during the compilation.
This diagnostic handling problem does not show up in DIGITAL COBOL V2.5
on OpenVMS Alpha. The non-diagnostic handling of ACCEPT is working as
expected on both OpenVMS VAX and Alpha.
This problem is fixed in the V5.6-60 and later releases of the compiler.
|