Show TOC

Öffentliche API zum Anlegen, Bearbeiten und Löschen von IBCsLocate this document in the navigation structure

Sie verwenden die Klasse CL_SRT_PUBLIC_IBC in Ihren Anwendungen, um Identifiable Business Contexts (IBCs) anzulegen, zu bearbeiten und zu löschen.

Überblick

Mit der Klasse CL_SRT_PUBLIC_IBC in Ihren Anwendungen können Sie Identifiable Business Contexts (IBCs) anlegen, bearbeiten und löschen. Eine Anwendung kann beispielsweise automatisch IBCs anlegen, die als Proxys für neue Buchungskreise in Ihrem SAP-System fungieren, wenn die Buchungskreise mittels Web-Services mit anderen Entitäten innerhalb oder außerhalb der SAP-Landschaft kommunizieren sollen.

Instanziierung

CL_SRT_PUBLIC_FACTORY=>GET_IBC_HANDLER( ).

Die Methode GET_IBC_HANDLER gibt eine Instanz des Klassentyp CL_SRT_PUBLIC_IBC mit dem Interface IF_SRT_PUBLIC_IBC_HANDLER zurück.

Interface IF_SRT_PUBLIC_IBC_HANDLER

Dieses Interface enthält die folgenden Methoden zum Abrufen und Anlegen von IBC-Instanzen:

Tabelle 1:
Methode Ebene Beschreibung
LIST Statische Methode IBCs abfragen
OPEN_BY_ID Instanzmethode Instanz eines vorhandenen IBC durch Ermitteln seiner ID anlegen
OPEN_BY_RECEIVER Instanzmethode Instanz eines vorhandenen IBC durch Ermitteln seines IBC-/Empfängernamens anlegen
CREATE Instanzmethode Instanz eines IBC anlegen, um einen neuen IBC anzulegen
EXISTS Instanzmethode Prüfen, ob ein IBC vorhanden ist.
Interface IF_SRT_PUBLIC_IBC

Dieses Interface stellt Methoden zum Abrufen von Informationen sowie zum Ändern und Löschen von IBC-Instanzen bereit. Bevor diese Operationen ausgeführt werden können, müssen zuerst IBCs mit der Methode OPEN_BY_ID, OPEN_BY_RECEIVER oder CREATE im Interface IF_SRT_PUBLIC_IBC_HANDLER erstellt werden.

Tabelle 2:
Methode Ebene Beschreibung
DELETE Instanzmethode IBC löschen
DELETE_DESCRIPTION Instanzmethode Beschreibung für eine bestimmte Sprache löschen
GET_BUSINESS_ADDRESS Instanzmethode Geschäftsadresse holen
GET_DESCRIPTION Instanzmethode Beschreibung für eine bestimmte Sprache holen
GET_DESCRIPTIONS Instanzmethode Alle Beschreibungen (d.h. für alle Sprachen) holen
GET_IBC_ID Instanzmethode IBC-ID holen
GET_IBC_NOTES Instanzmethode Alle Hinweise holen
GET_RECEIVER Instanzmethode Alle Empfängerinformationen holen
GET_RECEIVER_NAME Instanzmethode Empfängername (IBC-Name) holen
GET_RECEIVER_SYSTEM Instanzmethode Empfängersysteminformationen holen
GET_RECEIVER_TYPE Instanzmethode Empfängertyp holen
GET_TECHNICAL_ADDRESS Instanzmethode Technische Adresse holen
GET_VALID_FROM Instanzmethode Gültigkeitsbeginn holen
GET_VALID_TO Instanzmethode Gültigkeitsende holen
IS_IBC_LOCKED Instanzmethode Prüfen, ob ein IBC gesperrt ist
LOCK Instanzmethode IBC sperren
SAVE Instanzmethode IBC sichern
SET_BUSINESS_ADDRESS Instanzmethode Geschäftsadresse bearbeiten
SET_DESCRIPTION Instanzmethode Beschreibung bearbeiten
SET_IBC_NOTES Instanzmethode Hinweise bearbeiten
SET_TECHNICAL_ADDRESS Instanzmethode Technische Adresse bearbeiten
SET_VALID_FROM Instanzmethode Gültigkeitsbeginn bearbeiten
SET_VALID_TO Instanzmethode Gültigkeitsende bearbeiten
TERMINATE Instanzmethode Instanz terminieren (und alle Datenbanksperren entfernen)
UNLOCK Instanzmethode IBC entsperren

Beispiel

IBC anlegen
Das folgende Beispiel zeigt, wie ein IBC angelegt werden kann, der folgendes enthält:
  • Name
  • Typ
  • Beschreibung
  • Gültigkeitsbeginn
  • Gültigkeitsende

<impl_class_name> ist der Name der implementierenden Klasse des IBC-Typs, den Sie separat anlegen müssen. Siehe Klasse für die Verwendung eines IBC implementieren

Beispielcode
lr_ibc_handler ?= cl_srt_public_factory=>get_ibc_handler( ).
      check lr_ibc_handler->if_srt_public_ibc_handler~exists( receiver_type = <receiver_type>
                                                              receiver_name = <receiver_name> ) ne abap_true.

      lr_ibc_handler->if_srt_public_ibc_handler~create( exporting receiver_type = <receiver_type>
                                                                  receiver_name = <receiver_name>
                                                                  class_name    = <impl_class_name> ) .
      lr_ibc_handler->if_srt_public_ibc~set_description( exporting description = description
                                                                   language    = sy-langu ).

      lr_ibc_handler->if_srt_public_ibc~set_valid_from( valid_from = valid_from ).
      lr_ibc_handler->if_srt_public_ibc~set_valid_to( valid_to = valid_to ).
      lr_ibc_handler->if_srt_public_ibc~save( ).