printerAssociation

フォームを印刷する際、実行時に出力の宛先を指定するには、converseVar.printerAssociation システム変数を使用します。 一部のファイル・タイプでは、複数の印刷ファイルを同時に開くことができます。

この変数は、以下のいずれかの方法で使用できます。
converseVar.printerAssociation には以下のような特性があります。
プリミティブ型
CHAR
データ長
ファイル・タイプによって異なる
セグメント化された converse にわたって値が保存されるかどうか
はい

converseVar.printerAssociation は、生成時またはデバッグ時に指定されたシステム・リソース名に初期化されます。 プログラムが別のプログラムへ制御権を渡すと、converseVar.printerAssociation の値は受け取り側プログラムのデフォルト値に設定されます。

複数の印刷出力のインターリービングを防ぐには、以下のいずれかが行われるまで印刷ファイルを開いたままにします。 close ステートメントは、converseVar.printerAssociation の現行値に関連したファイルのみを閉じます。 converseVar.printerAssociation の値を変更した場合は、以下のような動作になります。

互換性

表 1. printerAssociation の互換性に関する考慮事項
プラットフォーム 問題
Java™ 生成
Java 生成の場合、converseVar.printerAssociation は、コロンを間に挟んだ 2 つの部分からなるストリングとして設定します。
  jobID:destination
jobID
各印刷ジョブを一意的に識別する文字シーケンス (コロンを除く)。 これらの文字には大/小文字の区別があります (job01JOB01 は異なります)。また、jobID は、印刷ジョブが閉じた後に再使用することができます。
コード内のイベントのフローに応じて異なるジョブを使用し、異なる種類の出力や異なる順序の出力をプロモートすることができます。 例えば、以下の EGL ステートメントのシーケンスについて考えてみます。
  converseVar.printerAssociation = "job1"; 
  print form1;
  converseVar.printerAssociation = "job2";
  print form2;
  converseVar.printerAssociation = "job1";
  print form3;
プログラムが終了すると、2 つの印刷ジョブが作成されます。
  • form1 の後に form3
  • form2 のみ
destination
出力を受け取るプリンターまたはファイル。
ストリング destination はオプションです。印刷ジョブが開いたままの場合は無視されます。 このストリングがない場合は、以下のことが当てはまります。
  • destination の前のコロンは省略できます。
  • ほとんどの場合、プログラムによって印刷プレビュー・ダイアログが表示されます。ユーザーはこのダイアログで、出力用のプリンターまたはファイルを指定できます。 UNIX で curses ライブラリーを使用している場合は例外で、印刷ジョブはデフォルト・プリンターに送られます。
Windows 2000/NT/XP 用に生成を行っている場合、destination の設定には以下のことが当てはまります。
  • 出力をデフォルト・プリンターに送るには、以下のようにします。
    • リソース関連パーツに fileName プロパティーと一致する値を指定します。
    • spool (seqws ではありません) が関連ファイル・タイプの値になるように、Java ランタイム・プロパティーを変更します。 例えば、リソース関連パーツの fileName プロパティーの値が myFile で、systemName の値が printer である場合は、vgj.ra.myFile.fileType が seqws ではなく spool に設定されるように Java ランタイム・プロパティーの設定を変更する必要があります。 変更後のプロパティーは以下のようになります。
        vgj.ra.myFile.systemName=printer
        vgj.ra.myFile.fileType=spool
  • 出力をファイルに送るには、リソース関連パーツに fileName プロパティーと一致する値を指定します。この場合、seqws が、リソース関連パーツの関連 fileType プロパティーの値です。 リソース関連パーツの systemName プロパティーには、出力を受け取るオペレーティング・システム・ファイルの名前が含まれています。
  • destination の値に printer は指定しないでください。 指定すると、ユーザーに対して印刷プレビュー・ダイアログは表示されますが、比較的新しいバージョンの EGL ではその動作が異なる場合があります。
UNIX 用に生成を行っている場合、destination の設定には以下のことが当てはまります。
  • リソース関連パーツの関連 fileType プロパティーの値が spool である場合、(curses ライブラリーを使用しているかどうかとは無関係に) 出力をデフォルト・プリンターに送るには、リソース関連パーツに fileName プロパティーと一致する値を指定します。
  • リソース関連パーツの関連 fileType プロパティーの値が seqws である場合、出力をファイルに送るには、リソース関連パーツに fileName プロパティーの値と一致する値を指定します。 リソース関連パーツの systemName プロパティーには、出力を受け取るオペレーティング・システム・ファイルの名前が含まれています。
  • destination の値として、値 printer は指定しないでください。 (curses ライブラリーを使用していない場合に) 指定すると、ユーザーに対して印刷プレビュー・ダイアログは表示されますが、比較的新しいバージョンの EGL ではその動作が異なる場合があります。
CICS®
CICS の場合、converseVar.printerAssociation の初期値は、printDestination ビルド記述子オプションの値によって、またはこのオプションと vgLib.startTransaction() システム関数の相互作用によって決まります。
  • printDestination を PROGRAMCONTROLLED に設定した場合、converseVar.printerAssociation の初期値は、生成時にファイル名 printer に指定した値になります。
  • 以下のすべての条件が当てはまる場合、converseVar.printerAssociation の初期値は、その関数の prID パラメーターに指定した値になります。
    • printDestination が TERMINALID に設定されている。
    • トランザクションが vgLib.startTransaction() 関数の呼び出しによって開始されている。
    • vgLib.startTransaction() 関数の termID パラメーターが 2 進ゼロに設定されている。

CICS バッチ・プログラムが vgLib.startTransaction() 関数によって開始されなかった場合、converseVar.printerAssociation は (端末で開始されたプログラムに適している) デフォルトの CICS EIBTRMID になります。

以下のファイル・タイプのみがサポートされています。
SPOOL
converseVar.printerAssociation の値は、シリアル・ファイルに関連付けられた JES SPOOL ファイルの出力ファイル名です。 複数のファイルを同時に開くことができます。
出力ファイル名の形式は以下のとおりで、最大 19 バイトです。
  nodeid.userid.class

nodeid は、1 から 8 文字のシステム・ノード ID またはアスタリスク (*) です。 userid は、1 から 8 文字のシステム・ユーザー ID またはアスタリスク (*) です。 class (オプション) は、1 文字のスプール・クラス (デフォルトは A) です。 class が指定されなかった場合は、userid もオプションになり、デフォルトの CICS ユーザー ID (sysVar.userID に保存された値) になります。

詳細については、CICS のカスタマイズに関する資料を参照してください。

TRANSIENT
この値は、シリアル・ファイルに関連付けられた一時データ・キューを表す 4 バイトの DCT 名です。 一時データ・キュー名は、CICS に定義される必要があります。

複数のファイルを同時に開くことができます。

IMS™ BMP
EGL 生成の IMS BMP の converseVar.printerAssociation のサポートでは、以下のプラットフォーム上のこの変数のサポートを結合しています。
  • IMS/VS。converseVar.printerAssociation は SMSGQ タイプのファイルの場合にのみ役に立ちます。
  • z/OS® バッチ。converseVar.printerAssociation は SEQRS タイプのファイルの場合にのみ役に立ちます。
IMS/VS

出力用に SMSGQ タイプのファイルがサポートされていますが、複数のファイルを同時に開くことはできません。 値 (8 バイトの論理端末名またはトランザクション・コード) は IMS システムに対して定義され、単一セグメントのメッセージを受け入れるメッセージ・キューに関連付けられていなければなりません。 生成時に使用されるリソース関連パーツでは、ファイル名が、変更可能な代替 PCB または変更可能な特別代替 PCB と関連付けられていなければなりません。

converseVar.printerAssociation の値は大文字に変換されません。

iSeries® COBOL

iSeries COBOL に関して、converseVar.printerAssociation システム変数を、生成時に使用するリソース関連パーツの fileName プロパティーの値に設定します。 ファイル・タイプは、SPOOL タイプではなく、SEQ タイプにする必要があります。

iSeries 用に生成された COBOL プログラムでは複数の印刷ジョブがサポートされていません。converseVar.printerAssociation が設定されている場合、EGL ランタイムは古いファイルを閉じて (データの前の出力を完了して)、iSeries コマンド OVRPRTF を使用してファイル名をオーバーライドし、新規のファイルを開きます。

converseVar.printerAssociation の値は使用する前に大文字に変換されますが、システム変数自体の値は未変更のままです。 システム変数が小文字のバージョンを使用して初期化された場合、小文字のバージョンと比較したときに、converseVar.printerAssociation の値のテストは TRUE になります。

converseVar.printerAssociation に設定された値は、呼び出しレベルから伝搬され、すべての従属呼び出しレベルに変更されます。 ただし、プログラムが以前にファイルを開いていた場合、値は伝搬されません。

z/OS バッチ

converseVar.printerAssociation システム変数は、SEQRS タイプのファイルを参照する場合にのみ設定できます。 z/OS バッチ・プログラムとして生成されたプログラムの場合、 この変数の値は、54 バイトのデータ・セット名か、8 バイトの DD 名です。複数のファイルを同時に開くことができます。 この変数の初期値は、DD 名 EZEPRINT に割り振られたファイルの名前か、(その DD 名がない場合には) 生成時にファイル名 printer に指定されたシステム・リソース名です。

converseVar.printerAssociation を設定した場合、ファイルは SVC99 動的割り振りによって接続されます。 SVC99 の DISP オプションを SHR に設定した場合、出力用にデータ・セットを開くたびに、データ・セットが再書き込みされます。

converseVar.printerAssociation の値は使用する前に大文字に変換されますが、システム変数自体の値は未変更のままです。 システム変数が小文字のバージョンを使用して初期化された場合、小文字のバージョンと比較したときに、converseVar.printerAssociation の値のテストは TRUE になります。


フィードバック