You can create reusable Custom transformations in the Transformation Developer, and add instances of the transformation to mappings. You can create non-reusable Custom transformations in the Mapping Designer or Mapplet Designer.
Each Custom transformation specifies a module and a procedure name. You can create a Custom transformation based on an existing shared library or DLL containing the procedure, or you can create a Custom transformation as the basis for creating the procedure. When you create a Custom transformation to use with an existing shared library or DLL, make sure you define the correct module and procedure name.
When you create a Custom transformation as the basis for creating the procedure, select the transformation and generate the code. The Designer uses the transformation properties when it generates the procedure code. It generates code in a single directory for all transformations sharing a common module name.
The Designer generates the following files:
m_<module_name>.c.
Defines the module. This file includes an initialization function, m_<module_name>_moduleInit() that lets you write code you want the Integration Service to run when it loads the module. Similarly, this file includes a deinitialization function, m_<module_name>_moduleDeinit(), that lets you write code you want the Integration Service to run before it unloads the module.
p_<procedure_name>.c.
Defines the procedure in the module. This file contains the code that implements the procedure logic, such as data cleansing or merging data.
makefile.aix, makefile.aix64, makefile.hpparisc64, makefile.linux, makefile.sol, and makefile.sol64.
Make files for the UNIX platforms except zLinux. Use makefile.aix64 for 64-bit AIX platforms and makefile.sol64 for 64-bit Solaris platforms.
For zLinux, you need to update the makefile.linux. Add -m64 to the FLAGS section. For example, FLAGS=-Wall -fPIC -DUNIX -m64.