「シェルスクリプトから帳票を出力する例を紹介します。」
*
帳票 Create!Form
Create!Form製品お問い合わせ インフォテック・アーキテクツ株式会社サイト内検索
インフォテック・アーキテクツ株式会社
HOME * 製品情報 * 導入事例 * パートナー * サービス&サポート * 会社情報
*
*
製品情報
Create! Form
体験版ダウンロード
資料ダウンロード
体験サイト
セミナー情報
更新情報
***
 
***

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

Create!Formは、Linux・UNIX環境においてシェルスクリプトから利用可能な帳票作成ツールです。

シェルスクリプトの入門者でも呼び出しサンプルコードを見ながら、簡単にシェルスクリプトから帳票生成が行えます。

シェルスクリプトからの帳票作成には帳票作成ツールを使うと圧倒的に開発工数、メンテナンス工数は削減されます。 また、複雑な帳票になるほど帳票ツールを使用しなければ対応できなくなるのも事実です。

帳票ツール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 :#
製品TOPへ戻る ページの先頭へ戻る
*
  * 会社情報 * プライバシーポリシー * 情報セキュリティへの取組 * サイトマップ * Copyright@Since 2004, Infotec Architects Inc. All Right Reserved.   
Adobe Reader ISMS
*
*
*
*