Condition | Details |
---|---|
Source is single record type and Target is single record type | Add a single source record to target record RecordStarted event, OutputRecord action. |
Source is single record, Target is multi-record or hierarchical with > 1 record type | Add SourceRecord event to each target record (can add for fivetargets). If target is hierarchical with a single root record, then the first event is SourceStarted, OutputRecord action. For records 2-X where X is not > 5 of the target, add a RecordStarted event, OuputRecord action. This may not be exactly what you need but will give an idea of what is required. You can later edit the events in the Map Editor. This scenario will likely be accurate for new hierarchical files that is based on the source schema or hierarchical files that have a single root record and few child records. |
Source is multi-record or hierarchical with > 1 record type and target has single record | Add a source record to the single record RecordStarted event, OutputRecord action for each source record. This may not be exactly what you need but will give an idea of what is required. You can later edit the events in the Map Editor. |
Both source and target are multi-record or hierarchical. | Add up to three source record to each of the first three RecordStarted events, OutputRecord events. This may not be exactly what you need but will give an idea of what is required. You can later edit the events in the Map Editor. |
For Joins, both the source and the join must be single record. The target must be single record. | Add one RecordStarted, Output record event/action from source to join and one RecordStarted, Output record event/action from join to target. |
Event Type | Event Name | Event Description | Event Parameter | Event Parameter Description |
---|---|---|---|---|
Record Event | ErrorFound | Triggered when an error occurs during map execution. | None | - |
Record Event | GroupEnded | Triggered when the end of a group of records is detected in the input, and before the next group starts. | group type | Determines the group boundary. The values are: • field list: The group boundary is determined by watching values for the specified list of fields from the source record. • expression: The group boundary is determined by watching the value computed by an expression. This event also occurs when the input stream ends. |
group key | Based on the selected group type, specify the group key: • If group type is field list, then click to open the Create Field List window. Select the Source Fields and click to move it to the Field List box. Click OK. The value appears in the Value column. • If group type is expression, then click to open the EZscript Experssion Editor and specify an expression. | |||
Record Event | GroupStarted | Triggered when the start of a group of records is detected in the input. | group type | Determines the group boundary. The values are: • field list: The group boundary is determined by watching values for the specified list of fields from the source record. • expression: The group boundary is determined by watching the value computed by an expression. This event also occurs when the input stream ends. |
group key | Based on the selected group type, specify the group key: • If group type is field list, then click to open the Create Field List window. Select the Source Fields and click to move it to the Field List box. Click OK. The value appears in the Value column. • If group type is expression, then click to open the EZscript Experssion Editor and specify an expression. | |||
Record Event Source Event | RecordEnded | Triggered after processing a record is completed, before reading the next record. This event is useful for working with grouped sets of records where there are no distinct boundaries between the different groups. Note: Field values for the new record are not visible to mapping expressions when this event occurs. | None | - |
Target Event | RecordOperation Ended | Triggered after modifying an output record (insert, delete, update, upsert, blank for any operation). If the record address parameter is specified, this event is triggered every time that record is output (operation is ignored). If no record address is specified, then any record whose operation matches the operation parameter will trigger the event. If neither is specified, then every record will trigger the event. | Same as RecordOperationStarted. | |
Target Event | RecordOperationStarted | Triggered just before modifying an output record (insert, delete, update, upsert, blank for any operation). | target record address | If the record address parameter is specified, this event is triggered every time that record is output (operation is ignored). If no record address is specified, then any record whose operation matches the operation parameter will trigger the event. If neither is specified, then every record will trigger the event. |
operation | Select one of the following as the operation that must be performed when the event is triggered: • insert • update • delete • upsert | |||
Record Event | RecordRejected | Triggered when a source record rejected target. | reason | Specify the reason for rejecting the record. |
Record Event Source Event | RecordStarted | Triggered after reading each instance of the source record. | None | - |
Record Event Source Event | SourceEnded | Triggered when processing a source has been completed. | None | - |
Record Event Source Event | SourceStarted | Triggered before records are read in the input. | None | - |
Record Event | SubTreeEnded | Triggered after all the records representing a complete subtree of a hierarchical structure are read from the input stream. This event occurs before the source transitions to the parent or to a sibling of the current tree. This event also occurs when the input stream ends. | None | - |
Record Event | SubTreeStarted | Triggered when the start of a new instance of a sub-tree is detected in the input. | None | - |
Transformation Event | TransformationCleanup | Triggered after the transformation completes, and sources and targets are disconnected. | None | - |
Transformation Event | TransformationEnded | Triggered at the end of the transformation. | None | - |
Transformation Event | TransformationPrepare | Triggered before anything else occurs for the transformation. | None | - |
Transformation Event | TransformationStarted | Triggered after sources and targets are connected. | None | - |
Transformation Event | TransformationStopped | Triggered when the transformation is stopped, and before the TransformationEnded event is triggered. | None | - |
Record Event | UserDefinedEventDetected | Triggered when a user-defined event is raised. | user-defined event name | Specify a name for the user-defined event. You can define and raise user-defined events to monitor events other than the pre-defined events. You can use the RaiseUserDefinedEvent event action and the UserDefinedEventDetected event. In a map, you can define the RaiseUserDefinedEvent event action on the False Action tab and specify the event name and the parameter string. The UserDefinedEventDetected event collects the User Defined Event based on the event name. When the map is run, the parameter string defined in the UserDefinedEventDetected event is executed. |
Event Type | Action | Action Description | Action Parameter | Action Parameter Description |
---|---|---|---|---|
Record Event | Aggregate | Evaluates the aggregation functions for aggregate fields in the target record. | None | - |
Record Event | Break | Breaks the execution process. Execution resumes with the next link on the current source record. | None | - |
Record Event | ClearRecord | Clears the data values from the fields for the target record. | target record name | Select the target record. |
cascade | Select True to clear child records. Else, select False | |||
Record Event | ClearRecordSet | Deletes all the rows in the intermediate target. | intermediate target name | Select the intermediate target name. |
Record Event | Discard | Current input record is rejected. | None | - |
Record Event Source Event Target Event | ExecuteCommand | Triggers the command that must be executed by the target. Note: Only multimode connectors support the ExecuteCommand action. | target name | Select the target. |
command | Specify the command to be executed. | |||
command type | Indicates how the SQL string or command is processed before it is passed to the connector. Select any of the following command type processor: • plain_text: Uses the string as the SQL command and additional processing of the command is not required. • expression: Command is evaluated as an expression and the return value is passed to the connector as the SQL command. • preprocessor: Command is preprocessed using the SQL statement preprocessor (DJX/DJXBEGIN/DJXEND) and the result is passed to the connector. | |||
Record Event Source Event Target Event | ExecuteExpression | Executes the expression. | expression | Click to open the EZscript Experssion Editor and specify an expression. |
Record Event | OutputRecord | Evaluates the target field expressions for a record and writes it to the target. This action does not evaluate the aggregate fields. | preserve | After the output operation, the target record values are cleared if this parameter is set to false. |
record count | Click to open the EZscript Experssion Editor and specify an expression. | |||
Record Event | OutputRecordSet | Uses a secondary source or an intermediate target as a source for a downstream target. | source name | Select the source to be processed. |
preserve | After the output operation, the target record values are cleared if this parameter is set to false. | |||
max record count expression | Click to open the EZscript Experssion Editor and specify an expression to limit the number of records computed in the output. | |||
Record Event | RaiseUserDefinedEvent | Raise a user-defined event and optionally pass a string containing event parameter data. | event name | Name of the user-defined event. |
parameter string | String containing event parameter data. | |||
Record Event | Reject | Signals that the current input record must be rejected. | reason code | Allows you to associate the reject with an integer value that can be mapped to the reason for the reject. |
Record Event | Stop | Stops the transformation and returns the return code. | reason code | Returns the integer value as the return code. |
Record Event | TableOperation | Performs a table operation on a multi-mode output port. | operation type | The table or entity name and the table definition are specified using the address of a record, multimode_record_address, from the schema for a multi-mode target port. Values are: • CREATE: Creates a new table using the record type information for record_address to define the column names and data types. • DROP: Drops the table associated with record_address if the table exists. • TRUNCATE: Deletes all of the records from the table associated with record_address. Typically done by performing a truncate operation on the backend system. |
target record address | Record in multimode target describing the table or entity. | |||
Record Event | Terminate | Terminates the map execution and causes the engine to return a successful return code. | None | - |
V9 Event | Corresponding V12 Event | Details |
---|---|---|
AfterDeleteRecord | RecordOperationEnded | RecordOperationEnded is triggered after a record is output. The actual operation type is inferred by the target record (insert/delete/update/upsert for multimode targets, simple put for single-mode targets). |
AfterEveryRecord | RecordStarted | No significant difference in behavior. |
AfterFirstRecord | This event is not supported. | While not directly supported, you can determine if this is the first record by using RecordStarted and an initialized global variable checked in the condition expression. |
AfterInsertRecord | RecordOperationEnded | RecordOperationEnded is triggered after a record is output. The actual operation type is inferred by the target record (insert/delete/update/upsert for multimode targets, simple put for single-mode targets). |
AfterMap | This event is not supported. | This event is not supported. |
AfterPutRecord | RecordOperationEnded | RecordOperationEnded is triggered after a record is output. The actual operation type is inferred by the target record (insert/delete/update/upsert for multimode targets, simple put for single-mode targets). |
AfterPutTree | SourceEnded | No significant difference in behavior. |
AfterTransformation | TransformationEnded | No significant difference in behavior. |
AfterUpdateRecord | RecordOperationEnded | RecordOperationEnded is triggered after a record is output. The actual operation type is inferred by the target record (insert/delete/update/upsert for multimode targets, simple put for single-mode targets). |
AfterUpsertRecord | RecordOperationEnded | RecordOperationEnded is triggered after a record is output. The actual operation type is inferred by the target record (insert/delete/update/upsert for multimode targets, simple put for single-mode targets). |
BeforeDeleteRecord | RecordOperationStarted | RecordOperationStarted is triggered just before a record is output. The actual operation type is inferred by the target record (insert/delete/update/upsert for multimode targets, simple put for single-mode targets). |
BeforeEveryRecord | RecordEnded | No significant difference in behavior. |
BeforeFirstRecord | This event is not supported. | While not directly supported, this event can be synthesized using RecordStarted and an initialized global variable referenced in the event condition expression. |
BeforeInsertRecord | RecordOperationStarted | RecordOperationStarted is triggered just before a record is output. The actual operation type is inferred by the target record (insert/delete/update/upsert for multimode targets, simple put for single-mode targets). |
BeforeMap | This event is not supported. | This event is not supported. |
BeforePutRecord | RecordOperationStarted | RecordOperationStarted is triggered just before a record is output. The actual operation type is inferred by the target record (insert/delete/update/upsert for multimode targets, simple put for single-mode targets). |
BeforePutTree | This event is not supported. | This event is not supported. |
BeforeTransformation | TransformationStarted | No significant difference in behavior. |
BeforeUpdateRecord | RecordOperationStarted | RecordOperationStarted is triggered just before a record is output. The actual operation type is inferred by the target record (insert/delete/update/upsert for multimode targets, simple put for single-mode targets). |
BeforeUpsertRecord | RecordOperationStarted | RecordOperationStarted is triggered just before a record is output. The actual operation type is inferred by the target record (insert/delete/update/upsert for multimode targets, simple put for single-mode targets). |
OnAbort | TransformationStopped | No significant difference in behavior. |
OnAllDataChange | This event is not supported. | This event is not supported. |
OnAnyDataChange | This event is not supported. | This event is not supported. |
OnAssertionError | This event is not supported. | This event is not supported. |
OnConstraintError | This event is not supported. | This event is not supported. |
OnDataChange1 | GroupStarted/GroupEnded | No significant difference in behavior. |
OnDataChange2 | GroupStarted/GroupEnded | No significant difference in behavior. |
OnDataChange3 | GroupStarted/GroupEnded | No significant difference in behavior. |
OnDataChange4 | GroupStarted/GroupEnded | No significant difference in behavior. |
OnDataChange5 | GroupStarted/GroupEnded | No significant difference in behavior. |
OnDiscard | This event is not supported. | This event is not supported. |
OnDuplicateKeyError | This event is not supported. | This event is not supported. |
OnEOF | SourceEnded | No significant difference in behavior. |
OnError | ErrorFound | No significant difference in behavior. |
OnMismatch | This event is not supported. | This event is not supported. |
OnNullValueError | This event is not supported. | This event is not supported. |
OnOverflowError | This event is not supported. | This event is not supported. |
OnRecordValidationError | This event is not supported. | This event is not supported. |
OnReject | RecordRejected | No significant difference in behavior. |
OnTruncateError | This event is not supported. | This event is not supported. |
V9 Action | Corresponding V12 Action | V12 Behavior Notes |
---|---|---|
Abort | Stop | Stops execution of the transformation, with an implication that something was wrong (for example, the transformation terminated with prejudice). |
Assert | This action is not supported. | This action is not supported. |
ChangeSource | This action is not supported. | This action is not supported. |
ChangeTarget | This action is not supported. | DataConnect v12.2+ supports multiple map targets. However, these targets cannot change dynamically during the transformation. |
Clear | ClearRecord | No significant difference in behavior. |
ClearTree | ClearRecordSet | No significant difference in behavior. |
ClearInitialize | This action is not supported. | This action is not supported. |
ClearMap | This action is not supported. | This action is not supported. |
ClearMapInsert Record | OutputRecord | No significant difference in behavior. |
ClearMapPut Record | OutputRecord | No significant difference in behavior. |
Create Index | ExecuteCommand | No significant difference in behavior. |
Create Table | TableOperation | No significant difference in behavior. |
Delete Record | OutputRecord | No significant difference in behavior. |
Drop Table | TableOperation | No significant difference in behavior. |
Execute | ExecuteExpression | No significant difference in behavior. |
Insert Record | OutputRecord | No significant difference in behavior. |
LogMessage | ExecuteExpression | No significant difference in behavior. |
LogTargetRecord | ExecuteExpression | Requires some EZscript programming to access each field and log the desired information. |
Map | This action is not supported. | This action is not supported. |
MapInsert Record | OutputRecord | No significant difference in behavior. |
MapPut Record | OutputRecord | No significant difference in behavior. |
Put Record | OutputRecord | No significant difference in behavior. |
Put Tree | OutputRecordSet | No significant difference in behavior. |
QueryStatistic | This action is not supported. | With DataConnect v12.2+, expressions have direct access to the execution state and metrics from the transformation context. For this reason, this action is no longer needed. |
Resume | This action is not supported. | This action is not needed because event handlers don’t cascade. |
SQL File | ExecuteCommand | No significant difference in behavior. |
SQL Statement | ExecuteCommand | No significant difference in behavior. |
Terminate | Terminate | Stops the transformation with no implication of prejudice (for example, a condition indicated that it was time to stop the transformation). |
TraceOff | This action is not supported. | This action is not supported. |
TraceOn | This action is not supported. | Tracing is currently only available from the djengine command line application. |
Update Record | OutputRecord | No significant difference in behavior. |
Upsert Record | OutputRecord | No significant difference in behavior. |
Validate Record | This action is not supported. | This action is not supported. |