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

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

/*
 * Copyright (c) 2018 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.AccountingPrinciple;
import com.sap.cloud.sdk.s4hana.datamodel.bapi.types.CoActualPostingsFastInputVariant;
import com.sap.cloud.sdk.s4hana.datamodel.bapi.types.ControllingArea;
import com.sap.cloud.sdk.s4hana.datamodel.bapi.types.DocumentNumber;
import com.sap.cloud.sdk.s4hana.datamodel.bapi.types.DocumentType;
import com.sap.cloud.sdk.s4hana.datamodel.bapi.types.IsoCurrencyCode;
import com.sap.cloud.sdk.s4hana.datamodel.bapi.types.LedgerGroup;
import com.sap.cloud.sdk.s4hana.datamodel.bapi.types.LogicalSystemOfSourceDocument;
import com.sap.cloud.sdk.s4hana.datamodel.bapi.types.ObjectKey;
import com.sap.cloud.sdk.s4hana.datamodel.bapi.types.Period;
import com.sap.cloud.sdk.s4hana.datamodel.bapi.types.ReferenceTransaction;
import com.sap.cloud.sdk.s4hana.datamodel.bapi.types.TransactionCurrency;
import com.sap.cloud.sdk.s4hana.datamodel.bapi.types.UserName;

import lombok.Builder;
import lombok.Data;

/**
 * Document header: post costs/revenues- BAPI's actual postings
 * 
 *  Structure: BAPIDOCHDRU12P
 * 
* */ @Builder @Data public class DocumentHeaderPostCostsRevenuesActualPostings { /** * Field name: ACC_PRINCIPLE *
     *  Type element: ACCOUNTING_PRINCIPLE
     *  Domain name: ACCOUNTING_PRINCIPLE
     *  Internal type: CHAR
     *  Description: Accounting Principle
     *  Max length: 4
     * 
* */ @ElementName("ACC_PRINCIPLE") @Nullable private AccountingPrinciple accPrinciple; /** * Field name: CO_AREA *
     *  Type element: KOKRS
     *  Domain name: CACCD
     *  Internal type: CHAR
     *  Description: Controlling Area
     *  Max length: 4
     * 
* */ @ElementName("CO_AREA") @Nullable private ControllingArea coArea; /** * Field name: DOCDATE *
     *  Type element: CO_BLDAT
     *  Domain name: DATUM
     *  Internal type: DATS
     *  Description: Document Date
     *  Max length: 8
     * 
* */ @ElementName("DOCDATE") @Nullable private LocalDate docdate; /** * Field name: DOC_HDR_TX *
     *  Type element: CO_BLTXT
     *  Domain name: TEXT50
     *  Internal type: CHAR
     *  Description: Document Header Text
     *  Max length: 50
     * 
* */ @ElementName("DOC_HDR_TX") @Nullable private String docHdrTx; /** * Field name: DOC_NO *
     *  Type element: CO_BELNR
     *  Domain name: CO_BELNR
     *  Internal type: CHAR
     *  Description: Document Number
     *  Max length: 10
     * 
* */ @ElementName("DOC_NO") @Nullable private DocumentNumber docNo; /** * Field name: DOC_TYPE *
     *  Type element: BLART
     *  Domain name: BLART
     *  Internal type: CHAR
     *  Description: Document type
     *  Max length: 2
     * 
* */ @ElementName("DOC_TYPE") @Nullable private DocumentType docType; /** * Field name: LEDGER_GROUP *
     *  Type element: LEDGER_GROUP
     *  Domain name: LEDGER_GROUP
     *  Internal type: CHAR
     *  Description: Ledger Group
     *  Max length: 4
     * 
* */ @ElementName("LEDGER_GROUP") @Nullable private LedgerGroup ledgerGroup; /** * Field name: OBJ_KEY *
     *  Type element: AWKEY
     *  Domain name: AWKEY
     *  Internal type: CHAR
     *  Description: Object key
     *  Max length: 20
     * 
* */ @ElementName("OBJ_KEY") @Nullable private ObjectKey objKey; /** * Field name: OBJ_SYS *
     *  Type element: AWSYS
     *  Domain name: LOGSYS
     *  Internal type: CHAR
     *  Description: Logical system of source document
     *  Max length: 10
     * 
* */ @ElementName("OBJ_SYS") @Nullable private LogicalSystemOfSourceDocument objSys; /** * Field name: OBJ_TYPE *
     *  Type element: AWTYP
     *  Domain name: AWTYP
     *  Internal type: CHAR
     *  Description: Reference Transaction
     *  Max length: 5
     * 
* */ @ElementName("OBJ_TYPE") @Nullable private ReferenceTransaction objType; /** * Field name: PERIOD *
     *  Type element: CO_PERIO
     *  Domain name: PERBL
     *  Internal type: NUMC
     *  Description: Period
     *  Max length: 3
     * 
* */ @ElementName("PERIOD") @Nullable private Period period; /** * Field name: POSTGDATE *
     *  Type element: CO_BUDAT
     *  Domain name: DATUM
     *  Internal type: DATS
     *  Description: Posting Date
     *  Max length: 8
     * 
* */ @ElementName("POSTGDATE") @Nullable private LocalDate postgdate; /** * Field name: TRANS_CURR *
     *  Type element: TWAER
     *  Domain name: WAERS
     *  Internal type: CUKY
     *  Description: Transaction Currency
     *  Max length: 5
     * 
* */ @ElementName("TRANS_CURR") @Nullable private TransactionCurrency transCurr; /** * Field name: TRANS_CURR_ISO *
     *  Type element: ISOCD
     *  Domain name: ISOCD
     *  Internal type: CHAR
     *  Description: ISO Currency Code
     *  Max length: 3
     * 
* */ @ElementName("TRANS_CURR_ISO") @Nullable private IsoCurrencyCode transCurrIso; /** * Field name: USERNAME *
     *  Type element: USNAM
     *  Domain name: XUBNAME
     *  Internal type: CHAR
     *  Description: User Name
     *  Max length: 12
     * 
* */ @ElementName("USERNAME") @Nullable private UserName username; /** * Field name: VALUEDATE *
     *  Type element: CO_WSDAT
     *  Domain name: DATUM
     *  Internal type: DATS
     *  Description: Value Date for Currency Translation
     *  Max length: 8
     * 
* */ @ElementName("VALUEDATE") @Nullable private LocalDate valuedate; /** * Field name: VARIANT *
     *  Type element: CO_VARNR
     *  Domain name: VARNR_021F
     *  Internal type: CHAR
     *  Description: CO actual postings fast input: Variant
     *  Max length: 5
     * 
* */ @ElementName("VARIANT") @Nullable private CoActualPostingsFastInputVariant variant; public void validate() throws IllegalArgumentException { if ((docHdrTx!= null)&&(docHdrTx.length()> 50)) { throw new IllegalArgumentException("Bapi method parameter \"docHdrTx\" contains an invalid structure. Structure attribute \"DOC_HDR_TX\" / Function parameter \"docHdrTx\" must have at most 50 characters. The given value is too long."); } } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy