前回の方法は、スプール・データの中の、特定の場所(行と、桁の範囲)にあるデータを、帳票上の任意の場所に配置するという方法でした。この方法では、ある範囲のデータ毎に配置場所を指定できますので、配置の自由度は高い反面、ある特定の桁の範囲にあるデータが何行も繰り返されるような場合、実際にはこのようなデータの並びであることの方が多いのですが、この方法では非常に手間が掛かります。
そのような場合に使用するのが、もう 1 つの方法で、縦と横の組み合わせを使用します。
具体的には、次のような手順になります。
スプール・ビューに表示された見積り書のスプール・データ "DEMO1.pag" の 1 ページ目のデータの中で、各分野毎の分野名と合計金額が、28 行目から 40 行目まで繰り返されています。その時には、スプール・ビュー画面上でマウスを使って、横幅は任意、縦幅が 28 行目から 40 行目までの領域(次の図の "Group" と書かれた領域)を指定し、左側の画面にドラッグ & ドロップします。
Group 範囲の指定 |
固定グループのプロパティ画面 |
"OK" ボタンを押すと、左側の画面に次のように、赤い四角形が表示されます。
これで "縦" の指定はできたので、次は "横" の指定を行います。
スプール・データを見ると、分野名と金額の間がかなり空いていますので、A4 サイズの横幅の中に自然に収まって見えるように、間隔を詰めて配置するものとします。そのために、番号と分野名は一緒に 1 つのゾーンとし、金額は別のゾーンとして、間隔を詰めて先ほどの固定グループの中に配置します。つまり、番号と分野名に必要な桁の範囲、8 桁目から 23 桁を範囲指定したゾーンを、固定グループ "g1" の中にドラッグ & ドロップします。
そうすると、次のような "ゾーンのプロパティ" 画面が表示されます。やはりゾーンの名称は任意なので、ここでは、"g1" の中の 1 番目のゾーンなので、"Z11" と名付けます。
グループの中へゾーンを定義する |
"OK" ボタンを押すと、次の左側画面のように、固定グループ "g1" の中にゾーン "Z11" が配置されたことが分かります。更に Ctrl + W キーを押してプレビューすると、右側画面のように、ゾーン "Z11" で指定した桁の範囲のデータが、グループ "g1" で指定した行に対して繰り返し表示されたことが分かります。
(右側のスプール・ビューの画面では、左側画面でプレビューされたデータが、黄緑色で表示されていることにお気づきでしょうか。)
ゾーン "Z11" の追加とその結果 |
続けて、金額を表示させるために、つまり金額の桁数のゾーンを配置するために、左側画面の固定グループの赤四角を、少し右横へ幅を広げます。
その後、右側の画面で金額に必要な桁 116 桁目から 11 桁を範囲指定して、左側画面の グループ "g1" の中へ、ドラッグ & ドロップします。ゾーン名を "Z12" としてから、"OK" ボタンを押します。
ゾーン "Z12" の追加 |
また、グループをクリックして、黒四角が表示された状態にすると、右側画面では、グループとゾーンの組み合わせで表示されるデータの範囲が、紫色の四角形で表示されます。
ゾーン "Z12" の追加とその結果 |
初めての投稿で失礼します。
返信削除AS400で帳票のラインが66行を超える印刷をした場合、
印刷セッションのWSを66行以上に設定した場合、正常に印刷されますが、
66行を超える印刷のスプールが複数ある場合(例えば5つとか)、
途中から66行で改行され次ページに印刷されてしまいます。
この現象が全てのドットプリンターやレーザープリンターで起こります。(インパクトプリンターを除く)
解決策はございますか?
コメントを投稿していただき、誠にありがとうございます。
返信削除(なかなか、コメントが無いので、本当にありがたいです。)
PDTを指定した印刷をされているのだと思いますが、そのPDTファイルの元になっているPDFファイルの中に次のような記述があると思います。
(ibm5577.pdfの例)
/**********************************************************************/
/* Session Parameters */
/**********************************************************************/
MAXIMUM_PAGE_LENGTH=066
この"066"が、1ページ66行までの元になっていますので、この値をもっと大きな値にしてみてください。
PDF編集後は、PDTファイルへのコンパイルをお忘れなく、よろしくお願い申し上げます。