0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

VS Code - z/OS連携 (4)基本操作: JES操作など

0
Last updated at Posted at 2026-05-22

はじめに

ここでは、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エージェントの活用: 実践編

全体像

image.png

JES関連操作

JCL編集

Submit対象のJCLの編集は、先の"ソース編集"の記事で記載したものと同様の手順で行えます。つまり、リモートのファイル(MVSデータセット上のPDSメンバー)でも、ローカルのファイル(Git管理のリポジトリをローカルにクローンしたもの等)でも扱えます。

image.png

VS CodeのエディターでJCLを開くと、COBOLやPL/Iのソース編集時と同様、Syntax Checkが行われて予約語の色分け表示、アウトライン表示、コード補完機能などが利用できます。

2026年5月時点では、JCLのコメント行に日本語が含まれているとその行がエラーと判断されてしまいます(赤の波線の下線が付く)。
当件については既にIssueとして報告されていますが、未解決状態です。
[LS JCL] Wrongly reporting invalid characters in JCL comments #534

参考:日本語コメントを含むJCL

image.png

JCL Submit

リモート・ファイルのSubmit

Zowe Explorerにてz/OSMFもしくはRSEでz/OSに接続し、MVSデータセットから対象のJCLを右クリック - [ジョブの実行依頼]を選択することで、JCLをSubmitできます。
image.png

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

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

image.png

ローカル・ファイルのSubmit

対象のJCLを右クリック - [JCLとして提出]を選択することで、JCLをSubmitできます。
image.png

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

接続先のz/OS環境を選択します。
image.png

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

image.png

JES Spool参照

z/OS上のSpoolを直接参照

上のように、JCLをSubmitした時に表示されるJOBIDのリンクを開くとピンポイントでそのJOBLOGを開くことができますが、OwnerやJOB名のPrefix指定でJOB一覧を表示させ、そこから選択してJOBLOGを参照することも可能です。

Zowe Explorer Viewの "ジョブ"のメニューから、接続したいz/OS環境の右側の検索アイコンをクリックします。
image.png

検索フィルターの作成を選択
image.png

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

Job Prefix を「*」→「COB*」に変更します。
image.png

変更されたので、「このクエリを送信する」を選択します。
image.png

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

JOBLOGのダウンロード

JOBLOGをローカルのファイルとしてダウンロードすることもできます。

対象のJOBを右クリック - [すべてダウンロード] を選択します。
image.png

ダウンロード先の適当なフォルダを選択します。
image.png

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

日本語を含むJCL/JOBLOGについての不具合

2026年5月時点で、上の一部の操作について、JCL/JOBLOGに日本語が含まれる場合に文字化けすることが確認されています。

例えば、日本語文字列を入出力データに含むテスト用のJCLを作成して、それをローカルファイルとしてSubmitする場合、RSE Profile経由で実行すると、JOBLOG参照した時に文字化けが発生してしまいます。
同じJCLをリモート(MVSデータセット上)に配置してSubmitした場合JOBLOGは文字化けしません。

また、VS Code上で日本語を含むJOBLOGの表示がうまくいっていたとしても、上で示したダウンロード機能を使ってローカルのファイルに落とすと文字化けしてしまいます。

日本語を含むJCLサンプル
xxx.TEST02J.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で明示的にエンコーディングを指定することで文字化けが解消されることが確認できています。

例:

zowe.config.json
    "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を取得する] を選択します。
image.png

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

SYSLOG参照

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

TSOコマンド実行

VS CodeからTSOコマンドを発行することが可能です。

z/OSMF Profile の場合

Zowe Explorer Viewで、対象のz/OSプロファイル名を右クリック - [TSOコマンドの発行] を選択します。
image.png

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

実行したいTSOコマンドを入力
image.png

再度Enter
image.png

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

ProfileでのAccount Number設定

毎回TSOコマンド実行時にAccount Numberを入力するのは面倒なので、zowe.config.jsonのProfileに指定しておくこともできます。
以下のように、"type": "tso"の properties以下にaccountの値として指定します。
例:

zowe.config.json
...
    "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コマンドの発行] を選択します。
image.png

実行したいTSOコマンドを入力
image.png

再度Enter
image.png

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

MVSコマンド実行

VS CodeからMVSコマンドの発行が可能です。
(z/OSMF Profileのみ)

z/OSMF Profileの場合

Zowe Explorer Viewで、対象のz/OSプロファイル名を右クリック - [MVSコマンドの発行] を選択します。
image.png

実行したいMVSコマンドを入力
image.png

再度Enter
image.png

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

※補足:ユーザーの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コマンドを実行しようとしてもエラーとなります。
image.png

エラーメッセージ
image.png

※補足:マニュアルの記述について
上のメッセージの通り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例

zowe.config.json
...
    "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コマンドの発行] を選択します。
image.png

実行したいUnixコマンドを入力
image.png

再度Enter
image.png

Unixコマンド実行結果が、出力viewの "Zowe Unixコマンド"に出力されます。
image.png

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?