目次

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トランスフォーメーション

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

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

高度なインタフェースの例

高度なインタフェースの例

高度なインタフェースを使用して、Javaトランスフォーメーションのルックアップ式を作成したり呼び出したりすることができます。
次の例は、式を呼び出す関数を作成する方法、および戻り値を取得するための式を呼び出す方法を示しています。 この例では、Stringデータ型の2つの入力ポート(NAMEおよびCOMPANY)の値をmyLookup関数に渡します。myLookup関数は、ルックアップ式を使用してADDRESS出力ポートの値をルックアップします。
この例では、LKP_addresslookupという名前のマッピング内に未接続のルックアップトランスフォーメーションが存在すると想定しています。
Transformation Developerの
[Helperコード]
[ヘルパ]
タブで、以下のJavaコードを使用します。
JExpression addressLookup() throws SDKException {      JExprParamMetadata params[] = new JExprParamMetadata[2];      params[0] = new JExprParamMetadata (                      EDataType.STRING, // data type                      50,                   // precision                      0                     // scale                      );      params[1] = new JExprParamMetadata (                      EDataType.STRING,     // data type                      50,                   // precision                      0                     // scale                      );      return defineJExpression(":LKP.LKP_addresslookup(X1,X2)",params); } JExpression lookup = null; boolean isJExprObjCreated = false;
式を呼び出してADDRESSポートの値を返すには、
[入力行に達したとき]
[入力時]
タブで以下のJavaコードを使用します。
... if(!iisJExprObjCreated) {     lookup = addressLookup();     isJExprObjCreated = true; } lookup = addressLookup(); lookup.invoke(new Object [] {NAME,COMPANY}, ERowType.INSERT); EDataType addressDataType = lookup.getResultDataType(); if(addressDataType == EDataType.STRING) {     ADDRESS = (lookup.getStringBuffer()).toString(); } else {     logError("Expression result datatype is incorrect."); } ...