帳票設計を機能アップ

最近はコロナ禍の影響もありペーパレスが一段と進んでいます。

帳票出力の要望は少なく、もっぱらCSV出力になっていました。その方がデータとして活用もできて文字数の制限も少ないので、開発者もエンドユーザーもWinWinじゃないでしょうか(某総理の口調です)

帳票設計は作ってはいましたが、画面設計を流用してごまかし程度のものでした。

 

先日、私の友人(ASSGの開発協力者です)に「単票のやや込み入ったレイアウトでPDF形式の帳票を作りたい」との相談を受けました。サンプルを見ると罫線とフォントサイズがネックになりそうです。罫線は「DFNLIN]でDDSSRCを生成していましたが、PDF出力のためには「DEVTYPE(*AFPDS)」の指定が必要で、この場合「DFNLIN」は使えず「LINE」指定になります。「LINE」指定の場合は位置の単位はインチかセンチメートルです。帳票設計に[DFNLIN/LINE][INCH/CM]の指定を追加しました。またフォント種類によっては罫線がずれるケースもあるため、上下左右の微調整も追加しました。

 

もう一つのネックがフォントサイズです。私の固定概念では横幅は15CPI、縦は6LPI、フォント種類は固定がオフコンのあるべき姿じゃないでしょうか(しつこいか)

でも今ではフォント資源を使って書体やサイズが変更できます。一番困るのが小さい文字サイズです。デザインシートでは1つのセルを15CPI/6LPIで設定しているのですが、そこに10文字文のエリアを確保しても、小さい文字サイズでは11文字以上入るのです。そこでフィールド設定ウィンドウで、固定情報の場合は代替テキストの設定、フィールド情報の場合は隠し長を設定できるようにしました。

フォント種類については「CDEFNT/IGCCDEFNT」をOVRPRTFで設定するか、またはフィールド属性で設定します。

罠が1つ・・・

機能アップ後のASSGで帳票設計したところ、コンパイルエラーになりました。理由はレコードあたりのコード文字数は5000文字まででした。(なぜ?)

仕方がないので一定行数でレコードを分割することにしました。生成されたPRTSRCを見て、WRITE文を追加するようにしてください。

 

依頼元の友人には、「この帳票のDDSSRCを手作業で書いていたら何日かかるかわからないし、 罫線がずれたら調べるのも至難の業。ASSGがあればチョチョイノチョイで助かるわ」とお褒めの言葉を頂きました。昔流行った言葉を思い出しました。

WYSIWYG What You See Is What You Get 

 それでは