始めの言葉

「プリンターから印刷できて当たり前」と、ユーザーからもSIerからも軽視されがちなプリンターの世界ですが、実際にはお困りだったり、思ったような印刷結果が得られないまま我慢してお使いの皆様のために、今までの経験が役立てばと、このブログを立ち上げました。印刷の基本から、応用情報、問題の解決方法を情報発信すると共に、PDF化など、これからどうするかについても、ご相談に乗れれば幸いです。ご質問はコメントでお寄せください。

2015年12月10日木曜日

バーコードの印刷方法 - 第4回 もっと柔軟な方法 - Mapping Suite の場合-2

ページによってバーコードの種類や位置が変わる帳票を設計するには、2種類のアプローチが考えられます。
"MapDraw"では、前回お話したように、スプール・データの中の、行番号と桁幅を指定してバーコード表示することができますから、ページ毎にバーコード表示するデータの位置が異なっていても、それらを全て1ページに含むような設計をしておけば、バーコード表示するデータが存在した箇所のみ、バーコードは表示されます。また、同じ場所にあるデータを、あるページでは文字として印刷し、他のページではバーコード表示するといった場合には、それらを切り替える条件を定義できれば、1つの設計で対応できることになります。

そのような技が通用しない場合には、別のアプローチとして、バーコードの種類や配置の組み合わせに応じた帳票設計を、その組み合わせの数だけ用意しておいて、それらを1本のスプールに対して切り替えながら適用するという方法が考えられます。
これは、1本のスプールの中で、1ページ目が表紙、2ページ目以降が明細のページというような、請求書などに多い、複数のフォーマットを必要とする帳票の場合と同じ考え方です。

MapDraw 表紙ページのプレビュー画面
MapDraw 明細ページのプレビュー画面
左の上のサンプル・イメージは、Bayトップ書房という架空の書店の見積り書の、1ページ目の表紙を、帳票設計ツールの"MapDraw"で設計した後、プレビュー表示した画面です。画面の左半分がプレビュー画面、右半分が1ページ目のスプール・データを表示しています。
("MapDraw"では、プレビュー表示した際、右側の画面のスプール・データは、帳票に表示されたデータのみ緑色に変わります。これによって、データの抜けが無いかを確認できます。)

左の下のものは、2ページ目以降の明細ページをプレビュー表示した画面です。表紙と全く異なる設計になっていることが、お分かりいただけるかと思います。

では、この2種類の帳票設計を1つのスプールに対して、1ページ目と2ページ目以降で、どのようにして切り替えて適用するのでしょうか ?

話は先に飛びますが、"Mapping Suite"が、OS/400上でPDFを生成するコマンドは、"MAPSPLPDF"なのですが、これの主なパラメーターには次のものがあります。
1. 対象となるスプール・ファイルを特定するためのファイル名、ファイル番号、ジョブ名、ジョブ番号、ユーザー
2. 適用する帳票設計の名称(フォーマット名)とシーケンス番号
3. PDF化する対象のスプール・ファイルの中の開始ページと終了ページ
4. PDFファイル名、生成先のフォルダー
5. コード・ページ

この中で、表紙ページと明細ページの切り替えのために重要なのが、"フォーマット名"と"シーケンス番号"です。"フォーマット名"は、Bayトップ書房の見積書として、1つです。シーケンス番号には、表紙ページ用に"00010"、明細ページ用に"00020"を割り振り、"MAPSPLPDF"を実行する際には"*MRG"を指定することで、スプール・ファイルの各ページに対して、その条件に応じた設計(ここでは、表紙用の"00010"と明細用の"00020")を自動的に切り替えて適用します。

表紙ページの"プロジェクトのプロパティ"画面
ここで出てきた"フォーマット名"は、"MapDraw"で設計する際に"プロジェクトのプロパティ"画面で指定します。左の画面イメージは、"表紙ページ"の"プロジェクトのプロパティ"画面で、ここでは"BAYTOP"となっています。
このフォーマット名は、"明細ページ"の設計にも使用します。

"シーケンス番号"も、同じ"プロジェクトのプロパティ"画面で指定します。左の"表紙ページ"の"プロジェクトのプロパティ"画面では、"00010"となっています。"明細ページ"では、この値を"00020"とします。

表紙ページの"条件設定"画面
もう1点、重要なのは、表紙ページと明細ページの切り替えの条件付けです。表紙ページと明細ページのスプール・データの違いに着目して、切り替え条件を設定します。
このBayトップ書房の見積書の場合は、見積り番号の位置が、表紙ページでは、5行目の106桁目から114桁目にありますが、明細ページでは、4行目の106桁目から114桁目にあることから、左の画面イメージにあるように、表紙の"プロジェクトのプロパティ"画面で指定しています。(明細ページでは、行の値が 4になっているわけです。)
この切り替え条件で正しく切り替わるかを確認するには、"MapDraw"のプレビュー機能の一つである"マルチ・プレビュー"を使用します。"マルチ・プレビュー"では、"MapDraw"画面で、スプール・データのページ番号を次々と変えていった時に、設定された条件に応じた設計の帳票として表示されます。このページの上の"表紙"と"明細"の2つの画面が、それらです。


0 件のコメント:

コメントを投稿