View a markdown version of this page

メインフレームソースアーティファクトコレクション - AWS 変換

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

メインフレームソースアーティファクトコレクション

このトピックでは、 AWS Transform を使用してメインフレームのモダナイゼーションイニシアチブをサポートするために、メインフレームのソースコードと関連アーティファクトを収集するプロセスの概要を説明します。分析、移行計画、実装を成功させるには、ソースアーティファクトの適切な収集と準備が不可欠です。

ソースコードインベントリ

アプリケーションのソースコードタイプ

次のアプリケーションソースコードタイプがサポートされています。

  • COBOL プログラム

  • JCL スクリプト

  • アセンブラプログラム

  • PL/I プログラム

  • CICS トランザクション

  • 自然プログラム

  • REXX スクリプト

  • Easytrieve プログラム

  • コピーブックと を含む

  • Proc ライブラリ

データベースアセット

次のデータベースアセットがサポートされています。

  • DB2 DCLGEN スクリプトと DDL スクリプト

  • IMS データベース定義 (PSBsと DBDs)

  • VSAM ファイル定義

  • 物理データベーススキーマと論理データベーススキーマ

  • データベースの手順とトリガー

ソースコードファイルの拡張子

拡張機能が不明な場合は、空白または .txt のままにすると、 AWS 変換によって自動的に分類されます。

次の表に、メインフレームソースアーティファクトの一般的なファイル拡張子を示します。

メインフレームソースコードファイルの拡張子
言語/タイプ 一般的な拡張機能 説明
COBOL .cbl、.cob、.cobol COBOL ソースプログラム
JCL .jcl ジョブコントロール言語スクリプト
アセンブラ .asm アセンブラ言語プログラム
PL/I .pl1 PL/I 言語プログラム
CICS 定義 .csd CICS システム定義 (CSD)
自然 .nat 自然プログラム
REXX .rex、.rexx REXX スクリプト
Easytrieve .ezt Easytrieve レポートプログラム
コピーブック .cpy COBOL コピーブック
BMS .bms 基本的なマッピングのサポート (BMS)
PL/I コピーブック .pl1_copy PL/I コピーブック
Db2 DCLGEN .dcl Db2 宣言ジェネレーター
Db2 定義 .sql、.ddl Db2 データベース定義
IMS 定義 .ims IMS リソース定義データセット (IMS ステージ 1)
MFS .mfs IMS MFS (メッセージ形式サービス)
PSB .psb IMS PSB (プログラム仕様ブロック)
DBD .dbd IMS データベースの定義
JCL Proc .prc、.proc JCL プロシージャライブラリ
JCL に含まれるもの .inc JCL ファイルを含める
マクロ .mac アセンブラマクロ
コントロールカード .ctl JCL ユーティリティコントロールカード

収集方法

ソースコードの抽出

メインフレーム PDS ライブラリからのインタラクティブなソースコード抽出には、セキュア FTP クライアント (WinSCP/FileZilla) を使用します。

DB2 スキーマの抽出

DB2 LUW (Linux、UNIX、Windows) クライアントソフトウェアには、インストールパッケージの一部として db2lookユーティリティが含まれています。db2look ユーティリティは、DB2 データベースから DDL (データ定義言語) ステートメントを抽出します。

次のコマンドを実行します。

db2look -d DATABASE_NAME -i userid -w password -a -e -m -l -x -f -createdb -printdbcfg -o DATABASE_NAME.sql

次のリストでは、パラメータについて説明します。

  • -d DATABASE_NAME: スキーマを抽出するデータベースの名前を指定します。

  • -i userid: データベース認証のユーザー ID

  • -w password: データベース認証のパスワード

  • -a: 認可情報 (グラント) を抽出します。

  • -e: すべてのデータベースオブジェクト (テーブル、ビュー、インデックスなど) を抽出します。

  • -m: 統計と物理特性を抽出します

  • -l: テーブルと列のコメントを抽出します

  • -x: 説明テーブルを抽出します

  • -f: 読みやすくするために出力をフォーマットします

  • -createdb: データベース作成ステートメントが含まれます

  • -printdbcfg: データベース設定パラメータが含まれます

  • -o DATABASE_NAME.sql: 出力ファイル名を指定します。

メインフレームからのカタログ情報の抽出

IDCAMS の LISTCAT コマンドは、メインフレーム上のデータセットに関するカタログ情報を取得するためのユーティリティです。これは、メインフレームのモダナイゼーションプロジェクトでデータセットをインベントリし、その特性を理解するのに役立ちます。

//LSTCATJ JOB 'LISTCAT',CLASS=A,MSGCLASS=X,NOTIFY=&SYSUID //* //STEP1 EXEC PGM=IDCAMS //* //SYSPRINT DD DSN=AWS.M2.CATALOG.LIST, // DISP=(NEW,CATLG,DELETE), // SPACE=(CYL,(1,1),RLSE), // DCB=(RECFM=FBA,LRECL=133,BLKSIZE=0) //* //SYSIN DD * LISTCAT ENT('AWS.M2.CARDDEMO.*') ALL LISTCAT ENT('SYS1.*') ALL /*

CICS 定義の抽出

IBM が提供する DFHCSDUP ユーティリティは、CICS システム定義 (CSD) ファイルから CICS リソース定義を抽出できます。

次の JCL を使用して、DFHCSD から既存の定義をアンロードします。

//CSDEXTJ JOB 'EXTRACT CSD',CLASS=A,MSGCLASS=X,NOTIFY=&SYSUID //* //STEP1 EXEC PGM=DFHCSDUP,REGION=0M, // PARM='CSD(READONLY),PAGESIZE(60),NOCOMPAT' //* //STEPLIB DD DSN=your-hlq.SDFHLOAD,DISP=SHR //DFHCSD DD DSN=your-hlq.DFHCSD,DISP=SHR //* //CBDOUT DD DSN=your-hlq.CSD, // DISP=(NEW,CATLG,DELETE), // SPACE=(CYL,(1,1),RLSE), // DCB=(RECFM=FB,LRECL=80,BLKSIZE=0) //SYSPRINT DD SYSOUT=* //SYSIN DD * EXTRACT GROUP(cics-group) USERPROGRAM(DFH0CBDC) OBJECTS /*

IMS 定義の抽出

IMS 定義を抽出するには、DFSURDD0 ユーティリティを使用して IMS トランザクションファイルを生成できます。このユーティリティは、移行目的で使用できるステージ 1 マクロステートメントを作成します。現在サポートされているのは IMS ステージ 1 のみです。

次の JCL を使用して IMS 定義を抽出します。

//IMSEXTJ JOB 'IMS STAGE 1',CLASS=A,MSGCLASS=X,NOTIFY=&SYSUID //* //STEP1 EXEC PGM=DFSURDD0,MEMLIMIT=12G //* //STEPLIB DD DISP=SHR,DSN=your-hlq.SDFSRESL //* //RDDSDSN DD DISP=SHR,DSN=your-rdds //* //SYSOUT DD DSN=your-hlq.STAGE1.IMS, // DISP=(NEW,CATLG,DELETE), // SPACE=(CYL,(1,1),RLSE), // DCB=(RECFM=FB,LRECL=80,BLKSIZE=0) //SYSPRINT DD SYSOUT=* //SYSIN DD * OUTPUT=MAC /*

CA-7 スケジューラ情報の抽出

CA-7 ジョブスケジュール情報は LJOB レポートに含まれています。LIST=NODD パラメータで LJOB ユーティリティを使用して、メインフレームでレポートを生成します。レポートには.ca7拡張子が必要です。各レポートには、列 1 に ANSI キャリッジコントロール文字が必要です。LJOB ユーティリティの実行に使用される JCL で DCB=RECFM=FBA (または FA) を指定することで、列 1 にキャリッジコントロール文字を含むレポートを作成できます。

例: LJOB,JOB=ZBN*,LIST=ALL

詳細については、Broadcom のドキュメントを参照してください。

SMF データの抽出

System Management Facility (SMF) レコードは、 AWS Transform がバッチジョブと CICS トランザクションの使用状況を分析するために使用されるアクティビティメトリクスを提供します。次の SMF レコードタイプがサポートされています。14、15、30 (サブタイプ 5)、64、102、110 (データクラス 1、3、4 を持つサブタイプ 1)。

SMF レコードの形式要件:

  • レコードタイプ 30 および 110 を含める必要があります (最低)

  • RDW (Record Descriptor Word) バイトを含む raw バイナリ EBCDIC 形式である必要があります

  • 次のいずれかとして指定する必要があります。

    • .zip 形式で圧縮された最大 600 MB のファイル

    • .tar.gz または .gz 形式で圧縮された最大 5 GB のファイル

  • Amazon S3 のソースコードとは別のフォルダに保存する必要があります

最低 13 か月の SMF レコードを提供して、短い時間枠で見逃す可能性のある年間バッチサイクルと季節的なパターンをキャプチャします。

オプション 1: SMF レコードを抽出およびソートする

次のサンプル JCL を使用して、SMF レコードを抽出およびソートします。

//SMFEXTR JOB (ACCT),'EXTRACT SMF',CLASS=A, // MSGCLASS=X,NOTIFY=&SYSUID //*-------------------------------------------------------------------* //* SMF RECORD EXTRACTION TEMPLATE //* CUSTOMIZE: Job card, dataset names, date range, record types //*-------------------------------------------------------------------* //* //* STEP 1: EXTRACT SMF RECORDS //* //EXTRACT EXEC PGM=IFASMFDP //SYSPRINT DD SYSOUT=* //* //* INPUT: Specify your SMF datasets (MAN files or GDG) //* //DUMPIN DD DISP=SHR,DSN=SYS1.MAN1 // DD DISP=SHR,DSN=SYS1.MAN2 // DD DISP=SHR,DSN=SYS1.MAN3 //* //* OUTPUT: Extracted SMF records //* //DUMPOUT DD DSN=your.hlq.SMF.EXTRACT, // DISP=(NEW,CATLG,DELETE), // UNIT=SYSDA, // SPACE=(CYL,(500,100),RLSE), // DCB=(RECFM=VBS,LRECL=32760,BLKSIZE=27998) //* //* CONTROL CARDS //* //SYSIN DD * INDD(DUMPIN,OPTIONS(DUMP)) OUTDD(DUMPOUT,TYPE(14,15,30,110)) DATE(yyyy/ddd,yyyy/ddd) START(0000) END(2359) /* //* //* STEP 2: SORT EXTRACTED RECORDS (OPTIONAL) //* //SORT EXEC PGM=SORT //SORTIN DD DISP=SHR,DSN=your.hlq.SMF.EXTRACT //SORTOUT DD DSN=your.hlq.SMF.SORTED, // DISP=(NEW,CATLG,DELETE), // UNIT=SYSDA, // SPACE=(CYL,(500,100),RLSE), // DCB=(RECFM=VBS,LRECL=32760) //SORTWK01 DD UNIT=SYSDA,SPACE=(CYL,(50)) //SORTWK02 DD UNIT=SYSDA,SPACE=(CYL,(50)) //SORTWK03 DD UNIT=SYSDA,SPACE=(CYL,(50)) //SYSOUT DD SYSOUT=* //SYSPRINT DD SYSOUT=* //SYSIN DD * SORT FIELDS=(11,4,CH,A,7,4,CH,A,15,4,CH,A),EQUALS /*

前述の JCL で次の値をカスタマイズします。

  1. ジョブカード: アカウント、クラス、msgclass を更新する

  2. DUMPIN: SMF データセットを指す

  3. DUMPOUT: 出力データセット名と HLQ を指定する

  4. タイプ: レコードタイプ (14、15、30、110 など) を選択する

  5. DATE: yyyy/ddd の形式 (例: 2026/055、2026/056)

  6. SPACE: 予想されるデータ量に基づいて調整する

  7. 不要な場合は SORT ステップを削除する

オプション 2: DFSORT を使用して SMF データを抽出する

DFSORT を使用して、SMF の履歴データを統合してレポートできます。これは、SMF レコードを日別または週別に GDG に保存する場合に役立ちます。次のジョブでは、DFSORT を使用して SORTIN ファイルから SMF レコードを統合し、INCLUDE COND パラメータで指定されたレコードに基づいてフィルタリングします。

//EXTRSMF JOB 'EXTRACT SMF RECORDS',CLASS=S,MSGCLASS=H, // MSGLEVEL=(1,1),REGION=0M,NOTIFY=&SYSUID,TIME=1440 //SORTJES2 EXEC PGM=SORT,REGION=0M //SYSOUT DD SYSOUT=* //SORTMSG DD SYSOUT=* //SORTIN DD DISP=SHR,DSN=your.hlq.SMF.EXTRACT //SORTOUT DD DSN=your.hlq.SMF.OUTPUT, // DISP=(MOD,CATLG,DELETE), // DCB=(BUFNO=20, // RECFM=VBS,LRECL=32760,BLKSIZE=27998), // SPACE=(CYL,(1400,900),RLSE) //SORTWK1 DD UNIT=SYSDA,SPACE=(CYL,(30,50)) //SORTWK2 DD UNIT=SYSDA,SPACE=(CYL,(30,50)) //SORTWK3 DD UNIT=SYSDA,SPACE=(CYL,(30,50)) //SORTWK4 DD UNIT=SYSDA,SPACE=(CYL,(30,50)) //SYSIN DD * OPTION COPY INCLUDE COND=(6,1,BI,EQ,X'0E',OR,6,1,BI,EQ,X'0F',OR, 6,1,BI,EQ,X'1E',OR,6,1,BI,EQ,X'40',OR, 6,1,BI,EQ,X'50',OR,6,1,BI,EQ,X'59',OR, 6,1,BI,EQ,X'5C',OR,6,1,BI,EQ,X'65',OR, 6,1,BI,EQ,X'66',OR,6,1,BI,EQ,X'6E')

RDW データを保持しながらデータをダウンロードするには、FTP サーバーを使用して抽出されたファイルを受信します。RDW がデータ転送に含まれるように、データがバイナリ形式で転送され、RDW オプションが使用されていることを確認します。次のジョブは、このファイルを転送するためのサンプル FTP ジョブを示しています。

//EXTRSMF JOB 'EXTRACT SMF RECORDS',CLASS=A,MSGCLASS=H, // MSGLEVEL=(1,1),REGION=0M,NOTIFY=&SYSUID,TIME=1440 //STEP1 EXEC PGM=FTP,REGION=2048K //SYSIN DD * 10.10.10.10 userid password type i LOCSITE RDW put 'your.hlq.SMF.OUTPUT' SMFREQS.SMF quit

SCRT レポートのアップロード

また、Sub-Capacity Reporting Tool (SCRT) レポートを AWS Transform にアップロードすることもできます。

アプリケーションインベントリのアップロード

すべてのアーティファクトを収集したら、次の手順を実行します。

  1. アーティファクトタイプ (/cobol、/jcl、/copybooks、/db2、/ims、/cics、/ca7 など) でファイルをサブフォルダに整理します。

  2. 最上位フォルダを 1 つの .zip ファイルに圧縮します。

  3. AWS 変換ワークスペースに接続されている Amazon S3 バケットに .zip ファイルをアップロードします。

注記

SMF レコードは、Amazon S3 バケット内のソースコードとは別のフォルダに配置し、.tar.gz または .gz 形式である必要があります。

Amazon S3 バケットを AWS 変換に接続する詳細な手順については、「」を参照してくださいコネクタのセットアップ