
com.sap.cloud.sdk.s4hana.datamodel.bapi.structures.PostingInAccountingPartnerBillingDoc 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 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: 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 ((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