Splitter Adaptor


The main purpose for Splitter Adaptor

The main purpose for the Splitter Adaptor is to work in conjunction with FIXEdge CME handler. The FIXEdge CME handler retrieves FIXML 4.4 messages containing NYMEX, COMEX and DME Division cleared trade information from CME and sends them to the Splitter Adaptor. In its turn, the Splitter Adaptor generates a bunch of messages from a single inbound FIXML message. The only tag that drives the splitting process is <TrdCaptRpt>.




See the following table for examples of inbound and outbound messages for the described case:


 Inbound message Outbound messages

CME Batch message

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type='text/xsl' href='test-1.xsl'?>
<FIXML r="20030618" s="20040109" v="4.4">
	<Batch>
		<Hdr SSub="utbapi" SID="NYMEX" />
		<TrdCaptRpt RptID="141D70231870004CE2FC131023140949726B" ExecID="141D70231870004CE2FC" TrdID="100682" TrdMtchID="524834" LastPx="57.49" TxnTm="2013-10-22T14:08:00-05:00" TrdDt="2013-10-23" BizDt="2013-10-23" TransTyp="0" PrevlyRpted="N" MLEGRptTyp="2" ReqID="1382568962609_2" QtyTyp="1" LastQty="1" LastUpdateTm="2013-10-23T14:09:49.726-05:00" TrdTyp="1" TotNumLegRpts="5">
			<Instrmt ID="QL" Sym="QLZ13" Desc="CAPPCOAL-Dec13" SecTyp="MLEG" MMY="201312" Exch="NYMEX" Mult="1550" UOM="tn" CFI="FXXXX" SubTyp="SA" />
			<RptSide Side="1" ClOrdID="1236" InptSrc="CPC" Ccy="USD">
				<Pty R="12" ID="1H2K">
					<Sub Typ="27" ID="KGLOBA" />
					<Sub Typ="9" ID="Kseniia Globa" />
				</Pty>
				<Pty R="1" ID="epam">
					<Sub Typ="5" ID="Epam systems Inc." />
				</Pty>
				<Pty R="16" ID="1H2K" />
				<Pty R="37" ID="1H2K" />
				<Pty R="36" ID="epamuser">
					<Sub Typ="9" ID="Ksenilla Globa" />
				</Pty>
				<Pty R="7" ID="epam">
					<Sub Typ="5" ID="Epam systems Inc." />
				</Pty>
				<Alloc Qty="1" CustCpcty="4">
					<Pty R="24" ID="EPAMTEST1">
						<Sub Typ="26" ID="2" />
					</Pty>
					<Pty R="4" ID="661" />
					<Pty R="1" ID="epam" />
				</Alloc>
			</RptSide>
		</TrdCaptRpt>
		<TrdCaptRpt RptID="141D70231870004CE304131023140949726B" ExecID="141D70231870004CE304" TrdID="100686" TrdMtchID="524834" LastPx="57.49" TxnTm="2013-10-22T14:08:00-05:00" TrdDt="2013-10-23" BizDt="2013-10-23" TransTyp="0" PrevlyRpted="N" MLEGRptTyp="2" ReqID="1382568962609_2" QtyTyp="1" LastQty="1" LastUpdateTm="2013-10-23T14:09:49.726-05:00" TrdTyp="1" TotNumLegRpts="5">
			<Instrmt ID="QL" Sym="QLJ14" Desc="CAPPCOAL-Apr14" SecTyp="MLEG" MMY="201404" Exch="NYMEX" Mult="1550" UOM="tn" CFI="FXXXX" SubTyp="SA" />
			<RptSide Side="1" ClOrdID="1236" InptSrc="CPC" Ccy="USD">
				<Pty R="12" ID="1H2K">
					<Sub Typ="27" ID="KGLOBA" />
					<Sub Typ="9" ID="Kseniia Globa" />
				</Pty>
				<Pty R="1" ID="epam">
					<Sub Typ="5" ID="Epam systems Inc." />
				</Pty>
				<Pty R="16" ID="1H2K" />
				<Pty R="37" ID="1H2K" />
				<Pty R="36" ID="epamuser">
					<Sub Typ="9" ID="Ksenilla Globa" />
				</Pty>
				<Pty R="7" ID="epam">
					<Sub Typ="5" ID="Epam systems Inc." />
				</Pty>
				<Alloc Qty="1" CustCpcty="4">
					<Pty R="24" ID="EPAMTEST1">
						<Sub Typ="26" ID="2" />
					</Pty>
					<Pty R="4" ID="661" />
					<Pty R="1" ID="epam" />
				</Alloc>
			</RptSide>
		</TrdCaptRpt>
	</Batch>
</FIXML>

1st splitted message

<?xml version="1.0" encoding="UTF-8"?>
<FIXML r="20030618" s="20040109" v="4.4">
	<Batch>
		<Hdr SSub="utbapi" SID="NYMEX" />
		<TrdCaptRpt RptID="141D70231870004CE2FC131023140949726B" ExecID="141D70231870004CE2FC" TrdID="100682" TrdMtchID="524834" LastPx="57.49" TxnTm="2013-10-22T14:08:00-05:00" TrdDt="2013-10-23" BizDt="2013-10-23" TransTyp="0" PrevlyRpted="N" MLEGRptTyp="2" ReqID="1382568962609_2" QtyTyp="1" LastQty="1" LastUpdateTm="2013-10-23T14:09:49.726-05:00" TrdTyp="1" TotNumLegRpts="5">
			<Instrmt ID="QL" Sym="QLZ13" Desc="CAPPCOAL-Dec13" SecTyp="MLEG" MMY="201312" Exch="NYMEX" Mult="1550" UOM="tn" CFI="FXXXX" SubTyp="SA" />
			<RptSide Side="1" ClOrdID="1236" InptSrc="CPC" Ccy="USD">
				<Pty R="12" ID="1H2K">
					<Sub Typ="27" ID="KGLOBA" />
					<Sub Typ="9" ID="Kseniia Globa" />
				</Pty>
				<Pty R="1" ID="epam">
					<Sub Typ="5" ID="Epam systems Inc." />
				</Pty>
				<Pty R="16" ID="1H2K" />
				<Pty R="37" ID="1H2K" />
				<Pty R="36" ID="epamuser">
					<Sub Typ="9" ID="Ksenilla Globa" />
				</Pty>
				<Pty R="7" ID="epam">
					<Sub Typ="5" ID="Epam systems Inc." />
				</Pty>
				<Alloc Qty="1" CustCpcty="4">
					<Pty R="24" ID="EPAMTEST1">
						<Sub Typ="26" ID="2" />
					</Pty>
					<Pty R="4" ID="661" />
					<Pty R="1" ID="epam" />
				</Alloc>
			</RptSide>
		</TrdCaptRpt>
	</Batch>
</FIXML>
2nd splitted message


<?xml version="1.0" encoding="UTF-8"?>
<FIXML r="20030618" s="20040109" v="4.4">
	<Batch>
		<Hdr SSub="utbapi" SID="NYMEX" />
		<TrdCaptRpt RptID="141D70231870004CE304131023140949726B" ExecID="141D70231870004CE304" TrdID="100686" TrdMtchID="524834" LastPx="57.49" TxnTm="2013-10-22T14:08:00-05:00" TrdDt="2013-10-23" BizDt="2013-10-23" TransTyp="0" PrevlyRpted="N" MLEGRptTyp="2" ReqID="1382568962609_2" QtyTyp="1" LastQty="1" LastUpdateTm="2013-10-23T14:09:49.726-05:00" TrdTyp="1" TotNumLegRpts="5">
			<Instrmt ID="QL" Sym="QLJ14" Desc="CAPPCOAL-Apr14" SecTyp="MLEG" MMY="201404" Exch="NYMEX" Mult="1550" UOM="tn" CFI="FXXXX" SubTyp="SA" />
			<RptSide Side="1" ClOrdID="1236" InptSrc="CPC" Ccy="USD">
				<Pty R="12" ID="1H2K">
					<Sub Typ="27" ID="KGLOBA" />
					<Sub Typ="9" ID="Kseniia Globa" />
				</Pty>
				<Pty R="1" ID="epam">
					<Sub Typ="5" ID="Epam systems Inc." />
				</Pty>
				<Pty R="16" ID="1H2K" />
				<Pty R="37" ID="1H2K" />
				<Pty R="36" ID="epamuser">
					<Sub Typ="9" ID="Ksenilla Globa" />
				</Pty>
				<Pty R="7" ID="epam">
					<Sub Typ="5" ID="Epam systems Inc." />
				</Pty>
				<Alloc Qty="1" CustCpcty="4">
					<Pty R="24" ID="EPAMTEST1">
						<Sub Typ="26" ID="2" />
					</Pty>
					<Pty R="4" ID="661" />
					<Pty R="1" ID="epam" />
				</Alloc>
			</RptSide>
		</TrdCaptRpt>
	</Batch>
</FIXML>


Empty FIXML messages

Empty FIXML messages are batches with no trades:

<FIXML r=\"20030618\" s=\"20040109\" v=\"4.4\"><Batch><Hdr SSub=\"utbapi\" SID=\"NYMEX\" /></Batch></FIXML>

They are ignored by Splitter Adaptor while processing.