![]() |
![]() 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.
|