Hi Frank, or what’s your name?
I want this mainframe to feel more like my own. Maybe you want yours to feel more like yours too, unless you don’t have a mainframe. Then please, go back to MOM Pt. 001: Setting up my own Mainframe! You really need a mainframe, you just don’t know it yet. You can even use it as a fancy calculator, that is a whole other level of hipster.
NETSOL is short for Network Solicitor. The network solicitor isn’t literally the screen, but we’ll change the visuals we get to see when we login. We have two screens. Ideally I want to change both of them. But I’ll need to find where these are generated.
There’s 3 different places where we need to go and change the TK4 screen.
- herclogo.txt in the root folder, this is shown when logging in for the very first time after boot.
- tk4-.rc in the scripts folder, this is shown in the console after you’ve started mvs using ./mvs.
- SYS2.CNTL(TK4-LOGO), this is shown when you connect.
Editing the .txt files is easy, but the SYS2.CNTL(TK4-LOGO) is something else. It’s not that hard, the workflow is just a bit different than on z/OS. Data set member TK4-LOGO is an ASM job that re-assembles the logon screen module. It’s always better to take a backup of the data set. I won’t though, mesa lazy.
Now how do we get to that data set? First of all, I’ll probably only use the RFE module, not the RPF one. Let’s go to the RFE module.
I chose option 1 and pressed enter. Now to get to the data set we’re going to navigate to it using the DSLIST utility. Enter 3.4 to get there, pretty similar to z/OS again right? It’s almost as MVS was the predecessor to z/OS. Yes, I’ll put z/OS in bold, always. It deserves that kind of recognition.
So now I get presented the RFE DSLIST. The data set name prefix is SYS2.CNTL.
Now let’s edit SYS2.CNTL.
Now let’s look for TK4-LOGO… You can scroll through the list or issue the primary command ‘f TK4-LOGO’ and it should highlight the member if present.
Now let’s edit it again using the line command e. Aaaaand here it is… it’s only a sample screen though. The way it’s generated is line by line.
Let’s look at how the code is generated. The blocks are typically in pairs of three. It starts with $SF and ends with $SBA. If you want text in-between we use DC. The $SF statement is (SKIP) most of the time, but sometimes it’s (SKIP, HI). This means the next text will be highlighted. In this case the highlighted text is white.
I’ve changed the line at 000422. This might look like a very sad attempt at customisation. Well, I know it’s sad, but I just want to test things first. We need to submit the job but that’s not going to be enough. Be sure to save your changes using the save primary command, then submit.
Submitted! I got: “TK4MLOGO ENDED- MAX COND CODE 0000″ sounds good? As I said, we need to do more. We have to shutdown VTAM and reboot it. We can just quit MVS and restart it, or we can reboot VTAM using some commands in the HTTP console.
Now how do I get to the HTTP console?
Using the Hercules HTTP Server for Console Command Input Regardless of the MVS console configuration in use, there is an HTTP server listening at port 8038 of the system on which the TK4- Hercules instance is running (usually 127.0.0.1, aka localhost) allowing console communications even when running in daemon mode. This can be used to activate a full function console whenever one is needed.
So, I’ll try connecting to my local IP and see if I can connect. That’s going to be http://192.168.0.156:8038 for me.
I connected! Now let me issue a bunch of commands.
The commands to bring the services down are:
/Z NET,QUICK
/P SNASOL
/P JRP
Then the commands to bring the services back up are:
/S NET
/S SNASOL
/S JRP
We should be good, let’s reconnect or start TSO again and see if anything changed.
Mom look! It’s there! Greetings by Kevin! This blog has succeeded! When I have more time I’ll customise my NETSOL screen a little bit more. A little a lot bit more.
PS: I’ve based this post largely on a lost post by Gerard Wassink, thanks! CREDIT CREDIT CREDIT 😉
Coming up in MOM
Hmm… that doesn’t sound too good. I’m not changing the title, no way. Next blog post will either be about more customisation or about COBOL.
I still know too little about MVS 3.8j so I’m going to push myself to learn harder topics like COBOL and JCL. Let’s push it together!
What did you customise?
So what did you customise? Any makeup? A new piercing? A new computer? New socks? Tell me all about it!
I was having the same problems at Keith and its because IEBUPDTE needs the sequence numbers in columns 73+ (hit F11 to see them in RFE)
I found this python script that will make the JCL for you and won’t overwrite the TK4-LOGO files so you can customize TK4- without destroying the other logo:
https://gist.github.com/mainframed/140fd58cc449c486e19c770a7aaaa423
Hi,
When I submit SYS2.CNTL(TK4-LOGO), i get a CC of 8 on the ASM step.
Do you have any clue how to overcome this?
Here is some snips from the log:
13.27.02 JOB 80 $HASP373 TK4MLOGO STARTED – INIT 1 – CLASS A – SYS TK4-
13.27.02 JOB 80 IEF403I TK4MLOGO – STARTED – TIME=13.27.02
13.27.02 JOB 80 IEFACTRT – Stepname Procstep Program Retcode
13.27.02 JOB 80 TK4MLOGO CLEANUP IDCAMS RC= 0000
13.27.02 JOB 80 TK4MLOGO COMP COPY IEBCOPY RC= 0000
13.27.02 JOB 80 TK4MLOGO COPY IEBCOPY RC= 0000
13.27.03 JOB 80 TK4MLOGO UPDATE IEBUPDTE RC= 0000
13.27.08 JOB 80 TK4MLOGO ASM IFOX00 RC= 0008
13.27.08 JOB 80 IEF404I TK4MLOGO – ENDED – TIME=13.27.08
13.27.08 JOB 80 $HASP395 TK4MLOGO ENDED
IEF236I ALLOC. FOR TK4MLOGO ASM
IEF237I 148 ALLOCATED TO SYSLIB
IEF237I 148 ALLOCATED TO
IEF237I 148 ALLOCATED TO
IEF237I 248 ALLOCATED TO
IEF237I VIO ALLOCATED TO SYSUT1
IEF237I VIO ALLOCATED TO SYSUT2
IEF237I VIO ALLOCATED TO SYSUT3
IEF237I JES2 ALLOCATED TO SYSPRINT
IEF237I VIO ALLOCATED TO SYSPUNCH
IEF237I JES2 ALLOCATED TO SYSIN
IEF142I TK4MLOGO ASM – STEP WAS EXECUTED – COND CODE 0008
IEF285I SYS1.UMODMAC KEPT *——362
IEF285I VOL SER NOS= MVSRES.
IEF285I SYS2.MACLIB KEPT *——–0
IEF285I VOL SER NOS= MVSRES.
IEF285I SYS1.MACLIB KEPT *——–0
IEF285I VOL SER NOS= MVSRES.
IEF285I SYS1.AMODGEN KEPT *——–4
IEF285I VOL SER NOS= MVSDLB.
IEF285I SYS20041.T132702.RA000.TK4MLOGO.R0000002 DELETED *—-2,870
IEF285I SYS20041.T132702.RA000.TK4MLOGO.R0000003 DELETED *——121
IEF285I SYS20041.T132702.RA000.TK4MLOGO.R0000004 DELETED *——-32
IEF285I JES2.JOB00080.SO0109 SYSOUT
IEF285I SYS20041.T132702.RA000.TK4MLOGO.R0000005 PASSED *——267
IEF285I JES2.JOB00080.SI0104 SYSIN
IEF373I STEP /ASM / START 20041.1327 7824K FREE
35 IFO209 ADDRESSABILITY ERROR- BASE AND DISPLACEMENT CANNOT BE RESOLVE
41 IFO209 ADDRESSABILITY ERROR- BASE AND DISPLACEMENT CANNOT BE RESOLVE
44 IFO209 ADDRESSABILITY ERROR- BASE AND DISPLACEMENT CANNOT BE RESOLVE
48 IFO209 ADDRESSABILITY ERROR- BASE AND DISPLACEMENT CANNOT BE RESOLVE
51 IFO209 ADDRESSABILITY ERROR- BASE AND DISPLACEMENT CANNOT BE RESOLVE
56 IFO209 ADDRESSABILITY ERROR- BASE AND DISPLACEMENT CANNOT BE RESOLVE
65 IFO209 ADDRESSABILITY ERROR- BASE AND DISPLACEMENT CANNOT BE RESOLVE
66 IFO209 ADDRESSABILITY ERROR- BASE AND DISPLACEMENT CANNOT BE RESOLVE
72 IFO209 ADDRESSABILITY ERROR- BASE AND DISPLACEMENT CANNOT BE RESOLVE
NUMBER OF STATEMENTS FLAGGED IN THIS ASSEMBLY = 25
HIGHEST SEVERITY WAS 8
OPTIONS FOR THIS ASSEMBLY
ALIGN, ALOGIC, BUFSIZE(STD), DECK, ESD, FLAG(0), LINECOUNT(55), LIST, NOMCALL,
NOMLOGIC, NONUMBER, NOOBJECT, NORENT, RLD, NOSTMT, NOLIBMAC, NOTERMINAL, NOTES
SYSPARM()
WORK FILE BUFFER SIZE/NUMBER =19066/ 1
TOTAL RECORDS READ FROM SYSTEM INPUT 3
TOTAL RECORDS READ FROM SYSTEM LIBRARY 24303
TOTAL RECORDS PUNCHED 267
TOTAL RECORDS PRINTED 9498
******EOF-TTR=00D301************ BOTTOM OF DATA ***********1250520-BYTES********
Hi Keith
Sorry for the delay, somehow I was not getting any notification of your comment. It’s almost been a year since I’ve done this and I can’t really make out the error from your log.
Did you double check your formatting and also the code blocks to echo the screen? Editing this is very tricky and the errors are hard to spot.
I’m afraid I can’t help more than that 🙁
Kind regards,
– Kevin
Impress your friends and conquer the girls at parties with this magnificent screen
https://drive.google.com/open?id=1nh_HOM2HCBig4_i2rn54Rz1iUy1KOMTg
Can I use this in Win Vista x32 ?