All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.sap.cloud.sdk.s4hana.datamodel.bapi.structures.CreateAnFxOption Maven / Gradle / Ivy

There is a newer version: 2.28.0
Show newest version
/*
 * Copyright (c) 2019 SAP SE or an SAP affiliate company. All rights reserved.
 */

package com.sap.cloud.sdk.s4hana.datamodel.bapi.structures;

import java.time.LocalDate;

import javax.annotation.Nullable;

import com.sap.cloud.sdk.result.ElementName;
import com.sap.cloud.sdk.s4hana.datamodel.bapi.types.Barrier2AsForexRateForExoticOptions;
import com.sap.cloud.sdk.s4hana.datamodel.bapi.types.BarrierAsForexRateForExoticOptions;
import com.sap.cloud.sdk.s4hana.datamodel.bapi.types.CurrencyOptionPremiumWithPriceInPoints;
import com.sap.cloud.sdk.s4hana.datamodel.bapi.types.ExerciseType;
import com.sap.cloud.sdk.s4hana.datamodel.bapi.types.ExpiryLocation;
import com.sap.cloud.sdk.s4hana.datamodel.bapi.types.ExpiryTime;
import com.sap.cloud.sdk.s4hana.datamodel.bapi.types.FlowType;
import com.sap.cloud.sdk.s4hana.datamodel.bapi.types.FollowingCurrency;
import com.sap.cloud.sdk.s4hana.datamodel.bapi.types.IsoCurrencyCode;
import com.sap.cloud.sdk.s4hana.datamodel.bapi.types.LeadingCurrency;
import com.sap.cloud.sdk.s4hana.datamodel.bapi.types.OriginalOptionCategory;
import com.sap.cloud.sdk.s4hana.datamodel.bapi.types.PaymentAmount;
import com.sap.cloud.sdk.s4hana.datamodel.bapi.types.PaymentCurrency;
import com.sap.cloud.sdk.s4hana.datamodel.bapi.types.PriceAsPercentageQuotation;
import com.sap.cloud.sdk.s4hana.datamodel.bapi.types.PutCallIndicator;
import com.sap.cloud.sdk.s4hana.datamodel.bapi.types.RateOfForeignExchangeTransaction;
import com.sap.cloud.sdk.s4hana.datamodel.bapi.types.SettlementIndicator;
import com.sap.cloud.sdk.s4hana.datamodel.bapi.types.SpotRate;
import com.sap.cloud.sdk.s4hana.datamodel.bapi.types.SwapRate;

import lombok.Builder;
import lombok.Data;

/**
 * Create an FX Option by BAPI
 * 
 *  Structure: BAPI_FTR_CREATE_FXOPTION
 * 
* */ @Builder @Data public class CreateAnFxOption { /** * Field name: BARRIER_RATE_1 *
     *  Type element: TX_KWKURB1
     *  Domain name: TB_KKURS
     *  Internal type: DEC
     *  Description: Barrier as forex rate for exotic options
     *  Max length: 7
     * 
* */ @ElementName("BARRIER_RATE_1") @Nullable private BarrierAsForexRateForExoticOptions barrierRate1; /** * Field name: BARRIER_RATE_2 *
     *  Type element: TX_KWKURB2
     *  Domain name: TB_KKURS
     *  Internal type: DEC
     *  Description: Barrier 2 as forex rate for exotic options
     *  Max length: 7
     * 
* */ @ElementName("BARRIER_RATE_2") @Nullable private Barrier2AsForexRateForExoticOptions barrierRate2; /** * Field name: CURRENCY_OPTION_PREMIUM *
     *  Type element: TI_PRKUR
     *  Domain name: TB_KKURS
     *  Internal type: DEC
     *  Description: Currency Option Premium with Price in Points
     *  Max length: 7
     * 
* */ @ElementName("CURRENCY_OPTION_PREMIUM") @Nullable private CurrencyOptionPremiumWithPriceInPoints currencyOptionPremium; /** * Field name: EXERCISE_TYPE *
     *  Type element: SOPTAUS
     *  Domain name: SOPTAUS
     *  Internal type: NUMC
     *  Description: Exercise Type (American or European)
     *  Max length: 1
     * 
* */ @ElementName("EXERCISE_TYPE") @Nullable private ExerciseType exerciseType; /** * Field name: EXPIRATION_DATE *
     *  Type element: TB_DMATUR
     *  Domain name: DATUM
     *  Internal type: DATS
     *  Description: Expiration date
     *  Max length: 8
     * 
* */ @ElementName("EXPIRATION_DATE") @Nullable private LocalDate expirationDate; /** * Field name: EXPIRY_LOCATION *
     *  Type element: FTR_EXPIRY_LOCATION
     *  Domain name: FTR_SWIFT_LOCATION
     *  Internal type: CHAR
     *  Description: Expiry Location
     *  Max length: 4
     * 
* */ @ElementName("EXPIRY_LOCATION") @Nullable private ExpiryLocation expiryLocation; /** * Field name: EXPIRY_TIME *
     *  Type element: FTR_EXPIRY_TIME
     *  Domain name: FTR_SWIFT_TIME
     *  Internal type: NUMC
     *  Description: Expiry Time
     *  Max length: 4
     * 
* */ @ElementName("EXPIRY_TIME") @Nullable private ExpiryTime expiryTime; /** * Field name: FLOW_TYPE *
     *  Type element: TB_SFHAZBA
     *  Domain name: SBEWART
     *  Internal type: CHAR
     *  Description: Flow Type
     *  Max length: 4
     * 
* */ @ElementName("FLOW_TYPE") @Nullable private FlowType flowType; /** * Field name: FOLLOW_CURRENCY *
     *  Type element: TB_WFWAERS
     *  Domain name: WAERS
     *  Internal type: CUKY
     *  Description: Following Currency
     *  Max length: 5
     * 
* */ @ElementName("FOLLOW_CURRENCY") @Nullable private FollowingCurrency followCurrency; /** * Field name: FOLLOW_CURRENCY_ISO *
     *  Type element: ISOCD
     *  Domain name: ISOCD
     *  Internal type: CHAR
     *  Description: ISO Currency Code
     *  Max length: 3
     * 
* */ @ElementName("FOLLOW_CURRENCY_ISO") @Nullable private IsoCurrencyCode followCurrencyIso; /** * Field name: LEAD_CURRENCY *
     *  Type element: TB_WLWAERS
     *  Domain name: WAERS
     *  Internal type: CUKY
     *  Description: Leading Currency
     *  Max length: 5
     * 
* */ @ElementName("LEAD_CURRENCY") @Nullable private LeadingCurrency leadCurrency; /** * Field name: LEAD_CURRENCY_ISO *
     *  Type element: ISOCD
     *  Domain name: ISOCD
     *  Internal type: CHAR
     *  Description: ISO Currency Code
     *  Max length: 3
     * 
* */ @ElementName("LEAD_CURRENCY_ISO") @Nullable private IsoCurrencyCode leadCurrencyIso; /** * Field name: OPTION_TYPE *
     *  Type element: TV_OPTTYP
     *  Domain name: T_OPTTYP
     *  Internal type: NUMC
     *  Description: Original option category (on closing)
     *  Max length: 3
     * 
* */ @ElementName("OPTION_TYPE") @Nullable private OriginalOptionCategory optionType; /** * Field name: PAYMENT_AMOUNT *
     *  Type element: BAPITM_BZBETR
     *  Domain name: BAPICURR
     *  Internal type: DEC
     *  Description: Payment Amount
     *  Max length: 12
     * 
* */ @ElementName("PAYMENT_AMOUNT") @Nullable private PaymentAmount paymentAmount; /** * Field name: PAYMENT_CURRENCY *
     *  Type element: TB_WZBETR
     *  Domain name: WAERS
     *  Internal type: CUKY
     *  Description: Payment Currency
     *  Max length: 5
     * 
* */ @ElementName("PAYMENT_CURRENCY") @Nullable private PaymentCurrency paymentCurrency; /** * Field name: PAYMENT_CURRENCY_ISO *
     *  Type element: ISOCD
     *  Domain name: ISOCD
     *  Internal type: CHAR
     *  Description: ISO Currency Code
     *  Max length: 3
     * 
* */ @ElementName("PAYMENT_CURRENCY_ISO") @Nullable private IsoCurrencyCode paymentCurrencyIso; /** * Field name: PAYMENT_DATE_OPTION *
     *  Type element: TB_DZTERM
     *  Domain name: DATUM
     *  Internal type: DATS
     *  Description: Payment or Delivery Date
     *  Max length: 8
     * 
* */ @ElementName("PAYMENT_DATE_OPTION") @Nullable private LocalDate paymentDateOption; /** * Field name: PUT_CALL_INDICATOR *
     *  Type element: TI_SPUTCAL
     *  Domain name: T_SPUTCAL
     *  Internal type: NUMC
     *  Description: Put/Call Indicator
     *  Max length: 1
     * 
* */ @ElementName("PUT_CALL_INDICATOR") @Nullable private PutCallIndicator putCallIndicator; /** * Field name: RATE_PERCENTAGE *
     *  Type element: TB_PWKURS
     *  Domain name: DEC3_7
     *  Internal type: DEC
     *  Description: Price as Percentage Quotation
     *  Max length: 6
     * 
* */ @ElementName("RATE_PERCENTAGE") @Nullable private PriceAsPercentageQuotation ratePercentage; /** * Field name: SETTLEMENT_INDICATOR *
     *  Type element: TI_SETTLFL
     *  Domain name: T_SETTLFL
     *  Internal type: CHAR
     *  Description: Settlement Indicator
     *  Max length: 1
     * 
* */ @ElementName("SETTLEMENT_INDICATOR") @Nullable private SettlementIndicator settlementIndicator; /** * Field name: SPOT_RATE *
     *  Type element: TB_KKASSA
     *  Domain name: TB_KKURS
     *  Internal type: DEC
     *  Description: Spot Rate
     *  Max length: 7
     * 
* */ @ElementName("SPOT_RATE") @Nullable private SpotRate spotRate; /** * Field name: STRIKE_RATE *
     *  Type element: TB_KKURS
     *  Domain name: TB_KKURS
     *  Internal type: DEC
     *  Description: Rate of Foreign Exchange Transaction
     *  Max length: 7
     * 
* */ @ElementName("STRIKE_RATE") @Nullable private RateOfForeignExchangeTransaction strikeRate; /** * Field name: SWAP_RATE *
     *  Type element: TB_KSWAP
     *  Domain name: T_SWKURS
     *  Internal type: DEC
     *  Description: Swap Rate
     *  Max length: 7
     * 
* */ @ElementName("SWAP_RATE") @Nullable private SwapRate swapRate; /** * Field name: UNDERLYING_AMOUNT *
     *  Type element: BAPITM_BZBETR
     *  Domain name: BAPICURR
     *  Internal type: DEC
     *  Description: Payment Amount
     *  Max length: 12
     * 
* */ @ElementName("UNDERLYING_AMOUNT") @Nullable private PaymentAmount underlyingAmount; /** * Field name: UNDERLYING_CURRENCY *
     *  Type element: TB_WZBETR
     *  Domain name: WAERS
     *  Internal type: CUKY
     *  Description: Payment Currency
     *  Max length: 5
     * 
* */ @ElementName("UNDERLYING_CURRENCY") @Nullable private PaymentCurrency underlyingCurrency; /** * Field name: UNDERLYING_CURRENCY_ISO *
     *  Type element: ISOCD
     *  Domain name: ISOCD
     *  Internal type: CHAR
     *  Description: ISO Currency Code
     *  Max length: 3
     * 
* */ @ElementName("UNDERLYING_CURRENCY_ISO") @Nullable private IsoCurrencyCode underlyingCurrencyIso; /** * Field name: UNDERLYING_VALUE_DATE *
     *  Type element: TB_DVALUTA
     *  Domain name: DATUM
     *  Internal type: DATS
     *  Description: Value date of forex transaction
     *  Max length: 8
     * 
* */ @ElementName("UNDERLYING_VALUE_DATE") @Nullable private LocalDate underlyingValueDate; public void validate() throws IllegalArgumentException { } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy