Eclipseを使用したメインフレーム・アプリケーション開発 - (2)z/OS基本操作

# はじめに
ここでは、Eclipseを使用したz/OSの基本的な操作を試してみます。無償の範囲で出来るところということで、IBM Explorer for z/OSを使った場合の例を示します。有償の開発ツールであるIDz(IBM Developer for z/OS)や、Wazi付属のWazi Developer for Eclipseなどもこの辺は共通です。
後続のアプリ開発を考えるとRSE接続の方ができることが多いのでそちらがベースになるのですが、ホスト側でRSE(Remote System Exporer)の構成も必要になるので、手っ取り早く使えるFTP接続のケースも一応やってみます。
※ホスト側の構成についてはここでは割愛します。

## 関連記事
[Eclipseを使用したメインフレーム・アプリケーション開発 - (1)概要](https://qiita.com/tomotagwork/items/0a6b273473333f849116)
[Eclipseを使用したメインフレーム・アプリケーション開発 - (2)z/OS基本操作](https://qiita.com/tomotagwork/items/67e7faac4ec30198f1d3)
[Eclipseを使用したメインフレーム・アプリケーション開発 - (3)ソース編集](https://qiita.com/tomotagwork/items/2db56a0981e8dac57a20)
[Eclipseを使用したメインフレーム・アプリケーション開発 - (4)ソース管理ツール/ビルドツール連携](https://qiita.com/tomotagwork/items/da039208be2f77c21285)
[Eclipseを使用したメインフレーム・アプリケーション開発 - (5)デバッガーの利用](https://qiita.com/tomotagwork/items/93457c9ba11870a7c357)

# FTP接続での操作
FTP接続でのz/OSの操作は、"z/OSパースペクティブ"で行います(ウィンドウ - パースペクティブ - パースペクティブを開く - z/OSを選択)。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/132331/43b04764-de9a-f05e-6bd1-9abcc2f038c4.png)

以降、z/OSパースペクティブで操作します。

## 接続構成

ホスト接続ビューで、z/OS FTPを選択して追加ボタンを押し、接続先z/OSごとに構成を追加します。

FTPサーバーの情報に合わせて適宜ホスト名やポート番号などFTPの設定を行います。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/132331/26d1fd80-0849-c98a-7954-0c883f9c114d.png)

接続定義ができたら、定義を選択して接続ボタンを押し、ユーザー/パスワードを入力します。接続が完了したら以下のように緑色のアイコンに変わり、FTP経由で各種操作ができるようになります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/132331/3c03c859-c568-8992-d83d-a7d1d34ad8d4.png)

## 基本操作

### PDSメンバーの参照/編集
データセットビューで、扱いたいデータセットのHLQを入力すると、そのHLQ以下のデータセット、メンバーがリストされます。操作したいメンバーをダブルクリックするとエディターが開いて中身を編集することができます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/132331/bdbbe402-3cf0-cdfc-60f7-6fffd6c31e7c.png)

### JCLサブミット
JCLを開いてエディター部分を右クリック(もしくはデータセットビューのリストから対象のJCLメンバーを右クリック)し、z/OSジョブのサブミットを選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/132331/5465cadc-696f-77bf-2e93-1e19b620a7e9.png)

コンソールにJOBIDが表示されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/132331/d60ff2f9-01cb-b0fd-68bc-dd2037cd0f4e.png)

### JOBLOG確認
コンソールのリンクを開くか、もしくはジョブビューからジョブ名等で検索し、当該JOBを開くと、z/OSジョブビューでJOBLOGを確認することができます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/132331/d70f57e9-07aa-60b8-7a66-373b5a7884eb.png)

※FTPではActiveなJOBLOGは確認できません。

# RSE接続での操作
RSE接続でのz/OSの操作は、"リモート・システム・エクスプローラー・パースペクティブ"で行います(ウィンドウ - パースペクティブ - パースペクティブを開く - リモート・システム・エクスプローラーを選択)。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/132331/e6169cb0-e85f-28d3-4064-9f8659cd1159.png)

以降、リモート・システム・エクスプローラー・パースペクティブで操作します。

## 接続構成
事前に証明書関連のプロパティを設定しておきます。
ウィンドウ - 設定 から、Explorer-証明書管理の中の、"SSLホスト名の検証を使用しない"にチェックを入れておきます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/132331/048ef3a0-158d-4f61-4490-5617da85a721.png)


リモート・システム・ビューの新規接続 - z/OSを右クリックし、新規接続を選択
接続先ホスト名を指定
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/132331/8ac4e765-da66-5c6f-62a8-ca1175670ed0.png)

RSEのポート番号を指定
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/132331/39355b68-a735-2651-cc58-2225bc462ab2.png)

リモート・システム・ビューで作成された接続構成を右クリック - 接続を選択
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/132331/8478a6f9-8d97-d199-fb89-07e4ff365ec0.png)

ユーザーID/パスワードを指定
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/132331/a8dee43a-62de-1c5d-132a-f22217d61817.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/132331/b120a156-0b7f-af4e-c2f2-1acf67213675.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/132331/4bdeb78c-875b-8bd7-c975-415ffd9cc373.png)

接続が完了すると、z/OS Unixファイル以下にUSSファイル、MVSファイル以下にデータセットがリストされます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/132331/520baea6-51a9-06e4-e926-6278af1998f9.png)

## 基本操作

### データセットのフィルター作成
リモート・システム・ビューのMVSファイル以下には、デフォルトだと接続したユーザーのHLQ以下のデータセットが表示されます。
それ以外のデータセットは検索してアクセスすることができますが、よく使用するHLQは登録しておくと楽にアクセスできます。

MVSファイルを右クリック - 新規 - フィルターを選択
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/132331/5fb7b114-d301-43dd-1996-9c7ce68518be.png)

HLQを入力
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/132331/6b730364-3c70-e685-03b1-94db89ee4318.png)

フィルターの名前を指定
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/132331/c4b9476b-2af2-56aa-baa8-cf0410ae2cf0.png)

ADCD.*以下がビューに追加されました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/132331/e33c343c-8bda-cd72-5688-b225be472a6f.png)

### PDSメンバーの参照/編集
リモート・システム・ビューから対象のメンバーを選択してダブルクリックするとエディターが開いて編集できます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/132331/a7015fc5-b31d-219e-8e6b-f0132943f49c.png)


### JCLサブミット
JCLを開いてエディター部分を右クリック(もしくはリモート・システム・ビューのリストから対象のJCLメンバーを右クリック)し、実行依頼先:xxxを選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/132331/a0ec429a-9758-d820-9bc5-32a9dd8f45f6.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/132331/3b8f7e20-7ea3-c338-765d-964177546bb3.png)

### JOBLOG確認

JCLサブミット時のポップアップで、"ジョブの位置指定"を選択すると、実行したジョブのJOBLOGを検索してくれます。DD名をダブルクリックすれば中身を参照できます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/132331/463d21b7-417e-5368-2733-f5500c0c02de.png)

また、JOB名を右クリック-表示-リモート・システム詳細を選択すると、リモート・システム詳細ビューに表形式で結果が表示されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/132331/998c1f94-76aa-f40a-b261-c0b5007b066d.png)

### 文字コード
RSE接続の場合、文字コードを柔軟に制御することができます。

まず、一番上のレベルとしてMVS全体のホスト側文字コードを指定できます。MVSファイルを右クリック-プロパティを選択します。
ホスト・コードページで、ホスト側のコードページを指定することができます。基本的にはここで指定されたコードページがホスト側コードページとして使われます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/132331/29898fdb-4631-4ee2-0411-1ecaf12740b6.png)

このMVSファイル以下にある個々のデータセットやメンバーの単位で、上位のプロパティを上書きすることができます。対象のデータセット/メンバーを右クリック - プロパティを選択します。
システム・マッピングからの継承選択すれば、上位で設定されたコードページが使われますし、その他を選択して明示指定すれば、ここで指定したコードページが使われます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/132331/de4fcc27-fe33-722d-d7a5-2fc026c19ef6.png)