RISE to Bloome Software
Log In    
r2bsoftware.se r2bsoftware.se
Click to hide navigation tree

External Data Processor

The Externa data processor executes an external application. The article describes how to use an external data processor and how you can create your own external data processor.

External data processor properties
Image 1, External data processor properties

Data processor
Name The name of the data processor currently in use by the selected leaf. To change data processor, select the name property and click on the ellipsis button. Select the appropriate data processor in the form that is displayed.
Commands A list of key-value-pairs. Add the commands required by the data processor.
Path The physical path to the data processor. This can be any executable file such as an exe-file or a cmd-file.
Source column The data of this column is passed to the data processor. If the column contains binary data, it will be passed as a Base-64 encoded string.


When an external data processor executes, it launches the executable, specified in the Path property, with one command line argument; the path to an XML document containing the configured parameters. 

The XML document contains the commands specified in the Commands property, the content of the souce column, the source data type, and the target data type, see image 2. The SourceData element contains the string representation of the source data. If the source column contains binary data, i.e. SourceDataType is System.byte[], the SourceData element contains the Base64 encoded string representation of the binary data.

Inter application communication
Image 2, Communication

The resulting value is returned to Marshal, by replacing all the content of the file with the string representation of the return value. If the harvester returns binary data, the data must be Base64 encoded.

Error handling

If an error occurs, the executable should return an ExitCode other than zero. Error messages may be sent back to Marshal using Standard Error. If the model is executed in Marshal Editor, the error message will be displayed to the user, and if the model is executed in an automated process, the error message will appear in the system event viewer.