はじめに
ここでは、VS Codeから Zowe Explorer、Z Open Editorを使用して実施できる基本的な操作(無償でできる範囲)のうち、主にソース編集以外の操作(JESやMVSコマンドなど)に関連する部分について解説します。
関連記事
VS Code - z/OS連携 (1)概要
VS Code - z/OS連携 (2)基本構成
VS Code - z/OS連携 (3)基本操作: ソース編集
VS Code - z/OS連携 (4)基本操作: JES操作など
VS Code - z/OS連携 (5)DBBユーザー・ビルド
VS Code - z/OS連携 (6)Advanced Capability
VS Code - z/OS連携 (7)AIエージェントの活用: 概要
VS Code - z/OS連携 (8)AIエージェントの活用: 実践編
全体像
JES関連操作
JCL編集
Submit対象のJCLの編集は、先の"ソース編集"の記事で記載したものと同様の手順で行えます。つまり、リモートのファイル(MVSデータセット上のPDSメンバー)でも、ローカルのファイル(Git管理のリポジトリをローカルにクローンしたもの等)でも扱えます。
VS CodeのエディターでJCLを開くと、COBOLやPL/Iのソース編集時と同様、Syntax Checkが行われて予約語の色分け表示、アウトライン表示、コード補完機能などが利用できます。
2026年5月時点では、JCLのコメント行に日本語が含まれているとその行がエラーと判断されてしまいます(赤の波線の下線が付く)。
当件については既にIssueとして報告されていますが、未解決状態です。
[LS JCL] Wrongly reporting invalid characters in JCL comments #534
JCL Submit
リモート・ファイルのSubmit
Zowe Explorerにてz/OSMFもしくはRSEでz/OSに接続し、MVSデータセットから対象のJCLを右クリック - [ジョブの実行依頼]を選択することで、JCLをSubmitできます。

以下のポップアップが出るので[Submit]をクリックします。

画面右下にJOBIDが表示されます。JOBIDのリンクをクリックするとJOBLOGの確認ができます。

ローカル・ファイルのSubmit
対象のJCLを右クリック - [JCLとして提出]を選択することで、JCLをSubmitできます。

以下のポップアップが出るので[Submit]をクリックします。

画面右下にJOBIDが表示されます。JOBIDのリンクをクリックするとJOBLOGの確認ができます。

JES Spool参照
z/OS上のSpoolを直接参照
上のように、JCLをSubmitした時に表示されるJOBIDのリンクを開くとピンポイントでそのJOBLOGを開くことができますが、OwnerやJOB名のPrefix指定でJOB一覧を表示させ、そこから選択してJOBLOGを参照することも可能です。
Zowe Explorer Viewの "ジョブ"のメニューから、接続したいz/OS環境の右側の検索アイコンをクリックします。

デフォルトでは、接続ユーザーがOwnerになっているすべてのJOBを検索するようになっています。ここでは、Job Prefixを選択して変更します。

検索フィルターに指定した条件に合致するJOBの一覧が表示されるので、そこから参照したいJOBLOGを選択して中身を確認することができます。

JOBLOGのダウンロード
JOBLOGをローカルのファイルとしてダウンロードすることもできます。
対象のJOBを右クリック - [すべてダウンロード] を選択します。

以下のように、各ステップのDD単位にtxtファイルとしてJOBLOGが保存されます。

日本語を含むJCL/JOBLOGについての不具合
2026年5月時点で、上の一部の操作について、JCL/JOBLOGに日本語が含まれる場合に文字化けすることが確認されています。
例えば、日本語文字列を入出力データに含むテスト用のJCLを作成して、それをローカルファイルとしてSubmitする場合、RSE Profile経由で実行すると、JOBLOG参照した時に文字化けが発生してしまいます。
同じJCLをリモート(MVSデータセット上)に配置してSubmitした場合JOBLOGは文字化けしません。
また、VS Code上で日本語を含むJOBLOGの表示がうまくいっていたとしても、上で示したダウンロード機能を使ってローカルのファイルに落とすと文字化けしてしまいます。
日本語を含むJCLサンプル
//TEST02J JOB (ACCT001),'TEST',CLASS=A,MSGCLASS=X,
// MSGLEVEL=(1,1),NOTIFY=&SYSUID
//*
//* 日本語コメント: このJCLは日本語を含みます
//*
//STEP1 EXEC PGM=IEFBR14
//*
//STEP2 EXEC PGM=IEBGENER
//SYSPRINT DD SYSOUT=*
//SYSUT1 DD *
日本語メッセージのテスト
This is a test of Japanese message output
実行日時: 2026年4月
/*
//SYSUT2 DD SYSOUT=*
//SYSIN DD DUMMY
//
状況を以下に整理します。
| オペレーション | 結果 | 補足 |
|---|---|---|
| z/OSMFリモート | OK | |
| z/OSMFローカル | OK | ※1 要jobEncoding指定 |
| z/OSMFダウンロード | NG | |
| RSEリモート | OK | |
| RSEローカル | NG | |
| RSEFダウンロード | NG |
結果にNGとなっているオペレーションが、日本語を含むJOBLOG参照で文字化けが発生しているものです。
※1は、zowe.config.jsonにて、z/OSMFプロファイルのプロパティとしてjobEncodingで明示的にエンコーディングを指定することで文字化けが解消されることが確認できています。
例:
"profiles": {
"odeinst1": {
"properties": {
"host": "odeinst1",
"rejectUnauthorized": false
},
"profiles": {
"zosmf": {
"type": "zosmf",
"properties": {
"port": 10443,
"encoding": "IBM-1399",
"jobEncoding": "IBM-1399"
},
"secure": ["user", "password"]
},
...
なお、これらの挙動に関しては以下Issue起票済みです。
JCL Submit from local file fails to properly encode Japanese (DBCS) characters #4196
Job Output Download Fails to Respect jobEncoding Setting #4203
実行されたJOBからJCLの取得
一度実行されたJOBのリストからJCLを取得し、再度そのJCLを実行することもできます(PCOMのSDSFにてJOB一覧から「SJ」コマンドでJCLを再実行するイメージ)。
Zowe Explorer Vieの JOB一覧から対象のJOBIDを右クリック - [JCLを取得する] を選択します。

一時ファイルとしてエディターでJCLが開くので、適宜編集できます。編集が終わったらエディター内の任意の場所をを右クリック - [JCLとして提出] を選択すると、そのJCLをSubmitできます。

SYSLOG参照
SYSLOGを参照する専用のViewのようなものは提供されていませんが、Zowe Explorer Viewの "ジョブ"のメニューから、Spool上のActiveなSYSLOGを参照することは可能です。

TSOコマンド実行
VS CodeからTSOコマンドを発行することが可能です。
z/OSMF Profile の場合
Zowe Explorer Viewで、対象のz/OSプロファイル名を右クリック - [TSOコマンドの発行] を選択します。

Account NumberをProfileに指定していない場合、以下のようにポップアップで入力を促されるのでAccount Numberを入力する。(ProfileでのAccount Number指定方法は後述)

TSOコマンド実行結果が、出力viewの "ゾウェTSOコマンド"に出力されます。(Zoweの日本語表記が変ですが気にしないで!)

ProfileでのAccount Number設定
毎回TSOコマンド実行時にAccount Numberを入力するのは面倒なので、zowe.config.jsonのProfileに指定しておくこともできます。
以下のように、"type": "tso"の properties以下にaccountの値として指定します。
例:
...
"profiles": {
"odeinst1": {
"properties": {
"host": "odeinst1",
"rejectUnauthorized": false
},
"profiles": {
"zosmf": {
"type": "zosmf",
"properties": {
"port": 10443,
"encoding": "IBM-1399",
"jobEncoding": "IBM-1399"
},
"secure": ["user", "password"]
},
"tso": {
"type": "tso",
"properties": {
"account": "ACCT001"
}
},
...
RSE Profile の場合
※TSOコマンドを実行する場合、z/OS側ではISPF Gatewayの構成が必要になります。
参考: ISPF.conf, the Legacy ISPF Gateway configuration file
Zowe Explorer Viewで、対象のz/OSプロファイル名を右クリック - [TSOコマンドの発行] を選択します。

TSOコマンド実行結果が、出力viewの "ゾウェTSOコマンド"に出力されます。(Zoweの日本語表記が変ですが気にしないで!)

MVSコマンド実行
VS CodeからMVSコマンドの発行が可能です。
(z/OSMF Profileのみ)
z/OSMF Profileの場合
Zowe Explorer Viewで、対象のz/OSプロファイル名を右クリック - [MVSコマンドの発行] を選択します。

MVSコマンド実行結果が、出力viewの "ゾウMVSコマンド"に出力されます。(Zoweの日本語表記が変ですが気にしないで!)

※補足:ユーザーのRACF権限について
マニュアルがちょっと分かりにくかったので補足です。z/OSMF Profile経由でMVSコマンドを実行する場合、内部的にはz/OSMFの z/OS console services(/zosmf/restconsoles/)が使用されます。使用するユーザーは以下のガイドに示される権限を付与しておく必要がありますのでご注意ください。
参考: Resource authorizations for the z/OS console REST interface
RSE Profileの場合 => 実行不可
RSE Profileの場合MVSコマンドの実行はできません!
RSE Profileを右クリックした場合もプルダウンメニューに [MVSコマンドの発行]というメニューが表示されますが、これを選択してMVSコマンドを実行しようとしてもエラーとなります。

※補足:マニュアルの記述について
上のメッセージの通りRSE ProfileだとMVS Command実行は実装されていないので使用不可です。が、実際にメニューにも出てきてしまいますし、ドキュメント上も分かりにくいので念のため補足します。
以下のドキュメントには特にz/OSMFが前提である旨の記述は明記されていません。
Issuing MVS commands
ただ、RSE Profileは Zowe CLIのRSE API Plug-inを内部的に使用しており、そちらを確認するとMVS Command実行のためのコマンドが提供されていないことが分かります。
参考: IBM RSE API Plug-in for Zowe CLI commands
また、そもそもこのCLIはz/OS側でRSE APIが提供しているREST APIを呼び出しているので、RSE APIのドキュメントを確認しても、MVS Commandを実行するためのAPIは提供されていません。
参考: RSE API Docs
ということで、RSE Profile経由でのMVSコマンドは実行不可となります。
SSHコマンド実行
z/OS側にSSHサーバーが立っていて、SSHクライアントから接続できる状態になっていれば、SSH Profileを作成することで、VS CodeからSSHのプロトコル経由でz/OS USSのシェル上でコマンドを実行することができます。
ただ、SSHクライアントはWindows上でも普通に提供されているので、VS CodeのUIから発行できるメリットはあまりないと思いますが...。
SSH Profile例
...
"profiles": {
"odeinst1": {
"properties": {
"host": "odeinst1",
"rejectUnauthorized": false
},
"profiles": {
"zosmf": {
"type": "zosmf",
"properties": {
"port": 10443,
"encoding": "IBM-1399",
"jobEncoding": "IBM-1399"
},
"secure": ["user", "password"]
},
"ssh": {
"type": "ssh",
"properties": {
"port": 2022,
"user": "TAG",
"privateKey": "C:\\Users\\TomohiroTaguchi\\.ssh\\eeZdev_ISECloud\\id_rsa_odeinst1_root"
}
},
...
上の例は、公開鍵での認証が行えるよう設定済みの前提で、ユーザーとPrivateKeyをプロパティーに指定しています。
Zowe Explorer Viewの "USS"のメニューから、z/OSMF Profile もしくは RSE Profileにてコマンドを実行したいディレクトリを選択します。ディレクトリを右クリック - [Unixコマンドの発行] を選択します。


















