Upgrade to Pro — share decks privately, control downloads, hide ads and more …

IBM Dojo : OpenShiftでメインフレームCOBOL開発 / ibmdojo-wazicobol-2021

IBM Dojo : OpenShiftでメインフレームCOBOL開発 / ibmdojo-wazicobol-2021

IBM Tech/Developer Dojo
IBM Dojo : OpenShiftでメインフレームCOBOL開発

Mieko Komaba

July 12, 2021
Tweet

More Decks by Mieko Komaba

Other Decks in Technology

Transcript

  1. 学習の目的とゴール 目的 • OpenShift上の仮想z/OS環境 - Waziの概要を知る • VSCodeでCOBOLアプリケーションの開発を体験してみる ゴール •

    VSCodeからOpenShift上のz/OSへ接続できる • VSCodeからCOBOLアプリケーションを編集できる • VSCodeからアプリケーションのコンパイル、実行ができる このコースを学ぶ方の想定スキル • COBOLアプリケーションを作ったことがある、またはこれから作ってみたい • VSCodeを使ったことがある、またはこれから使ってみたい
  2. • 開発環境をすばやく柔軟に準備したい • メインフレーム・アプリケーションの開発要員不足 を解消したい • 3270画面を脱却しリッチなUIで開発作業を 行いたい • ソースの一元管理、開発作業の効率化、迅速

    化を図りたい Jenkins メインフレーム開発環境モダナイゼーション VSCode Eclipse IBM Cloud OpenShift Cluster Git Server Repository UT環境 IT環境 Wazi (疑似z/OS) 開発者 zの開発/テスト環境 をCloud上に構築 UT環境 Wazi (疑似z/OS) オープン系と同じよ うなイメージで COBOLアプリ開発 CI/CDへ向けた自動化 管理者 Waziを利用し、OpenShift上にz/OS開発・ テスト環境を構築できます VSCode、EclipseベースのUIを使用した 豊富な開発支援機能を利用できます Gitによるソース管理、Jenkinsによる自動化など OSSを活用して開発サイクルを刷新できます
  3. IBM Wazi Developerとは IBM Wazi Developer for Red Hat CodeReady

    Workspaces • OpenShift上で稼働するz/OS開発環境 • 主に以下の3つの機能群で構成される • Wazi Sandbox • OpenShift上で稼働するz/OSランタイム • z/OS、各種ミドルウェア、コンパイラー、 デバッグツールなど • z/OSアプリケーションの開発・テスト環境 • Wazi Code • 開発支援ツールを提供 • 使い慣れたIDEでz/OSアプリ開発 • Wazi Analyze • アプリケーションの依存関係分析ツール • アプリ変更の影響をWeb UIで分析 Pod Wazi Sandbox VSCode Eclipse Pod Pod CodeReady Workspaces z/OS CICS DB2 IMS z/OSMF ブラウザー 1 2 3 Source File Scan Code Code Code Analyze License Server OpenShiftクラスター上に z/OS開発環境一式をセットアップ
  4. VSCodeでメインフレーム・アプリケーション開発を実現する2つのExtension • IBM Z Open Editor • z/OSプログラム言語の編集機能を強化 • COBOL、PL/IやJCLを構文解析し、

    z/OSアプリケーション開発のための エディター機能を提供 • コード補完 • コード・スニペット • リアルタイム構文検査 • COPYBOOKナビゲーション • アウトライン、等 • IBM Zowe Explorer • Zowe CLIを使用してz/OSへアクセス • データセット内メンバーの参照・編集 • JOB実行、等 アプリケーション開発環境 エラー箇所 (赤の波線) ポップアップで エラー内容表示 Error数(赤) Warning数 (黄)
  5. (参考) Zowe • z/OS上のリソースを活用するためのフレームワーク • オープンソース・プロジェクト • EPL(Eclipse Public License)

    2.0 • 主要コンポーネント • Zowe Application Framework • ブラウザベースのUI開発 • API Mediation Layer • z/OS上のサービスのGateway、リバース・プロキシー • Zowe CLI • リモートからz/OSのリソースにアクセスするためのコマンドラインインターフェース
  6. 事前準備 本Dojoのハンズ・オンでは、VSCodeからz/OS環境へ接続します ご使用のPCに以下をインストールしておいてください • Java SDK - 64bit version 8またはそれ以降

    • node.js version 8.0または以降 • npm version 5.0またはそれ以降 • Zowe CLI version 6.22またはそれ以降 • Visual Studio Code (以下VSCode) version 1.44またはそれ以降 詳しい手順は次ページ以降でご案内します
  7. 事前準備 1. Java SDKのインストール 1. ご使用のPCにインストールされているJava SDKのバージョンを確認します • コマンド・プロンプトやターミナルで以下のコマンドを実行します •

    インストールされているJavaのバージョンが表示されます (以下は出力例です) • java version "1.8.0_xxx"以降が表示されていれば以下の作業は不要です • java versionが"1.8.0_xxx"未満、あるいは結果が出力されない場合は以下を実施してください 2. Java SDKをインストールします • 以下のURLから、ご使用OSに応じたファイルをダウンロードし、インストールしてください https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html • インストールが完了したら、1の手順を再実行してバージョンを確認してください java version "1.8.0_241" Java(TM) SE Runtime Environment (build 1.8.0_241-b07) Java HotSpot(TM) 64-Bit Server VM (build 25.241-b07, mixed mode) java -version
  8. 事前準備 2. node.jsのインストール 1. ご使用のPCにインストールされているnode.jsのバージョンを確認します • コマンド・プロンプトやターミナルで以下のコマンドを実行します • インストールされているnode.jsのバージョンが表示されます (以下は出力例です)

    • v8.0以降が表示されていれば以下の作業は不要です • v8.0未満、あるいは結果が出力されない場合は以下を実施してください 2. node.jsをインストールします • 以下のURLを開きます https://nodejs.org/ja/download/ • ご使用OSに応じた最新LTSバージョンの ファイルをダウンロードし、インストールしてください • インストールが完了したら、1の手順を再実行 してバージョンを確認してください node --version v10.20.1
  9. 事前準備 4. Zowe CLIのインストール 1. ご使用のPCにZowe CLIがインストールされているか確認します • コマンド・プロンプトやターミナルで以下のコマンドを実行します •

    インストールされているnode.jsのバージョンが表示されます (以下は出力例です) • v6.22以降が表示されていれば以下の作業は不要です • v6.22未満、あるいは結果が出力されない場合は以下を実施してください 2. Zowe CLIをインストールします • コマンド・プロンプトやターミナルで以下のコマンドを実行します • インストールが完了したら、1の手順を再実行してバージョンを確認してください ※この手順ではオンライン・レジストリー経由でインストールを実施しています うまくいかない場合は次ページの「Zowe CLIをローカル・パッケージからインストール」を試してみてください zowe --version 6.25.1 npm install -g @zowe/cli@zowe-v1-lts
  10. (参考)Zowe CLIをローカル・パッケージからインストール 1. Zowe CLIインストーラーをダウンロードします • 以下のURLを開きます • https://www.zowe.org/download.html •

    Client-side component installer内の"Zowe v.r.m CLI Core"をクリックします(v.r.mはバージョン番号です) • End User License Agreement for Zoweの画面が 表示されたら、"I agree"をクリックします • "zowe-cli-package-v.r.m.zip"ファイルのダウンロードが 開始されます 2. 1のzipファイルを任意のフォルダーに展開します (この例ではC:¥TEMP¥ZOWE-CLI-PACKAGE-1.22.0) 3. Zowe CLIをインストールします • コマンド・プロンプトやターミナルで以下のコマンドを実行します • 2.の展開先フォルダーに移動します • npm installコマンドを実行します C:¥TEMP¥ZOWE-CLI-PACKAGE-1.22.0 │ secure-credential-store-for-zowe-cli.tgz │ zowe-cli.tgz │ └─licenses zowe_licenses_full.zip cd ¥TEMP¥ZOWE-CLI-PACKAGE-1.22.0 npm install -g zowe-cli.tgz クリック
  11. 事前準備 5. VSCodeのインストール ご使用のPCにVSCodeがインストール済みの 場合は、この手順は実施不要です 1. VSCodeインストーラーをダウンロードします • 以下のURLを開きます https://code.visualstudio.com/download

    • ご使用OSに応じたファイルをダウンロードします 2. VSCodeをインストールします • 1.のインストーラー・ファイルを実行します • セットアップ・ウイザードに従ってインストールを 完了します • 「追加タスクの選択」はデフォルトのままで問題ありません • ご使用環境に合わせて、必要に応じて変更してください
  12. (参考情報) VSCodeのメニュー表示を⽇本語にするには? 1. VSCodeを起動します 2. Language Packをインストールします a. Viewメニュー >

    Command Paletteをクリックします b. "Configure Display Language"を選択します • プロンプトに"configure"と入力すると、候補として表示されます c. ”Install Additional Languages"をクリックします • ここでjaが候補として表示される場合はインストール済みなので、jaを選択して VSCodeを再起動すれば表示を切り替えられます d. Extensionsビューが開きます e. Japanese Language Pack for Visual Studio Codeを探して Installをクリックします 3. 言語を切り替えてVSCodeを再起動します • インストールが完了すると、右のポップアップが表示されます • "Change Language and Restart"をクリックすると、VSCodeが再起 動し、表示が⽇本語に切り替わります • 手動で切り替える場合は、2a - 2c.の手順で言語を選択してください 事前準備 5. VSCodeのインストール
  13. ハンズオンの流れ 1. VSCode Extensionをインストールしよう 2. VSCodeからz/OSへ接続しよう 3. COBOLアプリケーションをコンパイル & 実行してみよう

    4. COBOLアプリケーションを編集しよう おまけ 1. 便利な機能をいろいろ試してみよう Wazi Sandbox VSCode z/OS Code .COBOL .JCL .LOAD Data Sets source JCL z/OSMF 1. Extenson インストール 2. z/OS接続 3. COBOLコン パイル、実行 3. COBOLコン パイル、実行 4. COBOL編集
  14. 1.VSCode Extensionをインストールしよう • VSCodeからz/OSへのアクセスに使用 する、2つのExtensionをインストール します • IBM Z Open

    Editor Extension • z/OSプログラム言語の編集機能を強化す るためのアドオンです • COBOL、PL/IやJCLを構文解析し、カラー 表示やコード・アシストなど、z/OSアプリケー ション開発のためのエディター機能が使用可 能になります • IBM Zowe Explorer Extension • IBM Z Open Editorの前提機能です • Zowe CLIを使用してz/OSへアクセスする ことが可能になります • IBM Z Open Editor Extensionをイン ストールすると自動的にインストールされます Clus ter Pod(Sandbox) IBM Clou d Block Storag e PaaS Persi stent Volu me Wind ows1 0 Serv ice Container(Linux) zpdt(z/OS) TN3270 SSH z/OSMF RSE ・ ・ ・ haproxy (10 443 ) (3 19 17 ) Browser(z /OSMF) Zowe CLI VSCode Zowe Explorer Z Open Editor Z Open Debug HT TP S
  15. 1.VSCode Extensionをインストールしよう 1. VSCodeを起動します 2. IBM Z Open Editor Extensionをインストールします

    • 左側サイドメニューから、拡張機能(Extensions)のアイコンをクリックします • IBM Z Open Editorを検索して表示させ、インストール(Install)をクリックします クリック zoweで検索するとIBM Z Open Editor が表示されます インストール(Install) をクリックします インストール完了すると 管理アイコンに変わります 自動でZowe Explorerも インストールされます
  16. 1.VSCode Extensionをインストールしよう 3. Extensionインストールが完了すると、左側サイドメニューにZoweアイコンが表 示されるので、クリックしてZowe Explorer画面に切り替えます クリック Zowe Explorerには3つのビューが表示されます: •

    DATA SETS ビュー • MVSデータセットを表示します • プログラム・ソースを開いて編集したり、ジョブを実行で きます • UNIX SYSTEM SERVICES (USS) ビュー • USSフォルダー及びファイルを表示します (今回は使用しません) • JOBS ビュー • ジョブ、スプール・ファイルを表示します • 実行したジョブの結果(JOBLOG)を確認できます 1.VSCode Extensionをインストールしよう はこれで終了です DATA SETSビュー JOBSビュー
  17. z/OSへ接続するための接続プロファイルを作成します • VSCodeでターミナル・ビューを開きます • VSCodeのターミナル(Terminal)メニューを開き、新しいターミナル(New Terminal)をクリックします • コマンドで接続プロファイルを作成します • 開いたターミナルで以下のコマンドを実行します

    資料上は改行されていますが、連続した1つのコマンドとして入力してください また、<>で囲われた以下のオプション値はハンズオン当⽇にお知らせする環境情報に置き換えてください 2.VSCodeからz/OSへ接続しよう zowe profiles create zosmf-profile <dojo_yyyymmdd> --host <zosurl> --port <port> --user <userid> --pass <password> --reject-unauthorized false --encoding 1399 オプション 説明 ハンズオン時の指定 <dojo_yyyymmdd> 作成する接続プロファイル名 'dojo_'+今⽇の⽇付を指定します (例: 2021年7月1⽇であれば、dojo_20210701) <zosurl> 接続先z/OSのホスト名 ハンズオン当⽇にお知らせします <port> 接続先z/OSのポート番号 ハンズオン当⽇にお知らせします <userid> z/OS接続に使用するユーザーID ハンズオン当⽇にお知らせします <password> z/OS接続に使用するパスワード ハンズオン当⽇にお知らせします クリック
  18. • コマンド実行結果を確認します • 右の例のように、 • "Profile created successfully!" • が出力されれば成功です

    • Zowe Explorerにプロファイルを表示 します • Zowe ExplorerビューのDATA SETSセ クション右側に、2つのアイコンがあります • 最初に、 (Refresh)アイコンをクリックし ます • 次に、 (Add profile)アイコンをクリック します • 先ほど作成したプロファイル "dojo_yyyymmdd"を選択します • DATA SETSの下に選択したプロファイル が表示されます 2.VSCodeからz/OSへ接続しよう クリック クリック クリック 2.VSCodeからz/OSへ接続しよう はこれで終了です 成功メッセージ
  19. 3. COBOLアプリケーションをコンパイル & 実行してみよう 簡単なCOBOLアプリケーションをVSCodeからコンパイル、実行してみましょう 3-1. z/OS上のデータセットにアクセスして表示します 1. データセットのサーチを開始します •

    Zowe ExplorerのDATA SETSビューを開き、作成したプロファイル "dojo_yyyymmdd"右側の虫眼鏡アイコンをクリックします 2. HLQ(高位修飾子)を指定します • +Create a New filter.フィールドに、表示したいデータセット名のHLQを 以下のように入力します • DOJO.userid.* useridはハンズオン当⽇にお知らせするユーザーIDです (右の例ではDOJOUSR) 3. z/OSからデータセット・リストの取得を開始します • エンターキーを押します 入力フィールドが消えて処理が開始されるまで何回か押してください 4. 完了すると、以下のデータセットが表示されます • DOJO.userid.COBCOPY • DOJO.userid.COBOL • DOJO.userid.JCL • DOJO.userid.LOAD クリック DOJO.userid.* を指定してエンター データセットが表示される
  20. 3. COBOLアプリケーションをコンパイル & 実行してみよう 3-2. コンパイル&実行JCLを実行します 1. COBOLソースを確認してみましょう • DOJO.userid.COBOLデータセットを展開します

    • HELLO1をクリックすると、ソースが表示されます • 文字列を表示するだけの簡単なCOBOLプログラムです 2. コンパイルJCLを確認してみましょう • DOJO.userid.JCLデータセットを展開します • HELLO1をクリックすると、JCLが表示されます 3. JCLを実行してみましょう • DATA SETSビューで、 DOJO.userid.JCLデータセッ ト内のHELLO1を右クリックします • Submit Jobをクリックします • メッセージ"Job submitted JOBnnnnn"が表示されます クリック クリック 右クリック クリック
  21. 3. COBOLアプリケーションをコンパイル & 実行してみよう • 3-3. 実行結果を確認します • z/OSからJOBLOGリストを取得します •

    Zowe Explorerで、JOBSの右側の「+」アイコン をクリックします • 作成済みプロファイル dojo_yyyymmddが表示 されるので、クリックます • JOBSビューに表示されたプロファイルを展開すると、 JOBLOG一覧が表示されます • ここには、プロファイルで指定したユーザーID下で実行 したJobだけが表示されます • HELLO Jobの結果を確認します • HELLO(JOBnnnnn)のccを確認します • ccはJobのリターンコードです (0000で成功) • Joblogを展開し、RUN:SYSOUTをクリックします • COBOL DISPLAY命令の出力が確認できます クリック cc 0000を確認 クリック クリック 3.COBOLアプリケーションをコンパイル & 実行してみよう はこれで終了です 実行結果確認
  22. 4. COBOLアプリケーションを編集しよう ここでは、ソース編集の便利な機能を少しだけ体験してみましょう 1. HELLO2ソースを開きます • Zowe ExplorerのDATA SETSビューを開きます •

    DOJO.userid.COBOLデータセット内のHELLO2をクリックします 2. エラー箇所を修正します • ソースを見ると、13行目に赤い波線が表示されています • 波線箇所にカーソルを合わせると、エラー内容が表示されます • ここでは、フィールド 'HELLO-DATA'が存在しない、と教えてくれています • 正しいフィールド名 'DISPLAY-DATA'に書き換えます • 赤い波線が消えて、エラーが解消したことがわかります 3. また、10行目 USER-NAMEフィールドのVALUEを別の文 字列に書き換えておくと、後続の実行結果で変更を確認で きます • 全角文字は使用しないでください (Joblogで正しく表示できません) 4. 修正したソースを保管します • Ctrl + Sキーを押して修正をz/OS上のデータセットに反映させます 波線部にカーソルを 合わせてエラー内容確認 修正 クリックしてソースを開く 好きな文字列に 変更してみる
  23. 4. COBOLアプリケーションを編集しよう HELLO1 JCLをコピーして新しいJCLを作成 しましょう 1. 既存のJCLメンバーをCopyします • JOBSビューのDOJO.userid.JCLデータセットを展 開します

    • 3.で実行したHELLO1 JCLが表示されます • HELLO1を右クリックして、Copy Memberをクリック します 2. Pasteして新しいJCLメンバーを作成します • DOJO.userid.JCLデータセットを右クリックします • Paste Memberをクリックします • 作成するメンバー名を聞かれるので、HELLO2と入 力してエンターキーを押します • HELLO2が追加されました 右クリック クリック 右クリック クリック 新しいメンバー名 HELLO2と入力してエンター HELLO2が作成される
  24. 4. COBOLアプリケーションを編集しよう コピーしたJCLを編集して実行してみましょう 1. 作成したHELLO2 JCLを編集します • DOJO.userid.JCLデータセットのHELLO2をクリックして開きます • 以下、赤字の箇所を修正します

    • 1行目: //HELLO2 JOB ... • 4行目: COBOL.SYSIN DD ...(HELLO2),DISP=SHR • 5行目: LKED.SYSLMOD DD ...(HELLO2),DISP=SHR • 9行目: ... EXEC PGM=HELLO2 • Ctrl + Sキーを押して修正を保管します 2. JCLを実行します • Zowe Explorerビュー > DOJO.userid.JCLデータセット内の HELLO2を右クリックします • Submit Jobをクリックします 3. HELLO2 Jobの結果を確認します • JOBS セクション右側のRefresh Jobs Viewアイコン をクリック すると、今実行したJOBが表示されます • HELLO2がcc 0000で正常終了していることを確認します • RUN:SYSOUTをクリックし、実行結果を確認します クリック cc 0000を確認 実行結果 右クリック クリック 修正して保管 4.COBOLアプリケーションを編集してみよう はこれで終了です
  25. 1. VSCodeのワークスペースを作成します ワークスペース = 作業場となるフォルダーです。ワークスペース単位で環境設定できます i. PC上に作業用のフォルダーを作成します • フォルダー名は任意です (以下の例では、dojo_work_20210701という名前で作成しています)

    • コマンド・プロンプトやターミナル、VSCodeのターミナル等からmkdirコマンド実行で作成できます ii. 作成したフォルダーをVSCodeで開きます • VSCodeのファイル(File)メニュー > フォルダーを開く(Open Folder)をクリックします • 上で作成したフォルダーを選択します • 右の警告が表示されたら、「はい、作成者を信頼します」をクリックしてください • エクスプローラー・ビューにフォルダーが表示されれば完了です • この例では、 DOJO_WORK_20210701が表示されます 5.便利な機能をいろいろ試してみよう mkdir ¥dojo_work_20210701 クリック クリック フォルダーが 表示される
  26. 2. PC上(ワークスペース内)でCOBOLアプリケーションを作成します i. ワークスペース内にCOBOLソース保管用のフォルダーを作成します • 先ほど表示したフォルダーの右側にある、「新しいフォルダ-」アイコンをクリックしま す • フォルダー名はCOBOL と入力します

    • COBOLフォルダーが追加されました ii. 同様に、Copybook用のフォルダーを作成します • 「新しいフォルダ-」をクリックし、フォルダー名はCOPYBOOKにします • 下の「間違った例」のようにCOBOLのサブフォルダーならないよう、親フォルダーを選ん で作成してください • 右図のように2つのフォルダーが同レベルで並んだ構成になっていれば成功です 5.便利な機能をいろいろ試してみよう クリック フォルダーが 作成される フォルダー名 入力 フォルダー名 入力 間違った例
  27. 2. PC上(ワークスペース内)でCOBOLアプリケーションを作成します iii. COBOLソース・ファイルを作成します • COBOLフォルダーを選択した状態で、「新しいファイル」アイコンをクリックします ※COBOLフォルダー内に作成されていることを確認してください • ファイル名はSAMP1.cbl と入力します

    • エディター・ビューでSAMP1.cblが開きます • 次ページのコード①をSAMP1.cblにコピー & ペーストします • 作成したソース・ファイルを保管します • Ctrl+Sキー、またはファイル(File)メニュー > 保存(Save) iv. copybookファイルを作成します • COPYBOOKフォルダーを選択した状態で、「新しいファイル」アイコンをクリックします ※COPYBOOKフォルダー内に作成されていることを確認してください • ファイル名はEMPREC.cpy と入力します • エディター・ビューでEMPRECが開きます • 次ページのコード②をEMPREC.cpyにコピー & ペーストします • 作成したCopybookファイルを保管します • Ctrl+Sキー、またはファイル(File)メニュー > 保存(Save) 5.便利な機能をいろいろ試してみよう クリック ファイル名入力 クリック ファイル名入力
  28. 5.便利な機能をいろいろ試してみよう IDENTIFICATION DIVISION. PROGRAM-ID. SAMP1. ENVIRONMENT DIVISION. INPUT-OUTPUT SECTION. FILE-CONTROL.

    SELECT INPUT-FILE ASSIGN TO INFILE. * DATA DIVISION. FILE SECTION. FD INPUT-FILE. COPY EMPREC. * WORKING-STORAGE SECTION. 01 DATETIME. 05 CURRENT-DATE. 10 CURRENT-YEAR PIC 9(4). 10 CURRENT-MONTH PIC 9(2). 10 CURRENT-DAY PIC 9(2). 05 FILLER PIC X(1) VALUE SPACE. 05 CURRENT-TIME. 10 CURRENT-HOUR PIC 9(2). 10 CURRENT-MINUTE PIC 9(2). 10 CURRENT-SECOND PIC 9(2). 01 WS-FIELDS. 05 WS-INPUT-EOF PIC X(1) VALUE 'N'. * PROCEDURE DIVISION. 000-MAIN-S. PERFORM 100-INIT. PERFORM 200-PROCESS UNTIL WS-INPUT-EOF = 'Y'. PERFORM 300-END. GOBACK. 100-INIT. OPEN INPUT INPUT-FILE. ACCEPT CURRENT-DATE FROM DATE YYYYMMDD. ACCEPT CURRENT-TIME FROM TIME. DISPLAY ' --- EMPLOYEE LIST ' DATETIME ' START ---'. EXIT. 200-PROCESS. READ INPUT-FILE AT END MOVE 'Y' TO WS-INPUT-EOF. DISPLAY 'Employee Number ' EMP-ID. DISPLAY ' Name : ' EMP-NAME. DISPLAY ' Address : ' EMP-ADDR. DISPLAY ' Phone : ' EMP-PHONE. DISPLAY ' Date : ' EMP-DATE. DISPLAY ' Amount : ' EMP-AMOUNT. DISPLAY '---'. EXIT. 300-END. DISPLAY ' -----------------------------------------'. CLOSE INPUT-FILE. EXIT. コード① SAMP1.cblに以下のソース・コードをコピーします (①-1, ①-2 連続して1つのソースです) ①-2 へ続く ①-2. 手続き部 ①-1. 見出し~データ部 ▪初期処理パラグラフ ✓ ファイルを開く ✓ 現在時刻を取得 ✓ ヘッダー行を出力 ▪ファイル処理パラグラフ ✓ ファイルを1行ずつ読む ✓ EOFで終了フラグ ✓ 読んだデータを出力 ▪終了処理パラグラフ ✓ フッター行を出力 ✓ ファイルを閉じる ▪メインフロー ✓ 初期処理実行 ✓ ファイル処理実行 (EOFまで繰り返し) ✓ 終了処理実行 現在時刻 格納先 EOFフラグ ファイル 読み込み用 行頭のブランクも含めてコピーしてください ※COBOLソースの記述は7ケタ目から
  29. 5.便利な機能をいろいろ試してみよう 01 EMP-REC. 05 EMP-ID PIC X(06). 05 EMP-NAME PIC

    X(20). 05 EMP-ADDR PIC X(20). 05 EMP-PHONE PIC X(08). 05 EMP-DATE PIC X(08). 05 EMP-AMOUNT PIC X(08). 05 EMP-COMMENT PIC X(10). コード② EMPREC.cpyに以下のソース・コードをコピーします COBOL豆知識: • Copybookはデータ宣言を別ファイルに切り出したものです • ソースからCopybookを使用するときはCOPY命令を使用します → コンパイル時に取り込まれます DATA DIVISION. FILE SECTION. FD INPUT-FILE. COPY EMPREC. * WORKING-STORAGE SECTION. 01 DATETIME. : DATA DIVISION. FILE SECTION. FD INPUT-FILE. * COPY EMPREC. 01 EMP-REC. 05 EMP-ID PIC X(06). 05 EMP-NAME PIC X(20). 05 EMP-ADDR PIC X(20). 05 EMP-PHONE PIC X(08). 05 EMP-DATE PIC X(08). 05 EMP-AMOUNT PIC X(08). 05 EMP-COMMENT PIC X(10). * WORKING-STORAGE SECTION. 01 DATETIME. : ソース: コンパイル時: 行頭のブランクも含めてコピーしてください ※COBOLソースの記述は7ケタ目から
  30. 2. PC上(ワークスペース内)でCOBOLアプリケーションを作成します これでCOBOLソースとCopybookを作成できました • ですが、COBOLソースの方は表示が赤く、何かエラーが発生しているようです v. アウトライン・ビューを表示して、エラー箇所を探しましょう • VSCodeの表示(View)メニュー >

    ビューを開く(Open View) > アウトライン(Outline)をクリックします • アウトライン・ビューが表示されます • エラー箇所は赤く表示されます • DATA DIVISION > FILE SECTIONを展開し、 COPY EMPREC.をクリックします • エディター・ビューに該当部分のソースが表示されます • 赤い波線部分(11行目 EMPREC)にカーソルを 合わせると、エラー内容がポップアップ表示されます → Copybookが見つからない、というエラーのようです 5.便利な機能をいろいろ試してみよう クリック クリック c カーソルを合わせると 赤い = エラーあり エラー内容が表示される
  31. 3. COBOLソースからCopybookを参照できるように環境設定します i. VSCodeのファイル(File)メニュー > ユーザー設定(Preferences) > 設定(Settings)をクリックします ii. ワークスペース・タブを選択します

    • 現在作業しているワークスペース内に設定を適用します iii. 設定の検索プロンプトに、propertygroups と入力します • Zopeneditor: Propertygroupsが表示されたら、settings.jsonで編集をクリックします 5.便利な機能をいろいろ試してみよう クリック propertygroupsと入力 クリック ワークスペースを選択
  32. 3. COBOLソースからCopybookを参照できるように環境設定します iv. settings.jsonに下の内容をコピーします • Ctrl + Sキー、またはファイル・メニュー > 保管

    でファイルを保管します 5.便利な機能をいろいろ試してみよう { "zopeneditor.propertygroups": [ { "name": "local-cobol-files", "type": "local", "language": "cobol", "syslib": [ "COPYBOOK" ] }, { "name": "mvs-members", "type": "mvs", "syslib": [ "DOJO.userid.COBCOPY" ] } ] } ハンズオンの ユーザーIDに変更 ▪type: local - ローカルPCフォルダーの設定 syslibで指定したCOPYBOOKフォルダー 内のファイルをCopybook参照 ▪type: mvs - z/OSデータセットの設定 syslibで指定したデータセット内の メンバーをCopybook参照
  33. 3. COBOLソースからCopybookを参照できるように環境設定します v. 設定が完了したら、先ほどのCOBOLソース・ファイル SAMP1.cblを確認してみてください • アウトライン・ビューでは、エラー(赤い表示)が解消しています • エディター・ビューでは、11行目 COPY

    EMPRECのエラー(赤い波線)が消えています • 11行目のEMPRECにカーソルを合わせると、Copybookファイル EMPRECの内容が表示できています 5.便利な機能をいろいろ試してみよう エラー(赤い表示)が解消 カーソルを合わせると Copybookが表示される
  34. 4. ローカルPC上のソース・ファイルをz/OSへ転送しましょう i. VSCodeでターミナル・ビューを開きます • VSCodeのターミナル(Terminal)メニューを開き、新しいターミナル(New Terminal)をクリックします ii. COBOLソース・ファイルを転送します PC

    COBOLフォルダー → z/OS DOJO.userid.COBOLデータセット • ターミナルで以下のコマンドを実行します iii. Copybookファイルを転送します PC COPYBOOKフォルダー → z/OS DOJO.userid.COBCOPYデータセット • ターミナルで以下のコマンドを実行します iv. 成功するとそれぞれ右のようにsuccessメッセージが出力されます 5.便利な機能をいろいろ試してみよう クリック zowe files ul dir-to-pds "COBOL" "DOJO.userid.COBOL" zowe files ul dir-to-pds "COPYBOOK" "DOJO.userid.COBCOPY" success: true from: C:/dojo_work_20210701/COBOL/SAMP1.cbl to: DOJO.userid.COBOL(SAMP1) success: false error: (中略) message: Data set not found. zowe files ul dir-to-pds "COBOL" "DOJO.userid.COBOL" --zosmf-profile dojo_yyyymmdd ※ もし右のようなエラーが出た場合は、以下例のように--zos-profileオプション で作成した接続プロファイルを指定して2つのコマンドを再実行してください "userid"はハンズオン用の ユーザーIDに変更 "userid"はハンズオン用の ユーザーIDに変更
  35. 4. ローカルPC上のソース・ファイルをz/OSへ転送しましょう v. Zowe Explorerビューで転送先のz/OSデータセットを確認します • VSCode左側サイドメニューでZoweアイコンをクリックします • DATA SETSセクション内のdojo_yyyymmddプロファイルを展開します

    • 右例のようにDOJO.userid.* データセットが表示されない場合は、 プロファイル名右側の虫眼鏡アイコン(Search Data Sets)をクリックして、 DOJO.userid.*を選択してください • COBCOPYデータセットを展開します • 先ほど転送したEMPRECが追加されています • COBOLデータセットを展開します • 先ほど転送したSAMP1が追加されています • SAMP1をクリックしてソースを表示します • 11行目 COPY EMPRECにカーソルを合わせてみます → z/OS上でもCopybook参照できていることがわかります 5.便利な機能をいろいろ試してみよう カーソルを合わせると Copybookが表示される 転送されている クリック
  36. 5. コンパイル・実行してみましょう • コンパイル・実行Jobを実行します • DOJO.userid.JCLデータセットを展開します • SAMP1を右クリックし、Submit Jobをクリックします •

    SAMP1 Jobの結果を確認します • JOBSセクション右側のRefresh Jobs Viewアイコンを クリックすると、今実行したJOB(SAMP1G)が表示されます • cc 0000で正常終了していることを確認します • RUN:SYSOUTをクリックし、実行結果を確認します 5.便利な機能をいろいろ試してみよう 5.便利な機能をいろいろ試してみようはこれで終了です クリック cc 0000を確認 実行結果 右クリック クリック