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

com.sap.cloud.sdk.s4hana.datamodel.bapi.structures.FixedAssetLeasing 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.CurrencyKey;
import com.sap.cloud.sdk.s4hana.datamodel.bapi.types.IsoCodeCurrency;
import com.sap.cloud.sdk.s4hana.datamodel.bapi.types.LeasePaymentCycle;
import com.sap.cloud.sdk.s4hana.datamodel.bapi.types.LeasedAssetPurchasePrice;
import com.sap.cloud.sdk.s4hana.datamodel.bapi.types.LeasingBaseValueAsNew;
import com.sap.cloud.sdk.s4hana.datamodel.bapi.types.LeasingCompany;
import com.sap.cloud.sdk.s4hana.datamodel.bapi.types.LeasingInterestRate;
import com.sap.cloud.sdk.s4hana.datamodel.bapi.types.LeasingType;
import com.sap.cloud.sdk.s4hana.datamodel.bapi.types.LengthOfLeaseInPeriods;
import com.sap.cloud.sdk.s4hana.datamodel.bapi.types.LengthOfLeaseInYears;
import com.sap.cloud.sdk.s4hana.datamodel.bapi.types.NumberOfLeasePayments;
import com.sap.cloud.sdk.s4hana.datamodel.bapi.types.PeriodicLeasePaymentPaidToLeasingCompanyLessor;
import com.sap.cloud.sdk.s4hana.datamodel.bapi.types.PresentValueOfLease;
import com.sap.cloud.sdk.s4hana.serialization.ErpBoolean;

import lombok.Builder;
import lombok.Data;

/**
 * Logical field group 005 - Leasing
 * 
 *  Structure: BAPI1022_FEGLG005
 * 
* */ @Builder @Data public class FixedAssetLeasing { /** * Field name: AGRMNTDATE *
     *  Type element: BF_LVDAT
     *  Domain name: DATUM
     *  Internal type: DATS
     *  Description: Leasing agreement date
     *  Max length: 8
     * 
* */ @ElementName("AGRMNTDATE") @Nullable private LocalDate agrmntdate; /** * Field name: AGRMNT_NO *
     *  Type element: BF_LVTNR
     *  Domain name: CHAR15
     *  Internal type: CHAR
     *  Description: Leasing agreement number
     *  Max length: 15
     * 
* */ @ElementName("AGRMNT_NO") @Nullable private String agrmntNo; /** * Field name: BASE_VALUE *
     *  Type element: BF_LBASW
     *  Domain name: BAPICURR
     *  Internal type: DEC
     *  Description: Leasing base value as new
     *  Max length: 12
     * 
* */ @ElementName("BASE_VALUE") @Nullable private LeasingBaseValueAsNew baseValue; /** * Field name: COMPANY *
     *  Type element: BF_LEAFI
     *  Domain name: LIFNR
     *  Internal type: CHAR
     *  Description: Leasing company
     *  Max length: 10
     * 
* */ @ElementName("COMPANY") @Nullable private LeasingCompany 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: CYCLE *
     *  Type element: BF_LRYTH
     *  Domain name: BF_PERAF
     *  Internal type: NUMC
     *  Description: Lease payment cycle
     *  Max length: 3
     * 
* */ @ElementName("CYCLE") @Nullable private LeasePaymentCycle cycle; /** * Field name: INTEREST *
     *  Type element: BF_LZINS
     *  Domain name: BF_AFPROZ
     *  Internal type: DEC
     *  Description: Leasing interest rate (capital lease)
     *  Max length: 4
     * 
* */ @ElementName("INTEREST") @Nullable private LeasingInterestRate interest; /** * Field name: IN_ADVANCE *
     *  Type element: BF_LVORS
     *  Domain name: BF_XFELD
     *  Internal type: CHAR
     *  Description: Advance payments
     *  Max length: 1
     * 
* */ @ElementName("IN_ADVANCE") @Nullable private ErpBoolean inAdvance; /** * Field name: LNGTH_PRDS *
     *  Type element: BF_LEPER
     *  Domain name: BF_PERAF
     *  Internal type: NUMC
     *  Description: Length of lease in periods
     *  Max length: 3
     * 
* */ @ElementName("LNGTH_PRDS") @Nullable private LengthOfLeaseInPeriods lngthPrds; /** * Field name: LNGTH_YRS *
     *  Type element: BF_LEJAR
     *  Domain name: BF_JARAF
     *  Internal type: NUMC
     *  Description: Length of lease in years
     *  Max length: 3
     * 
* */ @ElementName("LNGTH_YRS") @Nullable private LengthOfLeaseInYears lngthYrs; /** * Field name: NOTICEDATE *
     *  Type element: BF_LKDAT
     *  Domain name: DATUM
     *  Internal type: DATS
     *  Description: Leasing agreement notice date
     *  Max length: 8
     * 
* */ @ElementName("NOTICEDATE") @Nullable private LocalDate noticedate; /** * Field name: NO_PAYMNTS *
     *  Type element: BF_LEANZ
     *  Domain name: DEC5
     *  Internal type: DEC
     *  Description: Number of lease payments
     *  Max length: 3
     * 
* */ @ElementName("NO_PAYMNTS") @Nullable private NumberOfLeasePayments noPaymnts; /** * Field name: PAYMENT *
     *  Type element: BF_LEGEB
     *  Domain name: BAPICURR
     *  Internal type: DEC
     *  Description: Periodic Lease Payment Paid to Leasing Company/Lessor
     *  Max length: 12
     * 
* */ @ElementName("PAYMENT") @Nullable private PeriodicLeasePaymentPaidToLeasingCompanyLessor payment; /** * Field name: PURCHPRICE *
     *  Type element: BF_LKAUF
     *  Domain name: BAPICURR
     *  Internal type: DEC
     *  Description: Leased asset purchase price
     *  Max length: 12
     * 
* */ @ElementName("PURCHPRICE") @Nullable private LeasedAssetPurchasePrice purchprice; /** * Field name: START_DATE *
     *  Type element: BF_LEABG
     *  Domain name: DATUM
     *  Internal type: DATS
     *  Description: Lease start date
     *  Max length: 8
     * 
* */ @ElementName("START_DATE") @Nullable private LocalDate startDate; /** * Field name: TEXT *
     *  Type element: BF_LETXT
     *  Domain name: TEXT50
     *  Internal type: CHAR
     *  Description: Leasing data text
     *  Max length: 50
     * 
* */ @ElementName("TEXT") @Nullable private String text; /** * Field name: TYPE *
     *  Type element: BF_LEART
     *  Domain name: BF_LEASART
     *  Internal type: CHAR
     *  Description: Leasing type
     *  Max length: 2
     * 
* */ @ElementName("TYPE") @Nullable private LeasingType type; /** * Field name: VALUE *
     *  Type element: BAPI1022_LBARW
     *  Domain name: BAPICURR
     *  Internal type: DEC
     *  Description: Present value of lease
     *  Max length: 12
     * 
* */ @ElementName("VALUE") @Nullable private PresentValueOfLease value; public void validate() throws IllegalArgumentException { if ((agrmntNo!= null)&&(agrmntNo.length()> 15)) { throw new IllegalArgumentException("Bapi method parameter \"agrmntNo\" contains an invalid structure. Structure attribute \"AGRMNT_NO\" / Function parameter \"agrmntNo\" 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