Caplin FXIntegrationAPI Documentation - Version 8.12.0
Message Builder Example - AllocationForwardSalesDetailsUpdate
package com.caplin.examples.fxapi.generated.motif.fx.tradeconfirmation.TradeConfTypesDef;
import java.math.BigInteger;
import static com.caplin.motif.fx.config.DefaultDisplayFields.addDefaultSalesAllocationDetailsUpdateFields;
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 AllocationForwardSalesDetailsUpdateExample {
public static void main(String[] args) {
TradeConfTypesDef.AllocationForwardSalesDetailsUpdate allocationForwardSalesDetailsUpdate =
TradeConfTypesDef.AllocationForwardSalesDetailsUpdate
.newBuilder()
.setCommonForwardSalesTradeConfirmation(
TradeConfTypesDef.CommonForwardSalesTradeConfirmation
.newBuilder()
.setCommonForwardTradeConfirmation(
TradeConfTypesDef.CommonForwardTradeConfirmation
.newBuilder()
.setCommonFields(
TradeConfPartsDef.CommonTradeConfirmationFields
.newBuilder()
.setAccount("Garfields|GARF")
.setAccountEditable()
.setAllocationSettlementDateOptions("ORIGINAL,EARLIER,LATER")
.setAmountDPS(2)
.setAssetType("")
.setBackOfficeID("")
.setCanAllocate("")
.setCanDrawdown(true)
.setClient("")
.setClientAgreementDateTime("")
.setClientAgreementDateTimeEditable()
.setContraAmountDPS(2)
.setContraCostAmount("")
.setContraCostCurrency("GBP")
.setContraCostCurrencyDPS(2)
.setContraCostPercentage(BigDecimal.valueOf(13.56))
.setCostAmount(BigDecimal.valueOf(12412891.31))
.setCostCurrency("GBP")
.setCostCurrencyDPS("2")
.setCostPercentage(BigDecimal.valueOf(13.56))
.setCurrencyPair("")
.setDealtCurrency("GBP")
.setDealtCurrencyEditable()
.setDealtCurrencyRisk()
.setDeliverableType("")
.setDetailedWarningMessage("")
.setDigitsBeforePips(2)
.setEntityDescription("Customer 1")
.setEntityId("CUSTONE")
.setExecutionDateTime("20160322123621")
.setFullName("")
.setHasPostTradeHistory("")
.setIsAllocated(true)
.setIsAmendable("")
.setIsCancellable("")
.setIsReversible(true)
.setNaturalLanguageSummaryHidden(true)
.setNumberOfPips(2)
.setOrderID("")
.setOriginalTradeID("")
.setPostTradeType("")
.setPriceSource("st1@caplin.com")
.setPurpose("Commercial")
.setRemarks("")
.setServiceContraCostCurrencyDPS(2)
.setServiceCostCurrencyDPS(2)
.setSpotMidRate("1.08345")
.setSpotRate(BigDecimal.valueOf(1.08341))
.setSpotRateDPS("5")
.setStatus("AWAITING-PRICE")
.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("**CREDIT CHECK:** This user has a credit limit of **1,000,000.00 USD** which should not be exceeded.")
.build())
.setLegTradeConfirmation(
TradeConfPartsDef.LegTradeConfirmationFields
.newBuilder()
.addRemarks(
TradeConfPartsDef.RemarksEntry
.newBuilder()
.setRemarkDateTime("2018-03-16T07:25:16+00:00")
.setRemarkOriginStatus("")
.setRemarkSource("")
.setRemarkTargetStatus("")
.build())
.setAccount("Garfields|GARF")
.setAdjustedSwapPoints("")
.setAllInMidRate(BigDecimal.valueOf(1.091790))
.setAllInRate(BigDecimal.valueOf(1.091790))
.setAllInRateDPS(5)
.setAllocatableAmount(BigDecimal.valueOf(500))
.setAllocatableContraAmount("500")
.setAmount("0")
.setAmountEditable()
.setAmountRisk()
.setBuySell("")
.setContraAmount("500")
.setContraCostAmount(BigDecimal.valueOf(0.0))
.setContraCostCurrency("GBP")
.setContraCostPercentage(BigDecimal.valueOf(13.56))
.setCostAmount(BigDecimal.valueOf(12412891.31))
.setCostCurrency("GBP")
.setCostPercentage(BigDecimal.valueOf(13.56))
.setEntityDescription("Customer 1")
.setEntityId("CUSTONE")
.setFilledAmount("0")
.setForwardPointsDecimalOffset("")
.setFullName("")
.setFwdMidPoints("0.005390")
.setFwdPips("11.98")
.setFwdPoints("0.001198")
.setIsTimeOption(true)
.setNostroAccountFields(
SettlementInstructionsPartsDef.NostroAccount
.newBuilder()
.setNostroAccount("AE770090004000824676500")
.setNostroBIC("ARABAEADABC")
.setNostroName("GBP Nostro Account.")
.build())
.setOriginalRate("")
.setProfit("1000")
.setRemainingAmount("500")
.setRemarks(
TradeConfPartsDef.RemarksEntry
.newBuilder()
.build(), 0)
.setRiskDate("20160314")
.setRiskTenor("1W")
.setServiceContraCostAmount("")
.setServiceContraCostCurrency("GBP")
.setServiceCostAmount("")
.setServiceCostCurrency("GBP")
.setSettlementDate("")
.setSettlementDateEditable()
.setSettlementDateRisk()
.setSettlementTradeFields(
SettlementInstructionsPartsDef.SettlementTradeFields
.newBuilder()
.addPay(
SettlementInstructionsPartsDef.SettlementFields
.newBuilder()
.setBankAccount("12345678")
.setBankAddress1("12 Capitol")
.setBankAddress2("The City")
.setBankAddress3("London")
.setBankName("Bank Of Caplin")
.setBankSwift("CAP123")
.setIndividualAccount("87654321")
.setIndividualAddress1("98 Lane")
.setIndividualAddress2("Manchester")
.setIndividualName("Susan Sellers")
.setIndividualSwift("SOLD987")
.setIsDefaultSettlementInstruction(true)
.setNettingStatus("NETTED")
.setSettlementAmount(BigDecimal.valueOf(0.0))
.setSettlementCurrency("GBP")
.setSettlementDetailsLine1("")
.setSettlementDetailsLine2("")
.setSettlementDetailsLine3("")
.setSettlementDetailsLine4("")
.setSettlementDetailsLine5("")
.setSettlementDetailsLine6("")
.setSettlementDirection("")
.setSettlementDisplayName("[CCY] Account 1")
.setSettlementId("")
.setSettlementInstructionType("EXISTING")
.setSettlementStatus("")
.setSplitComponentId("")
.build())
.addPayNettingComponents(
SettlementInstructionsPartsDef.NettingComponents
.newBuilder()
.setAmount(BigDecimal.valueOf(0))
.setBuySell("")
.setTradeID("00001561")
.build())
.addReceive(
SettlementInstructionsPartsDef.SettlementFields
.newBuilder()
.build())
.addReceiveNettingComponents(
SettlementInstructionsPartsDef.NettingComponents
.newBuilder()
.build())
.setAffirmedBy("")
.setAffirmedDateTime("2018-03-16T07:25:16+00:00")
.setCanAdHoc(true)
.setCanAffirm("")
.setCanApproveInstructions(true)
.setCanAutoConfirm("")
.setCanCancel("")
.setCanConfirm("")
.setCanDispute("")
.setCanRejectInstructions("")
.setCanRelease(true)
.setCanReplace(true)
.setCanUnconfirm("")
.setConfirmedBy("")
.setConfirmedDateTime("2018-03-16T07:25:16+00:00")
.setIsPayNetted(true)
.setIsPayNettingRequired("")
.setIsPaySplit(true)
.setIsReceiveNetted("")
.setIsReceiveNettingRequired("")
.setIsReceiveSplit("")
.setNextActionDeadline(Instant.now())
.setNextActionDeadlineDisplayTimezone("America/New_York")
.setSettlementStatus("")
.build())
.setStartDate("20150620")
.setStartDateRisk()
.setStartTenor("", true)
.setStartTenorRisk()
.setTOBOUser("client@customer.co.za")
.setTOBOUserEditable()
.setTOBOUserRisk()
.setTenor("1M")
.setTenorEditable()
.setTenorRisk()
.setTradeID("00001561")
.build())
.setNdfLegTradeConfirmation(
TradeConfPartsDef.NDFLegTradeConfirmationFields
.newBuilder()
.setFixingAmount("")
.setFixingCode("[CCY]1/1600/GBLO")
.setFixingCurrency("USD")
.setFixingDate("20150620")
.setFixingDescription("WMR [CCY] 4pm London")
.setReferenceAmount("")
.setReferenceCurrency("")
.setSettlementAmount(BigDecimal.valueOf(0.0))
.build())
.setNdfTradeConfirmation(
TradeConfPartsDef.NDFTradeConfirmationFields
.newBuilder()
.setFixingSource("WMR 8am London Time")
.setSettlementCurrency("GBP")
.build())
.setTimeOptionLegTradeConfirmation(
TradeConfPartsDef.TimeOptionLegTradeConfirmationFields
.newBuilder()
.setFilledAmount(BigDecimal.valueOf(0))
.setRemainingAmount(BigDecimal.valueOf(500))
.setRiskDate("20160314")
.setRiskTenor("1W")
.setStartDate("20150620")
.setStartDateRisk()
.setStartTenor("1W")
.setStartTenorRisk()
.build())
.build())
.setNearSalesLegTradeConfirmation(
TradeConfPartsDef.SalesLegTradeConfirmationFields
.newBuilder()
.addTraderRemarks(
TradeConfPartsDef.RemarksEntry
.newBuilder()
.build())
.setAdjustedSwapMargin("")
.setAdjustedTraderSwapPoints("")
.setAllInMargin(BigDecimal.valueOf(0.0), true)
.setAllInMarginEditable()
.setComponent1(
TradeConfPartsDef.SalesSyntheticComponentLegTradeConfirmationFields
.newBuilder()
.setAllInRateDPS("5")
.setFwdMidPoints(BigDecimal.valueOf(0.005390))
.setTraderFwdPoints(BigDecimal.valueOf(0.005390))
.build())
.setComponent2(
TradeConfPartsDef.SalesSyntheticComponentLegTradeConfirmationFields
.newBuilder()
.build())
.setFwdMargin(BigDecimal.valueOf(0.0), true)
.setFwdMarginEditable()
.setOriginalMargin(BigDecimal.valueOf(0.0))
.setTOBOUser("", true, true)
.setTOBOUserEditable()
.setTOBOUserRisk()
.setTraderAllInRate("1.005390")
.setTraderFwdPoints(BigDecimal.valueOf(0.005390))
.setTraderOriginalRate("")
.setTraderRemarks(
TradeConfPartsDef.RemarksEntry
.newBuilder()
.build(), 0)
.build())
.setSalesCommonFields(
TradeConfPartsDef.SalesCommonTradeConfirmationFields
.newBuilder()
.setAmendmentReasonDisplayFields(arg)
.setCompetition(true)
.setComponent1(
TradeConfPartsDef.SalesSyntheticComponentTradeConfirmationFields
.newBuilder()
.setCurrencyPair("")
.setDigitsBeforePips("2")
.setNumberOfPips("2")
.setSpotMidRate("1.08345")
.setSpotRateDPS("5")
.setTraderSpotRate("1.09174")
.build())
.setComponent2(
TradeConfPartsDef.SalesSyntheticComponentTradeConfirmationFields
.newBuilder()
.build())
.setExternalRemarks("")
.setForwardPointsTrader("")
.setForwardPointsTraderEditable()
.setIsAdvised(true)
.setProfit(BigDecimal.valueOf(1000))
.setProfitCurrency("USD")
.setProfitCurrencyDPS(5)
.setProfitIsHouse(true)
.setProfitRate("1.091790")
.setReasons(arg)
.setSource("WMR 8am London Time")
.setSpotMargin("0.00054")
.setSpotMarginEditable()
.setSpotTrader("")
.setSpotTraderEditable()
.setStreamingMode("MANUAL, STREAMING")
.setSyntheticCrossCurrency("GBP")
.setTraderSpotRate("1.09174")
.build())
.build())
.setDisplayFields(addDefaultSalesAllocationDetailsUpdateFields(/* See DefaultDisplayFields javadoc for parameters and available builder methods. */))
.setMaxRepriceDate("2023-06-17")
.setMinRepriceDate("2023-06-17")
.build();
}
}