
com.sap.cloud.sdk.s4hana.datamodel.bapi.functions.AcctngDocumentPostFunction Maven / Gradle / Ivy
/*
* Copyright (c) 2019 SAP SE or an SAP affiliate company. All rights reserved.
*/
package com.sap.cloud.sdk.s4hana.datamodel.bapi.functions;
import javax.annotation.Nonnull;
import com.sap.cloud.sdk.s4hana.connectivity.ErpConfigContext;
import com.sap.cloud.sdk.s4hana.connectivity.exception.QueryExecutionException;
import com.sap.cloud.sdk.s4hana.connectivity.rfc.BapiQuery;
import com.sap.cloud.sdk.s4hana.datamodel.bapi.structures.AccountingDocumentCheckPostingInAccountingCoPaAcctAssignmentCharacteristic;
import com.sap.cloud.sdk.s4hana.datamodel.bapi.structures.AddContractAccountsRecAndPayableDocumentLineItem;
import com.sap.cloud.sdk.s4hana.datamodel.bapi.structures.AddContractAccountsRecievableAndPayableHeaderLine;
import com.sap.cloud.sdk.s4hana.datamodel.bapi.structures.ContainerForCustomerExitParameter;
import com.sap.cloud.sdk.s4hana.datamodel.bapi.structures.CustomerItem;
import com.sap.cloud.sdk.s4hana.datamodel.bapi.structures.GlAccountItem;
import com.sap.cloud.sdk.s4hana.datamodel.bapi.structures.PaymentCardInformation;
import com.sap.cloud.sdk.s4hana.datamodel.bapi.structures.PostingInAccountingCoPaAcctAssignmentValueField;
import com.sap.cloud.sdk.s4hana.datamodel.bapi.structures.PostingInAccountingPartnerBillingDoc;
import com.sap.cloud.sdk.s4hana.datamodel.bapi.structures.RealEstateAccountAssignmentData;
import com.sap.cloud.sdk.s4hana.datamodel.bapi.structures.RefStructureForParameterExtensioninExtensionout;
import com.sap.cloud.sdk.s4hana.datamodel.bapi.structures.TaxItem;
import com.sap.cloud.sdk.s4hana.datamodel.bapi.structures.VendorItem;
import com.sap.cloud.sdk.s4hana.datamodel.bapi.structures.WithholdingTaxInformation;
/**
* Accounting: Post Document
*
* BAPI_ACC_DOCUMENT_POST
*
*
*/
public interface AcctngDocumentPostFunction {
/**
* Execute query on an ERP endpoint described by the provided ERP configuration context.
*
* This method allows specifying a custom ERP configuration context, having configurable values for
*
* - Destination name, default: {@link com.sap.cloud.sdk.s4hana.connectivity.ErpDestination#getDefaultName() ErpDestination.getDefaultName()}
* - {@link com.sap.cloud.sdk.s4hana.serialization.SapClient SapClient}
* - {@link java.util.Locale Locale}
*
* The usage of this method is recommended, in particular when applying multitenancy.
*
* @param erpConfigContext
* Configuration context for ERP query
* @return
* Explorable query result for BAPI_ACC_DOCUMENT_POST
*/
@Nonnull
AcctngDocumentPostFunctionResult execute(ErpConfigContext erpConfigContext)
throws QueryExecutionException
;
/**
* Execute query on the default ERP configuration context.
*
* This method is recommended when the application's ERP configuration context settings are unchanged from the defaults.
* @see ErpConfigContext#ErpConfigContext()
*
* @return
* Explorable query result for BAPI_ACC_DOCUMENT_POST
*/
@Nonnull
AcctngDocumentPostFunctionResult execute()
throws QueryExecutionException
;
/**
* Prepares a query object from the given query parameters.
*
* @return
* Serializable BapiQuery for BAPI_ACC_DOCUMENT_POST
*/
@Nonnull
BapiQuery toQuery();
/**
* (Optional) One-time customer
*
* @param customerCpd
* One-time customer
* @return
* self
*/
@Nonnull
AcctngDocumentPostFunction customerCpd(PostingInAccountingPartnerBillingDoc customerCpd);
/**
* (Optional) Additional contract accounts recievable and payable header line
*
* @param contractHeader
* Additional contract accounts recievable and payable header line
* @return
* self
*/
@Nonnull
AcctngDocumentPostFunction contractHeader(AddContractAccountsRecievableAndPayableHeaderLine contractHeader);
/**
* (Optional) G/L account item
*
* @param accountGl
* G/L account item
* @return
* self
*/
@Nonnull
AcctngDocumentPostFunction accountGl(Iterable accountGl);
/**
* (Optional) G/L account item
*
* @param items
* Array of GlAccountItem
* @return
* self
*/
@Nonnull
AcctngDocumentPostFunction accountGl(GlAccountItem... items);
/**
* (Optional) Customer item
*
* @param accountReceivable
* Customer item
* @return
* self
*/
@Nonnull
AcctngDocumentPostFunction accountReceivable(Iterable accountReceivable);
/**
* (Optional) Customer item
*
* @param items
* Array of CustomerItem
* @return
* self
*/
@Nonnull
AcctngDocumentPostFunction accountReceivable(CustomerItem... items);
/**
* (Optional) Vendor item
*
* @param accountPayable
* Vendor item
* @return
* self
*/
@Nonnull
AcctngDocumentPostFunction accountPayable(Iterable accountPayable);
/**
* (Optional) Vendor item
*
* @param items
* Array of VendorItem
* @return
* self
*/
@Nonnull
AcctngDocumentPostFunction accountPayable(VendorItem... items);
/**
* (Optional) Tax item
*
* @param accountTax
* Tax item
* @return
* self
*/
@Nonnull
AcctngDocumentPostFunction accountTax(Iterable accountTax);
/**
* (Optional) Tax item
*
* @param items
* Array of TaxItem
* @return
* self
*/
@Nonnull
AcctngDocumentPostFunction accountTax(TaxItem... items);
/**
* (Optional) CO-PA Account assignment characteristics
*
* @param criteria
* CO-PA Account assignment characteristics
* @return
* self
*/
@Nonnull
AcctngDocumentPostFunction criteria(Iterable criteria);
/**
* (Optional) CO-PA Account assignment characteristics
*
* @param items
* Array of AccountingDocumentCheckPostingInAccountingCoPaAcctAssignmentCharacteristic
* @return
* self
*/
@Nonnull
AcctngDocumentPostFunction criteria(AccountingDocumentCheckPostingInAccountingCoPaAcctAssignmentCharacteristic... items);
/**
* (Optional) CO-PA Account Assignment Value Fields
*
* @param valuefield
* CO-PA Account Assignment Value Fields
* @return
* self
*/
@Nonnull
AcctngDocumentPostFunction valuefield(Iterable valuefield);
/**
* (Optional) CO-PA Account Assignment Value Fields
*
* @param items
* Array of PostingInAccountingCoPaAcctAssignmentValueField
* @return
* self
*/
@Nonnull
AcctngDocumentPostFunction valuefield(PostingInAccountingCoPaAcctAssignmentValueField... items);
/**
* (Optional) Account Assignments for Real Estate
*
* @param realEstate
* Account Assignments for Real Estate
* @return
* self
*/
@Nonnull
AcctngDocumentPostFunction realEstate(Iterable realEstate);
/**
* (Optional) Account Assignments for Real Estate
*
* @param items
* Array of RealEstateAccountAssignmentData
* @return
* self
*/
@Nonnull
AcctngDocumentPostFunction realEstate(RealEstateAccountAssignmentData... items);
/**
* (Optional) Enhancement for COMD Implementation
*
* @param extension1
* Enhancement for COMD Implementation
* @return
* self
*/
@Nonnull
AcctngDocumentPostFunction extension1(Iterable extension1);
/**
* (Optional) Enhancement for COMD Implementation
*
* @param items
* Array of ContainerForCustomerExitParameter
* @return
* self
*/
@Nonnull
AcctngDocumentPostFunction extension1(ContainerForCustomerExitParameter... items);
/**
* (Optional) Enhancement for BAdI Implementation
*
* @param extension2
* Enhancement for BAdI Implementation
* @return
* self
*/
@Nonnull
AcctngDocumentPostFunction extension2(Iterable extension2);
/**
* (Optional) Enhancement for BAdI Implementation
*
* @param items
* Array of RefStructureForParameterExtensioninExtensionout
* @return
* self
*/
@Nonnull
AcctngDocumentPostFunction extension2(RefStructureForParameterExtensioninExtensionout... items);
/**
* (Optional) Payment card information
*
* @param paymentCard
* Payment card information
* @return
* self
*/
@Nonnull
AcctngDocumentPostFunction paymentCard(Iterable paymentCard);
/**
* (Optional) Payment card information
*
* @param items
* Array of PaymentCardInformation
* @return
* self
*/
@Nonnull
AcctngDocumentPostFunction paymentCard(PaymentCardInformation... items);
/**
* (Optional) Additional contract accounts recieviable and payable document line item
*
* @param contractItem
* Additional contract accounts recieviable and payable document line item
* @return
* self
*/
@Nonnull
AcctngDocumentPostFunction contractItem(Iterable contractItem);
/**
* (Optional) Additional contract accounts recieviable and payable document line item
*
* @param items
* Array of AddContractAccountsRecAndPayableDocumentLineItem
* @return
* self
*/
@Nonnull
AcctngDocumentPostFunction contractItem(AddContractAccountsRecAndPayableDocumentLineItem... items);
/**
* (Optional) Withholding Tax
*
* @param withholdingTax
* Withholding Tax
* @return
* self
*/
@Nonnull
AcctngDocumentPostFunction withholdingTax(Iterable withholdingTax);
/**
* (Optional) Withholding Tax
*
* @param items
* Array of WithholdingTaxInformation
* @return
* self
*/
@Nonnull
AcctngDocumentPostFunction withholdingTax(WithholdingTaxInformation... items);
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy