Caplin FXIntegrationAPI Documentation - Version 8.5.0

Message Builder Example - BlockTradeConfirmation

package com.caplin.examples.fxapi.generated.motif.fx.tradeconfirmation.TradeConfTypesDef; 

import java.math.BigInteger;
import static com.caplin.motif.fx.config.definitions.common.Tag;

import com.caplin.generated.motif.fx.settlementinstructions.SettlementInstructionsPartsDef;
import com.caplin.generated.motif.fx.tradeconfirmation.TradeConfPartsDef;
import com.caplin.generated.motif.fx.tradeconfirmation.TradeConfTypesDef;

public class BlockTradeConfirmationExample {
    public static void main(String[] args) {
                    		
		TradeConfTypesDef.BlockTradeConfirmation blockTradeConfirmation =
		TradeConfTypesDef.BlockTradeConfirmation
			.newBuilder()
			.addNettedLegTradeConfirmationFields(
			TradeConfTypesDef.NettedLegTradeConfirmationFields
				.newBuilder()
				.addInputLegSwapPartnerTradeConfirmation(
				TradeConfPartsDef.SwapPartnerLegTradeConfirmationFields
					.newBuilder()
					.setSwapPartnerInputLegID("")
					.setSwapPartnerNettedLegID(0)
					.build())
				.addInputLegTradeConfirmation(
				TradeConfPartsDef.LegTradeConfirmationFields
					.newBuilder()
					.addRemarks(
					TradeConfPartsDef.RemarksEntry
						.newBuilder()
						.setRemarkDateTime(Instant.now())
						.setRemarkOriginStatus("")
						.setRemarkSource("")
						.setRemarkTargetStatus("")
						.build())
					.setAccount("Garfields|GARF")
					.setAdjustedSwapPoints(BigDecimal.valueOf(0.0))
					.setAllInMidRate("1.091790")
					.setAllInRate(BigDecimal.valueOf(1.091790))
					.setAllInRateDPS("5")
					.setAllocatableAmount(BigDecimal.valueOf(500))
					.setAllocatableContraAmount(BigDecimal.valueOf(500))
					.setAmount(BigDecimal.valueOf(0))
					.setAmountEditable()
					.setAmountRisk()
					.setBuySell("")
					.setContraAmount("500")
					.setContraCostAmount("")
					.setContraCostCurrency("GBP")
					.setContraCostPercentage("13.56")
					.setCostAmount(BigDecimal.valueOf(12412891.31))
					.setCostCurrency("GBP")
					.setCostPercentage("13.56")
					.setEntityDescription("Customer 1")
					.setEntityId("CUSTONE")
					.setFilledAmount("0")
					.setForwardPointsDecimalOffset(0)
					.setFullName("")
					.setFwdMidPoints(BigDecimal.valueOf(0.005390))
					.setFwdPips("11.98")
					.setFwdPoints(BigDecimal.valueOf(0.001198))
					.setIsTimeOption("true")
					.setNostroAccountFields(
					SettlementInstructionsPartsDef.NostroAccount
						.newBuilder()
						.setNostroAccount("AE770090004000824676500")
						.setNostroBIC("ARABAEADABC")
						.setNostroName("GBP Nostro Account.")
						.build())
					.setOriginalRate(BigDecimal.valueOf(0.0))
					.setProfit("1000")
					.setRemainingAmount(BigDecimal.valueOf(500))
					.setRemarks(
					TradeConfPartsDef.RemarksEntry
						.newBuilder()
						.build(), 0)
					.setRiskDate("20160314")
					.setRiskTenor("1W")
					.setServiceContraCostAmount(BigDecimal.valueOf(0.0))
					.setServiceContraCostCurrency("GBP")
					.setServiceCostAmount(BigDecimal.valueOf(0.0))
					.setServiceCostCurrency("GBP")
					.setSettlementDate("")
					.setSettlementDateEditable()
					.setSettlementDateRisk()
					.setStartDate("20150620")
					.setStartDateRisk()
					.setStartTenor("1W")
					.setStartTenorRisk()
					.setTOBOUser("client@customer.co.za")
					.setTOBOUserEditable()
					.setTOBOUserRisk()
					.setTenor("", true, true)
					.setTenorEditable()
					.setTenorRisk()
					.setTradeID("00001561")
					.build())
				.addInputNDFLegTradeConfirmation(
				TradeConfPartsDef.NDFLegTradeConfirmationFields
					.newBuilder()
					.setFixingAmount(BigDecimal.valueOf(0.0))
					.setFixingCode("[CCY]1/1600/GBLO")
					.setFixingCurrency("USD")
					.setFixingDate("20150620")
					.setFixingDescription("WMR [CCY] 4pm London")
					.setReferenceAmount("")
					.setReferenceCurrency(BigDecimal.valueOf(0.0))
					.setSettlementAmount("")
					.build())
				.setIsReprice("")
				.setNdfNettedLegTradeConfirmation(
				TradeConfPartsDef.NDFLegTradeConfirmationFields
					.newBuilder()
					.build())
				.setNettedLegTradeConfirmation(
				TradeConfPartsDef.LegTradeConfirmationFields
					.newBuilder()
					.build())
				.build())
			.addSettlementTradeFields(
			SettlementInstructionsPartsDef.SettlementSummaryTradeFields
				.newBuilder()
				.setPay(
				SettlementInstructionsPartsDef.SettlementSummaryFields
					.newBuilder()
					.setSettlementDisplayName("[CCY] Account 1")
					.setSettlementRemarks("")
					.build())
				.setReceive(
				SettlementInstructionsPartsDef.SettlementSummaryFields
					.newBuilder()
					.build())
				.build())
			.setBlockFields(
			TradeConfPartsDef.BlockTradeConfirmationFields
				.newBuilder()
				.setNetBuySell("")
				.setNetContraAmount("1123400")
				.setNetDealtAmount(BigDecimal.valueOf(1000000))
				.build())
			.setCommonFields(
			TradeConfPartsDef.CommonTradeConfirmationFields
				.newBuilder()
				.setAccount("", true)
				.setAccountEditable()
				.setAllocationSettlementDateOptions("ORIGINAL,EARLIER,LATER")
				.setAmountDPS("2")
				.setAssetType("")
				.setBackOfficeID("")
				.setCanAllocate("")
				.setCanDrawdown("")
				.setClient("")
				.setClientAgreementDateTime(Instant.now(), true)
				.setClientAgreementDateTimeEditable()
				.setContraAmountDPS(2)
				.setContraCostAmount("")
				.setContraCostCurrency("GBP")
				.setContraCostCurrencyDPS("2")
				.setContraCostPercentage("13.56")
				.setCostAmount("12412891.31")
				.setCostCurrency("GBP")
				.setCostCurrencyDPS("2")
				.setCostPercentage("13.56")
				.setCurrencyPair("")
				.setDealtCurrency("GBP")
				.setDealtCurrencyEditable()
				.setDealtCurrencyRisk()
				.setDeliverableType("")
				.setDigitsBeforePips("2")
				.setEntityDescription("Customer 1")
				.setEntityId("CUSTONE")
				.setExecutionDateTime("20160322123621")
				.setFullName("")
				.setIsAllocated("")
				.setIsAmendable("")
				.setIsCancellable(true)
				.setIsReversible(true)
				.setNumberOfPips("2")
				.setOrderID("")
				.setOriginalTradeID("")
				.setPostTradeType("")
				.setPriceSource("st1@caplin.com")
				.setPurpose("Commercial")
				.setServiceContraCostCurrencyDPS(2)
				.setServiceCostCurrencyDPS(2)
				.setSpotMidRate("1.08345")
				.setSpotRate("1.08341")
				.setSpotRateDPS("5")
				.setTOBOUser("", true, true)
				.setTOBOUserEditable()
				.setTOBOUserRisk()
				.setTags(Arrays.asList(/* ... */))
				.setTradeDate("20160314")
				.setTradeID("00001561")
				.setTraderUsername("sales_trader@novobank.co.za")
				.setTradingType("")
				.setUTI("")
				.setVenue("FX Sales")
				.setWarningCode("001")
				.setWarningMessage("You do not have sufficient credit for EUR")
				.build())
			.setNdfTradeConfirmation(
			TradeConfPartsDef.NDFTradeConfirmationFields
				.newBuilder()
				.setFixingSource("WMR 8am London Time")
				.setSettlementCurrency("GBP")
				.build())
			.setNetFields(
			TradeConfPartsDef.NetConfirmationFields
				.newBuilder()
				.setNetBuySell("")
				.setNetContraAmount("1123400")
				.setNetDealtAmount(BigDecimal.valueOf(1000000))
				.build())
			.setNettedAmount(BigDecimal.valueOf(0.0))
			.setSettlementTradeFields(
			SettlementInstructionsPartsDef.SettlementSummaryTradeFields
				.newBuilder()
				.build(), 0)
			.build();
            
    }
}