• Public
  • Public/Protected
  • All

This class represents the entity "SEPAMandateUsageSet" of service "API_FKK_NOAPP_SEPA_MANDATE_SRV". This service is part of the following communication scenarios: Finance - Contract Accounting SEPA Mandate Integration (SAP_COM_0458). See https://api.sap.com/api/API_O2C_FICA_SEPA_MANDATE_SRV for more information.


  • Entity
    • SepaMandateUsageSet





  • Returns SepaMandateUsageSet


Protected _customFields

_customFields: MapType<any>

A mapper representing custom fields in an entity. Custom fields are represented by their field names and the corresponding values. A custom field can be added or updated using setCustomField method.

Protected _versionIdentifier

_versionIdentifier: string

The current ETag version of the entity in the remote system. The ETag identified the version of the in the remote system. It will be automatically set in the "if-match" header of update requests and can be set as a custom header for delete requests. When no ETag is provided by the remote system the value of this variable defaults to "*".


creditor: string

Creditor Identification Number. Specifies a cross-country unique identification of the creditor of a SEPA direct debit. The creditor ID number is cross-country and unique. It comprises the following elements:Characters 1-2: country key (for example, DE)Characters 3-4: check digit (is calculated the same way as the IBAN check digit)Characters 5-7: creditor business code (for example, for indicating individual business codes or branches of the creditor). The creditor business code is by default filled with the letters ZZZ. It is a non-identifying part of the SEPA mandate. This means that by changing the business code in the creditor ID no new mandate is created. Even after you have made such a change, a mandate search made by the system using the old creditor ID number still finds the corresponding mandates.Characters 8-35: national identification characteristic for the creditor, progressively numbered in ascending order.AT61ZZZ01234567890BE68ZZZ0123456789BG07ZZZ100064095CH13ZZZ00000012345CY34ZZZ123ACZ56ZZZ12345DE51ZZZ12345678901DK95ZZZ999912345678EE49ZZZEE00012345678ES50ZZZM23456789FI22BBB12345678FR72ZZZ123456GB49ZZZSDDBARC0000001UKGR44ZZZ12345HU54ZZZA09450512T123IE84ZZZ123456IS42ZZZ123456IT66ZZZA1B2C3D4E5F6G7H8LI26ZZZ00000012345LT30ZZZ123456789LU27ZZZ0000000000123456789LV29ZZZLV91122123459MC12ZZZ123456MT50ZZZ670169305TNL42ZZZ123456780001NO38ZZZ123456785PL18ZZZ0123456789PT73ZZZ123456RO25ZZZ1234567897SE41ZZZ1234567890SI13ZZZ12345674SK50ZZZ00000000001. Maximum length: 35.

Protected remoteState

remoteState: object

The remote state of the entity. Remote state refers to the last known state of the entity on the remote system from which it has been retrieved or to which it has been posted. It is stored as map, where the keys are stored in the format of VDM properties.

Type declaration

  • [keys: string]: any


sepaMandate: string

Unique Reference to Mandate for each Payee. Identifies, together with the Creditor Identifier, the mandate uniquely. The mandate reference can be specified externally or be determined by internal number assignment. The system determines 12 digit numerical mandate references for the internal number assignment.Whether internal or external number assignment (or both) is possible depends on the application concerned.Once you have created the mandate, you can no longer change its mandate reference.At event 0570, you can implement different logic using your own installation-specific function module. Register the function module in Customizing for Contract Accounts Receivable and Payable under Business Transactions -> Incoming/Outgoing Payment Creation -> Management of SEPA Mandates -> General Settings in the Mandate Reference field.Notes on Assigning Contract Accounts and Contracts to MandatesYou can enter a mandate reference in various FI-CA objects (such as, the document item, the contract account, or the contract). The effect of entering a reference is that the system uses the entered mandate for this object during payment.Notes on Using Alternative PayersIf you want to enter an alternative payer P1 for business partner B1 with contract account C1, you have to enter the mandate for this alternative payer P1. If the mandate is to be used now exclusively for paying postings on B1, then enter B1 in the field Payment for Alternative Debtor/ID on the lower part of the screen. If you want the mandate to be used only for a certain contract account of B1 (for instance, for C1), then enter the ID of this contract account in the Contract Account field on the upper part of the screen.ExampleYou enter mandate M1 in contract account C1. When items of contract C1 are paid, the system uses mandate M1.Using a mandate for one object does not exclude using it for another object. That means, for example, that you could also enter mandate M1 in contract C2 as the mandate to be used. In that case, no contract account is entered in the mandate itself, so that it can be referenced from multiple objects.Example - Assignment of a mandate to multiple contract accountsContract account Mandate (in Contract Acct) MeaningC1 M1 Mandate M1 is valid for C1.C2 M1 Mandate M1 is also valid for C2.C3 M2 Mandate M2 is valid for C3.C4 M2 Mandate M2 is also valid for C4.Another alternative is to enter the contract account in the mandate itself. The result of making this assignment, however, is that the mandate can only be used (exclusively) for the payment of items of this one contract account.Example - Assignment of one contract account per mandateMandate Contract Account (in Mandate) MeaningM1 C1 Mandate M1 is only valid for items of contract account C1.M2 C2 Mandate M2 is only valid for items of contract account C2.If you want a mandate to be used by several FI-CA objects (such as, document, contract account, or contract), enter the mandate only in the given objects.The examples above apply in a similar manner to the assignment of contracts.Even if you do not enter payment data at the contract level in contracts of the various industry components that use Contract Accounts Receivable and Payable, it can be useful to make an assignment between the contract and the mandate. This makes it possible to have the system pay postings assigned to a contract using a specific mandate.If you do not make any assignments between FI-CA objects (such as, document, contract account, or contract) and a mandate, the system determines the mandate from the bank details entered in the payment data of the payer. In doing so, the system compares the IBAN in the mandate with the IBAN of the bank details.If there are several active mandates for the same bank details of the payer, but there are no additional assignments between the mandate and the FI-CA object, you can use event 0653 to specify which of the mandates is used for making the payment.If you do not make any specification, the system uses the first mandate that qualifies for the payment. Maximum length: 35.


sepaMandateApplication: string

SEPA: Application for Which Mandate Relevant. The application describes which application component (for example, FI-CA, FI-AR, FS-AM) the mandate is being used in. You can create SEPA mandates for various applications, such as business partners in contract accounts receivable and payable (FI-CA) or for customers in accounts receivable (FI-AR).The applications can:retain various data in the mandatescarry out various additional checksuse differing descriptions on the interfacesMandates can be identified by the application, mandate ID and creditor ID.An application that is used for the active creation of debit memos requires all of the data of a mandate document, and adjusts all of the checks made to it.An application that checks inbound debit memos for the existence of a mandate requires only a little data for the mandate, and adjusts all of the checks made to it. Maximum length: 1.


sepaMandateUseDate: Moment

Date. Date (YYYYMMDD) Date in the form YYYYMMDD (where Y = year, M = month, D = day)19920301.


sepaMandateUseObjectType: string

Object Type. Internal technical key of a business object in the Business Object Repository (BOR). Business objects in the BOR are identified by the object type (for example BUS2032) and a descriptive English name (for example, SalesOrder). Both means of identification must be unique among all object types.Business objects are often addressed using the descriptive name from external applications, while internally in the BOR they are mostly identified using the object type. Initially, only the internal key was used, but the extensive use of business objects has given rise to the need for addressing them using names. For compatibility reasons, both identifiers are now used.The object type can have a maximum of 10 characters.Examples:BUS2032BUS6026. Maximum length: 10.


sepaMandateUsePaymentDoc: string

Object key. Linked key for an object. The key is formed by linking all of the key fields together without any gaps. The key fields are defined for objects of this type in the Business Object Repository. Maximum length: 70.


versionIdentifier: string

ETag version identifier accessor.


The ETag version identifier of the retrieved entity, returns undefined if not retrieved


ALL_FIELDS: AllFields<SepaMandateUsageSet> = new AllFields('*', SepaMandateUsageSet)

All fields selector.


CREDITOR: StringField<SepaMandateUsageSet> = new StringField('Creditor', SepaMandateUsageSet, 'Edm.String')

Static representation of the creditor property for query construction. Use to reference this property in query operations such as 'select' in the fluent request API.


SEPA_MANDATE: StringField<SepaMandateUsageSet> = new StringField('SEPAMandate', SepaMandateUsageSet, 'Edm.String')

Static representation of the sepaMandate property for query construction. Use to reference this property in query operations such as 'select' in the fluent request API.


SEPA_MANDATE_APPLICATION: StringField<SepaMandateUsageSet> = new StringField('SEPAMandateApplication', SepaMandateUsageSet, 'Edm.String')

Static representation of the sepaMandateApplication property for query construction. Use to reference this property in query operations such as 'select' in the fluent request API.


SEPA_MANDATE_USE_DATE: DateField<SepaMandateUsageSet> = new DateField('SEPAMandateUseDate', SepaMandateUsageSet, 'Edm.DateTime')

Static representation of the sepaMandateUseDate property for query construction. Use to reference this property in query operations such as 'select' in the fluent request API.


SEPA_MANDATE_USE_OBJECT_TYPE: StringField<SepaMandateUsageSet> = new StringField('SEPAMandateUseObjectType', SepaMandateUsageSet, 'Edm.String')

Static representation of the sepaMandateUseObjectType property for query construction. Use to reference this property in query operations such as 'select' in the fluent request API.


SEPA_MANDATE_USE_PAYMENT_DOC: StringField<SepaMandateUsageSet> = new StringField('SEPAMandateUsePaymentDoc', SepaMandateUsageSet, 'Edm.String')

Static representation of the sepaMandateUsePaymentDoc property for query construction. Use to reference this property in query operations such as 'select' in the fluent request API.

Static _allFields

_allFields: Array<StringField<SepaMandateUsageSet> | DateField<SepaMandateUsageSet>> = [SepaMandateUsageSet.SEPA_MANDATE_APPLICATION,SepaMandateUsageSet.CREDITOR,SepaMandateUsageSet.SEPA_MANDATE,SepaMandateUsageSet.SEPA_MANDATE_USE_DATE,SepaMandateUsageSet.SEPA_MANDATE_USE_OBJECT_TYPE,SepaMandateUsageSet.SEPA_MANDATE_USE_PAYMENT_DOC]

All fields of the SepaMandateUsageSet entity.

Static _defaultServicePath

_defaultServicePath: string = "/sap/opu/odata/sap/API_O2C_FICA_SEPA_MANDATE_SRV"

Default url path for the according service.

Static _entityName

_entityName: string = "SEPAMandateUsageSet"

Technical entity name for SepaMandateUsageSet.

Static _keyFields

_keyFields: Array<Selectable<SepaMandateUsageSet>> = [SepaMandateUsageSet.CREDITOR, SepaMandateUsageSet.SEPA_MANDATE, SepaMandateUsageSet.SEPA_MANDATE_USE_DATE, SepaMandateUsageSet.SEPA_MANDATE_USE_OBJECT_TYPE, SepaMandateUsageSet.SEPA_MANDATE_USE_PAYMENT_DOC]

All key fields of the SepaMandateUsageSet entity.

Static _keys

_keys: object = SepaMandateUsageSet._keyFields.reduce((acc: { [keys: string]: Selectable<SepaMandateUsageSet> }, field: Selectable<SepaMandateUsageSet>) => {acc[field.fieldName] = field;return acc;}, {})

Mapping of all key field names to the respective static field property SepaMandateUsageSet.

Type declaration

Static _serviceName

_serviceName: string = "API_FKK_NOAPP_SEPA_MANDATE_SRV"

Since v1.0.1 Use _defaultServicePath instead. Technical service name for SepaMandateUsageSet.


Protected getCurrentMapKeys

  • getCurrentMapKeys(): Entity
  • Returns a map of all defined fields in entity to their current values.

    Returns Entity

    Entity with all defined entity fields


  • getCustomField(fieldName: string): any
  • Custom field value getter.


    • fieldName: string

      The name of the custom field

    Returns any

    The value of the corresponding custom field


  • getCustomFields(): MapType<any>
  • Returns a map that contains all entity custom fields.

    Returns MapType<any>

    A map of all defined custom fields in the entity


  • getUpdatedCustomFields(): MapType<any>
  • Returns all updated custom field properties compared to the last known remote state.

    Returns MapType<any>

    A map containing all updated custom properties, with their new values


  • getUpdatedProperties(): Entity
  • Returns all changed properties compared to the last known remote state. The returned properties does not include custom fields. Use getUpdatedCustomFields, if updated custom fields are needed.

    Returns Entity

    Entity with all properties that changed


  • hasCustomField(fieldName: string): boolean
  • Validates whether a custom field exists in the entity.


    • fieldName: string

      The name of the custom field to update

    Returns boolean

    A boolean value, that indicates whether a custom field is defined in entity


  • initializeCustomFields(customFields: MapType<any>): this
  • Sets all retrieved custom fields in entity.


    • customFields: MapType<any>

      Extracted custom fields from a retrieved entity

    Returns this

    A boolean value, that indicates the existence of the field in entity

Protected isConflictingCustomField

  • isConflictingCustomField(customFieldName: string): boolean
  • Validates whether a field name does not conflict with an original field name and thus can be defined as custom fields.


    • customFieldName: string

      Field name to check

    Returns boolean

    Boolean value that describes whether a field name can be defined as custom field


  • setCustomField(fieldName: string, value: any): this
  • Sets a new custom field in the entity or updates it. Throws an error, if the provided custom field name is already defined by an original field in entity.


    • fieldName: string

      The name of the custom field to update

    • value: any

      The value of the field

    Returns this

    The entity itself, to facilitate method chaining


  • setOrInitializeRemoteState(state?: MapType<any>): this
  • Initializes or sets the remoteState of the entity. This function is called on all read, create and update requests. This function should be called after initializeCustomFields, if custom fields are defined.


    Since 1.12.0. Will be removed in version 2.0.


    • Optional state: MapType<any>

      State to be set as remote state

    Returns this

    The entity itself, to facilitate method chaining


  • setVersionIdentifier(etag: string | undefined): this
  • Set the ETag version identifier of the retrieved entity.


    • etag: string | undefined

      The returned ETag version of the entity

    Returns this

    The entity itself, to facilitate method chaining


  • toJSON(): object
  • Overwrites the default toJSON method so that all instance variables as well as all custom fields of the entity are returned.

    Returns object

    An object containing all instance variables + custom fields.

    • [key: string]: any

Static builder

Static customField

  • Returns a selectable object that allows the selection of custom field in a get request for the entity SepaMandateUsageSet.


    • fieldName: string

      Name of the custom field to select

    Returns CustomField<SepaMandateUsageSet>

    A builder that constructs instances of entity type SepaMandateUsageSet.

Static Protected customFieldSelector

  • customFieldSelector<EntityT>(fieldName: string, entityConstructor: Constructable<EntityT>): CustomField<EntityT>
  • Type parameters

    • EntityT: Entity


    • fieldName: string
    • entityConstructor: Constructable<EntityT>

    Returns CustomField<EntityT>

Static Protected entityBuilder

  • entityBuilder<EntityT, EntityTypeForceMandatoryT>(entityConstructor: Constructable<EntityT, EntityTypeForceMandatoryT>): EntityBuilderType<EntityT, EntityTypeForceMandatoryT>
  • Type parameters

    • EntityT: Entity

    • EntityTypeForceMandatoryT


    • entityConstructor: Constructable<EntityT, EntityTypeForceMandatoryT>

    Returns EntityBuilderType<EntityT, EntityTypeForceMandatoryT>

Static requestBuilder

  • Returns a request builder to construct requests for operations on the SepaMandateUsageSet entity type.

    Returns SepaMandateUsageSetRequestBuilder

    A SepaMandateUsageSet request builder.