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

com.sap.cloud.sdk.s4hana.datamodel.bapi.structures.FixedAssetOrigin 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.AccountNumberOfVendor;
import com.sap.cloud.sdk.s4hana.datamodel.bapi.types.AssetSCountryOfOrigin;
import com.sap.cloud.sdk.s4hana.datamodel.bapi.types.AssetTypeName;
import com.sap.cloud.sdk.s4hana.datamodel.bapi.types.CompanyIdOfTradingPartner;
import com.sap.cloud.sdk.s4hana.datamodel.bapi.types.CountryKeyInIsoCode;
import com.sap.cloud.sdk.s4hana.datamodel.bapi.types.CurrencyKey;
import com.sap.cloud.sdk.s4hana.datamodel.bapi.types.InHouseProductionPercentage;
import com.sap.cloud.sdk.s4hana.datamodel.bapi.types.IsoCodeCurrency;
import com.sap.cloud.sdk.s4hana.datamodel.bapi.types.OriginalAcquisitionValue;
import com.sap.cloud.sdk.s4hana.datamodel.bapi.types.OriginalAssetThatWasTransferred;
import com.sap.cloud.sdk.s4hana.datamodel.bapi.types.OriginalAssetThatWasTransferred4;
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 009 - Origin
 * 
 *  Structure: BAPI1022_FEGLG009
 * 
* */ @Builder @Data public class FixedAssetOrigin { /** * Field name: COUNTRY *
     *  Type element: BF_AM_LAND1
     *  Domain name: LAND1
     *  Internal type: CHAR
     *  Description: Asset's country of origin
     *  Max length: 3
     * 
* */ @ElementName("COUNTRY") @Nullable private AssetSCountryOfOrigin country; /** * Field name: COUNTRY_ISO *
     *  Type element: LAND1_ISO
     *  Domain name: INTCA
     *  Internal type: CHAR
     *  Description: Country key in ISO code
     *  Max length: 2
     * 
* */ @ElementName("COUNTRY_ISO") @Nullable private CountryKeyInIsoCode countryIso; /** * 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: INHOUSE_PROD_PERCENTAGE *
     *  Type element: BF_ANTEI
     *  Domain name: BF_PRZ32
     *  Internal type: DEC
     *  Description: In-house production percentage
     *  Max length: 3
     * 
* */ @ElementName("INHOUSE_PROD_PERCENTAGE") @Nullable private InHouseProductionPercentage inhouseProdPercentage; /** * Field name: MANUFACTURER *
     *  Type element: BF_HERST
     *  Domain name: TEXT30
     *  Internal type: CHAR
     *  Description: Manufacturer of asset
     *  Max length: 30
     * 
* */ @ElementName("MANUFACTURER") @Nullable private String manufacturer; /** * Field name: ORIG_ACQ_DATE *
     *  Type element: BF_AIBDT
     *  Domain name: DATUM
     *  Internal type: DATS
     *  Description: Original acquisition date of AuC/ transferred asset
     *  Max length: 8
     * 
* */ @ElementName("ORIG_ACQ_DATE") @Nullable private LocalDate origAcqDate; /** * Field name: ORIG_ACQ_YR *
     *  Type element: BF_URJHR
     *  Domain name: GJAHR
     *  Internal type: NUMC
     *  Description: Fiscal year of original acquisition
     *  Max length: 4
     * 
* */ @ElementName("ORIG_ACQ_YR") @Nullable private Year origAcqYr; /** * Field name: ORIG_ASSET *
     *  Type element: BF_AIBN1
     *  Domain name: BF_ANLN1
     *  Internal type: CHAR
     *  Description: Original asset that was transferred
     *  Max length: 12
     * 
* */ @ElementName("ORIG_ASSET") @Nullable private OriginalAssetThatWasTransferred origAsset; /** * Field name: ORIG_ASSET_SUBNO *
     *  Type element: BF_AIBN2
     *  Domain name: BF_ANLN2
     *  Internal type: CHAR
     *  Description: Original asset that was transferred
     *  Max length: 4
     * 
* */ @ElementName("ORIG_ASSET_SUBNO") @Nullable private OriginalAssetThatWasTransferred4 origAssetSubno; /** * Field name: ORIG_VALUE *
     *  Type element: BF_URWRT
     *  Domain name: BAPICURR
     *  Internal type: DEC
     *  Description: Original acquisition value
     *  Max length: 12
     * 
* */ @ElementName("ORIG_VALUE") @Nullable private OriginalAcquisitionValue origValue; /** * Field name: PURCH_NEW *
     *  Type element: XNEU_AM
     *  Domain name: XFELD
     *  Internal type: CHAR
     *  Description: Indicator: Asset purchased new
     *  Max length: 1
     * 
* */ @ElementName("PURCH_NEW") @Nullable private ErpBoolean purchNew; /** * Field name: TRADE_ID *
     *  Type element: BF_RASSC
     *  Domain name: RCOMP
     *  Internal type: CHAR
     *  Description: Company ID of trading partner
     *  Max length: 6
     * 
* */ @ElementName("TRADE_ID") @Nullable private CompanyIdOfTradingPartner tradeId; /** * Field name: TYPE_NAME *
     *  Type element: BF_TYPBZ_ANLA
     *  Domain name: BF_TYPBZ_ANLA
     *  Internal type: CHAR
     *  Description: Asset type name
     *  Max length: 15
     * 
* */ @ElementName("TYPE_NAME") @Nullable private AssetTypeName typeName; /** * Field name: VENDOR *
     *  Type element: BF_LIEFE
     *  Domain name: TEXT30
     *  Internal type: CHAR
     *  Description: Name of asset supplier
     *  Max length: 30
     * 
* */ @ElementName("VENDOR") @Nullable private String vendor; /** * Field name: VENDOR_NO *
     *  Type element: BF_AM_LIFNR
     *  Domain name: LIFNR
     *  Internal type: CHAR
     *  Description: Account number of vendor (other key word)
     *  Max length: 10
     * 
* */ @ElementName("VENDOR_NO") @Nullable private AccountNumberOfVendor vendorNo; public void validate() throws IllegalArgumentException { if ((manufacturer!= null)&&(manufacturer.length()> 30)) { throw new IllegalArgumentException("Bapi method parameter \"manufacturer\" contains an invalid structure. Structure attribute \"MANUFACTURER\" / Function parameter \"manufacturer\" must have at most 30 characters. The given value is too long."); } if ((vendor!= null)&&(vendor.length()> 30)) { throw new IllegalArgumentException("Bapi method parameter \"vendor\" contains an invalid structure. Structure attribute \"VENDOR\" / Function parameter \"vendor\" must have at most 30 characters. The given value is too long."); } } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy