以下に、帳票管理Javaインタフェースに関する注意事項について示します。
●帳票管理アプリケーション使用時の注意事項
検索条件として指定する値には、以下の制限があります。
「クエスチョンマーク(?)」および「アスタリスク(*)」はワイルドカード文字として扱われます。「クエスチョンマーク(?)」は任意の1文字、「アスタリスク(*)」は任意の長さの任意の文字として指定できます。
「クエスチョンマーク(?)」と「アスタリスク(*)」を使用した場合、パラメータで指定する値に「パーセント(%)」や「アンダーバー(_)」があると、SQLのワイルドカード文字として処理されるため、目的の検索結果を得られないことがあります。
検索条件に空白を指定しないでください。空白を指定すると、正しく絞り込みが行われません。また、検索条件に空白を指定して、空白が設定されている情報を絞り込むことはできません。
情報を一覧取得するときに、複数の条件(メソッド)を指定した場合は、AND条件として処理されます。
List Manager管理データベースに定義している情報で、文字列の末尾に空白を付加している場合、その空白は帳票管理アプリケーションでは取得されません。末尾の空白までの文字が取得されます。
帳票定義情報に定義した値は、帳票管理アプリケーションで取得されません。
プリンタ機種、プリンタの接続形態によっては、帳票出力後に、プリンタでエラーが発生した場合、帳票管理アプリケーションで取得される出力完了ページ数が0ページになることがあります。
下記以外のプリンタを使用した場合、この現象が発生する場合があります。
VSP/VS/PS5000シリーズ
PrintiaLASERシリーズ(Printianavi搭載機)
上記の現象発生後は、プリンタのエラーを復旧させ、印刷を再開すれば、帳票管理アプリケーションに正しい出力完了ページ数が取得されます。
帳票資源の配置場所によってプレビュー用データが生成できない帳票があります。
詳細については、オンラインマニュアル“帳票印刷配信機能 運用ガイド”の“2.1.1 List Manager帳票出力インタフェースを利用して帳票を配信する場合”を参照してください。
配信通番を出力する設定にした帳票のプレビュー用データを生成する場合、帳票管理アプリケーションでは配信通番は取得されません。
OWFファイルのプレビュー用データから印刷する場合、またはプレビュー用データを印刷する場合に「給紙口」を有効にする場合、以下の注意事項があります。
List Creatorデザイナで設計した帳票の場合、帳票の給紙方法には「指定なし」以外を指定しておく必要があります。
帳票定義体(FORM (またはNetCOBOL に付属のFORM)に付属されているPowerFORMで作成)の場合、用紙/用紙方向にプリンタ情報ファイルを指定しておく必要があります。
画面帳票定義体(FORM(またはNetCOBOL に付属のFORM)で作成)の場合、用紙サイズに「指定なし」または「自由」を指定しておく必要があります。
帳票管理JavaインタフェースのJarファイル(f3hxcopr.jar、またはf3hxcjop.jar)を複写して使用しないでください。例えば、サーブレット・コンテナごとにJarファイルを複写した場合、動作の保証はできません。必ずJarファイルをクラスパスに設定して利用してください。
帳票管理Javaインタフェースの実行環境とList Manager管理データベースの文字コード系を合致させた環境で環境設定するようにしてください。
帳票管理Javaインタフェースの実行環境とList Manager管理データベースの文字コード系が合致していない場合で、日本語文字が混在する場合、以下の現象が発生することがあります。
帳票出力実行時に文字化けや出力エラーとなる場合がある
帳票管理Javaインタフェースでの取得結果が文字化けする場合がある
詳細および対処方法については、オンラインマニュアル“帳票印刷配信機能 トラブルシューティング”の“帳票管理Javaインタフェースで、論理あて先のコメントなどを取得したとき、半角文字の「?」になる”を参照してください。
帳票管理Javaインタフェースで取得される情報のうち、日本語表示域に日本語を入力したにもかかわらず、「アスタリスク(*)」が取得される場合があります。この場合、該当データは、ロケールや文字コード系の情報が誤った状態で入力された可能性があります。該当データをいったん削除し、正しいロケールや文字コード系を指定した環境で、再度実行してください。
●出力が保留されている帳票に対し、印刷部数を指定して保留解除する場合の注意事項
帳票の出力の保留解除時に、印刷部数を指定した場合と指定しない場合とでは、出力結果が異なります。
例として、2ページの帳票を3部印刷した帳票を保留解除するときの出力結果について、以下の場合ごとに示します。
印刷部数を指定せずに保留解除した場合
部単位で印刷しない場合(ページ単位で印刷する場合)
出力結果 (1)(1)(1)(2)(2)(2)
(1):帳票の1ページ目
(2):帳票の2ページ目
部単位で印刷する場合
出力結果 (1)(2)(1)(2)(1)(2)
(1):帳票の1ページ目
(2):帳票の2ページ目
印刷部数に「2」を指定して保留解除した場合
部単位で印刷しない場合(ページ単位で印刷する場合)
出力結果 (1)(1)(1)(2)(2)(2)(1)(1)(1)(2)(2)(2)
(1):帳票の1ページ目
(2):帳票の2ページ目
部単位で印刷する場合
出力結果 (1)(2)(1)(2)
(1):帳票の1ページ目
(2):帳票の2ページ目
帳票の出力の保留解除時に、プリンタ情報ファイルのCOPYG(複写枚数)で部数を指定して印刷した場合と印刷属性ファイルのcopynumキーで部数を指定して印刷した場合とでは、出力結果が異なります。
例として、2ページの帳票を3部印刷した帳票を保留解除するときの出力結果について、以下の場合ごとに示します。
印刷部数を指定せずに保留解除した場合
プリンタ情報ファイルのCOPYG(複写枚数)で印刷部数を指定して印刷した場合
出力結果 (1)(1)(1)(2)(2)(2)
(1):帳票の1ページ目
(2):帳票の2ページ目
印刷属性ファイルのcopynumキーで印刷部数を指定して印刷した場合
出力結果 (1)(2)(1)(2)(1)(2)
(1):帳票の1ページ目
(2):帳票の2ページ目
印刷部数に「2」を指定して保留解除した場合
プリンタ情報ファイルのCOPYG(複写枚数)で印刷部数を指定して印刷した場合
出力結果 (1)(1)(1)(2)(2)(2)(1)(1)(1)(2)(2)(2)
(1):帳票の1ページ目
(2):帳票の2ページ目
印刷属性ファイルのcopynumキーで印刷部数を指定して印刷した場合
出力結果 (1)(2)(1)(2)
(1):帳票の1ページ目
(2):帳票の2ページ目
帳票の出力の保留解除時に、印刷部数を指定した場合と指定しない場合では、出力結果が異なります。
例として、2 ページの帳票を3 部印刷した帳票を保留解除するときの出力結果について、以下の場合ごとに示します。
印刷部数を指定せずに保留解除した場合
出力結果 (1)(2)(1)(2)(1)(2)
(1):帳票の1ページ目
(2):帳票の2ページ目
印刷部数に「2」を指定して保留解除した場合
出力結果 (1)(2)(1)(2)(1)(2)(1)(2)(1)(2)(1)(2)
(1):帳票の1ページ目
(2):帳票の2ページ目
●出力が保留されている帳票を解除するとき、メッセージ通知先を省略した場合の注意事項
出力が保留されている帳票を、以下の流れで保留解除した場合に、省略または指定したメッセージ通知先への通知に失敗したときは、前回の保留解除時に指定したメッセージ通知先(2)で指定したメッセージ通知先)が有効になります。
帳票登録時、メッセージ通知先を指定し、帳票出力サーバで出力を保留した。
1.の帳票に対し、メッセージ通知先を指定して保留解除した。
2.で保留解除した帳票に応答待ちや出力エラーなどが発生したため、メッセージ通知クライアントから出力を保留した。
●帳票管理Javaインタフェースの例外発生時の注意事項
LogicalDestinationクラスの以下のメソッドでスローされるOperateExceptionクラスとOperateAllFormsExceptionクラスについて、これらのクラスのgetCodeメソッドで「0x000b0003」を取得、またはクラスjava.lang.Throwableから継承したgetMessageメソッドで「データが存在しない」を取得した場合、インスタンスが指す論理あて先が存在していません。該当する論理あて先が削除されていないか確認してください。
startメソッド
stopメソッド
resumeAllFormsメソッド
cancelAllFormsメソッド
forceCancelAllFormsメソッド
deleteAllFormsメソッド
LogicalDestinationクラスのchangeDeviceメソッドでスローされるOperateExceptionクラスのgetCodeメソッドで「0x000b0003」を取得、またはクラスjava.lang.Throwableから継承したgetMessageメソッドで「データが存在しない」を取得した場合、以下の原因が考えられます。
インスタンスが指す論理あて先が存在しません。
該当の論理あて先が削除されていないか確認してください。
切り替え先の論理デバイスが存在しません。
切り替え先の論理デバイスが存在するか確認してください。
切り替え先の論理デバイスの指定に誤りがあります。
切り替え先の論理デバイスの指定が正しいか確認してください。
LogicalDestinationクラスのchangeDeviceメソッドでスローされるOperateExceptionクラスのgetCodeメソッドで「0x000c0201」を取得、またはクラスjava.lang.Throwableから継承したgetMessageメソッドで「すでに配信要求が存在」を取得した場合、インスタンスが指す論理あて先に、以下の出力状態の帳票が存在するため、出力先を切り替えできません。出力先を切り替える前に論理あて先を停止し、帳票の出力を中止してください。
出力エラー
応答待ち
出力中
出力待ち
出力保留
配信中
配信待ち
Formクラスの以下のメソッドでスローされるOperateFormExceptionクラスのgetCodeメソッドで「0x000b0003」を取得、またはクラスjava.lang.Throwableから継承したgetMessageメソッドで「データが存在しない」を取得した場合、インスタンスが指す帳票が存在していません。該当する帳票が削除されていないか確認してください。
printoutメソッド
cancelメソッド
responseErrorメソッド
forceCancelメソッド
deleteメソッド
FormクラスのcopyメソッドでスローされるOperateFormExceptionクラス、およびLogicalDestinationクラスのcopyAllFormsメソッドでスローされるOperateAllFormsExceptionクラスについて、getCodeメソッドで「0x000b0003」を取得、またはクラスjava.lang.Throwableから継承したgetMessageメソッドで「データが存在しない」を取得した場合、以下の原因が考えられます。
インスタンスが指す帳票または論理あて先が存在しません。
該当の帳票または論理あて先が削除されていないか確認してください。
複写先の論理あて先が存在しません。
複写先の論理あて先が存在するか確認してください。
複写先の論理あて先名の指定に誤りがあります。
複写先の論理あて先名の指定が正しいか確認してください。