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

      RefTypeExternalValue (with and without queue)LocalValue (character)
      DelimiterTransform:Field9328~inbox/Bookstore~SampleEnterprise~ZBKS.BookLoad~1.0|
      DelimiterTransform:FieldZBKS.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>