Wild guess:
I found this explanation for S001-4 on some web sites:
S001-4 AbendInput file record length is not equal to the length stated
in the DD or the FD. Wrong length record. IO error, damaged tape, device
malfunction. With disk, reading a dataset that was allocated but never
written to. Writing to input file Concatenation of files with different
record lengths or record formats.
so I would check if the record and block size of the data set matches
the RPG definitions. If I read the program correctly, the record size
should be 300 and the block size 9000 (see the F line of the program).
Maybe the performance guy changed the blocksize ??
Kind regards
Bernd
Am 23.07.2018 um 18:12 schrieb Tony Thigpen:
I have a site with a bunch of old RPG programs. Lately, it seems that
sometimes the get the following. Once it happens, they can not get the
program to ever run correctly again, even after re-compiling.
IEC020I 001-4,HSR003B,STEP0017,STYWRK,1818,HKYP05,
IEC020I PROD.HKY.WORK.HSR003B.WK1.S050
IEC020I DCB EROPT=ABE OR AN INVALID CODE, AND/OR NO SYNAD EXIT SPECIFIED
We have a contractor working on 'performance issues' with this
machine, and I am wondering if he has changed something. The customer
is just now telling us, but they say it happens every few weeks to a
different program. Usually, the programs are simple, so they are just
rewriting them in Natural.
Fridays problem program was very simple:
FSTYWRK UP F9000 300 DISK40
ISTYWRK NS 01
I 100 100 ALTCLS
C ALTCLS COMP ' ' 25
OSTYWRK D 01
O 71 '0'
O 25 72 '09'
//STEP0017 EXEC PGM=HAO07E,PARM='DATE=$WEDATE',
// COND=(3,LT)
//STYWRK DD DSN=PROD.HKY.WORK.HSR003B.WK1.S050,
// DISP=(OLD,KEEP,KEEP)
//SYSUDUMP DD SYSOUT=*
//SYSPRINT DD SYSOUT=*
/*
Any suggestions? Questions?
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN