Origin of IBM message codes



IBM OS/370, MVS, OS/390, Linux, TPF, VM/CMS, VM/ESA, VSE/ESA, z/VM, z/VSE, z/OS, z/OS.e etc...

Origin of IBM message codes

Postby trengri » Tue Sep 25, 2018 2:26 am

Why every message is prefixed with a message id code (eg: IEF125I)?
I have seen the same convention in other software that has mainframe roots, such as IBM TSM and HDS HORCM, and was always interested in this question.

What is the original idea behind these message codes? The most obvious suggestion is probably to enable the user
to find every message in the documentation, but is it really the case? Maybe there is some interesting historical background behind these message codes?

Indeed, if the entire message text is printed along with the message id, the latter is completely redundant.
It's interesting that TSO messages are not prefixed with message ids.
trengri
 
Posts: 9
Joined: Tue Sep 25, 2018 2:12 am
Has thanked: 8 times
Been thanked: 0 time

Re: Origin of IBM message codes

Postby steve-myers » Tue Sep 25, 2018 3:57 am

Now I was just an observer at the time, so take this for what it's worth. There were two major goals.
  • Figure out who issued the message. Most major components were issued a 3 character identifier by someone. Now there was some overlap, so some of this is shaky. I'll just give you a sample. I don't have it all memorized, anyway, so it's far from complete.

    IEA - OS Supervisor
    IEB - Data set utilities
    IEH - "System" utilities
    IEC - Data management
    IET - An infrequently used Assembler
    IEU - Assembler F
    IEV - Assembler H
    IEW - Linkage Editor
    IEY - Fortran G
    IHC - Fortran library
  • Combine messages so it was relatively easy to look up the message from the message code.
Now, as I said, there was some overlap. I/O errors detected by the OS supervisor, for example, got IEA messages, where I/O problems detected by data management got IEC messages.

There were several Assemblers. Similarly there were several Cobol and Fortran compilers. Usually, when you see a letter appended to something, like Fortran G, Assembler F or Assembler E, the letter referred to the storage on the smallest machine that could run the product: E 32K, F 64K, G 128K, H 256K. In OS/360 days this was very important. Storage in those days was very, very expensive.

Breaks in the scheme sometimes indicated mistakes. Fortran G, for example, was not envisioned in the original scheme. In fact, I understand IBM bought it from an outside supplier when they realized Fortran E wan't going to cut it and Fortran H was just too big for too many users. An H level Linkage Editor was in the original scheme, but they bought a Linkage Editor to supplant the E level linkage editor for the F and G users. The F level Linkage Editor was good enough they never produced the H level Linkage editor, though many would consider the Binder to be the "big" Linkage Editor even though OS/360 had been pretty much forgotten when it did finally appear.

Now, as I said there was some overlap. IEHIOSUP (long forgotten), for example was, in practice, a data set utility, though its only purpose was to be used by System Programmers to fiddle with SYS1.SVCLIB, so it got the IEH prefix.

These users thanked the author steve-myers for the post:
trengri (Tue Sep 25, 2018 6:00 am)
steve-myers
Global moderator
 
Posts: 2105
Joined: Thu Jun 03, 2010 6:21 pm
Has thanked: 4 times
Been thanked: 243 times

Re: Origin of IBM message codes

Postby trengri » Tue Sep 25, 2018 6:07 am

Thank you! Very interesting. I knew there should be some logic behind this.
It now makes much more sense to me.
trengri
 
Posts: 9
Joined: Tue Sep 25, 2018 2:12 am
Has thanked: 8 times
Been thanked: 0 time

Re: Origin of IBM message codes

Postby enrico-sorichetti » Tue Sep 25, 2018 11:21 am

see here for an explanation of the three letter message id
https://www.ibm.com/support/knowledgece ... msgpre.htm
cheers
enrico
When I tell somebody to RTFM or STFW I usually have the page open in another tab/window of my browser,
so that I am sure that the information requested can be reached with a very small effort
enrico-sorichetti
Global moderator
 
Posts: 3006
Joined: Fri Apr 18, 2008 11:25 pm
Has thanked: 0 time
Been thanked: 165 times

Re: Origin of IBM message codes

Postby willy jensen » Tue Sep 25, 2018 12:56 pm

It's interesting that TSO messages are not prefixed with message ids.

But they are, you probably have NOMSGID set in on your TSO profile. Do command TSO PROFILE and check the displayed values.
willy jensen
 
Posts: 467
Joined: Thu Mar 10, 2016 5:03 pm
Has thanked: 0 time
Been thanked: 70 times

Re: Origin of IBM message codes

Postby steve-myers » Tue Sep 25, 2018 6:19 pm

Mr. Jensen is correct. This mostly applies to messages for line mode TSO, not to ISPF.

PROF                                                                            
 CHAR(0)  LINE(0)    PROMPT   INTERCOM   NOPAUSE NOMSGID NOMODE  WTPMSG   NORECO
VER PREFIX(xxxxxx)  PLANGUAGE(ENU) SLANGUAGE(ENU)                              
 DEFAULT LINE/CHARACTER DELETE CHARACTERS IN EFFECT FOR THIS TERMINAL


prof msgid list
 IKJ56688I CHAR(0)  LINE(0)    PROMPT   INTERCOM   NOPAUSE MSGID   NOMODE  WTPMS
G   NORECOVER PREFIX(xxxxxx)  PLANGUAGE(ENU) SLANGUAGE(ENU)
 IKJ56689I DEFAULT LINE/CHARACTER DELETE CHARACTERS IN EFFECT FOR THIS TERMINAL
 READY
ii badpgm '79' rc
 II003A BADPGM NOT FOUND IN THE STANDARD SEARCH DOMAIN
 IKJ56703A REENTER THIS OPERAND -
setcc
 II001I SETCC RC = 79
 READY
prof nomsgid list
 CHAR(0)  LINE(0)    PROMPT   INTERCOM   NOPAUSE NOMSGID NOMODE  WTPMSG   NORECO
VER PREFIX(xxxxxx)  PLANGUAGE(ENU) SLANGUAGE(ENU)
 DEFAULT LINE/CHARACTER DELETE CHARACTERS IN EFFECT FOR THIS TERMINAL
 READY
ii badpgm '97' rc
 BADPGM NOT FOUND IN THE STANDARD SEARCH DOMAIN
 REENTER THIS OPERAND -
setcc
 SETCC RC = 97
 READY

PROFILE MSGID/NOMSGID applies to messages run through TSO I/O services (something few programmers know how to do), not to messages delivered to the terminal through other services.
steve-myers
Global moderator
 
Posts: 2105
Joined: Thu Jun 03, 2010 6:21 pm
Has thanked: 4 times
Been thanked: 243 times

Re: Origin of IBM message codes

Postby trengri » Wed Sep 26, 2018 1:19 am

Yes, you are right. My TSO profile includes NOMSGID.
Thanks to everyone, it is a great help.
What I have understood now is that I should not look for any sense in these 3-letter message prefix, just take them as is :)
trengri
 
Posts: 9
Joined: Tue Sep 25, 2018 2:12 am
Has thanked: 8 times
Been thanked: 0 time


Return to Operating Systems

 


  • Related topics
    Replies
    Views
    Last post