以下のリストから製品をお選び下さい。

第1集 | 第2集 | 第3集
 

FAQ-Unify VISION

listlist

オンラインヘルプについて

テキストファイルの取り込みの可否・スクリプトの記述方法

画面の最大、最小、高さ、幅について

2画面間の遷移の方法及びスクリプトの記述方法

ボタンラベルの配置について

メニューバーを消す方法について

オブジェクト属性の変更について

実行時のアプリケーションをMotifにする方法

画面のタイトルバーの色について

画面のプレビューについて

デザイナで縦の罫線を引く方法

テキストエリアのカンマ区切りの設定方法

ショートカットキーの設定方法

フォーム上のカーソル移動について

VISIONのグラフ機能について

英語モード → 日本語モードの自動切り替えについて

FEPの自動切り替えについて

DISPLAY文でのポップアップ画面について

system$()を使用した新規画面の起動について

ifdef-endifの機能について

範囲検索時の範囲指定文字について

サブフォームのサンプルについて

ZOOMフォームでのデータの受け渡しについて

VISIONAPからのデータベース接続方法について

DCMファイルの作成方法及びその使用方法

チェックボックスの使用方法

VISIONで画像データを取扱う方法について

MDIフォームの作成方法について

グローバル変数について

ショートカットキーの使用方法について

複数のテーブルへのアクセスについて

ActiveXの機能とその使用方法について

ウイザード機能について

カーソルの使用について

oracleストアドプロシジャコールについて

テキストファイルのアップロード/ダウンロードの機能について

データベースアクセスのエラートラップについて

レポートライターの機能について

Cプログラムのコールについて

EXEファイルの取扱い方について

テキストフィールドの入力チェックについてサンプル作成

繰り返しレコードを使用した一括更新について

ローカルファイルからのDB登録について

FYI_MESSAGEの使用方法について

NEXT FORM時のデータベースコミットについて

VISIONサポートOSについて

画面オブジェクトをファイルに落とす方法について

帳票作成ツール(RPT)について

VISIONライセンス管理について

UVの障害について(BUSS ERROR)

RPTのプログラミング及び、障害について

FORM内での複数レコード更新について(1)

FORM内での複数レコード更新について(2)

印刷時のlandscape/portraitについて

マウスポインタの位置・形の変更について

TelnetからUnify Visionを使用する方法

VISIONからCプログラム利用時の必要なソフトについて

Reprot Writer機能における #defineについて

VISIONにおけるパーティションの使用について

VISIONアプリケーションからプリンタを選択する方法

RPTコマンドにおけるパラメータ渡しについて

処理時間の見積もりについて

PREPARE_SQL,EXECUTE_SQLの使い方

繰り返しフィールドについて

sql_clear$()の使用方法について

曜日の取得について

カーソル宣言について

Solaris版VISION3.1Cにおけるon current処理

httエラーについて

ORACLEのトランザクションについて

ストアドプロシジャにおけるトランザクション管理について

フォームにおける整合性について

 

帳票作成ツール(RPT)について下記の質問をします。

  1. RPT(リポートライタ)の使用を考えていますが、RPT使用上でのマニュアルにないような注意点等、情報があれば教えて下さい。

  2. Unify VISIONでサードパーティのリポートツールとして実績のあるツールは、RPT以外にありますでしょうか。

  3. RPTのソースは、VISIONの開発環境からでも作成できるようですが、画面からの帳票の印刷処理として、どうやって印刷をかけるのでしょうか。

  4. RPTは、基本的にキャラクターベースの帳票作成ができるようですが、印刷時の文字サイズの変更等は、エスケープシーケンス等を使用して行なうのでしょうか。
  1. 念頭に置くべき事柄を何点か書きます。

    VISIONアプリケーションから印刷を行なうには、VISIONrptコマンドを使用します。
    このコマンドの引数は、rpt [RPTのスクリプトファイル] [印刷データファイル]です。
    本コマンド実行時の出力結果はUNIXでは標準出力に出力されるため、プリンタに出力結果を印字する為には、以下のようにコマンドを実行する必要があります。

    rpt [RPTのスクリプトファイル] [印刷データファイル]|jtops|lpr

    1. データファイル作成時の考慮点

      上記で説明したrptコマンドを実行するには、前もって印字用のデータファイルを作成しておく必要があります。このファイルは、例えばデータベースを検索した結果のデータが入っていたりします。
      (テキストファイルである)データファイルの作成は、VISIONアプリケーションが行ってもいいですし、別のアプリケーションで作成されても結構です。
      ここで(通常このファイルへの排他制御は行われないため)印字前に別のプロセスが上書きしないように注意する必要があります。
      またUNIX版では、rptコマンドの-xで印字後ファイルを消すということができませんので、必要なら明示的にファイルを消してやる必要があります。

    2. プリント制御ファイル作成時の考慮点

      印字のフォーマットを指定するファイルです。
      このファイルは印刷時のヘッダ/フッタの指定、1行に印字される文字数の指定見出しの表示等の指定を行ないます。フォーマットの異なるレポート毎に作成しておく必要があります。

      1,2のファイルとも、VISIONアプリケーションが稼動するマシンから閲覧できなければなりません。つまり全てのマシンにこれらファイルを保存しておく必要があります。

    3. プリント時の考慮点

      文字の大きさ及び、用紙の縦/横、フォントは全てlprコマンドにデータを渡す前の処理を行なうフィルタツールで行ないます(jtopsコマンド等)。
      そのため、印字文字数等はきちんとチェックしておき、それに合った文字の大きさ等をそのフィルタコマンドで指定する必要があります。

  2. 実績としてはCrystal Reportとの連携があります。但しこれはWindows版の場合であって、UNIX版の場合、実績は今のところありません。

  3. VISIONアプリケーションから印刷を行なうには以下のコーディング手順が必要となります。

    1. プリント制御用のファイルの作成

    2. 印字用データファイルの作成

      本ファイルはVISIONアプリケーションで作成しても結構ですし(storeスクリプトによるデータのファイルへの書込み)、別アプリケーションで作成されても結構です。
      ファイルフォーマットは、1行に印字されるデータはリターンコードで分割します。
      印字データ項目毎のデメリッタは"|"で区切ります。

    3. rptコマンド及びプリントコマンドをsystem$()関数で実行します。

    4. 必要なら印刷用データファイルを削除する。

      system$()コマンドでrmコマンドを実行して下さい。

  4. 文字のフォント、文字の大きさの変更はjtopsで行えます。但し、印字文字全てが同じフォント、大きさになるという問題があります。

    (例)
    setenv JTOPS "-s8 -r -g"
    or
    jtops -r -s8 -g ファイル名 |lpr

    以下の対策を考えました。

    1. rptの出力結果をテキストファイルに落とした後、文字飾りにおいてアンダーライン及び強調文字は印刷のテキストファイル内で制御コード^H(バックスペース)を使用することで可能です。

      アンダーライン: _^H_^H_^H
      強調文字 : あ^Hあい^Hいう^H

    2. jtopsフィルタで出力されるポストスクリプトファイルを編集することで文字のフォント、大きさを変更することが可能です。

    3. VISIONマネージャにポストスクリプトライブラリを加えて、カスタマイズしたcustomVISIONを作成する。VISIONアプリケーションからは、本ポストスクリプトライブラリ内関数をコールし、VISIONアプリケーションから直接ポストスクリプトファイルを作成する。

【番外】
rptの出力結果をテキストファイルに落とし、HTMLで修正後、ブラウザの印刷機能で出力する。

一番現実的なのは、3だと思います。