Good news, a good day and good weather! Perfect!
I know most of the people that read this blog probably have a programming background. This challenge is about bits, bytes, hexadecimal, ASCII and EBCDIC. I assume you know most of them, but what is EBCDIC?
z/OS its default encoding is EBCDIC. EBCDIC stands for Extended Binary Coded Decimal Character Interchange Code. It’s an 8-bit-standard way to store letters and punctuation marks.
In each table cell above, the first row is an abbreviation for a control code or (for printable characters) the character itself; and the second row is the Unicode code (blank for controls that don’t exist in Unicode).
You can read what IBM wrote about EBCDIC on mtm2018.mybluemix.net.
Just a Bit
IBM Master the Mainframe Part Two – Challenge #08
I need to edit Z30163.PDS.DATA member named MIX. That means, issue primary command =3.4 and tab to Dsname level and hit enter. Then edit Z30163.PDS.DATA and select MIX.
Only some lines are readable. Let’s reset and display the cols on line 000001. Yes, on a line. Not the primary command cols. Next, issue the hex on primary command to view the hexadecimal representation of each character.
It looks weird doesn’t it? Let me visualise it a bit better for you.
EBCDIC uppercase T is hexadecimal xE3 where x means hexadecimal. Same way around if you issue the source ascii primary command.
The word binary is mispelled on line 000004 and 000005. It is written as binery instead of binary. I can just overwrite the e with an a, but where’s the fun in that? To change the e to an a I’ll change 8,5 to 6,1.
The CHANGE command can also do the job by using CHANGE ALL binery binary.
As you can see in the image above. The change command changed binery to binary. Now I’m left with a packed decimal. They can only be viewed when using the hex on mode. Line 000007 can be represented as the 2×3 matrix [[1,0,8],[2,1,C]]. Let’s take a look at the Packed Decimal table.
So the 2×5 matrix [[1,3,5,7,9],[2,4,6,8,C]] equals to 123,456,789 (+). What would our matrix equal then? Does it equal to 12018 (+)? I’m a bit sceptical as it’s not exactly 2018. Is the ‘1’ wrong? I need to enter the decoded “packed decimal” value in EBCDIC format in the line 000008 text area colums 1-5 and the sign character in column 6.
That leaves me with this.
It’s funny to think that a human can learn a character format in less than 5 minutes. I’m impressed with myself. Let’s copy all 8 lines using the line command c8 and add it to our P2.OUTPUT(#08) data set.
Copied! I’ve just verified the creation and contents of member #08 and all seems ok!
This was refreshing! Challenge #07 didn’t get me demotivated or anything but it helps to have a short challenge once in a while! Don’t get me wrong, I’m not lazy 😉
Next challenge is BIG! (big as in fun and meaning, not length) I’m excited! I’m going to learn how to allocate 7 unique types of z/OS data sets. I also get to watch about 4 video’s about VSAM, DSORG and DSNTYPE.
I bet you don’t know what the features image is used for don’t you? It’s a punched card with the EBCDIC character set on it. Vintage!
How many video’s did you watch this week?