Parameter Conversion
You can import a PowerCenter mapping or mapplet that contains parameters.
When a PowerCenter mapping or mapplet contains parameters, the import process creates the parameter bindings between the PowerCenter mapping parameters and the reusable transformations that reference the parameters. The import process generates the parameters at the transformation level.
When you import from PowerCenter, consider the conversion information to import mappings with parameters, variables, or overrides.
Rules and Guidelines for Importing Mappings with Parameters
If you import a mapping with parameters, consider the following rules and guidelines:
- PowerCenter does not require initial values for parameters.
- When you import a PowerCenter parameter with no initial values, the import process assigns a default value for the parameter based on the parameter data type. The default value for a parameter with a String data type is a number sign (#). The default value for a parameter with a Numeric data type is 0. The default value for a parameter with a Date/Time data type is 01/01/70 in the format mm/dd/yy. The default value for an SQL parameter is Empty.
- PowerCenter mappings with the IsExprVar property are not valid in the Model repository.
- Some PowerCenter mapping parameters have the IsExprVar property enabled. This property indicates that the PowerCenter Integration Service must expand the parameter before parsing an expression. The IsExprVar property is not valid in the Model repository. If you import a mapping with this parameter property enabled, the conversion is successful, but the mapping is not valid.
- Parameterized source owner in Netezza and Teradata objects or target table names in Teradata mappings fails to import.
- When you import Netezza and Teradata objects that contains a parameterized source owner name property, the import process does not convert the property. The import process also ignores any parameterized target table names in Teradata mappings.
Rules and Guidelines for Importing Mapping with Variables
If you import a mapping with variables, consider the following rules and guidelines:
- PowerCenter mappings with variables are not valid in the Model repository.
- If you import a mapping with variables, the import process does not convert the variables. The mapping conversion might be successful, but the mapping is not valid in the Model repository. You can change the mapping to use parameters instead of variables in the Model repository.
Rules and Guidelines for Importing Overrides
If you import overrides, consider the following rules and guidelines:
- Import process converts session overrides into corresponding parameter types.
- When you import SQL-based overrides into the Model repository, the import process converts the overrides into a SQL parameter type. For example, when you import the PowerCenter mapping into the Model repository, the Pre SQL and Post SQL changes to an SQL parameter type. Also, a user-defined join and source filter converts to an SQL parameter type.
- The remaining session override properties convert to String or to the corresponding parameter types. For example, Reject file converts to a String parameter type.
In PowerCenter, if you use a mapping parameter of the String type in session override properties, such as user defined joins, SQL query, or Post SQL, the import process brings in the referenced parameter as a String type. You should manually change the type of the mapping parameter assigned to the properties to SQL type after import.
System Parameter Conversion
You can import a PowerCenter mapping or mapplet that contains some system-defined parameters. The import process imports the parameters if they match the system-defined parameters that are valid in the Model repository.
The import process creates the parameter bindings between the system-defined parameters and the reusable transformations that reference the parameters.
If a PowerCenter mapping has a system-defined parameter that does not have an equivalent system-defined parameter in the Model repository, the conversion does not fail. The import process copies the mapping property with the parameter name as the property value. However, the imported mapping is not valid. You can create a user-defined parameter to replace the property value or you can change the mapping logic.
You can import the following system-defined parameters:
- •$PMMappingName
- •$PMIntegrationServiceName
- •$PMRepositoryUserName
- •$SESSSTARTTIME
- •$SYSDATE
You cannot import the following PowerCenter system-defined parameters:
- •$PMFolderName
- •$PMRepositoryServiceName
- •$PMSessionName
- •$PMSessionRunMode
- •$PMTAB_ALL_DATA_TYPES@TableName
- •$PMTGT_ALL_DATA_TYPES@TableName
- •$PMWorkflowName
- •$PMWorkflowRunId
- •$PMWorkflowRunInstanceName