フレームのリンク機能を用いると複数のフレームに同一の浮動パーティションを出力することができます。
リンクするフレームへの移動は、改フレーム(改ブロック)で行います。リンクするフレームがない場合に、改フレーム(改ブロック)を指定すると、改ページと同じ扱いとします。なお、オープン直後または帳票定義体の変更直後に、改フレーム(改ブロック)指定を行った場合は、対象とするフレームが決まっていないので、改ページは行われません。利用者プログラムで印刷制御(改行、改ブロック、改ページ)を行う必要があります。印刷制御については、プリンタ装置の制御を参照してください。
固定パーティションはリンクするフレームごとに定義することができます。
フレーム枠を超えて項目群を出力すると後続するリンクするフレームがない場合はMEFP_RC_ENDFRAMELINK(6B)のエラーになり、後続するリンクフレームがある場合は、MEFP_RC_ENDFRAME(6C)のエラーになります。
例
~ボディに定義された項目のレコードデータ(月度、氏名、社員番号)に値を設定~ ps_write_partition(psfile, “BODY”, PS_WP_POSISION, 1, pRecord); /* BODYの出力 */ ps_write_partition(psfile, “CH1”, PS_WP_POSISION, 1, pRecord); /* CH1の出力 */ DEを1ヶ月分の出力するループ ~DEに定義されたレコードデータ(出勤時間、退勤時間、勤務時間)に値を設定~ ps_write_partition(psfile, “DE”, PS_WP_AFTERFEED, 1, pRecord); /* DEの出力 */ ~フレームを変更する必要がある場合~ ps_control_printer(psfile, PS_CP_BLOCK, 0, NULL); /* 改ブロック */ ps_write_partition(psfile, “CH1”, PS_WP_POSISION, 1, pRecord); /* CH1の出力 */
* ボディの出力 ~ボディに定義された項目のレコードデータ(月度、氏名、社員番号)に値を設定~ MOVE "BODY" TO PRT-GROUP. MOVE "PW" TO PRT-MODE. MOVE "P001" TO PRT-CONTROL. WRITE SAMP. * 制御頭書きの出力 MOVE "CH1" TO PRT-GROUP. MOVE "PW" TO PRT-MODE. MOVE "P001" TO PRT-CONTROL. WRITE SAMP. 以下を1ヶ月分繰り返す。 * 明細の出力 ~DEに定義されたレコードデータ(出勤時間、退勤時間、勤務時間)に値を設定~ MOVE "DE" TO PRT-GROUP. MOVE "PW" TO PRT-MODE. MOVE "A001" TO PRT-CONTROL. WRITE SAMP. ~フレームを変更する必要がある場合~ MOVE "CT" TO PRT-MODE. MOVE "BLCK" TO PRT-CONTROL. WRITE SAMP. MOVE "CH1" TO PRT-GROUP. MOVE "PW" TO PRT-MODE. MOVE "P001" TO PRT-CONTROL. WRITE SAMP.