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:

  1. 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

      |

  2. 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>