例 10: MVS™ データ・セット・メンバーの内容全体を読み取る
次の例では、File Manager Service Provider REST API 呼び出しを実行して MVS™ メンバー内のすべてのレコードを読み取る非永続セッションを開始し、テンプレートを使用して各レコードのフィールドをマップします。
この例では、一致するテンプレートまたはコピーブックを使用して MVS™ データ・セットをマップするサービス・アーカイブが作成され、デプロイされていることを前提とします。例えば、サービス・アーカイブは次のプロパティー・ファイルを使用して作成できます。
name=fmExample6
description=ADMIN.JCL(TERSE) MAPPED BY MY.TEMPLATE(JCL)
version=1.0
provider=filemanager
host=10.1.1.2
port=9043
userid=admin
passwd=s3cr3t
file=ADMIN.JCL(TERSE)
template=MY.TEMPLATE(JCL)
timeout=300
connid=default
この例は、MY.TEMPLATE(JCL) で見つかったテンプレートを使用して ADMIN.JCL(TERSE) という MVS™ データ・セット・メンバーをマップします。この例では、生成された SAR ファイルと関連する組み込みの API が z/OS® Connect WLP サーバーにデプロイされていることを前提としています。
初回要求
データ・リソースからデータを読み取る初回 API 呼び出しには、z/OS® データ・リソースへの以降のアクセスで呼び出し元を認証できるように、HTTP Basic 認証ヘッダーが必要です。例:
Authorization : Basic dXNlcmlkOnBhc3N3b3Jk
ここで、Basic キーワードに続くストリングは、userid:password の Base64 エンコードを示します。
また、JSON ペイロードがあるすべての要求でも、値が application/json
の Content-Type ヘッダーが必要です。
"numRecords" : 10000
だけです。session
パラメーターのデフォルトは false です。{
"operation" :
{
"numRecords" : 10000
}
}
この要求は、MY.TEMPLATE(JCL) によってマップされた ADMIN.JCL(TERSE) メンバーの内容全体の読み取りを試行し、返します。
10,000 は、単一の要求で読み取ることができるレコードの最大数です。ファイルに 10,000 を超えるレコードが含まれる場合、ブロックでレコードを読み取るためにセッションが必要になります。
{
"records" :
[
{
"layouts" :
[
{
"FILE" :
{
"RECORD" : "//ADMIN1 JOB(HCL),CLASS=A,NOTIFY=ADMIN"
}
}
]
},
{
"layouts" :
[
{
"FILE" :
{
"RECORD" : "//STEP1 EXEC PGM=AMATERSE,PARM=PACK"
}
}
]
},
{
"layouts" :
[
{
"FILE" :
{
"RECORD" : "//SYSUT1 DD DISP=SHR,DSN=ADMIN.BIN"
}
}
]
},
{
"last" : true,
"layouts" :
[
{
"FILE" :
{
"RECORD" : "//SYSUT2 DD DISP=SHR,DSN=ADMIN.BIN.TERSED"
}
}
]
}
]
}
サービス・プロバイダーによって保守されているセッションがなかったため、呼び出し元は File Manager セッションを終了する 4 番目の要求を出す必要はありません。返される 2 番目のレコードがファイルの最後であるため、last
が true に設定されています。