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

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

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 javax.annotation.Nullable;

import com.sap.cloud.sdk.result.ElementName;
import com.sap.cloud.sdk.s4hana.datamodel.bapi.types.AccountNumberOfBankAccountAtPostOffice;
import com.sap.cloud.sdk.s4hana.datamodel.bapi.types.BankAccountNumber;
import com.sap.cloud.sdk.s4hana.datamodel.bapi.types.BankControlKey;
import com.sap.cloud.sdk.s4hana.datamodel.bapi.types.BankCountryKey;
import com.sap.cloud.sdk.s4hana.datamodel.bapi.types.BankCountryKeyInIsoCode;
import com.sap.cloud.sdk.s4hana.datamodel.bapi.types.BankNumber;
import com.sap.cloud.sdk.s4hana.datamodel.bapi.types.CountryKey;
import com.sap.cloud.sdk.s4hana.datamodel.bapi.types.CountryKeyInIsoCode;
import com.sap.cloud.sdk.s4hana.datamodel.bapi.types.Iban;
import com.sap.cloud.sdk.s4hana.datamodel.bapi.types.InstructionKeyForDataMediumExchange;
import com.sap.cloud.sdk.s4hana.datamodel.bapi.types.Name1;
import com.sap.cloud.sdk.s4hana.datamodel.bapi.types.Name2;
import com.sap.cloud.sdk.s4hana.datamodel.bapi.types.Name3;
import com.sap.cloud.sdk.s4hana.datamodel.bapi.types.Name4;
import com.sap.cloud.sdk.s4hana.datamodel.bapi.types.PoBox;
import com.sap.cloud.sdk.s4hana.datamodel.bapi.types.PoBoxPostalCode;
import com.sap.cloud.sdk.s4hana.datamodel.bapi.types.PostalCode;
import com.sap.cloud.sdk.s4hana.datamodel.bapi.types.Region;
import com.sap.cloud.sdk.s4hana.datamodel.bapi.types.ReportKeyForDataMediumExchange;
import com.sap.cloud.sdk.s4hana.datamodel.bapi.types.SwiftBicForInternationalPayments;
import com.sap.cloud.sdk.s4hana.datamodel.bapi.types.TaxNumber1;
import com.sap.cloud.sdk.s4hana.datamodel.bapi.types.TaxNumber2;
import com.sap.cloud.sdk.s4hana.datamodel.bapi.types.TwoCharacterSapLanguageCode;
import com.sap.cloud.sdk.s4hana.serialization.ErpBoolean;

import lombok.Builder;
import lombok.Data;

/**
 * Posting in accounting: Partner billing doc (load receivable)
 * 
 *  Structure: BAPIACPA09
 * 
* */ @Builder @Data public class PostingInAccountingPartnerBillingDoc { /** * Field name: BANK_ACCT *
     *  Type element: BANKN
     *  Domain name: BANKN
     *  Internal type: CHAR
     *  Description: Bank account number
     *  Max length: 18
     * 
* */ @ElementName("BANK_ACCT") @Nullable private BankAccountNumber bankAcct; /** * Field name: BANK_CTRY *
     *  Type element: BANKS
     *  Domain name: LAND1
     *  Internal type: CHAR
     *  Description: Bank Country Key
     *  Max length: 3
     * 
* */ @ElementName("BANK_CTRY") @Nullable private BankCountryKey bankCtry; /** * Field name: BANK_CTRY_ISO *
     *  Type element: BANKS_ISO
     *  Domain name: INTCA
     *  Internal type: CHAR
     *  Description: Bank country key in ISO code
     *  Max length: 2
     * 
* */ @ElementName("BANK_CTRY_ISO") @Nullable private BankCountryKeyInIsoCode bankCtryIso; /** * Field name: BANK_NO *
     *  Type element: BANKL
     *  Domain name: BANKL
     *  Internal type: CHAR
     *  Description: Bank number
     *  Max length: 15
     * 
* */ @ElementName("BANK_NO") @Nullable private BankNumber bankNo; /** * Field name: CITY *
     *  Type element: ORT01_GP
     *  Domain name: TEXT35
     *  Internal type: CHAR
     *  Description: City
     *  Max length: 35
     * 
* */ @ElementName("CITY") @Nullable private String city; /** * Field name: COUNTRY *
     *  Type element: LAND1_GP
     *  Domain name: LAND1
     *  Internal type: CHAR
     *  Description: Country Key
     *  Max length: 3
     * 
* */ @ElementName("COUNTRY") @Nullable private CountryKey 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: CTRL_KEY *
     *  Type element: BKONT
     *  Domain name: BKONT
     *  Internal type: CHAR
     *  Description: Bank Control Key
     *  Max length: 2
     * 
* */ @ElementName("CTRL_KEY") @Nullable private BankControlKey ctrlKey; /** * Field name: DME_IND *
     *  Type element: DTAMS
     *  Domain name: DTAMS
     *  Internal type: CHAR
     *  Description: Report key for data medium exchange
     *  Max length: 1
     * 
* */ @ElementName("DME_IND") @Nullable private ReportKeyForDataMediumExchange dmeInd; /** * Field name: EQUAL_TAX *
     *  Type element: ACPI_STKZA
     *  Domain name: CHAR1
     *  Internal type: CHAR
     *  Description: Indicator: Business partner subject to equalization tax ?
     *  Max length: 1
     * 
* */ @ElementName("EQUAL_TAX") @Nullable private String equalTax; /** * Field name: IBAN *
     *  Type element: IBAN
     *  Domain name: IBAN
     *  Internal type: CHAR
     *  Description: IBAN (International Bank Account Number)
     *  Max length: 34
     * 
* */ @ElementName("IBAN") @Nullable private Iban iban; /** * Field name: INSTR_KEY *
     *  Type element: DTAWS
     *  Domain name: DTAWS
     *  Internal type: CHAR
     *  Description: Instruction key for data medium exchange
     *  Max length: 2
     * 
* */ @ElementName("INSTR_KEY") @Nullable private InstructionKeyForDataMediumExchange instrKey; /** * Field name: LANGU_ISO *
     *  Type element: LAISO
     *  Domain name: LAISO
     *  Internal type: CHAR
     *  Description: 2-Character SAP Language Code
     *  Max length: 2
     * 
* */ @ElementName("LANGU_ISO") @Nullable private TwoCharacterSapLanguageCode languIso; /** * Field name: NAME *
     *  Type element: NAME1_GP
     *  Domain name: NAME
     *  Internal type: CHAR
     *  Description: Name 1
     *  Max length: 35
     * 
* */ @ElementName("NAME") @Nullable private Name1 name; /** * Field name: NAME_2 *
     *  Type element: NAME2_GP
     *  Domain name: NAME
     *  Internal type: CHAR
     *  Description: Name 2
     *  Max length: 35
     * 
* */ @ElementName("NAME_2") @Nullable private Name2 name2; /** * Field name: NAME_3 *
     *  Type element: NAME3_GP
     *  Domain name: NAME
     *  Internal type: CHAR
     *  Description: Name 3
     *  Max length: 35
     * 
* */ @ElementName("NAME_3") @Nullable private Name3 name3; /** * Field name: NAME_4 *
     *  Type element: NAME4_GP
     *  Domain name: NAME
     *  Internal type: CHAR
     *  Description: Name 4
     *  Max length: 35
     * 
* */ @ElementName("NAME_4") @Nullable private Name4 name4; /** * Field name: POBK_CURAC *
     *  Type element: PSKTO
     *  Domain name: PSKTO
     *  Internal type: CHAR
     *  Description: Account Number of Bank Account At Post Office
     *  Max length: 16
     * 
* */ @ElementName("POBK_CURAC") @Nullable private AccountNumberOfBankAccountAtPostOffice pobkCurac; /** * Field name: POBX_PCD *
     *  Type element: PSTL2
     *  Domain name: PSTLZ
     *  Internal type: CHAR
     *  Description: P.O. Box Postal Code
     *  Max length: 10
     * 
* */ @ElementName("POBX_PCD") @Nullable private PoBoxPostalCode pobxPcd; /** * Field name: POSTL_CODE *
     *  Type element: PSTLZ
     *  Domain name: PSTLZ
     *  Internal type: CHAR
     *  Description: Postal Code
     *  Max length: 10
     * 
* */ @ElementName("POSTL_CODE") @Nullable private PostalCode postlCode; /** * Field name: PO_BOX *
     *  Type element: PFACH
     *  Domain name: PFACH
     *  Internal type: CHAR
     *  Description: PO Box
     *  Max length: 10
     * 
* */ @ElementName("PO_BOX") @Nullable private PoBox poBox; /** * Field name: REGION *
     *  Type element: REGIO
     *  Domain name: REGIO
     *  Internal type: CHAR
     *  Description: Region (State, Province, County)
     *  Max length: 3
     * 
* */ @ElementName("REGION") @Nullable private Region region; /** * Field name: STREET *
     *  Type element: STRAS_GP
     *  Domain name: TEXT35
     *  Internal type: CHAR
     *  Description: Street and House Number
     *  Max length: 35
     * 
* */ @ElementName("STREET") @Nullable private String street; /** * Field name: SWIFT_CODE *
     *  Type element: SWIFT
     *  Domain name: SWIFT
     *  Internal type: CHAR
     *  Description: SWIFT/BIC for International Payments
     *  Max length: 11
     * 
* */ @ElementName("SWIFT_CODE") @Nullable private SwiftBicForInternationalPayments swiftCode; /** * Field name: TAX *
     *  Type element: STKZU
     *  Domain name: XFELD
     *  Internal type: CHAR
     *  Description: Liable for VAT
     *  Max length: 1
     * 
* */ @ElementName("TAX") @Nullable private ErpBoolean tax; /** * Field name: TAX_NO_1 *
     *  Type element: STCD1
     *  Domain name: STCD1
     *  Internal type: CHAR
     *  Description: Tax Number 1
     *  Max length: 16
     * 
* */ @ElementName("TAX_NO_1") @Nullable private TaxNumber1 taxNo1; /** * Field name: TAX_NO_2 *
     *  Type element: STCD2
     *  Domain name: STCD2
     *  Internal type: CHAR
     *  Description: Tax Number 2
     *  Max length: 11
     * 
* */ @ElementName("TAX_NO_2") @Nullable private TaxNumber2 taxNo2; /** * Field name: TAX_NO_3 *
     *  Type element: STCD3
     *  Domain name: CHAR18
     *  Internal type: CHAR
     *  Description: Tax Number 3
     *  Max length: 18
     * 
* */ @ElementName("TAX_NO_3") @Nullable private String taxNo3; /** * Field name: TAX_NO_4 *
     *  Type element: STCD4
     *  Domain name: CHAR18
     *  Internal type: CHAR
     *  Description: Tax Number 4
     *  Max length: 18
     * 
* */ @ElementName("TAX_NO_4") @Nullable private String taxNo4; /** * Field name: TAX_NO_5 *
     *  Type element: STCD5
     *  Domain name: CHAR60
     *  Internal type: CHAR
     *  Description: Tax Number 5
     *  Max length: 60
     * 
* */ @ElementName("TAX_NO_5") @Nullable private String taxNo5; /** * Field name: TITLE *
     *  Type element: ANRED
     *  Domain name: TEXT15
     *  Internal type: CHAR
     *  Description: Title
     *  Max length: 15
     * 
* */ @ElementName("TITLE") @Nullable private String title; public void validate() throws IllegalArgumentException { if ((city!= null)&&(city.length()> 35)) { throw new IllegalArgumentException("Bapi method parameter \"city\" contains an invalid structure. Structure attribute \"CITY\" / Function parameter \"city\" must have at most 35 characters. The given value is too long."); } if ((equalTax!= null)&&(equalTax.length()> 1)) { throw new IllegalArgumentException("Bapi method parameter \"equalTax\" contains an invalid structure. Structure attribute \"EQUAL_TAX\" / Function parameter \"equalTax\" must have at most 1 characters. The given value is too long."); } if ((street!= null)&&(street.length()> 35)) { throw new IllegalArgumentException("Bapi method parameter \"street\" contains an invalid structure. Structure attribute \"STREET\" / Function parameter \"street\" must have at most 35 characters. The given value is too long."); } if ((taxNo3 != null)&&(taxNo3 .length()> 18)) { throw new IllegalArgumentException("Bapi method parameter \"taxNo3\" contains an invalid structure. Structure attribute \"TAX_NO_3\" / Function parameter \"taxNo3\" must have at most 18 characters. The given value is too long."); } if ((taxNo4 != null)&&(taxNo4 .length()> 18)) { throw new IllegalArgumentException("Bapi method parameter \"taxNo4\" contains an invalid structure. Structure attribute \"TAX_NO_4\" / Function parameter \"taxNo4\" must have at most 18 characters. The given value is too long."); } if ((taxNo5 != null)&&(taxNo5 .length()> 60)) { throw new IllegalArgumentException("Bapi method parameter \"taxNo5\" contains an invalid structure. Structure attribute \"TAX_NO_5\" / Function parameter \"taxNo5\" must have at most 60 characters. The given value is too long."); } if ((title!= null)&&(title.length()> 15)) { throw new IllegalArgumentException("Bapi method parameter \"title\" contains an invalid structure. Structure attribute \"TITLE\" / Function parameter \"title\" must have at most 15 characters. The given value is too long."); } } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy