Ansicht
Dokumentation

CRM_IIA_010 - BAdI: Wissensdatenbanken

CRM_IIA_010 - BAdI: Wissensdatenbanken

RFUMSV00 - Advance Return for Tax on Sales/Purchases   CPI1466 during Backup  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

In dieser Customizing-Aktivität können Sie ein Business Add-In implementieren, um Wissensdatenbanken für das Knowledge Repository des Software-Agent-Framework (SAF) anzulegen und hinzuzufügen. Dies können Sie für alle Daten aus den folgenden Datenquellen tun:

  • SAP
Alle Daten in einem SAP-System (z.B. Customer Relationship Management, Enterprise Resource Planning, Business Information Warehouse, Supply Chain Management, Product Lifecycle Management und SAP ERP) können über den direkten Datenmodellzugriff oder SAPs Standard-RFC-Kommunikation in das Knowledge Repository integriert werden. Wenn für die Daten kein BAPI und kein RFC verfügbar ist, legen Sie einfach einen RFC-fähigen Funktionsbaustein aus dem Quellserver an, sodass die Daten in das SAP-System abgerufen werden können.
  • Extern
Alle externen Datenquellen können in das Knowledge Repository integriert werden, so lange Sie in der Add-In-Implementierung eine Kommunikationsverbindung zwischen SAP und der externen Datenquelle hergestellt haben (z.B. HTTP-Kommunikation), damit die benötigten Informationen (IDs und Detailbeschreibungen) abgerufen werden können.

Heterogene Datenquellen
Sie können eine Wissensdatenbank anlegen, in der mehrere Datenquellen aus mehreren Systemen miteinander kombiniert sind. Es empfiehlt sich beispielsweise, eine Wissensdatenbank mit Geschäftspartnern und zugehörigen Aktivitäten anzulegen, die aus SAP Business Information Warehouse und SAP ERP importiert wurden. Dann müssen Sie nur sicherstellen, dass unterschiedliche Datenquellen erkannt und anhand einer bestimmten ID identifiziert werden können, damit alle zugehörigen Daten abgerufen und Daten mit der gleichen ID zusammengeführt werden können.

Eine SAF-Wissensentität ist an einer eindeutigen ID erkennbar und kann darüber aufgerufen werden. Eine Wissensentität ist also von Datenquellen unabhängig, solange die korrekten Informationen abrufbar sind. So lange die Kommunikation zwischen SAP und verschiedenen Datenquellen möglich ist, können alle Datenkombinationen in einer Wissensentität aggregiert werden.

Erweiterung mit Geschäftsregeln
Wenn es bestimmte Geschäftsregeln gibt, die Sie auf eine Wissensdatenbank anwenden möchten, damit Sie die Inhalte einer Wissensentität komplett steuern können, dann implementieren Sie Ihre Geschäftsregeln mit der Methode IF_EX_CRM_SAF_KB~RETRIEVE_BATCH (siehe unten). Demzufolge können nur die Wissensentitäten, die von dieser Methode gesteuert werden, abgerufen und von den SAF-Services aufgerufen werden.

Wenn Sie die Geschäftsregeln auf Attribute einer Wissensentität anwenden möchten (Sie möchten z.B. nur bestimmte Informationen herausfiltern, wenn der Lösungstyp QM ist), dann implementieren Sie die Geschäftsregeln mit der Methode IF_EX_CRM_SAF_KB~RETRIEVE_DETAIL (siehe unten). Mit dieser Methode wird ermittelt, welche Detailinformationen genau für die SAF-Services verfügbar sind.

Erweiterung mit hierarchischer Struktur
Sie können eine Wissensdatenbank mit einer hierarchischen Struktur anlegen. Dieser Ansatz wird jedoch nicht empfohlen, da er eine komplette Umarbeitung des Codes für die neue Wissensdatenbank erfordert. Die folgenden ABAP-Klassen in SAP CRM liefern Beispielcode, den Sie überprüfen können:

  • CL_CRM_EI_KB_SDB (Lösungsdatenbank)
  • CL_CRM_EI_KB_SDB_ATTACHMENT (Lösungsdatenbankanlagen)

Sie haben Berechtigungen für die Transaktionen SE19, SE24, CRMC_SAF_WZ_KB und (wenn die Kommunikation mit einer externen Datenquelle erforderlich ist) SM59.

  1. Legen Sie eine neue Business-Add-In-Implementierung an.
    1. Gehen Sie im Customizing zum Business Add-In BAdI: Wissensdatenbanken.
    2. Wählen Sie Anlegen, und geben Sie einen Implementierungsnamen ein (z.B. CRM_SAF_KB_NEW). Wählen Sie dann Enter.
    3. Sichern Sie die neue Add-In-Implementierung.
Es wird automatisch eine neue implementierende Klasse generiert.
  1. Gehen Sie zur Registerkarte Interface, und notieren Sie sich den Namen der implementierenden Klasse.
  • Implementieren Sie die Add-In-Klasse.
    1. Gehen Sie zum Class Builder (Transaktion SE24).
    2. Geben Sie den Namen der implementierenden Klasse aus Schritt 1 ein, und wählen Sie Ändern.
    3. Implementieren Sie für den Abruf der neuen Wissensdatenbank Codes für die folgenden Methoden:
    IF_EX_CRM_SAF_KB~GET_ATTRIBUTE_VALUES
    Ist nur erforderlich, wenn Sie in der Wissenssuche des Interaction Center WebClient Attributsuchvorgänge ausführen möchten, bei denen diese Methode verwendet wird, um Attribute und Attributwerte anzuzeigen, die von Agenten ausgewählt werden können.
    Die Attribute sollten charakteristisch sein, sodass ein Benutzer die Attributbeschreibung und die Attributwerte gut verstehen kann. Die Anzahl der von der Methode bereitgestellten Werte sollte relativ klein sein, sodass sie in einer Dropdown-Box auf der Benutzungsoberfläche angezeigt werden können. Ein Problemtyp wäre beispielsweise ein guter Kandidat, aber keine Problemnummer.
    IF_EX_CRM_SAF_KB~GET_ATTRIBUTE_SEARCH_RETURN
    Ist nur erforderlich, wenn Sie eine Reihe von Attributwerten mit der von der Suchmaschine zurückgegebenen Trefferliste zurückgeben möchten. Die Attributnamen müssen mit den in den Suchindex kompilierten Namen übereinstimmen.
    IF_EX_CRM_SAF_KB~RETRIEVE_BATCH
    Erforderlich
    Mit dieser Methode können Sie eine Reihe von Wissensentitäts-IDs aus einem sequentiellen Indexbereich abrufen, z.B. um eine Liste mit Wissensentitäts-IDs zurückzugeben, die sich zwischen den Positionen 125 und 175 in einer Produktliste für Entitäten befinden, oder um eine Liste mit der Größe 50 ab Position 125 zurückzugeben.
    Eine Wissensentitäts-ID kann eine sequentielle Nummer sein, die über einen SAP-Nummernkreis definiert wurde, oder ein Globally Unique Identifier (GUID). Wenn die Wissensentitäts-ID über einen Nummernkreis definiert wurde, können die abgerufenen Von- und Bis-Positionen die gleichen Werte haben wie die Wissensentitäts-ID. Wenn die Wissensentitäts-ID ein GUID ist, sollten die abgerufenen Von- und Bis-Positionen ein sequentieller Index sein, der intern durch die Codes bestimmt wird. Für beide Fälle werden Beispiele angeführt.
    Diese Methode wird vom Kompilierungsservice verwendet, um Wissensentitäten in Batches abzurufen, damit der Kompilierungsserver viele Entitäten (z.B. 50.000 Wissensentitäten) Batch für Batch ohne Überlastung der Speicherkapazität des Servers verarbeiten kann.
    Hinweis
    Der Importparameter IV_PREV_KB_ID stellt die zuletzt verarbeitete Wissensentitäts-ID dar. Wenn der Wert nicht leer ist, beginnt die nächste abzurufende Reihe von Wissensentitäts-IDs mit der ID, die der zuletzt verarbeiteten ID folgt. Wenn die zuletzt verarbeitete Wissensentitäts-ID 100 ist, beginnt der nächste abzurufende Batch mit 101. Dieser Parameter wird verwendet, um den Prozess fortzusetzen, wenn ein Indexierungsprozess bei der vorigen Indexierung fehlgeschlagen ist, und um die Parallelverarbeitung zu unterstützen, wenn ein Indexierungsjob in mehrere Unterjobs unterteilt ist.
    IF_EX_CRM_SAF_KB~RETRIEVE_DETAIL
    Erforderlich
    Mit dieser Methode können Sie Detailinformationen für einzelne Wissensentitäten abrufen, d.h. für einzelne Kombinationen aus Wissensentitäts-ID und Sprachenschlüssel. Die Ausgabeinformationen enthalten eine Reihe von Attributen als Namens-/Wertepaare, eine Tabelle mit Textzeilen als Freitextbeschreibungen und eine Kurztextbeschreibung.
    Da eine Wissensentität mehr als ein Business-Objekt enthalten kann und sogar eine hierarchische Struktur aus mehreren Datenbanktabellen haben kann, kann ein Attribut mehrere Werte haben. In solchen Fällen können mehrere Werte für ein Attribut konkateniert und durch Kommata voneinander getrennt sein.
    IF_EX_CRM_SAF_KB~GET_ATTRIBUTE_DEFINITIONS
    Ist nur erforderlich, wenn Sie gruppierte Attribute definieren möchten. Sie können beispielsweise die Gruppe Telefon definieren, um mehrere Attribute und Werte aus dem Länder-/Regionscode, der Ortsvorwahl, der privaten Telefonnummer und der geschäftlichen Telefonnummer einzuschließen. Dann werden alle Attribute als Gruppe behandelt. Sobald die Gruppe definiert wurde, können Sie nur nach einer privaten Telefonnummer oder nach einer privaten Telefonnummer in Verbindung mit der Ortsvorwahl suchen.
    1. Legen Sie XSL-Transformationen für Detailanzeigen an.
    Dieser Schritt ist optional, aber er wird empfohlen, um die Benutzerfreundlichkeit der neuen Wissensdatenbank zu verbessern. Im IC WebClient wird die XSL-Transformation für HTML für die Detailanzeige in der Wissenssuche verwendet. Die XSL-Transformation für Texte wird im IC WebClient auch verwendet, um den Korbinhalt anzuzeigen, der von der Wissenssuche an den E-Mail-Editor gesendet wird. Wenn keine Customizing-Transformationen angelegt werden, werden die Standardtransformationen verwendet.
    1. Gehen Sie zum Object Navigator (Transaktion SE80).
    2. Legen Sie eine XSL-Transformation mit einem Namen an. Klicken Sie dafür mit der rechten Maustaste auf den Paketnamen, und wählen Sie Anlegen -> Weitere... -> XSL-Transformation.
    3. Bearbeiten Sie die XSL, die eine XML in eine HTML transformiert (siehe Beispiel XSL_KB_SAP im Paket EI_SAF_KB).
    4. Legen Sie eine zweite XSL-Transformation mit einem Namen an.
    5. Bearbeiten Sie die XSL, die eine XML in ein Textformat transformiert (siehe Beispiel XSL_KB_SAP_TEXT im Paket EI_SAF_KB).
  • Benennen und konfigurieren Sie die neue Wissensdatenbank.
  • Gehen Sie im Customizing zu Wissensdatenbank benennen und einstellen.
    Geben Sie unter Wissensdatenbank benennen und einstellen im Schritt Grundeinstellungen die Namen der beiden XSL-Transformationen ein.
    1. Verknüpfen Sie das Add-In mit dem Wissensdatenbanknamen.
      1. Gehen Sie im Customizing zum Business Add-In BAdI: Wissensdatenbanken.
      2. Wählen Sie den Namen der Add-In-Implementierung aus Schritt 1 aus, und wählen Sie Ändern.
      3. Definieren Sie auf der Registerkarte Attribute einen Filter, indem Sie den Wissensdatenbanknamen auswählen, der in Schritt 4 definiert wurde, und sichern und aktivieren Sie die Add-In-Implementierung.





      BAL_S_LOG - Application Log: Log header data   rdisp/max_wprun_time - Maximum work process run time  
      Diese Dokumentation steht unter dem Copyright der SAP AG.

      Length: 12798 Date: 20240601 Time: 223924     sap01-206 ( 231 ms )