
com.sap.cloud.sdk.s4hana.datamodel.bapi.structures.FixedAssetLeasing Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of bapi-api Show documentation
Show all versions of bapi-api Show documentation
Generated classes of the SAP S/4HANA Virtual Data Model (VDM) for BAPIs.
The newest version!
/*
* Copyright (c) 2020 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