目录

Search

  1. 前言
  2. 使用转换
  3. 汇总器转换
  4. 自定义转换
  5. 自定义转换函数
  6. 数据屏蔽转换
  7. 数据屏蔽示例
  8. 表达式转换
  9. 外部过程转换
  10. 筛选器转换
  11. HTTP 转换
  12. Identity Resolution 转换
  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 转换中创建并调用查找表达式。
以下 Java 代码示例说明了如何创建一个函数来调用表达式以及如何调用该表达式以获取返回值。 本示例将具有 String 数据类型的两个输入端口(NAME 和 COMPANY)的值传递到函数 myLookup。 myLookup 函数使用查找表达式来查找 ADDRESS 输出端口的值。
本示例假定在名为 LKP_addresslookup 的映射中有一个未连接的查找转换。
Transformation Developer 的
帮助程序代码
帮助程序
选项卡上使用以下 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;
输入行
输入
选项卡上使用以下 Java 代码调用表达式并返回 ADDRESS 端口的值:
... 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."); } ...