We have a job that usually runs on a weekly basis and produces reports.
On a certain day, there were two reports that were not produced as expected and we saw the below error message in the application job producing the reports:
RMOSOR02 Allocation failed for report ABCDEFG1234 - ERROR 0238,INFO 0000
Can you please make a suggestion as to how to generate the missing reports?
Release : 14.0
Component : CA View
The RMOSOR02 message:
RMOSOR02 ALLOCATION FAILED FOR REPORT xxxxxxxxxxxx - ERROR xxxx, INFO xxxx
occurred because the client was generating too many sysout data sets for one jobstep.
The TIOT table has a size limit of 3273 sysout data sets, whch was exceeded by the client having a total of 4086 sysout data sets for a single DD statement.
For the corresponding job to run successfully, the number of sysout data sets would need to be reduced.
One way of reducing the number of sysout data sets would be to change to Deliver's direct archival (RMOPARM ARCHn=DIRECT[/...]), to eliminate sysout data sets for archival and bundle copies.
That way, however, may not necessarily be available to be done for all reports because some reports may need to be sent to a FSS ACIF collector, and may not reduce the amount enough to be under the TIOT size limit.
A way to drastically reduce the amount of sysout data sets that are produced for the job, would be to group email output, if there are many Distribution IDs receiving the report via email.
If you group the Distribution IDs, with an Out field of E (Email), rather than have them receiving an individual copy of the report being sent to each ID, that will reduce the number of sysout datasets, that would go below the TIOT size limit.
For example, if you are sending the report to 10 IDs, that is the same as sending 10 individual emails instead of sending 1 email to 10 IDs.
Before grouping is done, please be sure that the associated EMAIL banner page has a sufficient number of &EMADRnn lines to accommodate the grouping. You can group up to 32 recipients on one banner page.
Here would be an example of how to group Distribution IDs that receive email:
CA Deliver ----------- Report Definition Attributes (1) ---- Row 00001 of 00010
Command ===> Scroll ===> CSR
ID ---> REPORT01-001 Job ---> JOB12345
Step ---> Procstep ---> DD --->
Type ---> STACK
Distribution Specifications: Writer/ Days
Sel Grp Distribution ID Out Dest Eformat MTWTFSS
DIST-01 E EMAILAFP YYYYYYY
* DIST-02 E EMAILAFP YYYYYYY
* DIST-03 E EMAILAFP YYYYYYY
* DIST-04 E EMAILAFP YYYYYYY
* DIST-05 E EMAILAFP YYYYYYY
* DIST-06 E EMAILAFP YYYYYYY
* DIST-07 E EMAILAFP YYYYYYY
* DIST-08 E EMAILAFP YYYYYYY
* DIST-09 E EMAILAFP YYYYYYY
* DIST-10 E EMAILAFP YYYYYYY