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>