PythonからMVSデータセットにアクセスする

ZOAUを呼び出すことで、PythonプログラムからMVSデータセットにアクセスすることができます。以下は、MVSデータセットの内容を読み込んで別のデータセットにコピーするプログラム・サンプルです。ZOA UtilitiesのDatasetsを使用しています。

以下が、USSシェルから実行した結果です。

USSシェルからPythonを実行する他に、MVSバッチ・ジョブとして実行することもできます。

バッチ処理での実行結果です(ステップBPXBATCHのSTDOUT)。出力側データセット(userid.WORK(MSG2))にも入力側データセットの内容が書き込まれています。

Datasetファンクション、特にDataset.writeは想像以上に時間が掛かる機能でした。1回の呼び出しで10~20秒程掛かりました(IBM Z14(3906)Processor:3CPU VM Guest)。複数行を書き出す際は、1行ずつDataset.writeを呼び出すより、複数行のデータをまとめて書き出す方が効率が上がります。