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:
Then the commands to bring the services back up are:
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!