A fix is available
APAR status
Closed as program error.
Error description
A COBOL II or COBOL/MVS program calls an assembler subroutine that uses a SPM (Set Program Mask) instruction to enable all program interrupts. The subroutine then executes instructions that should cause a Decimal Overflow Exception - ABENDS0CA. Under LE/MVS 1.7 using the TRAP(ON) runtime option, the the program does not abend and there is no message. NOTE: The same coding sequence fails with a S0CA when a COBOL II program and runtime library is used.
Local fix
TRAP(OFF) is NOT the recommended runtime option, but the ABENDS0CA may occur if it is used.
Problem summary
**************************************************************** * USERS AFFECTED: COBOL users who call an assembler program * * that sets the program mask (by an SPM * * instruction) and expects to get control * * when a fixed-point overflow, decimal * * overflow, exponent underflow, or * * significance program interrupt occurs. * * * **************************************************************** * PROBLEM DESCRIPTION: When a program interrupt occurs (such * * as ABENDS0CA) in the assembler program, * * the interrupt is ignored and no dump * * or message is produced. * * * **************************************************************** * RECOMMENDATION: Apply the provided PTF. * * * **************************************************************** When a program interrupt occurs (such as ABENDS0CA), Language Environment searches the save area chain for the first recognized language. It then invokes that language's condition handler. When COBOL's condition handler is invoked, it checks to see if the program interrupt should be ignored and if so, it will be ignored. However, the current program running is not a COBOL program, but rather, an assembler program.
Problem conclusion
The COBOL condition handler will be modified to only ignore the program interrupt if the program causing the interrupt is a COBOL program or a COBOL library routine. Documentation changes are identified below: +-------------------------------------------------------------+ | Start of changes for the IBM COBOL for MVS & VM | | Compiler and Run-Time Migration Guide (SC26-4764-03) | In Appendix D, "Applications with COBOL and Assembler", add a new bullet to the list at the top of the page: * Converting programs that change the program mask Add a new section in Appendix D as follows: Converting programs that change the program mask When a VS COBOL II program calls an assembler program that changes the program mask (for example, uses an SPM instruction), the program mask is restored after the call to the assembler program. With COBOL/370 and COBOL for MVS & VM, the program mask is not restored. Hence, if you change the program mask in your assembler program, you must restore it before returning to the COBOL program. Failure to restore the program mask could result in data errors not being detected. This includes fixed-point overflow, decimal overflow, exponent underflow, and significance exceptions. | End of changes for the IBM COBOL for MVS & VM | | Compiler and Run-Time Migration Guide (SC26-4764-03) | +-------------------------------------------------------------+ PUBS CLOSING CODE: DEVCHNG
Temporary fix
Comments
APAR Information
APAR number
PQ07918
Reported component name
LE COBOL LIB
Reported component ID
568819802
Reported release
710
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt / Xsystem
Submitted date
1997-09-02
Closed date
1997-09-03
Last modified date
1997-10-01
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
UQ09092
Modules/Macros
IGZCHCM
| SC26476403 |
Fix information
Fixed component name
LE COBOL LIB
Fixed component ID
568819802
Applicable component levels
R710 PSY UQ09092
UP97/09/08 P F709
Fix is available
Select the PTF appropriate for your component level. You will be required to sign in. Distribution on physical media is not available in all countries.
[{"Line of Business":{"code":"LOB16","label":"Mainframe HW"},"Business Unit":{"code":"BU054","label":"Systems w\/TPS"},"Product":{"code":"SG27M","label":"APARs - z\/VM environment"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"710"}]
Document Information
Modified date:
22 January 2021