开云体育

ctrl + shift + ? for shortcuts
© 2025 Groups.io

COBOL Sort - - +IER040A - INSUFFICIENT WORK UNITS


 

开云体育

Dagfinn,

What is the purpose of the GO.SORTDD statement??

You are allocating a new data set – but did NOT specify a volume serial

Also, you should NOT need a COB.SYSLIB – this would be input to the COBOL step

?

?

Your GO.INDD and GO.OUT DD appear to be the input file and the output file

?

I see that you have made progress and I am replying to a previous post –

I simply wanted to follow up with your question.?

?

-J-

?

Jeff Bassett

Bassettj@...

(301) 424-3362 (office)

(240) 388-7148 Cell

?

Time spent flying? - is NOT deducted from one’s lifespan

?

From: [email protected] <[email protected]> On Behalf Of Dagfinn Hammar via groups.io
Sent: Wednesday, February 28, 2024 2:44 AM
To: [email protected]
Subject: Re: [H390-MVS] COBOL Sort - - +IER040A - INSUFFICIENT WORK UNITS

?

If i run this without the GO,SORTDD?statement?i get the following error:

+IER036I - B = ? 90 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
+IER037I - G = ?2488 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
+IER038I - NMAX = ? 88920 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
+IER046A - SORT CAPACITY EXCEEDED ? ? ? ? ? ? ? ? ? ? ? ? ?
+IER066A - APROX RCD CNT 0089011 ? ? ? ? ? ? ? ? ? ? ? ? ? ?
+IKF888I UNSUCCESSFUL SORT FOR SORTDA ? ? ? ? ? ? ? ? ? ? ?
+IEW1991 ERROR - USER PROGRAM HAS ABNORMALLY TERMINATED ? ?
IEF450I HERC0101 GO STEP06 - ABEND S0C4 U0000 - TIME=08.39.4
HERC0101 ? STEP06 ? ?GO ? ? ? ?LOADER ? ?AB S0C4 ? ? ? ? ? ?
IEF404I HERC0101 -?

?

On Wed, 28 Feb 2024 at 08:35, Dagfinn Hammar via <dagfinndh33=[email protected]> wrote:

Again - thank you for helping to solve this task. I have made some progress but receive a message about offline units needed. My jcl for cobol/sort and messages from sysout-console:

/* ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
//COB.SYSLIB ?DD DSNAME=SYS1.COBLIB,DISP=SHR ? ? ? ? ? ? ? ? ? ? ? ?
//GO.SORTLIB ?DD DSNAME=SYS1.SORTLIB,DISP=SHR ? ? ? ? ? ? ? ? ? ? ? ?
//GO.SYSUDUMP DD SYSOUT=* ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
//GO.SORTDD ? DD DSNAME=HERC01.TEST.SORT.FILE, ? ? ? ? ? ? ? ? ? ? ?
// ? ? ? ? ? ? DISP=(NEW,PASS,DELETE), ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
// ? ? ? ? ? ? DCB=(DSORG=PS,RECFM=FB,LRECL=80,BLKSIZE=800), ? ? ? ?
// ? ? ? ? ? ? UNIT=SORT,SPACE=(TRK,(200,1)) ? ? ? ? ? ? ? ? ? ? ? ?
//GO.SORTWK01 DD ?UNIT=2314,SPACE=(TRK,(200,1)),VOL=SER=SORT01 ? ? ?
//GO.SORTWK02 DD ?UNIT=2314,SPACE=(TRK,(200,1)),VOL=SER=SORT02 ? ? ?
//GO.SORTWK03 DD ?UNIT=2314,SPACE=(TRK,(200,1)),VOL=SER=SORT03 ? ? ?
//GO.SORTWK04 DD ?UNIT=2314,SPACE=(TRK,(200,1)),VOL=SER=SORT04 ? ? ?
//GO.SORTWK05 DD ?UNIT=2314,SPACE=(TRK,(200,1)),VOL=SER=SORT05 ? ? ?
//GO.SORTWK06 DD ?UNIT=2314,SPACE=(TRK,(200,1)),VOL=SER=SORT06 ? ? ?
//GO.SYSOUT ? DD SYSOUT=* ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
//GO.SYSPRINT DD SYSOUT=* ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
//GO.INDD ? ? DD DSN=HERC01.TEST.FILE00XX,DISP=SHR ? ? ? ? ? ? ? ? ?
//GO.OUT1 ? ? DD DSN=HERC01.TEST.FILE00YY,DISP=SHR ? ? ? ? ? ? ? ? ?


IEF244I HERC0101 GO STEP06 - UNABLE TO ALLOCATE 1 UNIT(S) ?
? ? ? ? AT LEAST 1 OFFLINE UNIT(S) NEEDED. ? ? ? ? ? ? ? ? ?
IEF489I HERC0101 - 1 UNIT(S) NEEDED FOR SORTDD ? ? ? ? ? ? ?
IEF247I HERC0101 - 130,137,138,139,13A,13B,13C,13D,13E,13F,2
IEF247I HERC0101 - 232,233,234,235,236,237,238,239,23A,23B,2
IEF247I HERC0101 - 23E,23F,330,331,332,333,334,335,336,337,3
IEF247I HERC0101 - 33A,33B,33C,33D,33E,33F OFFLINE ? ? ? ? ?
01 IEF238D HERC0101 - REPLY DEVICE NAME OR 'CANCEL'. ? ? ? ?
R 01,CANCEL? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??

?

So if you see any obvious corrections feel fre to comment.

?

----------------------------------------

Dagfinn D. Hammar?

?

On Wed, 28 Feb 2024 at 02:04, Joe Monk <joemonk64@...> wrote:

//GO.SORTWK01 DD ?UNIT=2314,SPACE=(TRK,(200,1)),VOL=SER=SORT01? ???
//GO.SORTWK02 DD ?UNIT=2314,SPACE=(TRK,(200,1)),VOL=SER=SORT02? ? ? ? ? ? ???
//GO.SORTWK03 DD ?UNIT=2314,SPACE=(TRK,(200,1)),VOL=SER=SORT03 ? ? ? ? ? ? ??
//GO.SORTWK04 DD ?UNIT=2314,SPACE=(TRK,(200,1)),VOL=SER=SORT04 ? ? ? ? ? ? ??
//GO.SORTWK05 DD ?UNIT=2314,SPACE=(TRK,(200,1)),VOL=SER=SORT05 ? ? ? ? ? ? ??
//GO.SORTWK06 DD ?UNIT=2314,SPACE=(TRK,(200,1)),VOL=SER=SORT06?

//GO.SORTLIB ? ? DD ? DSN=SYS1.SORTLIB,DISP=SHR

?

When dealing with a PROC (LIKE COBUCG), to supply missing DDNAMES you have to put in the stepname...

?

Also, MVT COBOL sort routine cannot use extents on a volume, so code a really big value for the primary, cause thats all you'll get.

?

I THINK that sortlib is right, but you can check it.

?

Joe

?


 

Hi
I read Jay Moseley's FAQ about the cobol sort utility so that is why I was pre-allocating the files. When reading the cobol -74 manual I was able to sort out that it was not needed. The program from the manual works fine. So does the program I initially received the "insufficient work units" message from.

"Cobol -74 is portable."

Thanks again for all your help.


"Why do I receive the message:?IER040A INSUFFICIENT WORK UNITS?when I attempt to use the MVT Sort/Merge program under MVS 3.8?

The MVT Sort/Merge utility requires at least three (and may use up to a maximum of 32) intermediate storage datasets.? Unlike current Sort/Merge utilities (such as DFSORT or Syncsort), the MVT Sort/Merge is unable to dynamically allocate datasets for use as intermediate storage.? You must supply DD statements for the DD Names SORTWK01, SORTWK02, SORTWK03 ... SORTWK32.? Also the SORTWK?? datasets must reside on 2311/2314 DASD.? Although some efforts have been reported of using tape datasets with the MVT Sort/Merge under Hercules, it is probably a better idea to utilize DASD for the SORTWK?? datasets.? If the MVT Sort/Merge is called indirectly (as by a COBOL program that includes the SORT verb), you must also supply SORTWK?? DD cards to the EXEC step.

[July 2020] If you are using an MVS system built following my?, there are six 2314 DASD volumes defined as SORTW1 through SORTW6 and are assigned with the esoteric device name SORTDA."


------------------------------------------------

Dagfinn D. Hammar


On Wed, 28 Feb 2024 at 17:21, Jeff Bassett <bassettj@...> wrote:

Dagfinn,

What is the purpose of the GO.SORTDD statement??

You are allocating a new data set – but did NOT specify a volume serial

Also, you should NOT need a COB.SYSLIB – this would be input to the COBOL step

?

?

Your GO.INDD and GO.OUT DD appear to be the input file and the output file

?

I see that you have made progress and I am replying to a previous post –

I simply wanted to follow up with your question.?

?

-J-

?

Jeff Bassett

Bassettj@...

(301) 424-3362 (office)

(240) 388-7148 Cell

?

Time spent flying? - is NOT deducted from one’s lifespan

?

From: [email protected] <[email protected]> On Behalf Of Dagfinn Hammar via
Sent: Wednesday, February 28, 2024 2:44 AM
To: [email protected]
Subject: Re: [H390-MVS] COBOL Sort - - +IER040A - INSUFFICIENT WORK UNITS

?

If i run this without the GO,SORTDD?statement?i get the following error:

+IER036I - B = ? 90 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
+IER037I - G = ?2488 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
+IER038I - NMAX = ? 88920 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
+IER046A - SORT CAPACITY EXCEEDED ? ? ? ? ? ? ? ? ? ? ? ? ?
+IER066A - APROX RCD CNT 0089011 ? ? ? ? ? ? ? ? ? ? ? ? ? ?
+IKF888I UNSUCCESSFUL SORT FOR SORTDA ? ? ? ? ? ? ? ? ? ? ?
+IEW1991 ERROR - USER PROGRAM HAS ABNORMALLY TERMINATED ? ?
IEF450I HERC0101 GO STEP06 - ABEND S0C4 U0000 - TIME=08.39.4
HERC0101 ? STEP06 ? ?GO ? ? ? ?LOADER ? ?AB S0C4 ? ? ? ? ? ?
IEF404I HERC0101 -?

?

On Wed, 28 Feb 2024 at 08:35, Dagfinn Hammar via <dagfinndh33=[email protected]> wrote:

Again - thank you for helping to solve this task. I have made some progress but receive a message about offline units needed. My jcl for cobol/sort and messages from sysout-console:

/* ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
//COB.SYSLIB ?DD DSNAME=SYS1.COBLIB,DISP=SHR ? ? ? ? ? ? ? ? ? ? ? ?
//GO.SORTLIB ?DD DSNAME=SYS1.SORTLIB,DISP=SHR ? ? ? ? ? ? ? ? ? ? ? ?
//GO.SYSUDUMP DD SYSOUT=* ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
//GO.SORTDD ? DD DSNAME=HERC01.TEST.SORT.FILE, ? ? ? ? ? ? ? ? ? ? ?
// ? ? ? ? ? ? DISP=(NEW,PASS,DELETE), ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
// ? ? ? ? ? ? DCB=(DSORG=PS,RECFM=FB,LRECL=80,BLKSIZE=800), ? ? ? ?
// ? ? ? ? ? ? UNIT=SORT,SPACE=(TRK,(200,1)) ? ? ? ? ? ? ? ? ? ? ? ?
//GO.SORTWK01 DD ?UNIT=2314,SPACE=(TRK,(200,1)),VOL=SER=SORT01 ? ? ?
//GO.SORTWK02 DD ?UNIT=2314,SPACE=(TRK,(200,1)),VOL=SER=SORT02 ? ? ?
//GO.SORTWK03 DD ?UNIT=2314,SPACE=(TRK,(200,1)),VOL=SER=SORT03 ? ? ?
//GO.SORTWK04 DD ?UNIT=2314,SPACE=(TRK,(200,1)),VOL=SER=SORT04 ? ? ?
//GO.SORTWK05 DD ?UNIT=2314,SPACE=(TRK,(200,1)),VOL=SER=SORT05 ? ? ?
//GO.SORTWK06 DD ?UNIT=2314,SPACE=(TRK,(200,1)),VOL=SER=SORT06 ? ? ?
//GO.SYSOUT ? DD SYSOUT=* ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
//GO.SYSPRINT DD SYSOUT=* ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
//GO.INDD ? ? DD DSN=HERC01.TEST.FILE00XX,DISP=SHR ? ? ? ? ? ? ? ? ?
//GO.OUT1 ? ? DD DSN=HERC01.TEST.FILE00YY,DISP=SHR ? ? ? ? ? ? ? ? ?


IEF244I HERC0101 GO STEP06 - UNABLE TO ALLOCATE 1 UNIT(S) ?
? ? ? ? AT LEAST 1 OFFLINE UNIT(S) NEEDED. ? ? ? ? ? ? ? ? ?
IEF489I HERC0101 - 1 UNIT(S) NEEDED FOR SORTDD ? ? ? ? ? ? ?
IEF247I HERC0101 - 130,137,138,139,13A,13B,13C,13D,13E,13F,2
IEF247I HERC0101 - 232,233,234,235,236,237,238,239,23A,23B,2
IEF247I HERC0101 - 23E,23F,330,331,332,333,334,335,336,337,3
IEF247I HERC0101 - 33A,33B,33C,33D,33E,33F OFFLINE ? ? ? ? ?
01 IEF238D HERC0101 - REPLY DEVICE NAME OR 'CANCEL'. ? ? ? ?
R 01,CANCEL? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??

?

So if you see any obvious corrections feel fre to comment.

?

----------------------------------------

Dagfinn D. Hammar?

?

On Wed, 28 Feb 2024 at 02:04, Joe Monk <joemonk64@...> wrote:

//GO.SORTWK01 DD ?UNIT=2314,SPACE=(TRK,(200,1)),VOL=SER=SORT01? ???
//GO.SORTWK02 DD ?UNIT=2314,SPACE=(TRK,(200,1)),VOL=SER=SORT02? ? ? ? ? ? ???
//GO.SORTWK03 DD ?UNIT=2314,SPACE=(TRK,(200,1)),VOL=SER=SORT03 ? ? ? ? ? ? ??
//GO.SORTWK04 DD ?UNIT=2314,SPACE=(TRK,(200,1)),VOL=SER=SORT04 ? ? ? ? ? ? ??
//GO.SORTWK05 DD ?UNIT=2314,SPACE=(TRK,(200,1)),VOL=SER=SORT05 ? ? ? ? ? ? ??
//GO.SORTWK06 DD ?UNIT=2314,SPACE=(TRK,(200,1)),VOL=SER=SORT06?

//GO.SORTLIB ? ? DD ? DSN=SYS1.SORTLIB,DISP=SHR

?

When dealing with a PROC (LIKE COBUCG), to supply missing DDNAMES you have to put in the stepname...

?

Also, MVT COBOL sort routine cannot use extents on a volume, so code a really big value for the primary, cause thats all you'll get.

?

I THINK that sortlib is right, but you can check it.

?

Joe

?


 

On Wed, Feb 28, 2024 at 07:42 AM, Dagfinn Hammar wrote:
Is this a general problem with TK5 that makes it difficult to use cobol/sort/merge or have Rob Prince made a different solution with the new DASD's?in TK5.
?
It seems you have followed the steps to add these sort DASD correctly. The adding of these files to the TK5 config is also needed but you may already have done this. If so I think Rob can help you with?this better than anyone.
?
The problem is the UNIT=2314 in the JCL.? The sort/merge utility in TK5 works with any DASD.? Try UNIT=SYSDA in your jcl since TK5 does not have 2311 or 2314 volumes defined in the Hercules config files.? Yes, the IOGEN has the 23xx units defined but the Hercules config does not define any 23xx units.

When I converted from Tk4 to TK5, all I had to do to get the sort to work was change UNIT=2314 to UNIT=SYSDA in the JCL.


 

开云体育

Do you happen to know what CUUs are defined for 2314 in TK5?

I did add 2314s to my config and was able to create VTOCs on them but they are not mounting.

Even if they are no longer required I would be interested in completing the exercise of getting these added if only for educational/experience purposes.


On 3/1/24 07:32, Ed Liss wrote:

On Wed, Feb 28, 2024 at 07:42 AM, Dagfinn Hammar wrote:
Is this a general problem with TK5 that makes it difficult to use cobol/sort/merge or have Rob Prince made a different solution with the new DASD's?in TK5.
?
It seems you have followed the steps to add these sort DASD correctly. The adding of these files to the TK5 config is also needed but you may already have done this. If so I think Rob can help you with?this better than anyone.
?
The problem is the UNIT=2314 in the JCL.? The sort/merge utility in TK5 works with any DASD.? Try UNIT=SYSDA in your jcl since TK5 does not have 2311 or 2314 volumes defined in the Hercules config files.? Yes, the IOGEN has the 23xx units defined but the Hercules config does not define any 23xx units.

When I converted from Tk4 to TK5, all I had to do to get the sort to work was change UNIT=2314 to UNIT=SYSDA in the JCL.


 

Frank,

if you enter /d u on the hercules montor, you will see:-

130 2314 OFFLINE 131 2314 OFFLINE
132 2314 OFFLINE 133 2314 OFFLINE
134 2314 OFFLINE 135 2314 OFFLINE
136 2314 OFFLINE 137 2314 OFFLINE
138 2314 OFFLINE 139 2314 OFFLINE
13A 2314 OFFLINE 13B 2314 OFFLINE
13C 2314 OFFLINE 13D 2314 OFFLINE
13E 2314 OFFLINE 13F 2314 OFFLINE

Chris

--
<cjar1950@...>



----------------------------------------------------------------------------------------------------------------------------------
On Fri, 1 Mar 2024 08:44:27 -0500
"Frank D. Engel, Jr." <fde101@...> wrote:
Do you happen to know what CUUs are defined for 2314 in TK5?

I did add 2314s to my config and was able to create VTOCs on them but they are not mounting.

Even if they are no longer required I would be interested in completing the exercise of getting these added if only for educational/experience purposes.


On 3/1/24 07:32, Ed Liss wrote:
On Wed, Feb 28, 2024 at 07:42 AM, Dagfinn Hammar wrote:

Is this a general problem with TK5 that makes it difficult to use
cobol/sort/merge or have Rob Prince made a different solution with
the new DASD's?in TK5.
It seems you have followed the steps to add these sort DASD
correctly. The adding of these files to the TK5 config is also
needed but you may already have done this. If so I think Rob can
help you with?this better than anyone.

The problem is the UNIT=2314 in the JCL.? The sort/merge utility in
TK5 works with any DASD.? Try UNIT=SYSDA in your jcl since TK5 does
not have 2311 or 2314 volumes defined in the Hercules config files.?
Yes, the IOGEN has the 23xx units defined but the Hercules config does
not define any 23xx units.

When I converted from Tk4 to TK5, all I had to do to get the sort to
work was change UNIT=2314 to UNIT=SYSDA in the JCL.



 

Hi Guys,
My suggestion is that if you have migrated to TK5 then take advantage of the enhancements with OS/360 Sort/Merge for MVS 3.8. Just delete all SORTWKxx DD statements in sorting steps, COBOL invoked or direct invokation of the Sort/Merge program. The default setting for the new Sort/Merge program is to dynamically allocate SORTWKxx data sets. This simplifies JCLrequirements. A SORTLIB DD statement is still required, and if Sort/Merge message options select the printer, then a SYSOUT DD statement is also required.
2314 DASD is no longer required in the TK5 environment.
Regards
Tom


 

开云体育

Excellent. Thanks.

?

From: [email protected] <[email protected]> On Behalf Of Tom Armstrong
Sent: Friday, March 1, 2024 7:43 PM
To: [email protected]
Subject: Re: [H390-MVS] COBOL Sort - - +IER040A - INSUFFICIENT WORK UNITS

?

Hi Guys,
My suggestion is that if you have migrated to TK5 then take advantage of the enhancements with OS/360 Sort/Merge for MVS 3.8. Just delete all SORTWKxx DD statements in sorting steps, COBOL invoked or direct invokation of the Sort/Merge program. The default setting for the new Sort/Merge program is to dynamically allocate SORTWKxx data sets. This simplifies JCLrequirements. A SORTLIB DD statement is still required, and if Sort/Merge message options select the printer, then a SYSOUT DD statement is also required.
2314 DASD is no longer required in the TK5 environment.
Regards
Tom