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

com.sap.cloud.sdk.s4hana.datamodel.bapi.structures.FixedAssetTimeDependentData 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.ActivityType;
import com.sap.cloud.sdk.s4hana.datamodel.bapi.types.AssetLocation;
import com.sap.cloud.sdk.s4hana.datamodel.bapi.types.BudgetPeriod;
import com.sap.cloud.sdk.s4hana.datamodel.bapi.types.BudgetPeriodForApcAccountAssignments;
import com.sap.cloud.sdk.s4hana.datamodel.bapi.types.BusinessArea;
import com.sap.cloud.sdk.s4hana.datamodel.bapi.types.CostCenter;
import com.sap.cloud.sdk.s4hana.datamodel.bapi.types.CostCenterResponsibleForAsset;
import com.sap.cloud.sdk.s4hana.datamodel.bapi.types.FunctionalArea;
import com.sap.cloud.sdk.s4hana.datamodel.bapi.types.FunctionalArea16;
import com.sap.cloud.sdk.s4hana.datamodel.bapi.types.FunctionalAreaForApcAccountAssignments;
import com.sap.cloud.sdk.s4hana.datamodel.bapi.types.Fund;
import com.sap.cloud.sdk.s4hana.datamodel.bapi.types.FundForApcAccountAssignments;
import com.sap.cloud.sdk.s4hana.datamodel.bapi.types.FundsCenter;
import com.sap.cloud.sdk.s4hana.datamodel.bapi.types.FundsCenterForApcAccountAssignments;
import com.sap.cloud.sdk.s4hana.datamodel.bapi.types.Grant;
import com.sap.cloud.sdk.s4hana.datamodel.bapi.types.GrantForApcAccountAssignments;
import com.sap.cloud.sdk.s4hana.datamodel.bapi.types.InternalKeyForRealEstateObject;
import com.sap.cloud.sdk.s4hana.datamodel.bapi.types.LicensePlateNoOfVehicle;
import com.sap.cloud.sdk.s4hana.datamodel.bapi.types.MaintenanceOrder;
import com.sap.cloud.sdk.s4hana.datamodel.bapi.types.MultipleShiftFactorForMultipleShiftOperation;
import com.sap.cloud.sdk.s4hana.datamodel.bapi.types.OrderNumber;
import com.sap.cloud.sdk.s4hana.datamodel.bapi.types.PersonnelNumber;
import com.sap.cloud.sdk.s4hana.datamodel.bapi.types.Plant;
import com.sap.cloud.sdk.s4hana.datamodel.bapi.types.ProfitCenter;
import com.sap.cloud.sdk.s4hana.datamodel.bapi.types.SegmentForSegmentalReporting;
import com.sap.cloud.sdk.s4hana.datamodel.bapi.types.TaxJurisdiction;
import com.sap.cloud.sdk.s4hana.datamodel.bapi.types.WbsElementExternalKey;
import com.sap.cloud.sdk.s4hana.serialization.ErpBoolean;

import lombok.Builder;
import lombok.Data;

/**
 * Logical field group 003 - Time-dependent data
 * 
 *  Structure: BAPI1022_FEGLG003
 * 
* */ @Builder @Data public class FixedAssetTimeDependentData { /** * Field name: ACTTYPE *
     *  Type element: LSTAR
     *  Domain name: LSTAR
     *  Internal type: CHAR
     *  Description: Activity Type
     *  Max length: 6
     * 
* */ @ElementName("ACTTYPE") @Nullable private ActivityType acttype; /** * Field name: BUDGET_PERIOD *
     *  Type element: FM_BUDGET_PERIOD
     *  Domain name: FM_BUDGET_PERIOD
     *  Internal type: CHAR
     *  Description: Budget Period
     *  Max length: 10
     * 
* */ @ElementName("BUDGET_PERIOD") @Nullable private BudgetPeriod budgetPeriod; /** * Field name: BUDGET_PERIOD_APC *
     *  Type element: FM_BUDGET_PERIOD2
     *  Domain name: FM_BUDGET_PERIOD
     *  Internal type: CHAR
     *  Description: Budget Period for APC Account Assignments
     *  Max length: 10
     * 
* */ @ElementName("BUDGET_PERIOD_APC") @Nullable private BudgetPeriodForApcAccountAssignments budgetPeriodApc; /** * Field name: BUS_AREA *
     *  Type element: GSBER
     *  Domain name: GSBER
     *  Internal type: CHAR
     *  Description: Business Area
     *  Max length: 4
     * 
* */ @ElementName("BUS_AREA") @Nullable private BusinessArea busArea; /** * Field name: COSTCENTER *
     *  Type element: KOSTL
     *  Domain name: KOSTL
     *  Internal type: CHAR
     *  Description: Cost Center
     *  Max length: 10
     * 
* */ @ElementName("COSTCENTER") @Nullable private CostCenter costcenter; /** * Field name: FROM_DATE *
     *  Type element: BF_ADATU
     *  Domain name: DATUM
     *  Internal type: DATS
     *  Description: Date for beginning of validity
     *  Max length: 8
     * 
* */ @ElementName("FROM_DATE") @Nullable private LocalDate fromDate; /** * Field name: FUNC_AREA *
     *  Type element: FKBER_SHORT
     *  Domain name: FKBER_SHORT
     *  Internal type: CHAR
     *  Description: Functional Area
     *  Max length: 4
     * 
* */ @ElementName("FUNC_AREA") @Nullable private FunctionalArea funcArea; /** * Field name: FUNC_AREA_APC *
     *  Type element: FKBER2
     *  Domain name: FKBER
     *  Internal type: CHAR
     *  Description: Functional Area for APC Account Assignments
     *  Max length: 16
     * 
* */ @ElementName("FUNC_AREA_APC") @Nullable private FunctionalAreaForApcAccountAssignments funcAreaApc; /** * Field name: FUNC_AREA_LONG *
     *  Type element: FKBER
     *  Domain name: FKBER
     *  Internal type: CHAR
     *  Description: Functional Area
     *  Max length: 16
     * 
* */ @ElementName("FUNC_AREA_LONG") @Nullable private FunctionalArea16 funcAreaLong; /** * Field name: FUND *
     *  Type element: BP_GEBER
     *  Domain name: BP_GEBER
     *  Internal type: CHAR
     *  Description: Fund
     *  Max length: 10
     * 
* */ @ElementName("FUND") @Nullable private Fund fund; /** * Field name: FUNDS_CTR *
     *  Type element: FISTL
     *  Domain name: FISTL
     *  Internal type: CHAR
     *  Description: Funds Center
     *  Max length: 16
     * 
* */ @ElementName("FUNDS_CTR") @Nullable private FundsCenter fundsCtr; /** * Field name: FUNDS_CTR_APC *
     *  Type element: FISTL2
     *  Domain name: FISTL
     *  Internal type: CHAR
     *  Description: Funds Center for APC Account Assignments
     *  Max length: 16
     * 
* */ @ElementName("FUNDS_CTR_APC") @Nullable private FundsCenterForApcAccountAssignments fundsCtrApc; /** * Field name: FUND_APC *
     *  Type element: BP_GEBER2
     *  Domain name: BP_GEBER
     *  Internal type: CHAR
     *  Description: Fund for APC Account Assignments
     *  Max length: 10
     * 
* */ @ElementName("FUND_APC") @Nullable private FundForApcAccountAssignments fundApc; /** * Field name: GRANT_NBR *
     *  Type element: GM_GRANT_NBR
     *  Domain name: GM_GRANT_NBR
     *  Internal type: CHAR
     *  Description: Grant
     *  Max length: 20
     * 
* */ @ElementName("GRANT_NBR") @Nullable private Grant grantNbr; /** * Field name: GRANT_NBR_APC *
     *  Type element: GM_GRANT_NBR2
     *  Domain name: GM_GRANT_NBR
     *  Internal type: CHAR
     *  Description: Grant for APC Account Assignments
     *  Max length: 20
     * 
* */ @ElementName("GRANT_NBR_APC") @Nullable private GrantForApcAccountAssignments grantNbrApc; /** * Field name: INTERN_ORD *
     *  Type element: AUFNR
     *  Domain name: AUFNR
     *  Internal type: CHAR
     *  Description: Order Number
     *  Max length: 12
     * 
* */ @ElementName("INTERN_ORD") @Nullable private OrderNumber internOrd; /** * Field name: LOCATION *
     *  Type element: STORT
     *  Domain name: AP_STAND
     *  Internal type: CHAR
     *  Description: Asset location
     *  Max length: 10
     * 
* */ @ElementName("LOCATION") @Nullable private AssetLocation location; /** * Field name: MAINT_ORD *
     *  Type element: IAUFN
     *  Domain name: AUFNR
     *  Internal type: CHAR
     *  Description: Maintenance Order
     *  Max length: 12
     * 
* */ @ElementName("MAINT_ORD") @Nullable private MaintenanceOrder maintOrd; /** * Field name: PERSON_NO *
     *  Type element: PERNR_D
     *  Domain name: PERNR
     *  Internal type: NUMC
     *  Description: Personnel Number
     *  Max length: 8
     * 
* */ @ElementName("PERSON_NO") @Nullable private PersonnelNumber personNo; /** * Field name: PLANT *
     *  Type element: WERKS_D
     *  Domain name: WERKS
     *  Internal type: CHAR
     *  Description: Plant
     *  Max length: 4
     * 
* */ @ElementName("PLANT") @Nullable private Plant plant; /** * Field name: PLATE_NO *
     *  Type element: BF_AM_KFZKZ
     *  Domain name: BF_AM_KFZKZ
     *  Internal type: CHAR
     *  Description: License Plate No. of Vehicle
     *  Max length: 15
     * 
* */ @ElementName("PLATE_NO") @Nullable private LicensePlateNoOfVehicle plateNo; /** * Field name: PROFIT_CTR *
     *  Type element: PRCTR
     *  Domain name: PRCTR
     *  Internal type: CHAR
     *  Description: Profit Center
     *  Max length: 10
     * 
* */ @ElementName("PROFIT_CTR") @Nullable private ProfitCenter profitCtr; /** * Field name: RESP_CCTR *
     *  Type element: BF_KOSTLV
     *  Domain name: KOSTL
     *  Internal type: CHAR
     *  Description: Cost center responsible for asset
     *  Max length: 10
     * 
* */ @ElementName("RESP_CCTR") @Nullable private CostCenterResponsibleForAsset respCctr; /** * Field name: RL_EST_KEY *
     *  Type element: IMKEY
     *  Domain name: IMKEY
     *  Internal type: CHAR
     *  Description: Internal Key for Real Estate Object
     *  Max length: 8
     * 
* */ @ElementName("RL_EST_KEY") @Nullable private InternalKeyForRealEstateObject rlEstKey; /** * Field name: RL_EST_KEY_EXT *
     *  Type element: BAPI1022_IMKEY_EXT
     *  Domain name: CHAR40
     *  Internal type: CHAR
     *  Description: Real Estate Object - External Key
     *  Max length: 40
     * 
* */ @ElementName("RL_EST_KEY_EXT") @Nullable private String rlEstKeyExt; /** * Field name: ROOM *
     *  Type element: BF_RAUMNR
     *  Domain name: CHAR8
     *  Internal type: CHAR
     *  Description: Room
     *  Max length: 8
     * 
* */ @ElementName("ROOM") @Nullable private String room; /** * Field name: SEGMENT *
     *  Type element: FB_SEGMENT
     *  Domain name: FB_SEGMENT
     *  Internal type: CHAR
     *  Description: Segment for Segmental Reporting
     *  Max length: 10
     * 
* */ @ElementName("SEGMENT") @Nullable private SegmentForSegmentalReporting segment; /** * Field name: SHIFT_FACT *
     *  Type element: BF_MSFAK
     *  Domain name: BF_MSFAK
     *  Internal type: DEC
     *  Description: Multiple-shift factor for multiple shift operation
     *  Max length: 2
     * 
* */ @ElementName("SHIFT_FACT") @Nullable private MultipleShiftFactorForMultipleShiftOperation shiftFact; /** * Field name: SHUTDOWN *
     *  Type element: BF_XSTIL
     *  Domain name: BF_XFELD
     *  Internal type: CHAR
     *  Description: Asset shutdown
     *  Max length: 1
     * 
* */ @ElementName("SHUTDOWN") @Nullable private ErpBoolean shutdown; /** * Field name: TAXJURCODE *
     *  Type element: TXJCD
     *  Domain name: TXJCD
     *  Internal type: CHAR
     *  Description: Tax Jurisdiction
     *  Max length: 15
     * 
* */ @ElementName("TAXJURCODE") @Nullable private TaxJurisdiction taxjurcode; /** * Field name: TO_DATE *
     *  Type element: BF_BDATU
     *  Domain name: DATUM
     *  Internal type: DATS
     *  Description: Date Validity Ends
     *  Max length: 8
     * 
* */ @ElementName("TO_DATE") @Nullable private LocalDate toDate; /** * Field name: WBS_ELEMENT_COST *
     *  Type element: BAPI1022_POSNR_EXT2
     *  Domain name: PS_POSID
     *  Internal type: CHAR
     *  Description: WBS Element - External Key
     *  Max length: 24
     * 
* */ @ElementName("WBS_ELEMENT_COST") @Nullable private WbsElementExternalKey wbsElementCost; public void validate() throws IllegalArgumentException { if ((rlEstKeyExt!= null)&&(rlEstKeyExt.length()> 40)) { throw new IllegalArgumentException("Bapi method parameter \"rlEstKeyExt\" contains an invalid structure. Structure attribute \"RL_EST_KEY_EXT\" / Function parameter \"rlEstKeyExt\" must have at most 40 characters. The given value is too long."); } if ((room!= null)&&(room.length()> 8)) { throw new IllegalArgumentException("Bapi method parameter \"room\" contains an invalid structure. Structure attribute \"ROOM\" / Function parameter \"room\" must have at most 8 characters. The given value is too long."); } } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy