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

com.sap.cloud.sdk.s4hana.datamodel.bapi.structures.Header 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.AccountingDocumentNumber;
import com.sap.cloud.sdk.s4hana.datamodel.bapi.types.AccountingPrinciple;
import com.sap.cloud.sdk.s4hana.datamodel.bapi.types.BillingCategory;
import com.sap.cloud.sdk.s4hana.datamodel.bapi.types.CancelObjectKey;
import com.sap.cloud.sdk.s4hana.datamodel.bapi.types.CompanyCode;
import com.sap.cloud.sdk.s4hana.datamodel.bapi.types.ComponentInAccInterface;
import com.sap.cloud.sdk.s4hana.datamodel.bapi.types.DocumentStatus;
import com.sap.cloud.sdk.s4hana.datamodel.bapi.types.DocumentType;
import com.sap.cloud.sdk.s4hana.datamodel.bapi.types.EcsEnvironment;
import com.sap.cloud.sdk.s4hana.datamodel.bapi.types.FiscalPeriod;
import com.sap.cloud.sdk.s4hana.datamodel.bapi.types.InvoiceRefObjectKey;
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.ReferenceDocumentNumber;
import com.sap.cloud.sdk.s4hana.datamodel.bapi.types.ReferenceDocumentNumber35;
import com.sap.cloud.sdk.s4hana.datamodel.bapi.types.ReferenceTransaction;
import com.sap.cloud.sdk.s4hana.datamodel.bapi.types.UserName;
import com.sap.cloud.sdk.s4hana.serialization.ErpBoolean;
import com.sap.cloud.sdk.s4hana.types.Year;

import lombok.Builder;
import lombok.Data;

/**
 * Header
 * 
 *  Structure: BAPIACHE09
 * 
* */ @Builder @Data public class Header { /** * 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: AC_DOC_NO *
     *  Type element: BELNR_D
     *  Domain name: BELNR
     *  Internal type: CHAR
     *  Description: Accounting Document Number
     *  Max length: 10
     * 
* */ @ElementName("AC_DOC_NO") @Nullable private AccountingDocumentNumber acDocNo; /** * Field name: BILL_CATEGORY *
     *  Type element: FKTYP
     *  Domain name: FKTYP
     *  Internal type: CHAR
     *  Description: Billing Category
     *  Max length: 1
     * 
* */ @ElementName("BILL_CATEGORY") @Nullable private BillingCategory billCategory; /** * Field name: BUS_ACT *
     *  Type element: GLVOR
     *  Domain name: CHAR4
     *  Internal type: CHAR
     *  Description: Business Transaction
     *  Max length: 4
     * 
* */ @ElementName("BUS_ACT") @Nullable private String busAct; /** * Field name: COMPO_ACC *
     *  Type element: COMPO
     *  Domain name: COMPO
     *  Internal type: CHAR
     *  Description: Component in ACC Interface
     *  Max length: 4
     * 
* */ @ElementName("COMPO_ACC") @Nullable private ComponentInAccInterface compoAcc; /** * Field name: COMP_CODE *
     *  Type element: BUKRS
     *  Domain name: BUKRS
     *  Internal type: CHAR
     *  Description: Company Code
     *  Max length: 4
     * 
* */ @ElementName("COMP_CODE") @Nullable private CompanyCode compCode; /** * Field name: DOC_DATE *
     *  Type element: BLDAT
     *  Domain name: DATUM
     *  Internal type: DATS
     *  Description: Document Date in Document
     *  Max length: 8
     * 
* */ @ElementName("DOC_DATE") @Nullable private LocalDate docDate; /** * Field name: DOC_STATUS *
     *  Type element: BAPI_ACC_DOC_STATUS
     *  Domain name: ACC_STATUS
     *  Internal type: CHAR
     *  Description: Document Status
     *  Max length: 1
     * 
* */ @ElementName("DOC_STATUS") @Nullable private DocumentStatus docStatus; /** * 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: ECS_ENV *
     *  Type element: ACC_DTE_ECS_IF_TYPE
     *  Domain name: ACC_ECS_IF_TYPE
     *  Internal type: CHAR
     *  Description: ECS Environment
     *  Max length: 10
     * 
* */ @ElementName("ECS_ENV") @Nullable private EcsEnvironment ecsEnv; /** * Field name: FISC_YEAR *
     *  Type element: GJAHR
     *  Domain name: GJAHR
     *  Internal type: NUMC
     *  Description: Fiscal Year
     *  Max length: 4
     * 
* */ @ElementName("FISC_YEAR") @Nullable private Year fiscYear; /** * Field name: FIS_PERIOD *
     *  Type element: MONAT
     *  Domain name: MONAT
     *  Internal type: NUMC
     *  Description: Fiscal period
     *  Max length: 2
     * 
* */ @ElementName("FIS_PERIOD") @Nullable private FiscalPeriod fisPeriod; /** * Field name: HEADER_TXT *
     *  Type element: BKTXT
     *  Domain name: TEXT25
     *  Internal type: CHAR
     *  Description: Document Header Text
     *  Max length: 25
     * 
* */ @ElementName("HEADER_TXT") @Nullable private String headerTxt; /** * Field name: INVOICE_REC_DATE *
     *  Type element: REINDAT
     *  Domain name: DATUM
     *  Internal type: DATS
     *  Description: Invoice Receipt Date
     *  Max length: 8
     * 
* */ @ElementName("INVOICE_REC_DATE") @Nullable private LocalDate invoiceRecDate; /** * Field name: NEG_POSTNG *
     *  Type element: XNEGP
     *  Domain name: XFELD
     *  Internal type: CHAR
     *  Description: Indicator: Negative posting
     *  Max length: 1
     * 
* */ @ElementName("NEG_POSTNG") @Nullable private ErpBoolean negPostng; /** * 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_KEY_INV *
     *  Type element: AWKEY_REB
     *  Domain name: AWKEY
     *  Internal type: CHAR
     *  Description: Invoice Ref.: Object Key (AWREF_REB and AWORG_REB)
     *  Max length: 20
     * 
* */ @ElementName("OBJ_KEY_INV") @Nullable private InvoiceRefObjectKey objKeyInv; /** * Field name: OBJ_KEY_R *
     *  Type element: AWKEY_REV
     *  Domain name: AWKEY
     *  Internal type: CHAR
     *  Description: Cancel: object key (AWREF_REV and AWORG_REV)
     *  Max length: 20
     * 
* */ @ElementName("OBJ_KEY_R") @Nullable private CancelObjectKey objKeyR; /** * 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: PARTIAL_REV *
     *  Type element: BAPI_PART_REV
     *  Domain name: XFELD
     *  Internal type: CHAR
     *  Description: Indicator: Partial Reversal
     *  Max length: 1
     * 
* */ @ElementName("PARTIAL_REV") @Nullable private ErpBoolean partialRev; /** * Field name: PSTNG_DATE *
     *  Type element: BUDAT
     *  Domain name: DATUM
     *  Internal type: DATS
     *  Description: Posting Date in the Document
     *  Max length: 8
     * 
* */ @ElementName("PSTNG_DATE") @Nullable private LocalDate pstngDate; /** * Field name: REASON_REV *
     *  Type element: ACPI_STGRD
     *  Domain name: CHAR2
     *  Internal type: CHAR
     *  Description: Reason for reversal
     *  Max length: 2
     * 
* */ @ElementName("REASON_REV") @Nullable private String reasonRev; /** * Field name: REF_DOC_NO *
     *  Type element: XBLNR
     *  Domain name: XBLNR
     *  Internal type: CHAR
     *  Description: Reference Document Number
     *  Max length: 16
     * 
* */ @ElementName("REF_DOC_NO") @Nullable private ReferenceDocumentNumber refDocNo; /** * Field name: REF_DOC_NO_LONG *
     *  Type element: XBLNR_LONG
     *  Domain name: XBLNR_LONG
     *  Internal type: CHAR
     *  Description: Reference Document Number (for Dependencies see Long Text)
     *  Max length: 35
     * 
* */ @ElementName("REF_DOC_NO_LONG") @Nullable private ReferenceDocumentNumber35 refDocNoLong; /** * Field name: TRANS_DATE *
     *  Type element: WWERT_D
     *  Domain name: DATUM
     *  Internal type: DATS
     *  Description: Translation Date
     *  Max length: 8
     * 
* */ @ElementName("TRANS_DATE") @Nullable private LocalDate transDate; /** * 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: VATDATE *
     *  Type element: VATDATE
     *  Domain name: DATUM
     *  Internal type: DATS
     *  Description: Tax Reporting Date
     *  Max length: 8
     * 
* */ @ElementName("VATDATE") @Nullable private LocalDate vatdate; public void validate() throws IllegalArgumentException { if ((busAct!= null)&&(busAct.length()> 4)) { throw new IllegalArgumentException("Bapi method parameter \"busAct\" contains an invalid structure. Structure attribute \"BUS_ACT\" / Function parameter \"busAct\" must have at most 4 characters. The given value is too long."); } if ((headerTxt!= null)&&(headerTxt.length()> 25)) { throw new IllegalArgumentException("Bapi method parameter \"headerTxt\" contains an invalid structure. Structure attribute \"HEADER_TXT\" / Function parameter \"headerTxt\" must have at most 25 characters. The given value is too long."); } if ((reasonRev!= null)&&(reasonRev.length()> 2)) { throw new IllegalArgumentException("Bapi method parameter \"reasonRev\" contains an invalid structure. Structure attribute \"REASON_REV\" / Function parameter \"reasonRev\" must have at most 2 characters. The given value is too long."); } } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy