端末で PRINT ファイルからの出力に通常のスペーシングを適用したい場合は、PL/I 用のタブ・テーブルを独自に提供する必要があります。 そのためには、メインプログラム内またはメインプログラムとリンクされるプログラム内で PLITABS という外部構造体を宣言し、エレメント PAGELENGTH をページに収まる行数に初期化します。 この値は PAGESIZE とは異なります。PAGESIZE は、ENDPAGE になる前に ページに印刷したい行数を定義します (図 15 を参照)。64 行の PAGELENGTH が必要な場合は、図 14 に示すように PLITABS を宣言します。 タブ・テーブルの指定変更の詳細については、タブ制御テーブルの指定変更を 参照してください。
ご使用のコードが PLITABS の宣言を含む場合は、ページ・サイズ、行のサイズ、およびその他の値が有効であるだけではなく、PLITABS 構造体の最初のフィールドも有効でなければなりません。 このフィールドには、構造体が設定されるタブの数を指定しているフィールドへのオフセットが入っている必要があります。そうでない場合、Enterprise PL/I ライブラリー・コードは正しく機能しません。
DCL 1 PLITABS STATIC EXTERNAL,
( 2 OFFSET INIT (14),
2 PAGESIZE INIT (60),
2 LINESIZE INIT (120),
2 PAGELENGTH INIT (64),
2 FILL1 INIT (0),
2 FILL2 INIT (0),
2 FILL3 INIT (0),
2 NUMBER_OF_TABS INIT (5),
2 TAB1 INIT (25),
2 TAB2 INIT (49),
2 TAB3 INIT (73),
2 TAB4 INIT (97),
2 TAB5 INIT (121)) FIXED BIN (15,0);