SnowConvert AI - Informatica PowerCenter¶
This topic documents the Informatica PowerCenter components supported by SnowConvert AI and describes the output generated for each component category.
For general information about the ETL migration process, prerequisites, and step-by-step migration instructions, see ETL Migration.
Control flow elements¶
Informatica Workflows define the orchestration logic: which Sessions run, in what order, and with what variable context. SnowConvert AI converts Workflow elements into Snowflake TASK DAGs and stored procedures.
These Informatica Workflow elements are supported:
Element |
Category |
Conversion Target |
Notes |
|---|---|---|---|
Session |
Task |
Snowflake TASK with |
See Session task section |
Session Overrides |
Configuration |
Applied during dbt project generation |
Pre/Post SQL, SQL Override |
Worklet |
Container |
Nested Snowflake Task Graph |
See Worklet task section |
Start |
Task |
Initialization TASK |
Variable setup via |
Variable Assignment |
Configuration |
Table-driven variable management |
See Variable management section |
Parameter Files |
Configuration |
Loaded into |
|
Note
Unlisted Workflow elements generate an EWI code indicating manual conversion is required.
Session task¶
A Session in Informatica executes a Mapping at runtime. Each Session is converted into a Snowflake TASK that runs the corresponding dbt project.
Conversion output:
A
CREATE OR REPLACE TASKstatement withAFTERdependency on the preceding taskVariable initialization via
BuildDbtVarsJsonUDFEXECUTE DBT PROJECTcall with the variable JSON payload
Example:
Notes:
Replace
DUMMY_WAREHOUSEwith your actual Snowflake warehouse nameThe
AFTERclause preserves the original Workflow execution orderReusable Sessions are resolved to reference the correct Mapping
Session overrides¶
Informatica Sessions can override properties defined at the Mapping level. SnowConvert AI captures these overrides and applies them during conversion.
Pre-SQL and Post-SQL¶
Session-level Pre-SQL statements are generated before the
EXECUTE DBT PROJECTcall within the TASK bodySession-level Post-SQL statements are generated after the
EXECUTE DBT PROJECTcallPre-SQL and Post-SQL on Target transformations are also supported
SQL Override¶
When a Session defines a SQL Override for a Source Qualifier, the override takes priority over the Mapping-level SQL
The override is applied during dbt model generation, replacing the default source query
Worklet task¶
Informatica Worklets are reusable, nested sub-workflows that can be embedded inside a parent Workflow. SnowConvert AI converts Worklets into nested Snowflake Task Graphs.
Conversion output:
A separate SQL file per Worklet in the
worklets/directoryThe Worklet’s internal Start task and Session tasks are converted following the same patterns as the parent Workflow
The parent Workflow references the Worklet root task via an
AFTERdependency
Example structure:
The Worklet Task Graph preserves the original execution hierarchy. Worklet tasks follow the same naming and variable management patterns as the parent Workflow.
Start task¶
The Informatica Start task (the entry point of a Workflow) is converted into an initialization TASK that sets up the variable context:
This TASK loads default variable values and applies parameter file overrides before any Session tasks execute.
dbt project execution¶
Within the orchestration code, Sessions are executed using Snowflake’s EXECUTE DBT PROJECT command:
Important requirements:
The
project_namemust match the name used when deploying the dbt project (viaCREATE DBT PROJECTor Snowflake Workspace deployment)The
ARGSparameter passes workflow variables as a JSON payload built byBuildDbtVarsJsonUDFEach execution runs the entire dbt project with all models in dependency order
Deployment options:
Snowflake CLI:
snow dbt deploy --schema schema_name --database database_name --force package_nameSnowflake Workspace: Upload and deploy via UI
Variable management¶
Informatica variables ($$var assignments) are converted into a table-driven management system. The infrastructure components are generated in the etl_configuration/ folder.
Control variables table¶
The control_variables table stores all workflow variables, parameters, and their values:
Field |
Type |
Description |
|---|---|---|
|
VARCHAR |
Variable name |
|
VARIANT |
Value (accommodates any data type) |
|
VARCHAR |
Original Informatica data type |
|
VARCHAR |
Workflow or session name |
|
BOOLEAN |
Distinguishes parameters from variables |
|
BOOLEAN |
Reserved for future use |
|
TIMESTAMP |
Last update time |
UDFs and procedures¶
Component |
Purpose |
|---|---|
GetControlVariableUDF |
Retrieves a variable value from the control table |
BuildDbtVarsJsonUDF |
Constructs a JSON payload of all variables for a workflow scope, passed as |
InitVariablesFromConfig |
Initializes variables at workflow start; loads defaults and applies parameter file overrides |
UpdateControlVariable |
Updates a variable value during orchestration execution |
Parameter file support¶
Informatica .txt and .xml parameter files are parsed during migration. Parameter values are loaded into the control_variables table at runtime via InitVariablesFromConfig, overriding default variable values for each workflow execution.
Built-in variables¶
Variable |
Description |
|---|---|
|
Session start timestamp. Captured at task start via |
|
Current date and time. Mapped to |
Data flow components¶
Informatica Mappings define the data transformation logic: how data flows from sources through transformations to targets. SnowConvert AI converts each Mapping into a standalone dbt project with a three-tier model architecture.
These Informatica Mapping transformations are supported:
Informatica Component |
Category |
dbt Output |
Naming Pattern |
Notes |
|---|---|---|---|---|
Source Qualifier |
Source |
Staging Model |
|
|
Source Definition |
Source |
Staging Model |
|
|
Expression |
Transformation |
Intermediate Model |
|
|
Filter |
Transformation |
Intermediate Model |
|
|
Joiner |
Transformation |
Intermediate Model |
|
|
Lookup (Connected) |
Transformation |
Intermediate Model |
|
|
Lookup (Unconnected) |
Transformation |
Intermediate Model |
|
|
Aggregator |
Transformation |
Intermediate Model |
|
|
Aggregator (No Group By) |
Transformation |
Intermediate Model |
|
|
Router |
Transformation |
Intermediate Model |
|
|
Sorter |
Transformation |
Intermediate Model |
|
|
Union |
Transformation |
Intermediate Model |
|
|
Normalizer |
Transformation |
Intermediate Model |
|
|
Rank |
Transformation |
Intermediate Model |
|
|
Sequence Generator |
Transformation |
Intermediate Model |
|
|
Update Strategy |
Transformation |
Intermediate Model |
|
Mart uses incremental materialization with merge strategy |
Stored Procedure |
Transformation |
Intermediate Model |
|
|
Mapplet |
Reuse |
dbt Macro |
|
|
Target Definition |
Destination |
Mart Model |
|
Note
Unlisted Mapping transformations generate an EWI code indicating manual conversion is required.
Layer organization¶
Layer |
Materialization |
Purpose |
|---|---|---|
models/staging/ |
View |
Clean, type-safe access to source data referenced in |
models/intermediate/ |
Ephemeral |
Transformation logic from the original Mapping. Not persisted to database. Generated from Expression, Joiner, Filter, Lookup, and other transformations. |
models/marts/ |
Incremental or Table |
Business-ready data models corresponding to Target Definitions. Uses incremental materialization with merge strategy when an Update Strategy transformation is present. |
dbt project structure¶
Each Mapping produces a standalone dbt project:
Important
Before deploying, replace the YOUR_SCHEMA and YOUR_DB placeholders in sources.yml and profiles.yml with your actual Snowflake schema and database names.
Expression functions¶
SnowConvert AI supports over 60 Informatica expression functions across the following categories:
Category |
Functions |
|---|---|
String |
CONCAT, SUBSTR, LENGTH, LOWER, UPPER, LTRIM, RTRIM, LPAD, RPAD, INSTR, REPLACECHR, REPLACESTR, REVERSE, INITCAP, CHR, ASCII |
Date and time |
ADD_TO_DATE, GET_DATE_PART, TO_DATE, DATE_DIFF, DATE_COMPARE, LAST_DAY, SYSTIMESTAMP, TO_CHAR |
Numeric |
ROUND, TRUNC, ABS, CEIL, FLOOR, POWER, SQRT, EXP, LN, LOG, MOD, MEDIAN, SIGN |
Aggregate |
SUM, MIN, MAX, AVG, COUNT, CUME |
Type conversion |
TO_INTEGER, TO_DECIMAL, TO_BIGINT, TO_FLOAT, TO_CHAR, TO_DATE |
Conditional |
IIF, DECODE, ISNULL, IN |
Encoding |
MD5, ENC_BASE64 |
Variable management |
SETVARIABLE, SETMAXVARIABLE, SETMINVARIABLE, ABORT |
Other |
GREATEST, LEAST, REG_MATCH |
Naming and sanitization rules¶
SnowConvert AI applies consistent sanitization rules to all Informatica object names to ensure dbt and Snowflake compatibility:
Rule |
Description |
Example |
|---|---|---|
Convert to lowercase |
All names converted to lowercase |
|
Replace invalid characters |
Spaces, hyphens, and special characters become underscores |
|
Remove consecutive underscores |
Avoids |
|
Prefix with |
Adds prefix if name starts with a number |
|
Remove quotes and brackets |
Strips surrounding quotes and brackets |
|
These rules apply uniformly across all generated artifacts: dbt model names, Snowflake TASK names, procedure names, and variable identifiers.