CBL_CTF_DEST

エミッターをコンポーネントまたはデフォルトのエミッター リストに関連付けるか関連付けを解除して出力先を指定します。
制約事項: このルーチンは現在、COBOL for JVM ではサポートされていません。

構文:

call "CBL_CTF_DEST" using by value     flags
                          by reference component-id
                          by reference emitter-name
                             returning status-code

パラメーター:

  呼び出しプロトタイプ使用時 (「説明の読み方」を参照) PIC
flags cblt-x4-comp5 pic x(4) comp-5
component-id pic x(n) pic x(n)
emitter-name pic x(n) pic x(n)
status-code 説明の読み方」を参照  

入力パラメーター:

flags
制御フラグ:
ビット 0
意味
0 emitter-namecomponent-id に関連付けます。
1 emitter-namecomponent-id との関連付けを解除します。
ビット 1
意味
0 エミッターを親から継承します。
1 エミッターを親から継承しません。ビット 0 が設定されている場合やデフォルトのエミッター リストが指定されている場合は無視されます。
ビット 2 から 27
将来使用するために予約されています。値は常に 0 です。
ビット 28
意味
0 emitter-name は空白文字で終了します。
1 emitter-name は null で終了します。
ビット 29
将来使用するために予約されています。値は常に 0 です。
ビット 30
意味
0 component-id は空白文字で終了します。
1 component-id は null で終了します。ビット 31 を設定していない場合は無視されます。
ビット 31
意味
0 component-id は、CBL_CTF_TRACER_GET の呼び出しから返される pic x(4) comp-5 トレーサー ハンドルです。
1 component-id は、pic x(n) テキスト文字列です。文字列の終了文字はビット 30 で定義されます。
component-id
コンポーネント識別子。flags のビット 31 が設定されていない場合は pic x(4) comp-5 トレーサー ハンドル (CBL_CTF_TRACER_GET から取得)、flags のビット 31 が設定されている場合は pic x(n) テキスト識別子になります。
emitter-name
値を返す対象のプロパティの空白文字または null (ビット 28 の設定で決まる) で終了する名前。大文字と小文字は区別されません。

出力パラメーター:

status-code
次のいずれかになります。
  • 78-CTF-RET-EMITTER-NOT-FOUND
  • 78-CTF-RET-INVALID-COMP-NAME
  • 78-CTF-RET-INVALID-EMITTER-NAME
  • 78-CTF-RET-INVALID-TRACE-HANDLE
  • 78-CTF-RET-NOT-ENOUGH-MEMORY
  • 78-CTF-RET-SUCCESS

説明:

CBL_CTF_DEST は、構成ファイルの mftrace.dest エントリおよび mftrace.dest.component-name エントリと同等の機能を提供します。

デフォルトのエミッター リストには、常に少なくとも 1 つはエントリがあります。デフォルトのリストから最後のエントリが削除されると、TextFile エミッターが暗黙的に追加されます。コンポーネントのエミッター リストが空になる場合は、flags のビット 1 で継承しないように設定されている場合でも、親のエミッターが暗黙的に継承されます。

例:

 copy "cbltypes.cpy".
 copy "mfctf.cpy".
 
 01 component-name  pic x(4).
 01 emitter-name    pic x(10).
 01 flags           pic x(4) comp-5.

*> 1) Add TextFile to the default trace emitter list.

 ...
 move "TextFile" to emitter-name
 compute flags = 78-CTF-FLAG-DEST-ADD
 
 call "CBL_CTF_DEST" using by value flags
                          by value 0
                          by reference emitter-name
 ...

*> 2) Remove TextFile from the default trace emitter list.

 ...
 move "TextFile" to emitter-name
 compute flags = 78-CTF-FLAG-DEST-REMOVE
 
 call "CBL_CTF_DEST" using by value flags
                           by value 0
                           by reference emitter-name
 ...

*> 3) Associate the BinFile trace emitter with the RTS component. 
*>    The RTS component will inherit the default trace emitters.

 ...
 move "RTS" to component-name
 move "ES" to emitter-name
 compute flags = 78-CTF-FLAG-DEST-ADD b-or
                 78-CTF-FLAG-COMPID-STRING
 
 call "CBL_CTF_DEST" using by value flags
                           by reference component-name
                           by reference emitter-name
 ...

*> 4) Make the BinFile trace emitter the only emitter the 
*>    RTS component will use; that is, the RTS component will 
*>    not inherit the default trace emitters.

 ...
 move "RTS" to component-name
 move "BinFile" to emitter-name
 compute flags = 78-CTF-FLAG-DEST-ADD b-or
                 78-CTF-FLAG-DEST-NOINHERIT
                 78-CTF-FLAG-COMPID-STRING

 call "CBL_CTF_DEST" using by value flags
                           by reference component-name
                           by reference emitter-name
 ...