QSAM を使用したファイル処理

アセンブラー サポートには、データ セット編成 PS および PSU を使用する、QSAM スタイルのファイル処理があります。ファイルを DCB マクロで定義し、そのファイルを OPEN、CLOSE、GET および PUT の要求マクロで処理します。QSAM ファイル処理は、GET、PUT または GET/PUT の MACRF のオプション G、P または G,P によって DCB で識別されます。2 バイト COBOL ANSI 85 ファイル ステータス コードは、データ制御ブロック (DCB) のバイト 6 のすべてのファイル操作後に利用できます。

ファイル フォーマットは固定レコード、可変レコード、または Micro Focus 行順次レコードになります。読み取りまたは書き込みが行われた最後のレコードの長さは、常に DCB の LRECL フィールドで入手できます。

可変長レコードの場合、各レコードの先頭には、4 バイトのメインフレーム互換レコード記述語 (RDW) が付けられます。

Micro Focus 行順編成ファイルの編成を使用するには、DCB で RECFM=T を指定します。すべてのレコードは可変長であり、読み取りや書き込みに関わらず、ANSI 改行復帰文字 (x"0D0A") で終わらなければなりません。

アセンブラー サポートで提供されるサンプル プログラムの一部に、QSAM スタイルのファイル処理の使用が示されています。これらのファイルはすべて、デフォルトで %PUBLIC%\Documents\Micro Focus\Enterprise Developer\Samples\Mainframe\Assembler\Classic\QSAM ディレクトリにあります。

プログラム サマリー
pgasm04.mlc 入力/出力マクロ文を使用して、行順編成ファイルをコピーします。入力ファイルは mf370get.dat、新しい出力ファイルは mf370put.dat です。プログラムでレコードをコピーすると、レコードが画面に表示されます。
qsamex4.mlc ANSI テキスト ファイル (行順次フォーマット) を読み取り、80 文字固定長レコードの EBCDIC PS ファイルにレコードを書き込みます。このサンプル プログラムは、ASCII テキスト ファイルを、他のアセンブラー プログラムで読み取る 80 バイト EBCDIC カードイメージに変換する場合にかなり役立ちます。