A fix is available
APAR status
Closed as unreproducible in next release.
Error description
After defining several variables to be defined as S9(15)V9(16), which also includes the need to modify ARITH compiler option from COMPAT to EXTEND, execution of the application may result in a performance degradation.
Local fix
Problem summary
**************************************************************** * USERS AFFECTED: Users of Enterprise COBOL 5 and later * * releases, typically compiled with * * ARITH(EXTEND), running programs * * which performs long divisions * * (COMPUTE or DIVIDE) * * with decimal values whose data type are * * usage COMP-3, PACKED-DECIMAL, or DISPLAY. * **************************************************************** * PROBLEM DESCRIPTION: NEW FUNCTION. * **************************************************************** * RECOMMENDATION: Install the provided PTF. * **************************************************************** NEW FUNCTION. Long division performance improvement. COB0501T/K COB0502T/K COB0601T/K COB0602T/K COB0603T/K COB0604/K
Problem conclusion
Temporary fix
Comments
NEW FUNCTION. This new function improves the performance overhead of math long divisions performed by COBOL programs which are typically compiled with ARITH(EXTEND) and have COMPUTE or DIVIDE statements with COMP-3, PACKED-DECIMAL, or DISPLAY type values. Specifically, the long division refers to the division operands which meet one of the following conditions, but not limited to: - [number of digits on divisor] is greater than 15 - the sum of [number of digits on fractional part of divisor] [number of digits on dividend] and is greater than 31 For example, the following COBOL program has 13 for [number of digits on divisor] 10 for [number of digits on fractional part of divisor]. 25 for [number of digits on dividend] IDENTIFICATION DIVISION. PROGRAM-ID. LONGDIV. ENVIRONMENT DIVISION. DATA DIVISION. WORKING-STORAGE SECTION. 01 DIVISOR PIC 9(3)V9(10) VALUE 5. 01 DIVIDEND PIC 9(25) VALUE 140. 01 QUOTIENT PIC 9(2) VALUE 0. PROCEDURE DIVISION. *> QUOTIENT = 140 / 5 COMPUTE QUOTIENT = DIVIDEND / DIVISOR GOBACK. The sum of 10 and 25 is greater than 31, therefore a long division is performed.
APAR Information
APAR number
PH52889
Reported component name
LE ENT COBOL LI
Reported component ID
568819812
Reported release
7D0
Status
CLOSED UR1
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt / Xsystem
Submitted date
2023-02-27
Closed date
2023-04-11
Last modified date
2023-05-03
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
UI91392 UI91393
Modules/Macros
IGZCEV4 IGZCJNI2 IGZLLIBV IGZXAPI IGZXCA31 IGZXCDA IGZXD24 IGZXDIVZ IGZXDMR IGZXJNI2 IGZXLPIO IGZXLPKA IGZXLPKB IGZXLPKC IGZXLPKD IGZXLPKE IGZXLPKF IGZXLPKG IGZXPK2
Fix information
Fixed component name
LE ENT COBOL LI
Fixed component ID
568819812
Applicable component levels
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.
[{"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SS6SG3","label":"Enterprise COBOL for z\/OS"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"7D0","Line of Business":{"code":"LOB35","label":"Mainframe SW"}}]
Document Information
Modified date:
03 May 2023