帳票カスタマイズ メモ
■C共有ライブラリのコンパイルコマンド
$ gcc -shared -o wrapper.so -lpng -lqrencode wrapper.c
■libqrencodeについて
あらかじめコンパイル、インストールしておく。
/usr/local/lib/
/usr/local/include/
に配置されていることを確認
■.soのパーミッション等について
■.soの配置場所について
/usr/lib/jma-receipt/site-lib/
■Cプログラムについて
プログラム名と同じ名称のメソッドを用意する。
※mainメソッドではだめ。
COBOLからCALLするときは、上記のメソッド名(PG名)を指定する。
■DB取得項目の探し方
・monpeを起動
・monpeで対象項目のフィールド名を調べる
・.CBLで上記フィールドにMOVEしている箇所を見つける
・MOVE元の変数を特定してcoblogでログ出力等で内容確認
[COBOL]
・データ定義する。その際、「\0」セットの為、各フィールドは余裕をもたした桁数にする。(DUMMYのエリアを設けるなど)
・CALLで上記データ定義の各フィールドをCへ渡す。
[C]
・COBOLから受け取った引数に対して以下の各処理を行う。
・適当な位置で「\0」をセット
・trim関数を作って、トリミング
・生成した各値をsprintfでURL文字列連結
・QRcodeオブジェクトを生成
・生成した各値をsprintfでQRのPNGファイルパス文字列連結
・memcpyでファイルパス変数にセット(COBOL側で参照できるように)
・writePNGでQRイメージを作成
帳票編集処理(300-HC03-HEN-SEC)内、
入金金額(WRK-Z72)計算処理終了後、
monpeファイル(.red)の転記処理前に、
・QR生成セクション
・印刷用データ定義へのQRファイルパス転記
を行う。
以下のような記述で処理実行。
帳票印刷開始処理の「400-SYOKI-PRINT-SEC」内の、
HC01PARA-FORM-IDへ、「HC2Q」を転記する。
これにより、/usr/lib/jma-receipt/scripts/daily/HC01.sh が処理終了後にPNGを削除してくれる。