Table of Contents

Search

  1. Preface
  2. Working with Transformations
  3. Aggregator Transformation
  4. Custom Transformation
  5. Custom Transformation Functions
  6. Data Masking Transformation
  7. Data Masking Examples
  8. Expression Transformation
  9. External Procedure Transformation
  10. Filter Transformation
  11. HTTP Transformation
  12. Identity Resolution Transformation
  13. Java Transformation
  14. Java Transformation API Reference
  15. Java Expressions
  16. Java Transformation Example
  17. Joiner Transformation
  18. Lookup Transformation
  19. Lookup Caches
  20. Dynamic Lookup Cache
  21. Normalizer Transformation
  22. Rank Transformation
  23. Router Transformation
  24. Sequence Generator Transformation
  25. Sorter Transformation
  26. Source Qualifier Transformation
  27. SQL Transformation
  28. Using the SQL Transformation in a Mapping
  29. Stored Procedure Transformation
  30. Transaction Control Transformation
  31. Union Transformation
  32. Unstructured Data Transformation
  33. Update Strategy Transformation
  34. XML Transformations

Transformation Guide

Transformation Guide

Advanced Interface Example

Advanced Interface Example

You can use the advanced interface to create and invoke a lookup expression in a Java transformation.
The following example Java code shows how to create a function that calls an expression and how to invoke the expression to get the return value. This example passes the values for two input ports with a String datatype, NAME and COMPANY, to the function myLookup. The myLookup function uses a lookup expression to look up the value for the ADDRESS output port.
This example assumes you have an unconnected lookup transformation in the mapping called LKP_addresslookup.
Use the following Java code on the
Helper Code
tab
of the Transformation Developer
:
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;
Use the following Java code on the
On Input Row
tab to invoke the expression and return the value of the ADDRESS port:
... 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."); } ...

0 COMMENTS

We’d like to hear from you!