目录

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 转换

转换指南

转换指南

步骤 2。生成 C++ 文件

步骤 2。生成 C++ 文件

创建外部过程转换后,生成该代码。由于在 UNIX 映射的驱动器上创建的文件始终以小写字母表示,因此 Designer 会生成以小写字母表示的文件名。以下规则适用于生成的文件:
  • 文件名。
    前缀“tx”用于 TX 模块文件。
  • 模块类名称。
    生成的代码具有针对包含 TX 过程的模块的类声明。前缀
    Tx
    用于 TX 模块类。例如,如果外部过程转换具有模块名称 Mymod,则类名称为 TxMymod。
要为外部过程生成代码,请执行以下操作:
  1. 选择转换并单击“转换”>“生成代码”。
  2. 选中您刚创建的过程名称旁边的复选框。
    在 BankSoft 示例中,选择
    INF_BankSoft.FV
  3. 指定要生成文件所在的目录,然后单击“生成”。
    Designer 会在您指定的目录中创建子目录 INF_BankSoft。
    在 Designer 中创建的每个外部过程转换都必须指定模块和过程名称。Designer 会为共享通用模块名称的所有转换在单一目录中生成代码。在一个目录中构建代码会创建单一共享库。
    Designer 将生成以下文件:
    • tx<moduleName>.h.
      定义外部过程模块类。该类派生自基类 TINFExternalModule60。在生成的代码中未为该类定义任何数据成员。但是,可以在此添加新数据成员和方法。
    • tx<moduleName>.cpp.
      实现外部过程模块类。可以扩展 InitDerived() 方法以包含您添加的任何新数据成员的初始化。集成服务仅在成功完成基类 Init() 方法后调用衍生类 InitDerived() 方法。
    该文件定义模块中所有外部过程转换的签名。这些签名的任何更改都会导致与 Designer 中定义的外部过程转换不一致。因此,不得更改这些签名。
    该文件还包含 C 函数 CreateExternalModuleObject,该函数使用在该文件中定义的构造函数创建外部过程模块类的对象。集成服务会调用 CreateExternalModuleObject 而非直接调用该构造函数。
    • <procedureName>.cpp.
      Designer 会在该模块中为每个外部过程生成上述文件之一。该文件包含实实现过程逻辑的代码,例如数据清理和筛选。对于数据清理,创建代码以从输入端口读入值并为输出端口生成值。对于筛选,创建代码以通过返回 INF_NO_OUTPUT_ROW 抑制输出行的生成。
    • stdafx.h.
      用于在 UNIX 系统上进行构建的存根文件。各种 *.cpp 文件都包含该文件。在 Windows 系统上,Visual Studio 会生成 stdafx.h 文件,应使用该文件而非 Designer 生成的文件。
    • version.cpp.
      这是一个小文件,其中承载该实现的版本号。在早期版本中,以不同的方式处理外部过程实现。该文件允许集成服务确定外部过程模块的版本。
    • makefile.aix、makefile.aix64、makefile.hp、makefile.hp64、makefile.hpparisc64、makefile.linux、makefile.sol。
      让文件可用于 UNIX 平台。将 makefile.aix、makefile.hp、makefile.linux 和 makefile.sol 用于 32 位平台。将 makefile.aix64 用于 64 位 AIX 平台,将 makefile.hp64 用于 64 位 HP-UX (Itanium) 平台。