目次

Search

  1. はじめに
  2. トランスフォーメーションに関する作業
  3. アグリゲータトランスフォーメーション
  4. カスタムトランスフォーメーション
  5. カスタムトランスフォーメーション関数
  6. データマスキングトランスフォーメーション
  7. データマスキングの例
  8. 式トランスフォーメーション
  9. エクスターナルプロシージャトランスフォーメーション
  10. フィルタトランスフォーメーション
  11. HTTPトランスフォーメーション
  12. ID解決トランスフォーメーション
  13. Javaトランスフォーメーション
  14. JavaトランスフォーメーションAPIのリファレンス
  15. Java式
  16. Javaトランスフォーメーションの例
  17. ジョイナトランスフォーメーション
  18. ルックアップトランスフォーメーション
  19. ルックアップキャッシュ
  20. 動的ルックアップキャッシュ
  21. ノーマライザトランスフォーメーション
  22. ランクトランスフォーメーション
  23. ルータトランスフォーメーション
  24. シーケンスジェネレータトランスフォーメーション
  25. ソータトランスフォーメーション
  26. ソース修飾子トランスフォーメーション
  27. SQLトランスフォーメーション
  28. マッピングにおけるSQLトランスフォーメーションの使用
  29. ストアドプロシージャトランスフォーメーション
  30. トランザクション制御トランスフォーメーション
  31. 共有体トランスフォーメーション
  32. 構造化されていないデータのトランスフォーメーション
  33. アップデートストラテジトランスフォーメーション
  34. XMLトランスフォーメーション

トランスフォーメーションガイド

トランスフォーメーションガイド

データをブロックするプロシージャコードの記述

データをブロックするプロシージャコードの記述

入力データのブロックとブロック解除を行う手続きを書くことができます。入力データをブロックするにはINFA_CTBlockInputFlow()関数を使用します。入力データのブロックを解除するにはINFA_CTUnblockInputFlow()関数を使用します。
エクスターナルプロシージャで入力グループからの読み込みを切り換える必要がある場合は、入力データをブロックする必要があります。ブロック機能を使わない場合、入力データをバッファリングする手続きコードを書く必要があります。通常はセッションのパフォーマンスを低下させるバッファリングの代わりに、入力データをブロックすることができます。
たとえば、2つの入力グループでエクスターナルプロシージャを作成するとします。このエクスターナルプロシージャは、最初の入力グループのデータを1行読み込んでから、2つ目の入力グループのデータを1行読み込みます。ブロックを使用すれば、一方の入力グループからのデータを処理している間は他の入力グループからのデータフローをブロックするエクスターナルプロシージャコードを書くことができます。データをブロックするエクスターナルプロシージャコードを書くと、そのプロシージャではソースデータをバッファにコピーする必要がないため、パフォーマンスが向上します。しかし、データを処理する準備ができるまで、バッファを割り当てて入力グループからバッファにデータをコピーするエクスターナルプロシージャを書くこともできます。ソースデータのバッファへのコピーはパフォーマンスを低下させます。