The IBM z/OS is an operating system runs on a remote mainframe server. The server components can be accessed by services running on the mainframe and terminal services running on the client.
In early versions of z/OS, terminals were available with given shell (command prompt) only. In modern era, graphical interfaces e.g. the Microsoft Visual Studio Code (VSCode) is available.
The steps below build a client system under Windows as it was introduced by IBM XPlore courses. For this, a z/OS ID is given (used as username or userID) and a password.
These steps are building on each other.
The zowe.config.json JSON file contains the z/OS profiles used for all types of connections to the mainframe:
"zosmf" (z/OSMF)
"tso" (TSO)
"ssh" (SSH)
"rse" (RSE)
"base" (general)
Check the connection by typing the URL to a browser:
https://<mainframe IP>:<port>/<path to the service>
e.g. https://204.90.115.200:10443/zosmf/
The connection can be established only if the firewall settings etc. are correct. If successful, close the page.
Under Windows, functions are compatible only via the command prompt. In case only Powershell is available (the prompt shows "PS >"), when the prompt must be used, launch the Command Prompt from within the Powershell (CMD command).
Download Java SDK or JRE (20+ version); due to compatibility, install the IBM version for Java SDK here:
https://developer.ibm.com/languages/java/semeru-runtimes/downloads/
If you have other SDK for Java development, be sure to keep that in IntelliJ etc.
Download Node.js (LTS version), and install it:
https://nodejs.org/en/
Install the npm (Node Packet Manager) along, from within the installer.
Download VSCode, and install it:
https://code.visualstudio.com/download
Install IBM Z Open Editor extension:
enter into VSCode
open the extensions window
find and install the IBM Z Open Editor
this will create a Z icon on the iconbar in VSCode
press the icon, it will open the Zowe Explorer, consisting Data sets, the Unix System Services (USS) and the Jobs sections
after every launching, an information page opens as well, on which green-yellow-red mark found errors and warning on the found issues
correct the issues one-by-one, then restart VSCode to check if that was really solved
repeat the process until all three points receive green mark.
If there already is a data set (e.g. "zosmf") in the DATA SETS section in the Zowe Editor:
right-click on that
choose Manage Profile
a search window opens offering several options to choose from
choose Edit profile
the zowe.config.json opens
If there is no data set in the DATA SETS section in the Zowe Editor:
press the + sign next to the DATA SETS
a search window opens offering several options to choose from
choose Create a new Team Configuration file
the zowe.config.json opens
Set up mainframe connection in the JSON:
set the profiles/service/properties/port value (service value is e.g. "zosmf")
set the profiles/tso/properties/account and /logonProcedure value and others as needed
if there is no profiles/base section, copy-paste the "global-base" section and rename it to "base"
set the profiles/base/type/properties/host value to the mainframe IP address (e.g. 204.90.115.200)
check the profiles/base/rejectUnauthorized value: false if the server certificate is self-assigned
set the profiles/base/secure values if needed
set the defaults/base value to "base", and check the rest
check the rest of the attributes
save the file
as a result of actions, a new data set will appear.
EXAMPLE FOR ZOWE.CONFIG.JSON:
Set ID and password:
right-click on the new data set
choose Manage Profile
on first case, choose Create Credentials, afterward, choose Update Credentials
in the appearing window, type userID (uppercase), then type password
Set data set filter:
click on the magnifier icon next to the new data set (High Level Qualifier, HLQ filter)
a window pop-up
type the userID (home data set; userID is uppercase)
refresh the section if needed by closing-opening the data set
Manage errors if necessary:
restart VSCode, launch Zowe Explorer
right-click on the new data set, choose Update Profile, or Manage Profile/Update Credentials, enter the connection informations
right-click on the data set, choose Delete Profile, then start over
Set USS:
right click on USS/<the new profile>
choose Search Unix System Services (USS)
a search field pops-up
copy-paste "/z/userID" (lowercase)
a new line must appear, showing success
Set Jobs:
click on the magnifier icon next to JOBS/<the new profile>
choose Filter Jobs...
a filter field pops-up
choose Create Job Search Filter
copy-paste the "Owner: userID |Prefix: * |Status: *" pattern (without quote marks; userID is uppercase)
a new line must appear, showing success
Check USS via SSH:
open the terminal
check if the command prompt is started (Powershell: launch CMD)
type "ssh userID@serverIP" (userID is lowercase)
if certificate or fingerprint is self-generated, a warning appears, accept it by typing "yes"
type the password (copy-paste works)
type "ls" for checking SSH functions
Install Python:
launch VSCode
open the extensions window
find and install Python, Python Debugger, Pylance, Python Environments extensions
Install Zowe CLI:
exit VSCode
launch Command Prompt (if there is none, launch CMD within Powershell)
launch "npm i -g @zowe/cli" (installing a lot)
launch "zowe" (working a lot)
Degugging:
in case for "zowe" the response is "command not found" or similar, close the terminal window, enter into it again, and launch "zowe" again
in case it is still not found, add to the PATH variable the location of the zowe program (usually C:\Windows\node_modules/bin or %USERPROFILE%\AppData\Roaming\npm)
in case it still does not work, run "npm i @zowe/cli", then "zowe"
Checking:
launch VSCode
open the terminal window (in case Powershell, launch CMD from within)
launch "zowe"
Checking TSO connection:
launch VSCode
open the terminal window (in case Powershell, launch CMD from within)
check connection by launching "zowe files list ds "userID*"" for checking connection (without the outer quote marks; userID is uppercase)
alternatively, check the connection by launching "zowe config list" (to check the z/OS profiles; without the outer quote marks)
alternatively, check the connection by launching "zowe config list default" (to check only the z/OS profile defaults; without the outer quote marks)
Setup under VSCode and mainframe:
install IBM Z Open Editor extension (if it was not done earlier)
check whether the Selection/Column Selection Mode is off (default should be off, on should be upon need only)
open View/Command Palette, type "json", select Open User Settings (JSON) (opens settings.json file)
find "editor.rulers" attribute to edit the ruler, if there is none, add the "editor.rulers" attribute (see the exact formula below)
set the rulers to 72 (after this vertical position the characters are not evaluated)
close and save
Rulers settings key and value:
"editor.rulers": [72]
Before starting a given task:
create PDS datasets for COBOL, JCL and JSON as per need