EXFMT (形式の書き出し、その後読み取り)

自由形式構文 EXFMT{(E)} 形式名
コード 演算項目 1 演算項目 2 結果フィールド 標識
EXFMT (E) 形式名 _ ER _

EXFMT 命令は、WRITE とそれに続く同じレコード様式の READ の組み合わせです。 EXFMT が有効なのは、全手順 (ファイル仕様書の 18 桁目に F) の 入出力共用ファイル (ファイル仕様書の 17 桁目に C) として 外部定義された (ファイル仕様書の 22 桁目に E) ワークステーション・ファイルの場合だけです。

形式名 オペランドは、書き出されてから読み取られるレコード様式の名前である必要があります。

EXFMT 例外 (ファイル状況コードが 1000 より大きい) を 処理するために、命令コード拡張 'E' またはエラー標識 ER を指定できますが、 両方を指定することはできません。 エラーが発生した場合には、この命令の読み取り 部分は処理されません (レコード識別標識およびフィールドは変更されません)。 エラー処理の詳細については、ファイル例外/エラーを参照してください。

71 桁目、72 桁目、75 桁目、および 76 桁目はブランクでなければなりません。

複数装置ファイルでの EXFMT の使用法について は、READ (形式名による) および WRITE 命令の説明を参照してください。

詳細については、ファイル命令を参照してください。

図 294. EXFMT 命令
 *..1....+....2....+....3....+....4....+....5....+....6....+....7...+....
F*Flename++IPEASFRLen+LKlen+AIDevice+.Keywords+++++++++++++++++++++++++
 *
 * PROMTD is a WORKSTN file which prompts the user for an option.
 * Based on what user enters, this program executes different
 * subroutines to add, delete, or change a record.
 *
FPROMTD    CF   E             WORKSTN

 /free
    // If user enters F3 function key, indicator *IN03 is set
    // on and the do while loop is exited.
    dow not *in03;
 
       // EXFMT writes out the prompt to the screen and expects user to
       // enter an option. SCR1 is a record format name defined in the
       // WORKSTN file and OPT is a field defined in the record.
       exfmt SCR1;
       select;
       when opt = 'A';
          exsr AddRec;
       when opt = 'D';
          exsr DelRec;
       when opt = 'C';
          exsr ChgRec;
       endsl;
    enddo;
    do_something ();
    do_more_stuff ();
 /end-free