View previous topic :: View next topic |
Author |
Message |
misi01 Advanced
Joined: 02 Dec 2002 Posts: 625 Topics: 175 Location: Stockholm, Sweden
|
Posted: Wed Aug 22, 2018 3:41 am Post subject: IEBGENER return code -2871 |
|
|
I'm getting the above return code when running an IEBGENER from an ISPF panel driven by Rexx on a VERY large file.
Any suggestions as to what it could mean or how I can see some sort of results. The actual TSO commands being run are the following
Code: |
"alloc f(SYSUT1) da('"old_dataset"') shr"
"ALLOC F(SYSUT3) UNIT(SYSDA) SPACE(10) CYLINDER reuse"
"ALLOC F(SYSUT4) UNIT(SYSDA) SPACE(10) CYLINDER reuse"
"ALLOC F(SYSPRINT) SYSOUT(R) LRECL(121) reuse"
"ALLOC F(SYSIN) DUMMY LRECL(80) reuse"
ALLOC F(SYSUT2) DA('new_dataset') NEW VOLUME(IMST01)
SPACE(581,900) UNIT(SYSALLDA) LIKE('old_dataset') LRECL(18432) RECFM(F B S) BLKSIZE(18432)
|
I changed the SYSPRINT allocation to
"ALLOC FI(SYSPRINT) DA(*)"
and received the following
Quote: |
>>> "IEBGENER"
DATA SET UTILITY - GENERATE
PAGE 0001
+++ RC(-2871) +++
|
The input file has 261270 records and after the failing return code, the output file has 66645 records.
Any suggestions ? _________________ Michael |
|
Back to top |
|
|
Nic Clouston Advanced
Joined: 01 Feb 2007 Posts: 1075 Topics: 7 Location: At Home
|
Posted: Wed Aug 22, 2018 4:42 am Post subject: |
|
|
Yes, 2.
1 - Use the ISPF copy facility - 3.whatever
2 - Run the GENER in batch. _________________ Utility and Program control cards are NOT, repeat NOT, JCL. |
|
Back to top |
|
|
misi01 Advanced
Joined: 02 Dec 2002 Posts: 625 Topics: 175 Location: Stockholm, Sweden
|
Posted: Wed Aug 22, 2018 5:16 am Post subject: |
|
|
Don't want to do that since this is part of an "automated" copy of databases from A to B where all the work is done for the user under the covers. _________________ Michael |
|
Back to top |
|
|
kolusu Site Admin
Joined: 26 Nov 2002 Posts: 12369 Topics: 75 Location: San Jose
|
Posted: Wed Aug 22, 2018 11:29 am Post subject: Re: IEBGENER return code -2871 |
|
|
misi01 wrote: |
Code: |
ALLOC F(SYSUT2) DA('new_dataset') NEW VOLUME(IMST01)
SPACE(581,900) UNIT(SYSALLDA) LIKE('old_dataset') LRECL(18432) RECFM(F B S) BLKSIZE(18432)
|
The input file has 261270 records and after the failing return code, the output file has 66645 records.
Any suggestions ? |
Misi01,
Couple of Suggestions.
1. You specified the space but did NOT specify if it is Tracks/Cylinders/Blocks
2. You might be getting a B37 abends. Make sure you give the right space parameters. _________________ Kolusu
www.linkedin.com/in/kolusu |
|
Back to top |
|
|
misi01 Advanced
Joined: 02 Dec 2002 Posts: 625 Topics: 175 Location: Stockholm, Sweden
|
Posted: Mon Aug 27, 2018 2:51 am Post subject: |
|
|
Thanks Kolusu.
There were actually 2 errors/problems with the example I posted:
1 As you pointed out, no space parm such as CYLINDER (the code worked "better" after including that)
2 In reality, some of the files were SO large that they needed multiple disks and these simply weren't available. I could improve the error message by doing an OUTTRAP before the allocate command and then analyze the trapped messages afterwards, looking for these 2 strings
Quote: |
IGD17279I
UNABLE TO ALLOCATE SPACE
|
after which I could give a better, more meaningful message. _________________ Michael |
|
Back to top |
|
|
kolusu Site Admin
Joined: 26 Nov 2002 Posts: 12369 Topics: 75 Location: San Jose
|
Posted: Mon Aug 27, 2018 10:43 am Post subject: |
|
|
misi01,
Ideally I wouldn't use foreground process to copy large files. I would use a batch job. You can use the rexx to generate the JCL to be submitted, but I wouldn't use it to copy large datasets. _________________ Kolusu
www.linkedin.com/in/kolusu |
|
Back to top |
|
|
|
|