CICS、IMS、およびホスト・ファイルの COBOL ホスト定義をインポートする
元の Host Integration Server TI Designer機能は、メインフレーム プログラマの支援を受けて、メタデータ成果物をゼロから設計するための完全な機能で導入されました。 その後、COBOL または RPG コピーブック形式でホスト定義をインポートする機能が追加され、メインフレーム・プログラマーによる設計の自動化と関与の軽減のシナリオがサポートされました。 長年にわたり、この機能はメタデータ成果物を作成するための主要なオプションになりました。
前提条件
Visual Studio をダウンロードしてインストールします。 インストール後は、 Visual Studio で C++ を使用したデスクトップ開発という名前のワークロードもインストールしていることを確認します。 それ以外の場合は、 HRESULT 0x800A007Cから例外というエラーが発生します。
Azure Logic Apps 用の HIS Designerをダウンロードしてインストールします。 唯一の前提条件は Microsoft .NET Framework 4.8 です。
Visual Studio ホスト アプリケーション ソリューションとプロジェクト (ホスト 定義をインポートする CICS または IMS または ホスト ファイル ソリューション プロジェクト )。
注意
HIS Designerでは、CICS、IMS、またはホスト・ファイル・ソリューションのどちらを開くかに基づいて、さまざまなオプションが提供および表示されます。
統合するテクノロジ (CICS または IMS) に対してプログラミング モデルがどのように機能するかを理解します。 どちらのプラットフォームも、情報の受け渡しと受信の要件と方法が異なります。 ホスト定義をインポートする前に、適切な プログラミング モデル について学習してください。
Logic Apps の HIS 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 プログラミング・モデルに従います。
Visual Studio で CICS ホスト アプリケーション ソリューションを開きます。これにより、Logic Apps の HIS Designerが自動的に開きます。
デザイナーの左側のウィンドウで、コンポーネント ノードのショートカット メニューを開き、[ホスト定義のインポート>] を選択します。
次の例では、コンポーネント ノードの名前は NetCInt1 です。
[ Import System z COBOL Source File]\(システム z COBOL ソース ファイルのインポート \) ボックスで、[参照] を選択 します。
インポートするコピーブックを見つけて選択し、[ 開く] を選択します。
次の例は、インポートする 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.
インポートするコピーブックを確認します。 準備ができたら、 [次へ] を選択します。
[ 項目のオプション] ボックスが開き、成果物名と [ プログラムへのリンク名 ] の値が入力されたら、[ 次へ] を選択します。
デザイナーは、COBOL コピーブックから生成されたメタデータ成果物を表示します。
デザイナーでは、コピーブックのホスト定義も生成されます。 このホスト定義には、指定されたコピーブック全体は含まれませんが、成果物がメインフレーム プログラムと対話するために必要なフィールドとデータ型のみが含まれます。 前述のサンプルはプログラム全体ですが、HIS Designerでは、選択したプログラミング モデルに基づいて必要な情報のみが抽出されます。
HIDX を生成するには、[ すべて保存] を選択します。
生成された HIDX ファイルを見つけるには、ホスト アプリケーションのフォルダーに移動します。
COBOL ホスト定義 (IMS) をインポートする
CICS と IMS はどちらもミッション クリティカルなプログラムをホストしますが、それぞれに異なる要件があります。 次の手順では、IMS ホスト アプリケーション プロジェクトの COBOL コピーブックを Logic Apps の HIS Designerにインポートする方法を示します。 この COBOL プログラムは、IMS Connect プログラミング・モデルに従います。
Visual Studio で IMS ホスト アプリケーション ソリューションを開きます。これにより、Logic Apps の HIS Designerが自動的に開きます。
デザイナーの左側のウィンドウで、コンポーネント ノードのショートカット メニューを開き、[ホスト定義のインポート>] を選択します。
次の例では、コンポーネント ノードの名前は NetCInt1 です。
[ Import System z COBOL Source File]\(システム z COBOL ソース ファイルのインポート \) ボックスで、[参照] を選択 します。
インポートするコピーブックを見つけて選択し、[ 開く] を選択します。
次の例は、インポートする 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.
インポートするコピーブックを確認します。 準備ができたら、 [次へ] を選択します。
[ 項目のオプション] ボックスが開き、成果物名と [トランザクション ID ] の値が入力されたら、[ 次へ] を選択します。
注意
次の手順では、[ インポーターの既定値を使用 する] オプションが選択されていないか、使用できないことを確認します。これは、IMS ホスト アプリケーションを使用する場合の既定の動作である必要があります。
[ 入力領域 ] ボックスが開いたら、[ 入力領域 ] ノード内のすべての項目を選択し、[ 次へ] を選択します。
[出力領域] ボックスが開いたら、[出力領域] ノード内のすべての項目を選択し、[次へ] を選択します。
[ 戻り値 ] ボックスが開いたら、戻り値の [出力領域 ] ノードで項目を選択し、[ 次へ] を選択します。
[ データ テーブル、構造体、および共用体 ] ボックスが開いたら、データ テーブルと構造体に使用するグループを選択し、[ 次へ] を選択します。
この例では、選択する必要がないため、項目は選択されません。
[ LL フィールド領域] ボックスが開いたら、トランザクションから除外する必要がある LL フィールドを選択します。 準備ができたら、 [次へ] を選択します。
[ZZ フィールド領域] ボックスが開いたら、トランザクションから除外する必要がある ZZ フィールドを選択します。 準備ができたら、 [次へ] を選択します。
[TRANCODE フィールド領域] ボックスが開いたら、トランザクションから除外する必要がある TRANCODE フィールドを選択します。 準備ができたら、[終了] を選択します。
デザイナーには、COBOL コピーブックから生成されたメタデータ成果物が表示されます。
デザイナーは、コピーブックのホスト定義も生成します。 このホスト定義には、指定されたコピーブック全体は含まれませんが、成果物がメインフレーム プログラムと対話するために必要なフィールドとデータ型のみが含まれます。 前述のサンプルはプログラム全体ですが、HIS Designerでは、選択したプログラミング モデルに基づいて必要な情報のみが抽出されます。
[ すべて保存] を 選択して HIDX を生成します。
生成された HIDX ファイルを見つけるには、ホスト アプリケーションのフォルダーに移動します。
COBOL ホスト ファイル定義をインポートする (ホスト ファイル)
IBM ホスト・ファイルには複数のタイプがあり、メインフレームまたはミッドレンジ・システムに存在することができます。 それぞれに独自の型と特性があります。 ホスト ファイル データを使用するメインフレーム アプリケーションとミッドレンジ アプリケーションを最新化または移行する需要が増加しています。 1 つの例として、仮想ストレージ アクセス方法 (VSAM) ファイルを Azure に移行する方法があります。 このような要求に応えて、ユース ケースは、これらのファイルにアクセスして最新のソリューションに統合することが一般的になってきています。
次の手順では、ホスト ファイル プロジェクトの COBOL コピーブックを Logic Apps の HIS Designerにインポートする方法を示します。 この COBOL コピーブックは、単純な VSAM ファイルを表します。 インポート ウィザードでは、構造体と共用体が作成されます。 コピーブックをインポートしたら、テーブルを作成して正しいスキーマに割り当てることができます。
Visual Studio でホスト ファイル ソリューションを開きます。これにより、Logic Apps の HIS Designerが自動的に開きます。
デザイナーの左側のウィンドウで、コンポーネント ノードのショートカット メニューを開き、[ホスト定義のインポート>] を選択します。
次の例では、コンポーネント ノードの名前は HostFileDefinition1 です。
[ Import System z COBOL Source File]\(System z COBOL ソース ファイルのインポート \) ボックスで、[参照] を選択 します。
インポートするコピーブックを見つけて選択し、[ 開く] を選択します。
次の例は、インポートする 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).
[ Import System z COBOL Source File]\(システム z COBOL ソース ファイルのインポート \) ボックスで、インポートするコピーブックを確認します。
ホスト定義の次のオプションが選択されていることを確認します。 REDEFINE、 Importer の既定値の使用、 インデントの構造の生成。 準備ができたら、 [次へ] を選択します。
デザイナーには、COBOL コピーブックから生成されたメタデータ成果物が表示されます。 この成果物は不完全であるため、ホスト ファイルを反映する 1 つ以上のテーブルを作成する必要があります。
コンポーネント ノード ツリーで、[ テーブル ] ショートカット メニューを開き、[ テーブルの追加] を選択します。
新しいテーブルのショートカット メニューを開き、[プロパティ] を選択 します。 [ プロパティ ] ウィンドウで、次のプロパティを更新します。
プロパティ 説明 エイリアス テーブル名 (CUSTOMER など) ホスト ファイル名 ホスト ファイルのメインフレームまたはミッドレンジ システム名 ( HISDEMO など)。NWIND。顧客 [スキーマ] 以前にインポートしたスキーマ (たとえば、CUSTOMER_RECORD) 次の例は、更新されたテーブルのプロパティを示しています。
次の例は、完成したホスト ファイルのメタデータ成果物を示しています。
HIDX を生成するには。 ファイルで[ すべて保存]を選択します。
生成された HIDX ファイルを見つけるには、ホスト アプリケーションのフォルダーに移動します。