CSV Delimiter Transform
DelimiterTransform allows users to read or write a CSV payload using a delimiter other than the one defined on the interface. Using this transform makes it easy to process a CSV-type file where the fields are separated by any custom delimiter such as "~", "|", "\t", etc without having to edit or override the interface definition every time.
Steps to use:
Specify an ExternalReference entry with the following values:
RefType: "DelimiterTransform:Field"
ExternalValue: <VCID>~<QueueName>~<EntName>~<InterfaceName>~<InterfaceVersion> OR
ExternalValue: <InterfaceName>~<InterfaceVersion>
LocalValue: <custom Field delimiter to be used on the file>
ExternalReference setup
Table 16.15. ExternalReference field for specifying DelimiterTransform
RefType
ExternalValue (with and without queue)
LocalValue (character)
DelimiterTransform:Field
9328~inbox/Bookstore~SampleEnterprise~ZBKS.BookLoad~1.0
|
DelimiterTransform:Field
ZBKS.BookLoad~1.0
|
Define a MessageTransform with the following values:
TransformClass: "com.onenetwork.platform.integ.msg.DelimiterTransform"
Precedence:
For inbound interfaces: 1
For outbound interfaces: the last value applicable to that interface
TransformOn:
For inbound interfaces: "Dequeue"
For outbound interfaces: "Enqueue"
MessageTransform for inbound
<?
xml
version
=
"1.0"
encoding
=
"UTF-8"
standalone
=
"yes"
?>
<
ModelList
xmlns
=
"http://www.onenetwork.com/Platform"
>
<
ValueChainId
>9328</
ValueChainId
>
<
CustomModelName
>Standard MessageTransform</
CustomModelName
>
<
ActionName
>PLT.Create</
ActionName
>
<
MessageTransform
>
<
ValueChainId
>9328</
ValueChainId
>
<
InboundQueueValueChainId
>9328</
InboundQueueValueChainId
>
<
InboundQueueName
>inbox/Bookstore</
InboundQueueName
>
<
InboundQueueEnterpriseName
>SampleEnterprise</
InboundQueueEnterpriseName
>
<
InboundInterface
>ZBKS.BookLoad</
InboundInterface
>
<
InboundInterfaceVersion
>1.0</
InboundInterfaceVersion
>
<
TransformClass
>com.onenetwork.platform.integ.msg.DelimiterTransform</
TransformClass
>
<
TransformOn
>Dequeue</
TransformOn
>
<
Precedence
>1</
Precedence
>
</
MessageTransform
>
</
ModelList
>
MessageTransform for outbound
<?
xml
version
=
"1.0"
encoding
=
"UTF-8"
standalone
=
"yes"
?>
<
ModelList
xmlns
=
"http://www.onenetwork.com/Platform"
>
<
ValueChainId
>9328</
ValueChainId
>
<
CustomModelName
>Standard MessageTransform</
CustomModelName
>
<
ActionName
>PLT.Create</
ActionName
>
<
MessageTransform
>
<
ValueChainId
>9328</
ValueChainId
>
<
OutboundQueueValueChainId
>9328</
OutboundQueueValueChainId
>
<
OutboundQueueName
>outbox/Bookstore</
OutboundQueueName
>
<
OutboundQueueEnterpriseName
>SampleEnterprise</
OutboundQueueEnterpriseName
>
<
OutboundInterface
>ZBKS.ExportBook</
OutboundInterface
>
<
OutboundInterfaceVersion
>1.0</
OutboundInterfaceVersion
>
<
TransformClass
>com.onenetwork.platform.integ.msg.DelimiterTransform</
TransformClass
>
<
TransformOn
>Enqueue</
TransformOn
>
<
Precedence
>2</
Precedence
>
</
MessageTransform
>
</
ModelList
>