- Post History
- Subscribe to RSS Feed
- Mark as New
- Mark as Read
- Bookmark
- Subscribe
- Printer Friendly Page
- Report Inappropriate Content
2 hours ago
How to Copy (Duplicate) Feed
Overview
The Copy Feed (also referred to as “Duplicate ETL Transform Map”) feature in IntegrationHub ETL allows users to create a new ETL transform map by cloning an existing one. The new map inherits the full mapping configuration — class mappings, attribute mappings, field mappings, entity relationships, and operations — from the source map, saving significant setup time when building similar integrations.
Use Cases
- Multiple environments with identical schemas: When you have several data sources (e.g., dev, staging, production) that share the same import set table schema, you can set up one transform map fully and duplicate it for each additional data source.
- Iterating on a mapping: Create a copy of a working map to experiment with changes without affecting the original.
- Templating for similar integrations: Build a “golden” transform map, then duplicate it as a starting point for new integrations that ingest data with the same column structure.
What Gets Copied
When a feed is duplicated, the following records are deep-copied from the source feed to the new feed (with all internal references re-pointed to the new records):
|
Record Type |
Table |
Description |
|
Entities |
cmdb_inst_entity |
The import entity, temp entities, CMDB class entities, lookup entities, and related entities |
|
Entity Fields |
sys_rte_eb_field |
All field definitions for every entity |
|
Entity Mappings |
sys_rte_eb_entity_mapping |
Class-level mappings (import → temp, temp → CMDB class, etc.) |
|
Field Mappings |
sys_rte_eb_field_mapping |
Attribute-level mappings within each entity mapping |
|
Operations |
sys_rte_eb_operation |
Transform operations (scripts, lookups, concatenations, etc.), including records in extended operation tables |
What Is Not Copied
- Schedules (scheduled_import_set) — The new map is created without any schedule; users must configure scheduling independently.
- Import sets — The new map does not inherit import set data; the user must select or pull a new import set.
- Activation state — The new map is created in an inactive/draft state.
Prerequisites for Copying a Feed
The duplicate feature enforces several prerequisites. If any of these are not met, the “Create Duplicate” button will be disabled or the operation will fail with an error.
1. The source feed must be active
The “Duplicate from” dropdown only lists active feeds (cmdb_inst_application_feed records where active = true). Inactive or draft feeds do not appear as copy source options.
2. The new data source must be different from the source feed’s data source
The copy feed validation explicitly checks that the source data source and the target (new) data source have different sys_id values. You cannot duplicate a feed using the same data source — each data source can only be associated with one active ETL transform map.
3. The new data source must have the exact same import set table schema
This is the most common reason for validation failure. The copy feed function performs a strict column-by-column comparison between the source and target data source import set tables:
- Both data sources must have a valid import_set_table_name.
- Both import set tables must have at least one column.
- The number of columns must be identical.
- Every column name must match exactly, in the same order.
If any of these checks fail, the UI shows the error:
“This map cannot be used as a copy source for the selected data source.”
What this means for customers: Before duplicating, the target data source must have already been loaded at least once (so that the import set table and its columns exist), and the resulting import set table must have the exact same columns as the source data source’s import set table. Even a single extra or missing column will cause the validation to fail.
4. The new data source must be in the same application scope
The validation ensures the selected data source belongs to the same ServiceNow application scope as the current session. If the data source is in a different scope, the error message will read:
“The data source, ‘{name}’, is in the {scope A} application, but {scope B} is the current application. An ETL Map needs to be created from the same application scope as its data source.”
5. The data source’s import set table must not be associated with another active ETL map
The validation checks the sys_robust_import_set_transformer table. If another active ETL transform map already uses the same source_table (import set table name), the error will be:
“Data source table already associated with ‘{existing map name}’ ETL Map”
6. The data source’s import set table must not be associated with an active Table Transform Map
The validation checks the sys_transform_map table. If any active table transform map uses the same source_table, the error will be:
“Data source table already associated with ‘{transform map name}’ Table Transform Map”
Step-by-Step: How to Duplicate a Feed
Step 1: Navigate to the IntegrationHub ETL Landing Page
Open the CMDB Integration Studio. You will see a table listing all existing ETL transform maps, grouped by CMDB Application.
Step 2: Select the Feed to Duplicate
Click the checkbox next to the feed you want to duplicate. You must select exactly one feed. The duplicate button works with one selection; the selected feed will be pre-populated as the copy source.
Step 3: Click the “Duplicate” Button
Click the Duplicate button in the toolbar. This opens the “Duplicate ETL Transform Map” modal dialog. The modal displays a message:
“To duplicate an ETL transform map, the new transform map’s data source must share the same data schema as the original transform map.”
Step 4: Fill Out the Duplicate Form
The form presents the following fields:
|
Field |
Required |
Description |
|
Duplicate from |
Yes |
Pre-populated with the feed you selected. You can change this to any other active feed from the dropdown. |
|
CMDB Application |
Yes |
Select an existing CMDB Application to associate the new map with, or choose “Add New” to create a new one. |
|
CMDB Application Name |
Conditional |
Only shown if “Add New” is selected. Enter a name for the new CMDB Application. |
|
Discovery Source |
Conditional |
Only shown if “Add New” is selected. Select the discovery source for the new application. |
|
Name |
Yes |
Enter a unique name for the new ETL transform map. |
|
Description |
No |
Optional description for the new map. |
|
Data Source |
Yes |
Search and select the data source for the new map. This is where the schema validation is triggered. |
|
Preview Size Override |
No |
Optional. Must be a positive number less than 10,000. |
Validation Behavior in the Form
- When you select both a “Duplicate from” source and a Data Source, the system immediately validates whether the copy is allowed by comparing the import set table schemas.
- If validation fails, an inline error appears below the Data Source field: “This map cannot be used as a copy source for the selected data source.” (or a more specific error message if the failure is due to a missing import set table, scope mismatch, or conflicting transform map).
- The “Create Duplicate” button remains disabled until all required fields are filled and validation passes.
Step 5: Click “Create Duplicate”
Once the form is valid, click “Create Duplicate.” The system then:
- Creates a new CMDB Application (if “Add New” was selected).
- Creates a new application feed (cmdb_inst_application_feed). This also creates an associated sys_robust_import_set_transformer record.
- Creates a template state record (sn_int_studio_template_state).
- Navigates the user to the template state (step-by-step wizard) page for the new map.
Step 6: The Deep Copy Executes Automatically
When the template state page loads, it triggers the copy feed function, which copies all entities, fields, entity mappings, field mappings, and operations from the source feed to the new feed (as described in the “What Gets Copied” section above).
After the deep copy completes, the new map is fully populated with all the source map’s mapping configuration, and the user can begin modifying it as needed.
Common Issue: Why Deep Copy Is Skipped
If the source feed’s data source already has an active schedule, and the new feed shares a data source whose schedule record is found, the state of the copy source will be auto-updated to “Completed,” so the copy feed condition fails and the class/attribute mappings are never copied.
This results in a new feed that has no mapping configuration despite being created as a duplicate.
