お問い合わせ
  1. 帳票ツールのCreate!Form
  2. 製品情報
  3. 機能一覧
  4. シェルスクリプトからの帳票出力

シェルスクリプトからの帳票出力

Create!Formは、Linux環境においてシェルスクリプトから利用可能な帳票作成ツールです。
シェルスクリプトの入門者でも呼び出しサンプルコードを見ながら、簡単にシェルスクリプトから帳票生成を行うことが可能です。
シェルスクリプトからの帳票作成には帳票作成ツールを使うと圧倒的に開発工数、メンテナンス工数は削減されます。
また、複雑な帳票になるほど帳票ツールを使用しなければ対応できなくなるのも事実です。


帳票ツールCreate!Formを利用するメリットは以下の通りです。

  • 完成帳票を確認しながら開発ができる
  • 運用後のデザイン変更はGUIのエディタで簡単に修正できる
  • 画像、バーコード、グラフ、外字などの帳票特有の出力をツールにまかせられる

シェルスクリプトから、帳票ツールCreate!Formを呼び出し、プリンターへ帳票を出力するサンプルを紹介します。

Create!Formでの帳票生成方法

  1. 開発環境で、帳票デザインやデータとの関連付け用の帳票定義ファイル一式を作成する。
  2. シェルスクリプトの上位アプリケーションより、帳票作成用のデータファイルを作成する。
  3. シェルスクリプトから、1の帳票定義ファイル名や2のデータファイル名などをCreate!Formの 帳票エンジンへパラメーターとして受け渡し、帳票エンジンを実行する。
  4. 指定したファイル名で印刷用ファイルが生成される。

3のCreate!FormPrint(Create!FormのPSプリンターへの帳票出力ランタイム)の呼びだし例を以下に記載します。
実行パラメーターに、Create!Formの設定ファイル名、帳票の元となるデータファイル、出力ファイル名、 その他こまかい設定が可能なオプション等を設定し呼び出します。

 1 :#!/bin/sh
 2 :#
 3 :printer=cpq #set printer name
 4 :errlog=cperror.log #set log file name of Create! FormPrint
 5 :printdata=cpdata.ps #set file name (work file).
 6 :cerrnum=9 #set error exit code of Create! FormPrint
 7 :#
 8 :#-------------------------------------------
 9 :## set Create! FormPrint installed directory
 10 :#-------------------------------------------
 11 :CDIR_PRINT=/opt/createv9
 12 :export CDIR_PRINT
 13 :LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/createv9/bin
 14 :export LD_LIBRARY_PATH
 15 :CREATE_EEXIT=$cerrnum
 16 :export CREATE_EEXIT
 17 :#
 18 :#----------------------------------------
 19 :## make print data for PostScript printer
 20 :#----------------------------------------
 21 :$CDIR_PRINT/bin/cprint $* 2> $errlog > $printdata
 22 :eccp=$?
 23 :if [ $eccp -eq $cerrnum ]; then 
 24 :echo "** fllowing is message of Create! FormPrint."
 25 :cat $errlog
 26 :exit $eccp
 27 :#else
 28 :elif [ $eccp -ne 0 ]; then 
 29 :echo "** execution error."
 30 :exit $eccp
 31 :fi
 32 :#
 33 :#-------------------------------
 34 :## send print data by lp command
 35 :#-------------------------------
 36 :lp -d$printer -s $printdata
 37 :eclp=$?
 38 :if [ $eclp -ne 0 ]; then 
 39 :echo "** error at lp command"
 40 :exit $eclp
 41 :fi
 42 :#
 43 :echo "** Print job normal end."
 44 :exit 0
 45 :#
 

機能一覧へもどる