Review Sync Scenarios
This topic outlines the supported and unsupported scenarios for syncing database objects and ETL projects between the source database and the data source or staging area.
Syncing Database Objects
Key points to remember:
- Possible Statuses for Custom Objects:
- New – The object has been newly added to the database.
- Existing – The object exists in the database and no changes have been detected.
- Modified – The object has been updated or altered in the database.
- Deleted – The object has been removed from the database.
- Error – An error occurred while attempting to sync the object with the database.
Supported Sync Scenarios
Adding a New Database Object (Custom)
A new database object can only be synced from the custom sync All view.
To add a new database object, go to Deployment tab > Sync > Custom > All > select one or more objects > Sync.
Example: Create a new table object CUSTOM_TABLE in the database, select this object in the custom sync All view, and sync it.
Modifying a Database Object (Custom and Default)
Any object that has been modified in the database, such as altering columns or adding explicit WHERE conditions, can be synced to the data source or staging area.
Example: Alter CUSTOM_TABLE in the database by adding a new column, select the object, and sync it.
Deleting a Database Object from the Data Source/Staging Area (after it has been dropped in the database) (Custom)
When a custom object (example, a table or view) is dropped from the database and then synced, it will also be removed from the data source or staging area.
Example: Drop CUSTOM_TABLE from the database, select the object, and sync it. The object will be removed from the data source/staging area.
Soft-Deleting a Database Object (Removing only from data source/staging area) (Custom)
When a custom object example, a table or view) is selected and the Delete action is performed, it is removed only from the data source or staging area, not from the database.
Example: Select the object you want to soft-delete and click Delete. The object will be removed only from the data source/staging area.
Renaming a Database Object (Custom)
When a custom object (example, a table or view) is renamed in the database, ensure that both the old and new object names are selected and synced together to maintain consistency.
Example: Rename CUSTOM_VIEW to CUSTOM_CDC_VIEW in the database. Select both CUSTOM_VIEW and CUSTOM_CDC_VIEW and sync it. CUSTOM_VIEW will be deleted and CUSTOM_CDC_VIEW will be added to the data source/staging area.
Unsupported Sync Scenarios
Deleting a Template Object from the Data Source/Staging Area (Default)
- A default object (i.e., an object that is part of the imported template) cannot be deleted from the data source or staging area using the sync option.
- If a default object is dropped from the database, it will no longer appear in the Default Sync screen and cannot be deleted from the data source or staging area through the sync process.
Renaming a Template Object (Default)
If a default object (i.e., an object that is part of the imported template) is renamed directly in the database, it cannot be synced to the data source or staging area.
Syncing ETL Projects
Key points to remember:
- Only Projects, Jobs, Workflows, and Dataflows are displayed as part of the ETL Component hierarchy.
- The hierarchy for a newly added ETL Component (Project, Job, Workflow, or Dataflow) will only be visible after it has been successfully synced with the application at least once. Until then, only its immediate parent component will be shown.
- ETL Component Status Definitions:
- New – The component has been newly added to the SAP Data Services Repository.
- Existing – No changes have been detected in the component since the last sync.
- Modified – The component has been updated in the SAP Data Services Repository.
- Deleted – The component has been removed from the SAP Data Services Repository.
- Error – An error occurred while syncing the component.
- Search functionality is not available on the ETL sync screen. Please browse manually to locate ETL Components.
Supported Sync Scenarios
Adding a New ETL Project (Custom)
A new ETL project can only be synced from the custom sync All view.
To add a new ETL project, navigate to Data Pipeline tab > Sync > Custom → All → select one or more projects > Sync.
Example: Create a new project SC_Balances_Custom in the SAP Data Services Repository, select this project in the custom sync All view, and sync it.
Adding a New Job, Workflow, or Dataflow Inside an ETL Component – Project, Job, or Workflow (Custom and Default)
ETL components such as Jobs, Workflows, or Dataflows can be individually selected and synced to the data source.
Example: Create a new job Load_Customer_Data under project SC_Balances in the SAP Data Services Repository, select the job, and sync it.
Adding a New Loop, Catch, Try, Conditional, or Script Inside an ETL Component – Job, Workflow, or Dataflow (Custom and Default)
ETL components such as Jobs, Workflows, or Dataflows should be selected and synced to the data source.
Example: Add a new conditional IF_SLT inside the workflow WF_Process_Orders in the SAP Data Services Repository. Select the parent workflow WF_Process_Orders and sync it.
Adding a New ETL Component – Workflow or Dataflow Under Loop, Catch, Try, or Conditional (Custom and Default)
Select and sync the parent ETL component (Job, Workflow, or Dataflow) that contains the Loop, Catch, Try, or Conditional block.
Example: Add a dataflow DF_Calculate_Discount inside a Try block within the workflow WF_Discount. Select the parent workflow WF_Discount and sync it (not the Try block or dataflow directly).
Adding Two ETL Components (Job, Workflow, or Dataflow) with the Same Name Under the Same Parent ETL Component (Custom and Default)
Multiple ETL components (Workflow or Dataflow) with the same name under the same parent (Job, Workflow or Dataflow) can be individually selected and synced to the data source.
Example: In the following hierarchy, both DF_Main components share the same parent WF_Custom. Select both the components and then select Sync.
WF_Custom (Workflow)
- IF_SLT (Conditional)
- DF_Main (Dataflow) - Parent: WF_Custom
- DF_Main (Dataflow) - Parent: WF_Custom
Adding Dataflows Inside Another Dataflow (Custom and Default)
Nested dataflows are supported for syncing.
Example: Select each of the nested dataflows individually or the parent component (Job, Workflow or Dataflow) and then select Sync.
Modifying an ETL Component – Project, Job, Workflow, Dataflow, Loop, Catch, Try, Conditional, or Script (Custom and Default)
Any modified ETL component (Project, Job, Workflow, Dataflow, Loop, Catch, Try, Conditional, or Script) should be selected and synced to reflect the changes in the data source.
Examples:
- Modify the script large_amt_split under job Job_TransformSales by adding a print statement. Select Job_TransformSales and sync it.
- Add a new mapping to the dataflow cust_offset_line_gen, select cust_offset_line_gen, and sync it.
Soft-Deleting an ETL Component – Project, Job, Workflow, or Dataflow (Custom)
To perform a soft delete, the ETL component (Project, Job, Workflow, or Dataflow) must be selected and synced to the data source.
Examples:
- Select the entire project SCT_CLEANUP and click Delete.
- Select dataflow DF_ProcessRefunds under workflow FIN_ACCT_EBS in project SC_Balances and click Delete.
Deleting an ETL Component – Job, Workflow, Dataflow, Loop, Catch, Try, Conditional, or Script (after deletion in repository) (Custom and Default)
Although the deleted component can be synced individually, it is recommended to sync its parent (Project, Job, Workflow, or Dataflow) to ensure all stale references are removed.
Examples:
- Delete dataflow DF_ProcessRefunds under workflow FIN_ACCT_EBS. Select the dataflow or the parent workflow FIN_ACCT_EBS and sync it.
- Delete loop IF_SLT under job EBS_GL_Balances. Select the job EBS_GL_Balances and sync it.
Renaming an ETL Project (Custom)
After renaming a custom ETL project in the SAP Data Services Repository, select and sync both the old and new project names to avoid inconsistencies.
Example: Rename project EBS_Balances_Custom to EBS_Balances_Custom_Renamed. Select both EBS_Balances_Custom (marked as deleted) and EBS_Balances_Custom_Renamed and sync them.
Renaming an ETL Component – Job, Workflow, or Dataflow (Custom and Default)
After renaming, select and sync both the original and updated component names to ensure consistency.
Example: Rename workflow FIN_ACCT_EBS to FIN_ACCT_EBS_CUSTOM. Select both FIN_ACCT_EBS (marked as deleted) and FIN_ACCT_EBS_CUSTOM and sync them.
Renaming an ETL Component – Loop, Catch, Try, Conditional, or Script (Custom and Default)
After renaming, select and sync the parent ETL component (Job, Workflow, or Dataflow) that contains the renamed element.
Example: Rename script validation_chk to validation_chk_custom under workflow CLN_FILE_STG. Select the parent workflow CLN_FILE_STG and sync it.
Unsupported Sync Scenarios
Deleting a Template ETL Project from the Data Source (Default)
- A default ETL project (i.e., one that is part of the imported template) cannot be deleted from the data source using the sync option.
- If the default ETL project is deleted from the SAP Data Services Repository, it will no longer appear in the Default Sync screen and cannot be deleted from the data source via sync.
Renaming a Template ETL Project (Default)
If a default ETL project (i.e., one that is part of the imported template) is renamed directly in the SAP Data Services Repository, it cannot be synced to the data source.