View previous topic :: View next topic
|
Author |
Message |
kbnkb2
New User
Joined: 21 Aug 2006 Posts: 4
|
|
|
|
Hi,
while running job in mainframe i am getting error
WER177I TURNAROUND SORT PERFORMED
WER045C END SORT PHASE
WER416B SORTIN : EXCP'S=1,UNIT=(VIO)
WER416B SORTOUT : EXCP'S=1,UNIT=(VIO)
WER416B TOTAL OF 2 EXCP'S ISSUED FOR SORTING
WER246I FILESIZE 30,844 BYTES
WER054I RCD IN 44, OUT 44
WER072I EQUALS, IO IN EFFECT
WER169I RELEASE 2.1
Is the error
WER416B SORTIN : EXCP'S=1,UNIT=(VIO)
WER416B SORTOUT : EXCP'S=1,UNIT=(VIO)
WER416B TOTAL OF 2 EXCP'S ISSUED FOR SORTING
is due to duplicate records in input file? I Couldn't find explanation of this WER416B. |
|
Back to top |
|
|
Bill Woodger
Moderator Emeritus
Joined: 09 Mar 2011 Posts: 7309 Location: Inside the Matrix
|
|
|
|
Why do you think those are errors? They are just telling you information about the files processed?
There are no errors that you show. These would be WERnnnA. |
|
Back to top |
|
|
kbnkb2
New User
Joined: 21 Aug 2006 Posts: 4
|
|
|
|
Since the message for WER416B shows as exceptions, i thought this would be an error message. we are getting this message in mainframe where as in migrated platform(Linux) we are getting duplicate records for IDCAMS load step which uses sorted file created by Previous step. So interested to know if this message mean duplicate records?
Thanks! |
|
Back to top |
|
|
Robert Sample
Global Moderator
Joined: 06 Jun 2008 Posts: 8696 Location: Dubuque, Iowa, USA
|
|
|
|
Quote: |
So interested to know if this message mean duplicate records?
|
Is there ANY mention in the messages about duplicate record(s)? If not, why on earth would you think the message has anything to do with duplicate records? |
|
Back to top |
|
|
Bill Woodger
Moderator Emeritus
Joined: 09 Mar 2011 Posts: 7309 Location: Inside the Matrix
|
|
|
|
Goodness, gracious, me.
Find out what EXCP means in a Mainframe context. Don't jump to the conclusion that the whole world revolves around your jargon.
If you are getting duplicate keys (IDCAMS on Linux? You mean a Micro Focus (or someone) emulated IDCAMS?)) it means you have duplicate keys in your data. Have you looked at the data? Remember, how you have defined a key is crucial to what the computer thinks is the key. If you think something else is the key - you are wrong, and the computer is correct. Possible hint. Check whether your emulated VSAM file has the key defined in the same place, and is the same length. Further hint. 0 and 1 (and their offset cousins) could be massively more significant than you think.
If you venture into someone else's world, either assume nothing, or pay someone who knows. The Mainframe world is big on documentation of products. There's tons of "VSAM" stuff, and your Mainframe contacts should be able to provide you with MFX/SyncSORT documentation so you can even read exactly what those messages mean. |
|
Back to top |
|
|
steve-myers
Active Member
Joined: 30 Nov 2013 Posts: 917 Location: The Universe
|
|
|
|
An "EXCP" is a low level macro used to start I/O. Both Syncsort and DFSORT use the EXCP macro directly since its proper use often provides for greater I/O through put than higher level I/O mechanisms such as "BSAM" or "QSAM."
As a user of and proponent of EXCP, I also know, from experience, that these improved I/O rates are often illusory; the improvements in "QSAM" and "BSAM" that date back to the Data Facility Product in the 1970s produced I/O improvements that are often nearly as good as aggressive use of EXCP. Most of the EXCP code in Syncsort and DFSORT predates DFP; in any event "nearly" is not equal or "better."
Actually, it seems to me that EXCP bought nothing here; "QSAM" and "BSAM" would work just as well for the small data set that was sorted here.
As Mr. Woodger says, these WER416B messages are not error messages; they are just Syncsort crowing about how good it is. |
|
Back to top |
|
|
kbnkb2
New User
Joined: 21 Aug 2006 Posts: 4
|
|
|
|
Thanks for the updates. I have verified MF & Linux(IDCAMS on Linux) key positions and offsets and both are defined same. I will try putting displays to verify the keys are duplicate. |
|
Back to top |
|
|
enrico-sorichetti
Superior Member
Joined: 14 Mar 2007 Posts: 10873 Location: italy
|
|
|
|
again, what have the WER416B INFORMATIVE messages to do with duplicate records
EXCP is not the abbreviation/whatsoever of EXCEPTION
but the acronym for EXecute Channel Program
and relates to the INPUT/OUTPUT pseudo-instructions executed |
|
Back to top |
|
|
sergeyken
Senior Member
Joined: 29 Apr 2008 Posts: 2018 Location: USA
|
|
|
|
enrico-sorichetti wrote: |
EXCP is not the abbreviation/whatsoever of EXCEPTION
but the acronym for EXecute Channel Program
and relates to the INPUT/OUTPUT pseudo-instructions executed |
More precisely, EXCP is System/Z central processor machine instruction which initiates a specific Channel Program - the sequence of physical input/output instructions running separately on one of specific I/O processors; the name of those processors in System/Z is "I/O channel".
Some equivalent for EXCP on other platforms is: the call to a device driver routine.
EXCP count can be considered as count of real physical input/output operations. The less is EXCP count, the faster total execution time could be expected. |
|
Back to top |
|
|
steve-myers
Active Member
Joined: 30 Nov 2013 Posts: 917 Location: The Universe
|
|
|
|
sergeyken wrote: |
...
More precisely, EXCP is System/Z central processor machine instruction which initiates a specific Channel Program - the sequence of physical input/output instructions running separately on one of specific I/O processors; the name of those processors in System/Z is "I/O channel".
|
There are two errors here.- EXCP is actually an Assembler macro provided by IBM. It directs the system to run a "channel program," a sequence of instructions that direct the I/O hardware to perform I/O operations. Since there are no longer "channels" in the hardware, the term "channel" is a misnomer; it refers to 1960s I/O hardware. The machine instruction, which ordinary programmers cannot use, used to start an I/O operation is "Start Subchannel."
- I/O is now run by a separate processor.
Quote: |
Some equivalent for EXCP on other platforms is: the call to a device driver routine. |
This is actually quite correct for operations in z/OS. EXCP actually starts a function that is quite similar to a device driver in other platforms. It does, in a fairly literal sense, bend, fold, staple and mutilate the "channel program" provided to the EXCP macro by the programmer. Under the covers, this I/O driver actually issues a STARTIO macro (something us ordinary programmers can't do) to run the modified I/O instructions. After the I/O completes it transforms the I/O status into an analogue of the System/360 status before us ordinary programmers get control again.
To some extent it has always worked this way. In OS/360, as well as z/OS, us ordinary programmers might write this "channel program" to read a data record from a disk.
Code: |
CCW X'31',diskaddress,X'40',5
CCW X'08',*-8,0,0
CCW X'06',dataarea,0,length |
CCW is an Assembler instruction to prepare a data area for the I/O system. The first 2 instructions search a track for the correct record, the third instruction actually reads the record. These instructions are not complete; there are no instructions to direct the disk drive to move the access mechanism to the correct place, and there are other missing pieces. OS/360 EXCP would prepare
Code: |
CCW X'07',diskaddress,X'40',4
CCW X'1F',controlarea,X'40',1 |
and effectively insert them before our channel program. There could be more CCWs, by the way. The first CCW directs the disk drive to move the I/O mechanism to the correct place; the second CCW provides limits on what the remaining CCWs can do. |
|
Back to top |
|
|
|