始めの言葉

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

2018年6月16日土曜日

AS/400 プリンティングに求められるソリューション 第42回 - ROBOTを使った処理の自動化 - 5 -

前回までのお話で、予め定義した条件に合致するスプールが OUTQ に投入されたことを ROBOT が検知すると、予め定義したアクションが実行されるという、Mapping を使った処理の自動化を行う過程をご理解いただけましたでしょうか?
お話した例では、最終的に、"スプール・ファイル名.pdf" というファイル名の PDF ファイルが、IFS 上の特定のフォルダーに生成されたわけですが、通常の業務に使用するには、これでは不十分です。
例えば、次のような課題があります。
- スプール・ファイル名は一定の名前なので、"スプール・ファイル名.pdf" というファイル名では、PDF ファイルが生成される度に上書きされてしまう。例えば、システム時間、それも秒単位のタイム・スタンプの値を含む PDF ファイル名にする必要がある。
- 生成した PDF ファイルは印刷するので、ファイル・サーバーに転送する必要はないが、再印刷できるようにするためには、短期間、IFS 上に保存しておく必要がある。そのためには、やはり PDF ファイルには固有のファイル名を付ける必要がある。
- IFS 上に PDF ファイルが保存されていくだけでは、AS/400 の HDD を圧迫してしてしまう。そこで、PDF ファイルが生成されたら、ファイル・サーバーに FTP 転送して、IFS 上からは削除する必要がある。

"MAPCPYSPLF" コマンドを使って PDF ファイルを生成する時のファイル名に組み込める値に使用できる "ROBOT変数" には、"- ROBOTを使った処理の自動化 - 3 -" でお話したもの他に、次の変数があります。
&MAPNAM : Mapping フォーマット名をセットします。
&MAPSEQ : Mapping フォーマット・シーケンスまたは処理モードをセットします。
&MAPMOD : 処理モードをセットします。
&MAPSUP : 元のスプール・ファイルを削除するかどうかセットします。
&MAPSAV :マッピングされたスプール・ファイルを保存するかどうかをセットします。
&SNDFDP : オーバーレイを送信します。
&SNDPOL : フォントを送信します。
これらを見るとお分かりのように、スプール毎に変化するような値は見当たりません。

そこで、タイム・スタンプを含んだファイル名を持つ PDF ファイルを、ROBOT を使って自動的に生成させるには、CL なり、RPG を使って PDF ファイルを生成するたプログラムを用意します。そして、そのプログラムをアクションとして定義します。アクションの定義では "- ROBOTを使った処理の自動化 - 3 -" の中でお話した手順を繰り返すことにより、複数のステップを定義することができますが、残念ながら "ROBOT変数" 以外の変数はステップを跨って有効になることがありません。そのため、変数の定義から始まって、その変数を使った処理までカバーする 1 本のプログラムを CALL するように定義します。
DEMOLIB にある MAPPOPC というプログラムを Call するアクション
PDF ファイルをファイル・サーバーに FTP 転送する際も、同様の考え方で対応します。

2018年5月19日土曜日

AS/400 プリンティングに求められるソリューション 第38回 - ROBOTを使った処理の自動化 - 1 -

MAPCPYSPLF コマンドを実行して PDF ファイルを生成し、それを OUTQ を通して MVP をインストールした PC に送信して、プリンターから印刷するという一連の流れを見てきました。しかし、実環境においては、毎回コマンドを人間が操作して処理するということは無く、ユーザーが OS/400 上のアプリケーションのメニュー画面でデータを生成し、印刷指示するだけで、自動的に印刷が行われないとなりません。
もちろん、MAPCPYSPLF コマンドや、MAPIFS2PRT コマンドを、既存の CL の中に組み込むことで実現しても良いのですが、Mapping ではアプリケーションを変更せずに業務改革を実現することを志としていますので、ROBOT(ロボット) というサブ・システムを標準で用意しています。
ROBOT とは、大まかに言うと、次のような仕組みです。
- ROBOT が常時監視する対象の OUTQ を定めます。
- その OUTQ に、アプリケーションからスプールが投入されると、予め設定しておいた条件に合致するものに対して、やはり、予め定義しておいたアクション(処理)を行います。

従って、ROBOT を使うと、アプリケーションからスプールを投入する先の OUTQ を ROBOT が監視する別の OUTQ に変更する、あるいは、アプリケーションからスプールが投入されている元々の OUTQ を ROBOT の監視対象とする、それらのどちらかによって、Mapping を使った処理に移行できるわけです。
しばらくは既存の印刷も残しておいて、Mapping による処理と共存させる場合には、前者の方法が適していると思います。

では、これから ROBOT の設定を行っていきましょう。
Mapping メイン・メニューで "14. オペレーション・メニュー" を選択して実行します。
Mapping メイン・メニューで 14 を選択
表示された画面では、4 -> 3 -> 2 -> 5 と言う順番に進みます。そこで、"4. 入力/出力の出力待ち行列の関連定義" を選択して実行します。
Mapping オペレーション・メニューの画面
表示された画面で、キーボードの "F6" キーを押してから、次の画面のように、2種類の OUTQ (上段)とそのライブラリー(下段)、それと DTAQ(上段)とそのライブラリー(下段)を入力して、実行します。
- ROBOT が監視する "OUTQ 元"
- ROBOTが処理して生成されたスプールが書き出される "OUTQ 移動先"(実際には使用しない場合がほとんどなので、任意の OUTQ で構いません。)
- データのやり取りに使用される "DTAQ"
入出力待ち行列の関連付けの画面例
DTAQ 作成の確認画面例

 "DTAQ" は予め定義しておかなくても、実行キーを押すと、上の画面のように "確定してください" という確認のメッセージが表示されますので、そのまま実行すると設定完了です。その結果は、次の画面のように表示されます。

関連付けを定義した後の画面例
これで、ライブラリー "DEMOLIB" にある "DEMOOUT" という OUTQ を ROBOT の監視対象と定義することができました。

2017年12月16日土曜日

AS/400 プリンティングに求められるソリューション 第19回 - Mapping Suite の画面 - 1 -

今回のお話からは、実際の Mapping の画面をご紹介しようと思います。
Mapping は、本来はお客様のシステムの裏方として働くもので、表の画面に出てくることは通常はありません。出てくる機会があるとしたら、帳票の設計変更や追加、Mapping ROBOT(これは、後でご説明します。)の設定変更や追加を行なう場合くらいになります。

先ず初めに、帳票設計を行なうケースを想定して、どのように行なっていくか、画面と一緒にご紹介していきます。
帳票設計を行なう流れは、大まかには次のとおりです。
1. 帳票設計を行なうツールである "MapDraw" は、Windows 上で稼動します。MapDraw上に、対象となるスプールを表示させるために、AS/400 上の Mapping メニューを使ってスプールを PC 上で表示させるための変換を行ないます。
Mapping メイン画面の中のスプールを変換するためのメニュー"1"

2. 既存の帳票に合わせた設計とする場合には、既存の帳票のスキャン・イメージを画像データのオーバーレイとして、MapDraw の画面に貼り付けます。全く新規に設計する必要がある場合には、いきなり MapDraw 上で罫線や固定文字を配置させていっても良いのですが、予め、Excel や PowerPoint 等の罫線や文字を編集しやすいソフトウェア上で設計して、その画面イメージを MapDraw に貼り付けても良いかと思います。

3. MapDraw 上に表示したスプール・データを使って、データを表示させるための配置やフォントのサイズ、種類を指定していきます。MapDraw のプレビューの機能を使って設計した結果を確認していきますが、正確な画面表示は、倍率を 100% とした場合になることにご注意ください。
設計後の MapDraw プレビュー画面

4. 設計を確認できたら、プロジェクトの生成を行います。これによって、AS/400 側の IFS の特定のフォルダーにプロジェクト・ファイルが保存されます。設計で使用したフォントも同時に、IFS の特定のフォルダーに保存されます。AS/400 上の Mapping が PDF ファイルや PCL 形式の印刷データを生成するために、このフォルダーにあるフォント・イメージを使用します。

5. 保存されたプロジェクト・ファイルは、AS/400 上の Mapping メニューを使って、オブジェクトに変換します。
MapDraw プロジェクトをオブジェクトに変換するためのメニュー"2"

以上で準備は完了です。AS/400 上の Mapping のコマンドを使って PDF ファイルを生成して設計に問題が残っていないかを確認します。
問題ないことが確認できたら、新しい帳票が出力できるように、CL や ROBOT の設定に反映します。
次回からは、各ステップを少し詳しくお話しします。

2017年10月28日土曜日

AS/400 プリンティングに求められるソリューション 第12回 - Mapping Suite とは- 2 -

前回から、"Mapping Suite"の特徴をお話ししています。次の特徴は、特徴である他に、志とも言えるものと思います。
それは、可能な限り既存のアプリケーションの変更無しに、カット紙化や PDF化を実現するための機能を持っているという点です。
その代表的な機能が、"ROBOT" というサブシステムです。これは、Mapping が標準で持っている機能で、簡単にお話しすると、ある OUTQ に投入されたスプールに対して、予め定義しておいた処理を自動的に行なうものです。例えば、次のような処理が考えられます。
- カット紙プリンターに印刷する。

- 特定のルールで命名したファイル名の PDF ファイルを生成して、IFS 上の特定のフォルダーに保存する。
"ROBOT"は、必ず使用しないとならないというものではなく、Mapping のコマンドを既存の RPG や CL のプログラムの中に直接組み込むという方法もあります。ただ、"ROBOT" を使用すると移行が比較的容易かと思います。

他にも、スプールの前処理として、スプールの分割、結合や、スプール内のページの並べ替えが可能です。
AS/400 プリンティングに求められるソリューション 第7回 - Mapping Suite のお客様第1号 - の回でご紹介したケアコム様の例のように、"表紙" ページ用のスプールと、"明細" ページ用のスプールが分かれている場合、1つのPDF ファイルを生成するためには、スプールの結合が必要になります。また、ページ毎に各社員の給与明細が入った全社員分の1本のスプールを印刷していた業務を、社員毎の給与明細の PDF ファイル化に移行するには、PDF 化の前にスプールの分割が必要になります。
これらのような場合、既存のアプリケーションを変更できるのであれば、話しは簡単ですが、実際には、古くから使用しているアプリケーションだと、誰も手をつけられないとか、変更するための人手や時間が無いといったケースの方が多いと思います。そのために、Mapping V7 では、E-Documentというオプションの中で、スプールの分割、結合、並べ替えを行なうコマンドを用意しています。
また、帳票設計ツールである "MapDraw" には様々な設計機能を用意して、既存のスプールを元に、新しい帳票ができるようになっています。
スプールの分割/結合/並べ替えコマンドのパラメーター

他に大きな特徴として欠かせないのは、様々な言語のスプールに対応している点です。
これについては、AS/400 プリンティングに求められるソリューション 第9回 - Mapping Suite でできること-1 - の回の中でお話ししているので、ご説明を繰り返しませんが、他のソリューションには無い特徴です。
製造業のお客様だけでなく、他の業種の AS/400 ユーザーのお客様でも、日本以外の国に支社があったり、あるいはお客様があって、その国の方とコミュニケーションするために、日本語以外の言語のスプールを印刷したり、PDF ファイルにしたりする必要性は高まっていると思います。
"Mapping Suite" は、ユニコードを活用し、Windows のフォントを使用することで、お客様の AS/400 プリンティングにおける言語上の制約を解放します。
ただし、操作画面の言語は、日本語、英語、フランス語に限られます。また、画面上の文字数の制約から、日本語環境であっても、まだまだ英語しか表示できない画面があることも、残念ながら事実です。
Mappingコマンドの画面例(MAPCPYSPLF)







2017年10月21日土曜日

AS/400 プリンティングに求められるソリューション 第11回 - Mapping Suite とは- 1 -

"Mapping Suite" を使ってできることは、まだまだありますが、ここではどのようなソリューションなのかをご紹介いたします。
"Mapping Suite" は、フランス北部のリール(Lille、パリからTGVで1時間程度の距離)にある、Mapping 社で開発されたソリューションです。
Mapping 社は、元々、AS/400 関連の周辺機器、特にプリンターの販売会社だったのですが、1996年にオーナーの方が思い切って、大学卒業したばかりの若いエンジニアを採用して、AS/400 上で稼動するソリューション "Mapping Suite"を開発しました。それによって、ハードウェアの販売会社から、ソリューションとサービスの会社に、大きく業態を変えたのです。
これは、ちょうど私が経験した、2000年頃からライン・プリンターやドット・プリンターがそのまま後継機に置き換わらなくなって、お客様はプリンターのオープン化や、帳票の電子化を志向し始めたという現象が、フランスでは早めに起きていたこと、そして、Mapping のオーナーの方はいち早くそれを察知して、会社の業態をダイナミックに切り替えることに成功したことを意味していると思います。
同時に、AS/400のユーザーは、フランスでも日本でも同じような志向を持っていたという点は、おもしろいと思います。

Mapping は、初め SBCS のスプールにのみ対応していましたが、その後、2006年にユニコードに対応することで、DBCS のスプールにも対応しています。
また、2006年には、IBM のプリンティング・システムズ事業部とワールド・パートナー契約を締結して、フランス以外の国には、IBM が販売と保守を担当することになりました。そして、その契約が、インフォプリント・ソリューションズ社に引き継がれ、2008年には、日本でも発表されることになったわけです。
Mapping Suite のホームページでは、今現在、世界中で約 2,300社のユーザーが使用しているとのことです。
国内では、2008年の発表時点でのバージョンは、"V6" でしたが、その後、2015年3月に "V7" が発表されています。

"Mapping Suite"の最大の特徴は、AS/400で稼動することです。それによるメリットは次のようになると思います。
- Windows サーバーが不要です。
- お客様の RPG や CL のスキルを生かすことができます。
- Mapping は、OS/400 が元々持っている機能は活用するようにできていますので、プリンターへの印刷管理も従来どおり OUTQ によって可能です。
しかし、裏返すと、メリットも懸念点に繋がります。つまり、Mapping が行う処理は、AS/400 の CPU の負荷になるので、既存のアプリケーションの実行に影響を与える"可能性"があるということです。
(ただ、今まで国内で導入されたお客様で、実際に問題になったケースはありません。)

もう一つの大きな特徴は、出力先のプリンターのメーカーを問わないことです。
レーザー・プリンターや複合機であれば、PDF ダイレクト印刷機能、XPS ダイレクト印刷機能、あるいは PCL モードを持っていれば、LAN 直結で AS/400 から直接印刷ことが可能です。そして、それらの機能は、ほとんどのメーカーのプリンターや複合機では、標準、若しくは 2万円程度の安価なオプションとして用意されています。
なお、それらの機能が無い、若しくは今からオプションの追加ができない、設置済みのプリンターや複合機に対しては、オプションの"Mapping Virtual Printer"を使用すると、PC 経由にはなりますが、Windowsプリンター・ドライバーと Adobe Reader を使って、Mappingが生成した PDF を自動印刷することができます。"Mapping Virtual Printer"は、標準料金が 57,500円で、25個までのプリンター出力先を登録できます。つまり、Windowsプリンター・ドライバーを持ったプリンターなら、メーカーを問わず、AS/400 上の Mapping から自動印刷できるということです。
Mapping 処理の概略


2017年10月1日日曜日

AS/400 プリンティングに求められるソリューション 第8回 - Mapping Suite のお客様第2号 -

前回のお話でご紹介したケアコム様と並行して、"滝川"というお客様にも Mapping をご提案していて、ほぼ同じ頃にご契約いただきました。
"滝川"様は、理容・美容・エステ・ネイルの用品、機器、設備の総合商社です。日本に"エステティック"という言葉を初めて導入したとのことです。
"滝川"様が、Mapping をご契約いただくに至った大きな動機は、印刷コストの削減です。
公開されている事例に記載されているように、AS/400 からの出力用に使用されていたライン・プリンターが 7台、ドット・プリンターが 30台あり、3年以内に全てが更新の時期を迎えていました。
Mapping 導入後の Mapping セミナーでは、実際にお客様にご講演いただいたのですが、その中でお客様は、次のようにおっしゃっていました。

- システム部の悲しい性(さが)として、内部処理をどれだけ改善しても、ユーザー部門から評価されない。

- それならば、効果が見えやすい画面と帳票を改善しよう。

- ライン・プリンターとドット・プリンター(合計 37台)を新しいモデルに置き換えるだけでは、約3,000万円の費用が掛かることが見込まれる。それならば、これを機に"A4 サイズ・カット紙を中心とした出力環境の移行を検討しよう。

このように考えて、様々な帳票ソリューションを検討されたそうです。その中で、Mapping をご採用いただいた理由は、他のほとんどのソリューションが、Windows Server を建てる必要があるのに対し、Mapping は、AS/400 の中で処理が完結するため、Windows Server が不要な点でした。
カット紙化するために導入されたレーザー・プリンターは、印刷速度が 75ページ/分や 50ページ/分の高速機やデスクトップ型のものと併せて、22台です。この台数になったのは、従来よりも印刷速度が高速化できたことによる、プリンターの集約化の効果によるものです。
更に、配送センターには 5台のラベル・プリンターも導入しても、導入費用を半額に抑えることができました。

コストの削減という観点では、用紙コストの削減も見逃せません。従来のストック・フォームや、納品書等の複写伝票が、安価なA4 サイズや A3 サイズのカット紙に切り替わったこと、明細帳票や保存資料には、できるだけ両面印刷を活用して印刷枚数を削減することにより、インク・リボン代よりもトナー代が高くなったことも含めても、年間 200万円以上のランニング・コストの削減ができたとのことです。

特に"両面印刷"については、お客様の次の言葉が印象に残っています。
1. 従来の連続用紙の良いところは、印刷後の用紙がまとまっていることであり、それに対してカット紙は、大量に印刷した後の用紙の取り扱いに注意しないと、大変なことになる。カット紙の欠点を防ぐには、プリンターのオプションの機能を使って、印刷後に自動的にステープル止めすることにする。

2. 社内向けのストック・フォームに印刷していた帳票を A4サイズ用紙を横長に使用して印刷させてみたところ、ユーザー部門から、文字が小さくなって見え難くなったというクレームになった。そこで、一部の帳票は、ストック・フォームとサイズが似ている A3サイズのカット紙に移行することにした。

3. 社内向けの帳票は、両面印刷にすることによって、用紙の枚数を半減させることができる。ただし、ステープル止めのスペースを取るために、奇数ページは左余白、偶数ページは右余白を大きめに取るように帳票設計したい。->これは、MapDraw の両面印刷用の設計機能を使って、簡単に実現できました。(参照->連続用紙への印刷から、カット紙への印刷に移行する -第5回 縮小して両面印刷する-)

講演では、お客様はその他にも良かった点として、次のことをおしゃっています。
1. 5250 端末でのプリンタ制御が不要になった。つまり、現場は、端末の操作、メッセージの応答、OUTQの操作等を全く意識する必要が無くなり、負担が減った。

2. プリンター資源が統合、用紙在庫のスペースや、書類の保管スペースが削減できた。つまり、A4 サイズ用紙はストック・フォーム(汎用用紙)の半分の大きさで、両面印刷も可能である。

逆に、ご苦労された点としては、次の点を上げられました。
A4サイズに拘ったが故にプログラムの修正が発生した。
1. ストック・フォーム -> B4、A3用紙への移行は、用紙サイズがほぼ同じだったため、楽だった。

2. ストック・フォーム -> A4用紙への移行には、CL プログラム(OVRPRTFコマンド)の修正が必要だった。
具体的には、基幹システムの帳票が 1400本あったため、8人の要員で、その他の業務を行ないながら、3か月掛かった。

そして最後には、次のようにおっしゃって、締めくくっていただきました。
- Mappingは安心して、導入できるソフトウェア

- 舗装された道は、既に出来上がっている。

- あとは、そのルートに乗っかるだけ!
Mappingを使った滝川様の印刷システム

2017年9月22日金曜日

AS/400 プリンティングに求められるソリューション 第7回 - Mapping Suite のお客様第1号 -

東京で行なった研修の最後に、Stephane さんは、私たちに大変心強い言葉を残してくれました。
それは、"Mapping は、永年の間、AS/400 のお客様からのご要望を取り入れて機能拡張を積み重ねてきたものです。だから、日本の AS/400 のお客様のやりたいことも、実現できるはずです。お客様から Mapping でこんなことができるか ? と聞かれたら、先ず Yes と答えてください。どうやって実現するかは、私も一緒に考えるから。" というものでした。
プリンターに関しては、経験を積んできていた私たちですが、ソリューションをお客様に提案し、導入し、日常業務で使用していただくという経験は、ゼロと言って良い状態でした。そのため、研修を受けた後は、大海原にボートで漕ぎ出すような心持でしたが、そんな不安を Stephane さんの言葉が解消してくれました。

実際、2008年に発表して提案活動を行なっていく中で、ナース・コールのシステムを中心に製造販売している"ケアコム"というお客様から、次のような課題をいただきました。
そして、Stephane さんからアドバイスをいただきながら、課題を解決していき、最終的にはもう1件の別のお客様とほぼ同時に、初めてご契約いただく運びとなりました。
その課題とは、次のとおりです。

<現行の運用>
1. 営業担当者がお客様に提出する見積書の印刷。
2. 表紙と明細の 2 種類の事前印刷用紙(連続用紙)に、ドット・プリンターを使って印刷している。(AS/400 からプリンター・セッション経由の印刷)
3. 用紙の架け替えの手間を省くため、表紙印刷用と明細印刷用の 2 台のプリンターを使用している。つまり、スプールも、表紙用と明細用に別々となっている。
4. 印刷後、用紙を 1 枚ずつ切り離した後、印刷された見積り番号を頼りに、表紙と明細を組み合わせる作業が発生している。

<課題>
1. ケアコム様では、お客様先でも見積りを作成できるように、営業担当者にモバイル環境が提供済みとなっている。
2. しかし、見積り書は営業所に設置されたプリンターでないと印刷できないため、見積り書を提出するためには、営業所に戻らないとならない。そのため、モバイル環境の効果が十分発揮できていない。
(四国では、営業所が 1 箇所しかないため、お客様の場所によっては、提出までかなりの時間が掛かっているとのことでした。)
3. 別々のプリンターで印刷された表紙と明細を、見積り番号を使って組み合わせるため、ミスが起きることがある。

<要件>
1. 現行のアプリケーションを変えずに、見積りと明細をセットにした 1 つの PDF ファイルを生成する。
2. PDF のファイル名には、スプールの中に見積り番号を使用する。
3. 表紙には、担当者と上司が押印していたが、PDF ファイルでは、印影が付いた状態とする。(見積り番号の先頭の 4 桁が社員番号)
4. 提示金額が消費税込みの見積りと、そうでない見積りの 2 種類がある。現行では、表紙に消費税込みであることを事前印刷していて、そうでない場合は、その上に "====" を印刷して消している。PDF ファイルでは、消費税込みか込みではないかの文章を切り替えて表示したい。

<技術的な課題>
要件の "2", "3", "4" は、Mappingの帳票設計ツールである "MapDraw" の機能を使えば簡単に実現できるのですが、"1" は難しいものがありました。
具体的には、表紙用の OUTQ と明細用の OUTQ に同じ見積り番号のスプールが同時に書き込まれるわけではないため、必ず両者のスプールが揃った時点で、Mapping がスプールを結合しないとなりません。しかし、Stephane さんのアドバイスをいただいて CL を用意し、解決することができました。
ケアコム様のお話では、2002年頃から各社に声を掛けてソリューションを探してきたのですが、この課題を解決できる会社が見つからなかったとのことです。
Mappingによる処理概念-1



Mappingによる処理概念-2

<効果>
ケアコム様の具体的なお話は、Mapping Suite の事例のサイトでご覧いただけます。
導入の効果として、見積書をお客様にメール送信できるようになったり、家庭のプリンターでも印刷できるようになったことによって、営業担当の方の時間の余裕ができて、訪問件数が 30% 増えただけでなく、時短にも繋がったとのことです。
もちろん、ドット・プリンターの維持費や用紙代の削減も実現しています。
それだけでなく、情報システム部が新たに導入したシステムの中でも、ユーザーに感謝された稀有なケースだとも、お客様はおっしゃっていました。
ケアコム様見積り書表紙イメージ
ケアコム様見積り書明細イメージ

2016年4月3日日曜日

連続用紙への印刷から、カット紙への印刷に移行する -第4回 MappingSuiteを使った縮小印刷-

今までは、PAGES モードを持ったプリンターを前提に、縮小印刷するための方法をお話してきました。今回は、プリンターを限定しない方法として、以前、バーコード印刷の方法でご紹介した、MappingSuite(以降、Mapping)を使用する方法をご紹介します。
基本的な考え方は、先ず、縮小印刷の対象となるスプールに対して、Mapping が OS/400 上で縮小印刷結果そのものの PDF ファイルを生成します。
次に、それを PDF ダイレクト印刷可能なプリンターに、OUTQを通して直接印刷する、若しくは、PC 上の MVP(Mapping Virtual Printer) に送信すると、自動的に Adobe Reader とプリンター・ドライバーを使って印刷するというものです。

そのための準備として、帳票設計ツールである"MapDraw"を使って、縮小印刷のための帳票設計を行ないます。ここでは、15インチx11インチ・サイズの連続用紙に印刷していた、横 132桁、縦 66行のデータを、A4 サイズ、横長に縮小するための設計を行ないます。
1. "MapDraw"で新規作成を指定すると、次のようなフォーマットの定義を行う画面が表示されます。"ページ・サイズ"に"A4"、"向き"は"Landscape"(Landscape は、風景画の意味で、通常、風景画は横長です。これはプリンター業界共通の用語です。ちなみに、縦長は"Portrait"、肖像画です)、"フォーマット名"は"SHUKUSHOH"とします。
MapDrawプロジェクトの定義画面














2. 横132桁、縦66行のスプール・データをMapDraw上に取り込みます。罫線や固定文字等のオーバーレイを必要としない、単なる縮小印刷であれば、スプール・データの配置を決める"MapF"画面表示に切り替えます。
スプール・データの取り込み














3. 左側の"MapF"画面上では、初めに、"1行目から66行目までを繰り返す"という意味の"グループ(g1)"を定義します。なお、上余白は、"グループ"の上端とその下の線とで調整するのですが、それは後の全体の位置調整の時に行ないます。
グループの作成









4. "グループ"で定義した繰り返しの対象となる"ゾーン"を定義します。"グループ"の中に、スプール・データの"1桁目から132桁目"を"文字"で表示するという定義の"ゾーン"を作成します。
ゾーンの定義-桁とタイプ










5. "ゾーンのプロパティ"画面で、"フォントとスタイル"タブを選択すると、フォントの種類やサイズ、そして文字ピッチを指定することができます。ここでは、フォントの種類に"MSゴシック"、サイズに"9ポイント"、文字ピッチの値に"23"を指定しました。
ゾーンの定義-フォントと文字ピッチ











6. 更に"条件"のタブを選択すると、"間隔"欄で、行間隔、つまり行ピッチを指定できます。ここでは、値は"29.63"、その単位は"1/10mm"を指定しています。これは"2.963mm"を表わしています。(細かい数値になっていますが、実際に選択できるのは、0.1mm単位です。)
ゾーンの定義-行間隔











7. ここまでの設計の結果をプレビューの画面で確認すると、次の画面イメージのようになり、A4 サイズ横長に縮小されたイメージの設計ができたことを確認できます。もちろん、ここで指定したフォント・サイズや文字ピッチ、行間隔は、プレビュー画面で確認しながら何度か調整した結果で、初めからこれらの値を1回で決められた訳ではありません。
プレビュー画面











8. ここで、Mappingを使うことのメリットは、上や左の余白を、"MapDraw"のプレビュー画面上で結果を確認しながら、微妙に調整できる点です。特に左余白は、"ゾーン"の定義で、文字の配置がデフォルトの左寄せの場合は、ゾーンの左端の位置をマウスを使って、あるいは、X 座標の値を直接入力することで、調節できます。前回までお話した PAGES モードのプリンターにコマンドを送信して指定する方式では、左余白の値を予め決めて、それを元に換算する手間が掛かりましたし、その結果を確認するには、実際に印刷してみないと分かりませんでした。この点は大きな違いと思います。
ゾーンの左端の位置
1桁目の位置 = 左余白

9. 後は、バーコードの印刷方法 - 第5回 もっと柔軟な方法 - Mapping Suite の場合-3 でお話した手順で、PDF ファイルの生成や、その印刷します。もちろん、日々の業務で自動実行するためには、PDF ファイルの生成や自動印刷のコマンドを、既存の CL たRPG プログラムの中に取り込む、若しくは、Mapping の標準機能である ROBOT を設定することが必要ですが、それらについては、Mapping 自体のお話しの機会にご説明します。

次回は、補足として、MapDraw の機能を活用した、"両面印刷"を意識した設計のお話をします。

2015年3月1日日曜日

AS/400からの印刷 ~基礎編-7~

いわゆる「帳票ソリューション」を使った出力は、2000年ころを境に増えてきた方法と思います。その主な特徴は、以下のようになります。
  1. プリンターに対する制約が、ほとんど無い。Windowsドライバーを持つプリンターなら印刷可能です。
  2. 印刷だけではなく、PDF化が可能となるため、メール送信、FAX送信、電子保管など多くの出力方式が使えるようになります。
  3. 帳票設計の機能によって、帳票の表現力が圧倒的に向上します。例えば、文字や罫線の配置も、行や桁の制限が無くなり、自由になります。また、カラー出力は、これ以外には不可能と言って良いでしょう。
帳票ソリューションは、大きく分けると、Windowsサーバー上で稼働するタイプと、AS/400上で稼働するタイプの2種類に分かれます。
前者は、AS/400上のスプールをWindowsサーバーに受信する -> 設計しておいた帳票フォーマットと重ね合わせる -> Winodwsドライバーを使って印刷する、若しくはPDF生成するという処理の流れになります。このタイプは製品の種類が多いのですが、AS/400のユーザーの多くはWindowsサーバーを立てることを好まない方が多いように思います。
一方、後者は、帳票設計はWindowsの上で行いますが、それを使った印刷やPDF化は、AS/400上で実行します。当ブログの右サイドのリンク先にあるMapping Suiteは、このタイプです。
それぞれのタイプの得失は、次のように考えられます。
  • 単にサーバーを別に立てるかどうか以外に、後者は、ユーザーが持っているRPGやCLのスキルを活用できます。
  • PDF生成等の処理に、前者はWindowsサーバーのCPUを使用しますが、後者はAS/400のCPUを使用します。負荷の分散という観点から考えると、前者が有利と言えます。
また、AS/400と直結プリンターの印刷や、プリンター・セッション経由の印刷と比べると、PDFにしてもWindowsドライバーを使った印刷にしても、データ・サイズは大きくなります。そのため、これらのタイプの出力に切り替える時には、ある程度、ネットワーク容量に配慮する必要はあると思います。
帳票ソリューションの導入には、費用が掛かりますので、次回では、その投資対効果の考え方についてお話しします。