CICS、IMS、およびホスト・ファイルの COBOL ホスト定義をインポートする

元の Host Integration Server TI Designer機能は、メインフレーム プログラマの支援を受けて、メタデータ成果物をゼロから設計するための完全な機能で導入されました。 その後、COBOL または RPG コピーブック形式でホスト定義をインポートする機能が追加され、メインフレーム・プログラマーによる設計の自動化と関与の軽減のシナリオがサポートされました。 長年にわたり、この機能はメタデータ成果物を作成するための主要なオプションになりました。

前提条件

COBOL コピーブックを準備する

  • COBOL コピーブックは、基本的な COBOL コーディング規則に従う必要があります。 Logic Apps の HIS Designerでは、これらの規則の多くが適用されます。 次の表に、メインルールの一覧を示します。

    監視
    1–6 Sequence number これらの位置には何も入力しないでください。
    7 インジケーター コメントをコーディングするには、アスタリスク (*) またはスラッシュ (/) を使用します。
    8-11 余白 (領域 A) 77 レベルの数値と 01 レベルの数値
    12-72 B 余白 (領域 B) 02 レベル以上で予約済み
    73-80 識別 ここでは定義を使用できません。
  • COBOL または RPG コピーブックが、選択した プログラミング・モデルの要件を満たしていることを確認します。

  • 各行の末尾にあるドットを確認します。 COBOL の最新バージョンではこの書式設定が必要ない場合でも、それらが表示されていることを確認します。

  • コピーブックに REDEFINE が含まれている場合は、判別が使用できない場合は、メインフレーム プログラマに使用するホスト定義を確認させます。

  • 前の表に記載されている文字以外の文字を削除します。 正しい文字数であることを確認します。

COBOL ホスト定義 (CICS) をインポートする

次の手順では、CICS ホスト アプリケーション プロジェクトの COBOL コピーブックを Logic Apps の HIS Designerにインポートする方法を示します。 この COBOL プログラムは、CICS ELM Link プログラミング・モデルに従います。

  1. Visual Studio で CICS ホスト アプリケーション ソリューションを開きます。これにより、Logic Apps の HIS Designerが自動的に開きます。

  2. デザイナーの左側のウィンドウで、コンポーネント ノードのショートカット メニューを開き、[ホスト定義インポート>] を選択します。

    次の例では、コンポーネント ノードの名前は NetCInt1 です

    Visual Studio、HIS デザイン ビュー、NetCInt1 コンポーネント ノードのショートカット メニューを示すスクリーンショット。[インポート]、[ホスト定義] が選択されています。

  3. [ Import System z COBOL Source File]\(システム z COBOL ソース ファイルのインポート \) ボックスで、[参照] を選択 します

    CICS の [System Z COBOL Source File]\(システム Z COBOL ソース ファイルのインポート\) ボックスを示すスクリーンショット。

  4. インポートするコピーブックを見つけて選択し、[ 開く] を選択します。

    Screenshow には、CICS ホスト アプリケーションに使用するエクスプローラーと選択したコピーブックが表示されます。

    次の例は、インポートする COBOL プログラムを示しています。

       *****************************************************************
       ** THIS PROGRAM IS A SAMPLE CICS SERVER THAT DEMONSTRATES A      *
       ** SIMPLE BANKING APPLICATION WHICH FORMATS AND RETURNS AN      *
       ** ARRAY OF ACCOUNT RECORDS THAT WILL CONTAIN EITHER CHECKING OR*
       ** SAVINGS INFORMATION.                                         *
       *****************************************************************
        IDENTIFICATION DIVISION.
        PROGRAM-ID. GETAINFO.
        ENVIRONMENT DIVISION.
    
        DATA DIVISION.
    
       *****************************************************************
       ** VARIABLES FOR INTERACTING WITH THE TERMINAL SESSION          *
       *****************************************************************
        WORKING-STORAGE SECTION.
    
        LINKAGE SECTION.
    
        01 DFHCOMMAREA.
           05 SSN                          PIC X(9).
           05 ACCT-ARRAY OCCURS 2 TIMES.
              10 ACCT-NUM                  PIC X(10).
              10 ACCT-TYPE                 PIC X.
              10 ACCT-INFO                 PIC X(39).
              10 CHECKING REDEFINES ACCT-INFO.
                 15 CHK-OD-CHG             PIC S9(3)V99   COMP-3.
                 15 CHK-OD-LIMIT           PIC S9(5)V99   COMP-3.
                 15 CHK-OD-LINK-ACCT       PIC X(10).
                 15 CHK-LAST-STMT          PIC X(10).
                 15 CHK-DETAIL-ITEMS       PIC S9(7)      COMP-3.
                 15 CHK-BAL                PIC S9(13)V99  COMP-3.
              10 SAVINGS  REDEFINES ACCT-INFO.
                 15 SAV-INT-RATE           PIC S9(1)V99   COMP-3.
                 15 SAV-SVC-CHRG           PIC S9(3)V99   COMP-3.
                 15 SAV-LAST-STMT          PIC X(10).
                 15 SAV-DETAIL-ITEMS       PIC S9(7)      COMP-3.
                 15 SAV-BAL                PIC S9(13)V99  COMP-3.
                 15 FILLER                 PIC X(12).
    
        PROCEDURE DIVISION.
            IF SSN = '111223333' THEN
       **********************************************************
       *   SSN = 111223333 IS AN INDICATION TO RETURN A
       *   DISCRIMINATED UNION OF CHECKING AND SAVINGS ACCOUNTS
       **********************************************************
               MOVE 'CHK4566112' TO ACCT-NUM         OF ACCT-ARRAY(1)
               MOVE 'C'          TO ACCT-TYPE        OF ACCT-ARRAY(1)
               MOVE SPACES       TO ACCT-INFO        OF ACCT-ARRAY(1)
    
               MOVE 25.00        TO CHK-OD-CHG       OF ACCT-ARRAY(1)
               MOVE 2000.00      TO CHK-OD-LIMIT     OF ACCT-ARRAY(1)
               MOVE 'SAV1234567' TO CHK-OD-LINK-ACCT OF ACCT-ARRAY(1)
               MOVE '10/31/2005' TO CHK-LAST-STMT    OF ACCT-ARRAY(1)
               MOVE 1            TO CHK-DETAIL-ITEMS OF ACCT-ARRAY(1)
               MOVE 41852.16     TO CHK-BAL          OF ACCT-ARRAY(1)
    
               MOVE 'SAV1234567' TO ACCT-NUM         OF ACCT-ARRAY(2)
               MOVE 'S'          TO ACCT-TYPE        OF ACCT-ARRAY(2)
               MOVE SPACES       TO ACCT-INFO        OF ACCT-ARRAY(2)
               MOVE 4.50         TO SAV-INT-RATE     OF ACCT-ARRAY(2)
               MOVE 5.00         TO SAV-SVC-CHRG     OF ACCT-ARRAY(2)
    
               MOVE '10/15/2005' TO SAV-LAST-STMT    OF ACCT-ARRAY(2)
               MOVE 1            TO SAV-DETAIL-ITEMS OF ACCT-ARRAY(2)
               MOVE 146229.83    TO SAV-BAL          OF ACCT-ARRAY(2)
            ELSE
       **********************************************************
       *   SSN = 333221111 IS AN INDICATION TO RETURN A
       *   SIMPLE REDEFINITION OF CHECKING ACCOUNTS ONLY
       **********************************************************
               MOVE 'CHK4566112' TO ACCT-NUM         OF ACCT-ARRAY(1)
               MOVE 'C'          TO ACCT-TYPE        OF ACCT-ARRAY(1)
               MOVE SPACES       TO ACCT-INFO        OF ACCT-ARRAY(1)
    
               MOVE 25.00        TO CHK-OD-CHG       OF ACCT-ARRAY(1)
               MOVE 2000.00      TO CHK-OD-LIMIT     OF ACCT-ARRAY(1)
               MOVE 'SAV1234567' TO CHK-OD-LINK-ACCT OF ACCT-ARRAY(1)
               MOVE '10/31/2005' TO CHK-LAST-STMT    OF ACCT-ARRAY(1)
               MOVE 1            TO CHK-DETAIL-ITEMS OF ACCT-ARRAY(1)
               MOVE 41852.16     TO CHK-BAL          OF ACCT-ARRAY(1)
    
               MOVE 'CHK7896112' TO ACCT-NUM         OF ACCT-ARRAY(2)
               MOVE 'C'          TO ACCT-TYPE        OF ACCT-ARRAY(2)
               MOVE SPACES       TO ACCT-INFO        OF ACCT-ARRAY(2)
    
               MOVE 25.00        TO CHK-OD-CHG       OF ACCT-ARRAY(2)
               MOVE 2000.00      TO CHK-OD-LIMIT     OF ACCT-ARRAY(2)
               MOVE 'SAV7891234' TO CHK-OD-LINK-ACCT OF ACCT-ARRAY(2)
               MOVE '10/31/2005' TO CHK-LAST-STMT    OF ACCT-ARRAY(2)
               MOVE 1            TO CHK-DETAIL-ITEMS OF ACCT-ARRAY(2)
               MOVE 41852.16     TO CHK-BAL          OF ACCT-ARRAY(2)
            END-IF.
    
            EXEC CICS RETURN END-EXEC.
    
  5. インポートするコピーブックを確認します。 準備ができたら、 [次へ] を選択します。

    CICS のホスト定義が選択され、事前に読み込まれている [Import System z COBOL Source File]\(システム z COBOL ソース ファイルのインポート\) ボックスを示すスクリーンショット。

  6. [ 項目のオプション] ボックスが開き、成果物名と [ プログラムへのリンク名 ] の値が入力されたら、[ 次へ] を選択します。

    [メソッド]、[データ テーブル]、[構造]、[Union for CICS] などの項目の種類を選択する [項目のオプション] ボックスを示すスクリーンショット。

    デザイナーは、COBOL コピーブックから生成されたメタデータ成果物を表示します。

    HIS Designerの CICS のメタデータ成果物設計ビューを示すスクリーンショット。

    デザイナーでは、コピーブックのホスト定義も生成されます。 このホスト定義には、指定されたコピーブック全体は含まれませんが、成果物がメインフレーム プログラムと対話するために必要なフィールドとデータ型のみが含まれます。 前述のサンプルはプログラム全体ですが、HIS Designerでは、選択したプログラミング モデルに基づいて必要な情報のみが抽出されます。

    HIS Designerの CICS の解析済みホスト定義ビューを示すスクリーンショット。

  7. HIDX を生成するには、[ すべて保存] を選択します。

    [すべて保存] が選択されている Visual Studio ツール バーを示すスクリーンショット。

  8. 生成された HIDX ファイルを見つけるには、ホスト アプリケーションのフォルダーに移動します。

COBOL ホスト定義 (IMS) をインポートする

CICS と IMS はどちらもミッション クリティカルなプログラムをホストしますが、それぞれに異なる要件があります。 次の手順では、IMS ホスト アプリケーション プロジェクトの COBOL コピーブックを Logic Apps の HIS Designerにインポートする方法を示します。 この COBOL プログラムは、IMS Connect プログラミング・モデルに従います。

  1. Visual Studio で IMS ホスト アプリケーション ソリューションを開きます。これにより、Logic Apps の HIS Designerが自動的に開きます。

  2. デザイナーの左側のウィンドウで、コンポーネント ノードのショートカット メニューを開き、[ホスト定義インポート>] を選択します。

    次の例では、コンポーネント ノードの名前は NetCInt1 です

    Visual Studio、HIS デザイン ビュー、および [インポート]、[ホスト定義] が選択されている NetCInt1 コンポーネント ノードのショートカット メニューを示すスクリーンショット。

  3. [ Import System z COBOL Source File]\(システム z COBOL ソース ファイルのインポート \) ボックスで、[参照] を選択 します

    スクリーンショットは、IMS の [Import System Z COBOL Source File]\(システム Z COBOL ソース ファイルのインポート\) ボックスを示しています。

  4. インポートするコピーブックを見つけて選択し、[ 開く] を選択します。

    Screenshow には、エクスプローラーと、IMS ホスト アプリケーションに使用する選択したコピーブックが表示されます。

    次の例は、インポートする COBOL プログラムを示しています。

     IDENTIFICATION DIVISION.
     PROGRAM-ID. GETBAL.
     ENVIRONMENT DIVISION.
    
     DATA DIVISION.
    
     WORKING-STORAGE SECTION.
    **************************************************************
    * USER DATA DEFINITIONS.                                     *
    **************************************************************
    
     01  INPUT-AREA.
         05  LLI                      PIC S9(4) COMP VALUE ZERO.
         05  ZZI                      PIC S9(4) COMP VALUE ZERO.
         05  TRAN                     PIC X(7) VALUE SPACES.
         05  NAME                     PIC X(30).
         05  ACCNUM                   PIC X(6).
    
     01  OUTPUT-AREA.
         05  LLO                      PIC S9(4) COMP VALUE ZERO.
         05  ZZO                      PIC S9(4) COMP VALUE ZERO.
         05  ACCBAL                   PIC S9(7)V9(2) COMP-3.
    
     01  IMS-VALUES.
         02  END-OF-MSG               PIC X(2)       VALUE 'QD'.
         02  QUEUE-EMPTY              PIC X(2)       VALUE 'QC'.
         02  GU                       PIC X(4)       VALUE 'GU  '.
         02  ISRT                     PIC X(4)       VALUE 'ISRT'.
         02  CHNG                     PIC X(4)       VALUE 'CHNG'.
    
     LINKAGE SECTION.
     01  IOTP-PCB.
         05  IOTP-LTERM                           PIC X(8).
         05  FILLER                               PIC X(2).
         05  IOTP-STATUS                          PIC X(2).
         05  IOTP-PREFIX.
             10  IOTP-DATE                        PIC S9(7) COMP-3.
             10  IOTP-TIME                        PIC S9(7) COMP-3.
             10  IOTP-MSG-NUMBER                  PIC S9(4) COMP.
             10  FILLER                           PIC X(2).
         05  IOTP-MOD-NAME                        PIC X(8).
         05  IOTP-USER-ID                         PIC X(8).
    
     PROCEDURE DIVISION.
         ENTRY 'DLITCBL' USING IOTP-PCB.
         CALL 'CBLTDLI' USING GU IOTP-PCB INPUT-AREA.
    
            IF IOTP-STATUS = END-OF-MSG
               DISPLAY 'IOTP-STATUS = END-OF-MSG'
            END-IF.
            IF IOTP-STATUS = QUEUE-EMPTY
               DISPLAY 'IOTP-STATUS = QUEUE-EMPTY'
            END-IF.
            IF IOTP-STATUS NOT = ' '
               DISPLAY 'CALL FAILED IOTP-STATUS = ' IOTP-STATUS
            END-IF.
    
         MOVE 777.12               TO ACCBAL OF OUTPUT-AREA.
    
         MOVE LENGTH OF OUTPUT-AREA TO LLO.
         CALL 'CBLTDLI' USING ISRT IOTP-PCB OUTPUT-AREA.
            IF IOTP-STATUS NOT = ' '
               DISPLAY 'SEND FAILED IOTP-STATUS = ' IOTP-STATUS
            END-IF.
    
         GOBACK.
    
  5. インポートするコピーブックを確認します。 準備ができたら、 [次へ] を選択します。

    [Import System z COBOL Source File]\(システム z COBOL ソース ファイルのインポート\) ボックスを示すスクリーンショット。IMS のホスト定義が選択され、事前に読み込まれています。

  6. [ 項目のオプション] ボックスが開き、成果物名と [トランザクション ID ] の値が入力されたら、[ 次へ] を選択します。

    注意

    次の手順では、[ インポーターの既定値を使用 する] オプションが選択されていないか、使用できないことを確認します。これは、IMS ホスト アプリケーションを使用する場合の既定の動作である必要があります。

    [メソッド]、[データ テーブル]、[構造体]、[Union for IMS] などの項目の種類を選択する [項目のオプション] ボックスを示すスクリーンショット。

  7. [ 入力領域 ] ボックスが開いたら、[ 入力領域 ] ノード内のすべての項目を選択し、[ 次へ] を選択します。

    IMS ホスト トランザクションの [入力領域] ボックスを示すスクリーンショット。

  8. [出力領域] ボックスが開いたら、[出力領域] ノード内のすべての項目を選択し、[次へ] を選択します。

    IMS ホスト トランザクションの [出力領域] ボックスを示すスクリーンショット。

  9. [ 戻り値 ] ボックスが開いたら、戻り値の [出力領域 ] ノードで項目を選択し、[ 次へ] を選択します。

    IMS ホスト トランザクションの [戻り値] ボックスを示すスクリーンショット。

  10. [ データ テーブル、構造体、および共用体 ] ボックスが開いたら、データ テーブルと構造体に使用するグループを選択し、[ 次へ] を選択します。

    この例では、選択する必要がないため、項目は選択されません。

    IMS の [データ テーブル]、[構造体]、[共用体] ボックスを示すスクリーンショット。

  11. [ LL フィールド領域] ボックスが開いたら、トランザクションから除外する必要がある LL フィールドを選択します。 準備ができたら、 [次へ] を選択します。

    IMS の [LL フィールド領域] ボックスを示すスクリーンショット。

  12. [ZZ フィールド領域] ボックスが開いたら、トランザクションから除外する必要がある ZZ フィールドを選択します。 準備ができたら、 [次へ] を選択します。

    [ZZ フィールド領域] ボックスを示すスクリーンショット。

  13. [TRANCODE フィールド領域] ボックスが開いたら、トランザクションから除外する必要がある TRANCODE フィールドを選択します。 準備ができたら、[終了] を選択します。

    スクリーンショットは、[TRANCODE Fields Area]\(TRANCODE フィールド領域\) ボックスを示しています。

    デザイナーには、COBOL コピーブックから生成されたメタデータ成果物が表示されます。

    HIS Designerの IMS のメタデータ成果物設計ビューを示すスクリーンショット。

    デザイナーは、コピーブックのホスト定義も生成します。 このホスト定義には、指定されたコピーブック全体は含まれませんが、成果物がメインフレーム プログラムと対話するために必要なフィールドとデータ型のみが含まれます。 前述のサンプルはプログラム全体ですが、HIS Designerでは、選択したプログラミング モデルに基づいて必要な情報のみが抽出されます。

    HIS Designerの IMS の解析されたホスト定義ビューを示すスクリーンショット。

  14. [ すべて保存] を 選択して HIDX を生成します。

    [すべて保存] が選択されている Visual Studio ツール バーを示すスクリーンショット。

  15. 生成された HIDX ファイルを見つけるには、ホスト アプリケーションのフォルダーに移動します。

COBOL ホスト ファイル定義をインポートする (ホスト ファイル)

IBM ホスト・ファイルには複数のタイプがあり、メインフレームまたはミッドレンジ・システムに存在することができます。 それぞれに独自の型と特性があります。 ホスト ファイル データを使用するメインフレーム アプリケーションとミッドレンジ アプリケーションを最新化または移行する需要が増加しています。 1 つの例として、仮想ストレージ アクセス方法 (VSAM) ファイルを Azure に移行する方法があります。 このような要求に応えて、ユース ケースは、これらのファイルにアクセスして最新のソリューションに統合することが一般的になってきています。

次の手順では、ホスト ファイル プロジェクトの COBOL コピーブックを Logic Apps の HIS Designerにインポートする方法を示します。 この COBOL コピーブックは、単純な VSAM ファイルを表します。 インポート ウィザードでは、構造体と共用体が作成されます。 コピーブックをインポートしたら、テーブルを作成して正しいスキーマに割り当てることができます。

  1. Visual Studio でホスト ファイル ソリューションを開きます。これにより、Logic Apps の HIS Designerが自動的に開きます。

  2. デザイナーの左側のウィンドウで、コンポーネント ノードのショートカット メニューを開き、[ホスト定義インポート>] を選択します。

    次の例では、コンポーネント ノードの名前は HostFileDefinition1 です

    Visual Studio、HIS デザイン ビュー、および [インポート]、[ホスト定義] が選択されている HostFileDefinition1 コンポーネント ノードのショートカット メニューを示すスクリーンショット。

  3. [ Import System z COBOL Source File]\(System z COBOL ソース ファイルのインポート \) ボックスで、[参照] を選択 します

    ホスト ファイルの [Import System Z COBOL Source File]\(System Z COBOL ソース ファイルのインポート\) ボックスを示すスクリーンショット。

  4. インポートするコピーブックを見つけて選択し、[ 開く] を選択します。

    Screenshow には、エクスプローラーと、ホスト ファイルに使用する選択したコピーブックが表示されます。

    次の例は、インポートする COBOL プログラムを示しています。

          ******************************************************************        
          *HIS TRANSACTION DESIGNER EXPORT, 9.0
          *DATA DECLARATION GENERATED ON 9/23/2013 5:21:51 PM
          ******************************************************************        
          *LIBRARY NAME.............CustomerDatabaseZOS.HIDX
          *DESCRIPTION..............NONE AVAILABLE
          ******************************************************************        
           01  CUSTOMER-RECORD.
               05 CUSTOMER-NAME               PIC X(30).
               05 CUSTOMER-SSN                PIC X(9).
               05 CUSTOMER-ADDRESS.
                  10 CUSTOMER-STREET          PIC X(20).
                  10 CUSTOMER-CITY            PIC X(10).
                  10 CUSTOMER-STATE           PIC X(4).
                  10 CUSTOMER-ZIP             PIC 9(5).
               05 CUSTOMER-PHONE              PIC X(13).
               05 CUSTOMER-ACCESS-PIN         PIC X(4).
    
  5. [ Import System z COBOL Source File]\(システム z COBOL ソース ファイルのインポート \) ボックスで、インポートするコピーブックを確認します。

  6. ホスト定義の次のオプションが選択されていることを確認します。 REDEFINEImporter の既定値の使用インデントの構造の生成。 準備ができたら、 [次へ] を選択します。

    ホスト ファイルのホスト定義が選択され、事前に読み込まれた [Import System z COBOL Source File]\(System z COBOL ソース ファイルのインポート\) ボックスを示すスクリーンショット。

    デザイナーには、COBOL コピーブックから生成されたメタデータ成果物が表示されます。 この成果物は不完全であるため、ホスト ファイルを反映する 1 つ以上のテーブルを作成する必要があります。

    ホスト ファイルの HIS Designerのメタデータ成果物ビューを示すスクリーンショット。

  7. コンポーネント ノード ツリーで、[ テーブル ] ショートカット メニューを開き、[ テーブルの追加] を選択します。

    成果物のデザイン ビューと[テーブルの追加] が選択された [テーブル] ショートカット メニューを示すスクリーンショット。

  8. 新しいテーブルのショートカット メニューを開き、[プロパティ] を選択 します。 [ プロパティ ] ウィンドウで、次のプロパティを更新します。

    プロパティ 説明
    エイリアス テーブル名 (CUSTOMER など)
    ホスト ファイル名 ホスト ファイルのメインフレームまたはミッドレンジ システム名 ( HISDEMO など)。NWIND。顧客
    [スキーマ] 以前にインポートしたスキーマ (たとえば、CUSTOMER_RECORD)

    次の例は、更新されたテーブルのプロパティを示しています。

    [エイリアス]、[ホスト ファイル名]、および [スキーマ] プロパティを含むテーブルのプロパティ ウィンドウを示すスクリーンショット。

    次の例は、完成したホスト ファイルのメタデータ成果物を示しています。

    スクリーンショットは、ホスト ファイルの HIS Designerで完了したメタデータ成果物を示しています。

  9. HIDX を生成するには。 ファイルで[ すべて保存]を選択します。

    [すべて保存] が選択されている Visual Studio ツール バーを示すスクリーンショット。

  10. 生成された HIDX ファイルを見つけるには、ホスト アプリケーションのフォルダーに移動します。