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

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

/*
 * 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.AssetInsuranceType;
import com.sap.cloud.sdk.s4hana.datamodel.bapi.types.BaseInsurableValue;
import com.sap.cloud.sdk.s4hana.datamodel.bapi.types.CurrencyKey;
import com.sap.cloud.sdk.s4hana.datamodel.bapi.types.CurrentInsurableValue;
import com.sap.cloud.sdk.s4hana.datamodel.bapi.types.InsuranceCompanies;
import com.sap.cloud.sdk.s4hana.datamodel.bapi.types.InsuranceIndexSeries;
import com.sap.cloud.sdk.s4hana.datamodel.bapi.types.InsuranceRateFiAa;
import com.sap.cloud.sdk.s4hana.datamodel.bapi.types.IsoCodeCurrency;
import com.sap.cloud.sdk.s4hana.datamodel.bapi.types.ManualInsurableValue;
import com.sap.cloud.sdk.s4hana.serialization.ErpBoolean;
import com.sap.cloud.sdk.s4hana.types.Year;

import lombok.Builder;
import lombok.Data;

/**
 * Logical field group 008 - Insurance
 * 
 *  Structure: BAPI1022_FEGLG008
 * 
* */ @Builder @Data public class FixedAssetInsurance { /** * Field name: BASE_VALUE *
     *  Type element: BF_VRSBA
     *  Domain name: BAPICURR
     *  Internal type: DEC
     *  Description: Base insurable value
     *  Max length: 12
     * 
* */ @ElementName("BASE_VALUE") @Nullable private BaseInsurableValue baseValue; /** * Field name: BASE_VAL_MAN_UPD *
     *  Type element: BF_VSMAN
     *  Domain name: BF_XFELD
     *  Internal type: CHAR
     *  Description: Update insurable value manually
     *  Max length: 1
     * 
* */ @ElementName("BASE_VAL_MAN_UPD") @Nullable private ErpBoolean baseValManUpd; /** * Field name: COMPANY *
     *  Type element: BF_AVGES
     *  Domain name: BF_AVGES
     *  Internal type: CHAR
     *  Description: Insurance companies
     *  Max length: 2
     * 
* */ @ElementName("COMPANY") @Nullable private InsuranceCompanies company; /** * Field name: CURRENCY *
     *  Type element: WAERS
     *  Domain name: WAERS
     *  Internal type: CUKY
     *  Description: Currency Key
     *  Max length: 5
     * 
* */ @ElementName("CURRENCY") @Nullable private CurrencyKey currency; /** * Field name: CURRENCY_ISO *
     *  Type element: WAERS_ISO
     *  Domain name: ISOCD
     *  Internal type: CHAR
     *  Description: ISO Code Currency
     *  Max length: 3
     * 
* */ @ElementName("CURRENCY_ISO") @Nullable private IsoCodeCurrency currencyIso; /** * Field name: CUR_INS_VALUE *
     *  Type element: BAPI1022_VSWRT
     *  Domain name: BAPICURR
     *  Internal type: DEC
     *  Description: Current insurable value
     *  Max length: 12
     * 
* */ @ElementName("CUR_INS_VALUE") @Nullable private CurrentInsurableValue curInsValue; /** * Field name: CUR_INS_VALUE_MAINT_YR *
     *  Type element: VSJHR
     *  Domain name: GJAHR
     *  Internal type: NUMC
     *  Description: Fiscal year for displaying insurance value
     *  Max length: 4
     * 
* */ @ElementName("CUR_INS_VALUE_MAINT_YR") @Nullable private Year curInsValueMaintYr; /** * Field name: INDEX *
     *  Type element: BF_VSIND
     *  Domain name: BF_WBIND
     *  Internal type: CHAR
     *  Description: Insurance index series
     *  Max length: 5
     * 
* */ @ElementName("INDEX") @Nullable private InsuranceIndexSeries index; /** * Field name: MAN_INS_VAL *
     *  Type element: BF_VRSMA
     *  Domain name: BAPICURR
     *  Internal type: DEC
     *  Description: Manual insurable value
     *  Max length: 12
     * 
* */ @ElementName("MAN_INS_VAL") @Nullable private ManualInsurableValue manInsVal; /** * Field name: MAN_INS_VAL_MAINT_YR *
     *  Type element: BF_VRSJH
     *  Domain name: GJAHR
     *  Internal type: NUMC
     *  Description: Maintenance year for manual insurable value
     *  Max length: 4
     * 
* */ @ElementName("MAN_INS_VAL_MAINT_YR") @Nullable private Year manInsValMaintYr; /** * Field name: POLICY_NO *
     *  Type element: BF_VSSTX
     *  Domain name: CHAR15
     *  Internal type: CHAR
     *  Description: Insurance policy number
     *  Max length: 15
     * 
* */ @ElementName("POLICY_NO") @Nullable private String policyNo; /** * Field name: PREMIUM *
     *  Type element: BF_AVTAR
     *  Domain name: BF_AVTAR
     *  Internal type: CHAR
     *  Description: Insurance rate FI-AA
     *  Max length: 5
     * 
* */ @ElementName("PREMIUM") @Nullable private InsuranceRateFiAa premium; /** * Field name: START_DATE *
     *  Type element: BF_VRSBG
     *  Domain name: DATUM
     *  Internal type: DATS
     *  Description: Insurance start date
     *  Max length: 8
     * 
* */ @ElementName("START_DATE") @Nullable private LocalDate startDate; /** * Field name: TEXT *
     *  Type element: BF_VSZTX
     *  Domain name: TEXT50
     *  Internal type: CHAR
     *  Description: Supplementary insurance text
     *  Max length: 50
     * 
* */ @ElementName("TEXT") @Nullable private String text; /** * Field name: TYPE *
     *  Type element: BF_VSART_ANLA
     *  Domain name: BF_AVART
     *  Internal type: CHAR
     *  Description: Asset insurance type
     *  Max length: 2
     * 
* */ @ElementName("TYPE") @Nullable private AssetInsuranceType type; public void validate() throws IllegalArgumentException { if ((policyNo!= null)&&(policyNo.length()> 15)) { throw new IllegalArgumentException("Bapi method parameter \"policyNo\" contains an invalid structure. Structure attribute \"POLICY_NO\" / Function parameter \"policyNo\" must have at most 15 characters. The given value is too long."); } if ((text!= null)&&(text.length()> 50)) { throw new IllegalArgumentException("Bapi method parameter \"text\" contains an invalid structure. Structure attribute \"TEXT\" / Function parameter \"text\" must have at most 50 characters. The given value is too long."); } } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy