The Properties view in the Ruleset editor contains several views.
Use the Rule view to set and define parameters and values for each rule in a Ruleset.
Rules are defined using Ruleset Actions, which you set with input and output property values configured in the Rules tab. To populate these values, you can drag-and-drop directly from source or target Schema nodes, as well as from existing variables. Values can also be entered manually.
Conditions are a type of Action that can be used to control when a Rule activates based on Boolean (true or false) comparisons. A condition is set as a property of an existing Rule.
Placing a Condition on a Rule
To place a condition on a rule, click on a rule to select it, then go to the Properties view's Condition panel. In the Actions panel, click and drag the condition onto the Condition panel's Condition field. Properties will appear under Inputs. Drag nodes from the Source and/or Target Schema sections to the Inputs section's Value fields, or hard-code Values to create the condition.
Since all conditions are true or false statements, you generally do not have to define a Return Assignment. However, if you want to use the condition result to affect a rule further down in the Ruleset, you will want to define a Return Assignment.
Examples of rules with conditions include:
- For each Record: Source create a new Record: Target When GreaterThan [numberA=Quantity, numberB=0] -> 
This Rule only writes a new record if the number in the Quantity field is greater than 0.
- Move: [From=Color] -> [ColorCode] When Contains [text=Color, criteria=Purple] -> 
This Rule only moves data from the Color node to the ColorCode node when the Color node contains the word Purple.
All conditions can be found in the Actions panel. Examples of some Conditions include HasContent, HasNoContent, EndsWith, NotEndsWith, Contains, NotContains, and Matches.
A new set of Conditions are available when using the new transformation engine.
These include IsEmpty, IsNotEmpty, IsNull, IsNotNull, IsNullOrWhiteSpaces, and IsNotNullOrWhiteSpaces.
Composite Rules with conditions
When applying a condition to a Composite Rule it applies to all child Rules. Therefore, if you have a Composite Rule set to move data only if a condition is true, none of the child Rules will execute when the condition is false.
Suppose you are using the example:
Move: [From=Color] -> [ColorCode] When Contains [text=Color, criteria=Purple] -> 
(only move data in the Color node to the ColorCode node when the Color node contains the word Purple). You want to make another Rule stating if the ColorCode node contains Purple, also move data from the Description source node to the Details target node.
For the first (Color) Rule's condition, create a variable (called IsConditionTrue) to hold the condition's result, and drag that variable under Outputs to the Return Assignments section.
Then, click on the second (Description) Rule you want to condition based on the first condition's results. From the Actions panel, drag the StringEquals condition to that Rule's Condition panel's Condition field. From the Variables panel, drag the IsConditionTrue variable under Inputs to stringA's Value field. Then drag the generic glb variable True to stringB's Value field.
The second Rule will look like this:
Move: [From=Description] -> [Details] When StringEquals [stringA=IsItTrue, stringB=True] -> 
Or, only move data from the Description node to the Details node when the string in the IsItTrue variable is true.
This does not affect Ruleset operation, and is simply for informational purposes. It can be useful for:
- Explaining why you set up a rule a certain way.
- Asking a coworker how they would set up a rule.
- Taking notes on rule behavior during testing.
- Schema properties (such as Type, Description, and Length) for a selected node in the Source or Target section.
- Variable properties (such as Name, Type, and Value) for a selected variable in the Variables panel.
Properties and their values cannot be edited from here.
Connectors are how the CIC Studio joins specific data formats to the transformation engine.
When the source or target data format is either database, XML, spreadsheet, or EDI, the correct connector settings are automatically selected. There is no action required.
It is only when the transformation contains a flat file (as either source or target) that you must select the correct connectors.
For a source flat file, you must choose one of the following:
- Single Format Delimited
- Multiple Format Delimited
- Single Format Fixed Length
- Multiple Format Fixed Length
- Multiple Format Delimited, Multiple Transformations
- Multiple Format Fixed Length, Multiple Transformations
- Multiple Format Fixed Length, Advanced
For a target flat file, you must choose either delimited or fixed length.
Converter Connectors (source) to dispatch V2 Rulesets from V1 Data Analysis Rulesets (DARS)
Converter Connectors allow you to dispatch Version 2 Rulesets from a Version 1 Data Analysis Ruleset (DARS) for database and flat file. They can accept either Version 1 or Version 2 Storage Nodes as input so that an existing DARS can dispatch both versions of Rulesets. This allows for faster on-boarding and lessens the need to re-create a large Data Analysis Ruleset.
Take these steps in the Ruleset editor of the Version 2 to be dispatched.
- Make sure the Source Schema is selected.
- Select the Runtime tab from the Properties view.
- Select the Converter option from the Connectors section’s Source drop-down.
(For Flat File)
Change Connectors used within a method (with a StorageNode type parameter)
Now that a Ruleset Method may have multiple StorageNodes and may require multiple Transformation Connectors, the Transformation Connector can be modified per StorageNode. When switching to a Method, the Runtime tab displays each StorageNode parameter for that Method, along with the current Transformation Connector set for that StorageNode
See Changing a Transformation Connector in a Method for more information.
Create Log of Application Batch (Version 2 Rulesets only)
A Log of Application Batch is required for outbound enveloping when not using Data Grouping. When creating a Data Analysis Ruleset (DARS) and routing to an outbound EDI process, select this option in the Ruleset editor to create a Log of Application Batch. If not selected, the Studio will not find any messages for enveloping.
Schema Node Values (Version 1 Rulesets only)
Configure how Rulesets respond to empty nodes (fields/cells/elements) by using several different options. Since these settings are global in nature, only use if you wish to affect every rule in your Ruleset.
Suppress Null Output
Select this check box when you want to prevent your Ruleset from creating null output data (unless explicitly specified in the rules). Depending on the target syntax and the Null Target Action setting (explained below), this property removes the target node from the target document. Other syntaxes and Null Target Action setting combinations are padded with non-null data type default values, essentially preventing null data from being produced.
This check box does not affect EDI data.
Extract Numeric Values
Select this check box to scan all data containing mixed characters (alpha and numeric) being passed into a target node, and to remove any non-numeric characters. This table shows examples of how raw data could be scanned and cleaned (non-numeric characters removed).
|Raw Data||Clean Data|
|-12.345||-12.345 (no change)|
Null Source Action
This drop-down menu only applies for transformations using Database Schema as source, and either EDI or Delimited Flat File Schemas as target.
- SkipRuleAndError: The causes an error and stops the transformation.
- SkipRule: This skip the rule but continues processing of other rules.
- UseSchemaOrTypeDefaultValue: This uses whatever default value has been set in the Schema's Default Value on Target field. If using a default value, it must be first configured in the Schema editor before this Ruleset option is selected. See Schemas for more information.
Null Target Action
- CreateWithSchemaDefaultValue: This uses whatever default value has been set in the Schema's Default Value on Target field. If using a default value, it must be first configured in the Schema editor before this Ruleset option is selected. This is applied once the rule executes.
- CreateAllNodes: Creates all blank fields/cells/elements in the target document. This is always used when the target is Database; it cannot be disabled. If your database does not allow nulls, make sure to select the Suppress Null Output check box, so that either whitespace or zeroes are used. For target Fixed-length Flat File; it cannot be disabled. Null values will be the full length of the blank field.
- DoNothing: This feature is not implemented.
Null Target Action settings do not affect EDI data.
Advanced tab (Version 1 Rulesets only)
Use the Advanced tab to customize several different transformation settings and options. (This tab is no longer necessary with the new engine.)
Force Application Analysis: The function is used for Rulesets that were migrated from earlier versions of the Studio (EBI v2 to v3).
If Analysis Rulesets have been imported from earlier EBI versions using the Conversion Manager, this option supports runtime. In this case the Force Application Analysis check box is selected by default, and requires no user action.
Prune Unused Schema Nodes:
When the transformation engine compiles a Ruleset, it accounts for all Schema nodes, even unused ones. This can create large compilation documents. For example, if you have 1,000 nodes in your Schemas and only use 20 of them in rules, all 1,000 nodes are recoginized in a file when compiling. If you do not want the unused nodes documented, select the Prune Unused Schema Nodes check box.
Use Only Internal Attributes:
For Technical Support use only.
Flat File (Source)
Include Empty Records: When unchecked (default), this option skips a source record when that record consists solely of whitespace characters. If you want to account for source Flat File empty records in your target data, select this check box.
Please sign in to leave a comment.