Skip to main content
Skip table of contents

Administrationshandbuch (EVI2SAP)

Installation

Voraussetzungen für die Verwendung der Funktion

Die Beschreibung der Installation ist in der Anlage "SAP-WOIEVI2SAP-Anlage SAP SLP Schnittstelle WOI 1.7.pdf" zu finden.

Das Modul EVI2SAP muss aktiv sein.

EVI-Installation

Da mit der Installation des Moduls zur Übertragung der Daten von SAP nach EVI auch bereits das Modul zur Übertragung von EVI nach SAP installiert wird, beschränkt sich die Installation auf einige Nacharbeiten.

EVI-Benutzer einrichten

Für die Prozesse wird der Benutzer OSST_EVI2SAP verwendet. Er ist nach der Installation des Moduls in der C2-Schicht anzulegen. Dazu ist folgende Konfiguration zu benutzen:

Benutzername

Erforderliche Benutzergruppe

DefaultTemplate

Technischer Benutzer

OSST_EVI2SAP

DEFAULT, OSST_ADMIN, OSST_SAP_TAB

DefaultTemplate

True

SAP-Bibliothek installieren

Damit EVI auf SAP zugreifen kann sind Bibliotheken zum Zugriff notwendig. Diese sind im Paket für die SAP-Aufrufe (SAP-Aufrufe-3.0.zip) enthalten. Dieses Paket enthält auch eine Installationsanleitung. Es genügt, den serverseitigen Anteil zu installieren.

SAP-Benutzer einrichten

In SAP wird ein RFC-fähiger Benutzer benötigt. Dieser muss in allen verbundenen SAP-Systemen vorhanden sein. Der EVI-Applikationsserver baut über diesen Benutzer die Verbindung zu dem SAP-Applikationsserver auf. Dieser muss in die folgende Konfiguration eingetragen werden.

SAP-Zugang definieren

Für jedes System in der Entität SAP-Konfiguration (Administration->Module->SAP-Konfiguration) ein Eintrag vorzunehmen.

Die Werte für Server, Mandant, Systemnummer, System-ID, Benutzername und Passwort sind beim SAP-Systemadministrator zu erfragen. Über die ID werden die Einträge einem System zugeordnet.

Globale Variable C12Servertyp prüfen: Bei einer 3 Systemlandschaft muss in jedem EVI-System diese Variable gesetzt werden. z.B.:

System

C12Servertyp

ID SAP-Konfiguration

EVI-Entwicklungssystem

DEV

DEV

EVI-Testsystem

TEST

TEST

EVI-Produktivsystem

PROD

PROD

Weitere Systeme möglich



Der Wert ist aus der globalen Variable C12Servertyp für das jeweilige System zu ermitteln.

BPM-Prozesse veröffentlichen

Die folgenden BPM-Prozesse müssen veröffentlicht werden:

  • C12OSST_EVI2SAP_Mark

  • C12OSST_EVI2SAP_TransferSync

  • C12OSST_EVI2SAP_TransferWorker

BPM-Timer einrichten und konfigurieren

Der Prozess ist dafür verantwortlich, neben den SAP-Tabellen auch die Tabelle mit den Transaktionssätzen aufzuräumen, die auch von der EVI2SAP Schnittstelle verwendet wird. Der Timer C12OSST_EVI2SAP_TransferWorker für die Verarbeitung der SAP-Daten ist zu konfigurieren.

Der Zyklus des Timers lässt sich unter Zeitplan frei konfigurieren. Es empfiehlt sich, den Zyklus auf alle 5 Minuten zu konfigurieren. Der Zeitraum sollte abhängig von regulären Arbeitszeiten konfiguriert werden. Für die EVI2SAP Schnittstelle ist der Prozess C12OSST_CleanTransactions ebenfalls als Timer einzurichten, wenn dies im Rahmen der Installation der SAP2EVI Schnittstelle nicht bereits geschehen ist.

Entitäten freischalten und konfigurieren

Bei der Auslieferung sind alle Entitäten für die Übertragung deaktiviert.

Um die Übertragung für eine Entität freizuschalten, ist die entsprechende globale Variable anzupassen. Zu jeder Entität existiert eine Variable mit dem Namen C12OSST_P_<Entität>

Sie enthält die Einstellungen im JSON-Format. Damit sie aktiv werden, ist der Kommentar "NOTUSED" am Anfang zu entfernen.

Hierbei ist zu beachten, dass die globale Variable für alle drei Systeme (Entwicklung, Test und Produktiv) einen eigenen Wert besitzt und dieser beim Customizingtransport nicht übertragen wird. Die Änderung ist also in allen drei Systemen getrennt vorzunehmen.

Danach können die Werte der JSON-Struktur angepasst werden, wenn vom Standard abweichende Einstellungen notwendig sind. Folgende Tabelle gibt eine Übersicht über die Bedeutung der einzelnen Einstellungen:

Einstellung

Beschreibung

Werte

Bemerkung

Type

Type der Übertragung

"Entity", "Event"

Zur Zeit nur "Entity" möglich.

transMeth

Methode der Übertragung

"BAPI", "WEB"

Zur Zeit nur "BAPI" möglich.

slaveRelation

Name einer Relation zu einem Hauptsatz

Namen von Linktabellen

Muss gefüllt sein, wenn bei der Übertragung eine Abhängigkeit zu einer Hauptrelation besteht.

transOnCreate

Methode der Übertragung bei Neuanlage in SAP

"asynchron" - asynchron

"synchronOnButton" -synchron nach Buttonklick

"synchronOnSave" - synchron beim Speichern


transOnUpdate

Methode der Übertragung bei Aktualisierung in SAP

wie bei transOnCreate


showSuccessMessage

Erfolgsmeldung anzeigen

"onButton" bei Auslösung durch Button

"onSave" bei Auslösung durch Speichern

Es ist auch die Angabe von beiden Werten (durch Komma getrennt) möglich.

showErrorMessage

Fehlermeldung anzeigen

Wie bei showOnSuccessMessage


reffield

Name des Referenzfeldes

Feldname in EVI-Schreibweise z.B. "CustomerNo2.Customer"


Fields

SAP relevante Felder

Liste von Feldnamen in EVI-Schreibweise durch ~ getrennt.

Die Liste muss mit ~ beginnen und aufhören.

debugParam

Ausgabe der BAPI-Strukturen in Process.log

1 - ausgeben

0 - nicht ausgeben


Darüberhinaus können weitere Werte definiert werden, die jedoch entitätsspezifisch sind:

C12OSST_P_Customer

Einstellung

Beschreibung

Werte

Bemerkung

addressCheck

SAP-seitige Prüfung der Adresse

0 - aus

1 - ein


reffieldAddress

Feldname des Referenzfeldes der Adresse

Feldname in EVI-Schreibweise

Wenn zu der Entität Address der Wert reffield angepasst wird, ist in der Regel dieser Wert ebenfalls anzupassen.

composeTel

Bestimmt die Art der Telefonnummernzusammensetzung

0 - Verfahren 1

1 - Verfahren 2

Siehe Abschnitt Geschäftspartner

C12OSST_P_Address

Einstellung

Beschreibung

Werte

Bemerkung

addressCheck

SAP-seitige Prüfung der Adresse

0 - aus

1 - ein


reffieldCustomer

Feldname des Referenzfeldes im Customer

Feldname in EVI Schreibweise

Wenn zu der Entität Customer der Wert reffield angepasst wird, ist in der Regel dieser Wert ebenfalls anzupassen.

C12OSST_P_Activity

Einstellung

Beschreibung

Werte

Bemerkung

reffieldCustomer

Feldname des Referenzfeldes im Customer

Feldname in EVI-Schreibweise

Wenn zu der Entität Customer der Wert reffield angepasst wird, ist in der Regel dieser Wert ebenfalls anzupassen.

htmlText

Aktivitäten verwenden HTML. Beim Übertragen nach SAP werden Tags entfernt.

0 - aus

1 - ein


SAP-Benutzer definieren

Bei der Übertragung von Aktivitäten wird in SAP ein Kürzel für den Sachbearbeiter eingetragen. Das Kürzel wird von dem EVI-Mitarbeiter-Datensatz abgeleitet, der im Feld Delegiert an in der Aktivität hinterlegt ist. Da sich die Kürzel zwischen SAP und EVI in der Regel unterscheiden, ist für jeden Mitarbeiter in EVI, der Daten nach SAP überträgt, ein Kürzel zu definieren, das bei der Übertragung nach SAP verwendet wird. Dieses Kürzel kann in das Feld SAP Benutzer im Mitarbeiterstamm eingetragen werden. Bleibt dieses Feld leer, wird kein Sachbearbeiter bei der Übertragung angegeben.

Automatische Testfälle konfigurieren

Die automatischen Tests setzen eine Verbindung zu SAP voraus. Damit die Tests gestartet werden, ist deshalb sicherzustellen, dass die globale Varibale C12OSST_Tests_mit_SAP_Verbindung den Wert true besitzt.

Das Modul enthält eine Scriptbibliothek mit automatischen Testfällen. Da jedes System seinen eigenen Satz an Schlüsselwerten definiert, müssen die Werte für diese Felder vor dem Start der automatischen Tests angepasst werden. Dazu ist die Methode SC12OSSTEVI2SAPTestUtils.addTestfieldsInC2() in C2 zu übersteuern und anzupassen. Dazu ist der Code der C1-Schicht als Vorlage zu kopieren.

Der Code if (!SC12OSSTEVI2SAPUtils.is3cEVI()) {throw new Exception ("Die Methode SC12OSSTEVI2SAPTestUtils.addTestfields … ");} muss entfernt werden, da er nur dazu dient, das Übersteuern zu erzwingen. Danach sind bei allen Felddefinitionen, die im Array testfieldsAdd abgelegt werden, Testwerte einzutragen, bei denen sichergestellt ist, dass sie sowohl auf dem EVI-System als auch auf dem SAP-System für das zugeordnete Feld als Schlüsselwert zulässig sind.

Beispiel: Auf einem SAP-System werden für die Priorität eines Kontaktes die Werte "W" (Wichtig), "U" (Unwichtig) und "S" (Sehr wichtig) verwendet. Im EVI-System werden dazu die Wert "A", "B" und "C" verwendet. Die Schnittstellen sorgen für ein entsprechendes Mapping.

Für die automatischen Tests ist einer der Werte für die Feldwerte einzutragen:

01", ["Priority.Activity"], "01", ["IS_CONTACTDATA:0;PRIORITY"],wird zu "A", ["Priority.Activity"], "S", ["IS_CONTACTDATA:0;PRIORITY"],Genauso gut können natürlich die Werte "B", "W" oder "C", "U" verwendet werden.

Technische Dokumentation

Komponentenübersicht

Prozesse

  • C12OSST_EVI2SAP_Mark

  • C12OSST_EVI2SAP_TransferSync

  • C12OSST_EVI2SAP_TransferWorker

  • C12OSST_CleanTransactions (wenn nicht schon bei der Installation von SAP2EVI bereits geschehen)

    • Der Prozess C12OSST_CleanTransactions der SAP-WOISAP2EVI Schnittstelle übernimmt auch das Entfernen der WOI-TRANS-Sätze der SAP-WOIEVI2SAP Schnittstelle.

Beim Einspielen des Moduls werden die Prozesse automatisch veröffentlicht, dennoch ist eine Prüfung des Veröffentlichungsstatus empfehlenswert. Entsprechende Hinweise werden auch beim Import des Moduls ausgegeben.

Skriptbibliothek

  • SC12OSSTEVI2SAPMain

  • SC12OSSTEVI2SAPMaskUtils

  • SC12OSSTEVI2SAPTestUtils

  • SC12OSSTEVI2SAPUtils

Globale Variablen

  • C12Servertyp

  • C12OSST_Tests_mit_SAP_Verbindung

  • C12OSST_AbortTime

  • C12OSST_P_Activity

  • C12OSST_P_Address

  • C12OSST_P_Customer

  • C12OSST_PackageSize

  • C12OSST_transferOnTest

Transaktionstabellen

  • WOI-TRANS-Tabellen

Timer

  • C12OSST_EVI2SAP_TransferWorker

Administrationsmöglichkeiten

Damit eine Entität an der Übertragung teilnimmt, ist eine vordefinierte globale Variable nach dem Schema C12OSST_P_<Entität> durch das Entfernen eines Kommentars zu aktivieren. Die Variable enthält im Auslieferungszustand die Standardeinstellung für die entsprechende Entität.

Definition anderer Referenzfelder

Das Referenzfeld wird über die globale Variable definiert. Hier ist der Eintrag reffield mit dem Namen des Feldes zu belegen, das als Referenzfeld dienen soll. Dabei ist zu beachten, dass dieses Referenzfeld möglicherweise auch in anderen Entitäten als fremdes Referenzfeld dient und auch dort angepasst werden muss. Die folgende Tabelle gibt einen Überblick:

Entität

Default

Ändern in

Customer

CustomerNo2.Customer

C12OSST_P_Customer.reffield
C12OSST_P_Address.reffieldCustomer
C12OSST_P_Activity.reffieldCustomer

Address

C12ISUADDRNR.Address

C12OSST_P_Address.reffield
C12OSST_P_Customer.reffieldAddress

Actitity

ISUContact.Activity

C12OSST_P_Activity.reffield

Definition anderer Startbedingungen

Die Startbedingung für die einzelnen Entitäten ist in der Skriptklasse SC12OSSTEVI2SAP definiert. Aus technischen Gründen gibt es zwei Methoden pro Entität, die den Namen

boolean en<Entity>CheckStart(IContainer container, String eventName, Map config)

boolean en<Entity>Check(IContainer container, String eventName, Map config)

haben, wobei <Entity> für den Namen der Entität steht. Der Unterschied zwischen den beiden Methoden ist, dass en<Entity>CheckStart innerhalb der Startbedingung aufgerufen wird und en<Entity>Check nach der Startbedingung. Prinzipiell sind Prüfungen innerhalb der Startbedingung zu bevorzugen, da bei einem negativen Ergebnis der Prozess gar nicht erst gestartet wird, was die Performance erhöht. Es ist jedoch nicht möglich, in der Startbedingung auf alle Daten zuzugreifen, weshalb in einigen Fällen zumindest ein Teil der Prüfungen in en<Entity>Check erfolgen muss. So ist beispielsweise der Zugriff auf den Geschäftspartner beim Anlegen einer Adresse nur in enAddressCheck möglich, weil die Methode WorkSpaceScriptUtils.getDependentWorkSpace() in enAddressCheckStart nicht zur Verfügung steht.

Die Methoden bekommen den aktuellen Datensatz (container), das auslösende Event (eventName) und die Einstellungen aus der globalen Variable als Map (config) als Parameter. Wenn die Startbedingung erfüllt ist - wenn der Satz also nach SAP übertragen werden soll - dann liefern beide Methoden true zurück. Um eine Übertragung zu verweigern, muss eine der Methoden false zurückliefern.

Um die Startbedingung zu ändern, sind in der C2-Schicht eine oder beide der Methoden zu überschreiben. Anhand der Werte in container kann überprüft werden, ob der Satz die Bedingung erfüllt. Andere abhängige Datensätze sind über entsprechende Methoden zu ermitteln. Der Code aus der C1-Schicht kann als Vorlage verwendet werden.

Anpassen des Feldmappings

Um das Feldmapping anzupassen, kann unmittelbar vor der Übertragung nach SAP in den Aufbau der BAPI-Strukturen eingegriffen werden. Der Code des Moduls baut aufgrund des Standmappings Datenstrukturen für einen BAPI-Aufruf zur Übertragung nach SAP auf. Unmittelbar vor der Übertragung wird die Methode

en<Entity>TransBAPIBeforeExec(Map eviData, Map sapData, Boolean neuanlage, String changedFields, Map config, Map logMap)aufgerufen. Im Auslieferungszustand nimmt diese Methode keine Änderungen vor. In der C2-Schicht kann sie überschrieben werden, um die bereits mit Daten gefüllten BAPI-Strukturen zu manipulieren.

Der Parameter eviData ist eine Map, die alle Daten aus EVI in Form von IContainern enthält, die für die Befüllung der BAPI-Strukturen verwendet wurden. Der in der C1-Schicht vorhandene Vorlagecode enthält bereits die Aufrufe, um aus dieser Map die relevanten IContainer zu lesen.

Im Parameter neuanlage wird definiert, ob es sich bei der Übertragung um eine Neuanlage oder eine Aktualisierung handelt. Die Zeichenkette changedFields enthält im Falle einer Aktualisierung eine Liste von Feldern, die geändert wurden. Das Format entspricht dem des Parameters fields aus der globalen Variable - also eine Liste von Feldnamen durch "~" getrennt.

In der Map config stehen alle Einstellungen aus der globalen Variable zu der Entität. Die einzelnen JSON-Schlüssel können als Schlüssel der map verwendet werden. Damit besteht die Möglichkeit, das Feldmapping von der globalen Variable abhängig zu machen.

Der Parameter logMap enthält die Meldungen, die später als Protokoll in den Transaktionssatz eingetragen werden. Hier können durch Aufruf von addLog(logMap, "Meldung"); eigene Meldungen hinzugefügt werden.

Um das Feldmapping zu ändern, können in der Übersteuerung der Funktion die Daten aus den EVI-Containern in die BAPI-Strukturen gemäß den neuen Feldmappings transportiert werden. Dabei ist zu beachten, dass hier nur die Abweichung des Mappings vom Standard programmiert werden muss, da die BAPI-Strukturen bereits gefüllt sind.

Um Werte von IContainern in BAPI-Strukturen zu transportieren, kann die Methode setBAPIParam(IContainer ac, String eviFeld, Object value, String changedFields, Boolean insert, Object o_data, Object o_dataX, String sapField); verwendet werden. Sie transportiert den Wert aus dem Feld eviField in dem Container ac in das Feld sapField der BAPI-Strukrutur o_data. Anhand der Werte changedFields und insert wird entschieden, ob es sich um eine Neuanlage oder ein Update handelt, und ob bei einem Update der Wert geändert wurde sowie mit aufzunehmen ist. In diesem Fall wird auch die …X-Struktur gepflegt. Wenn der Wert nicht aus dem IContainer gelesen werden und stattdessen ein zuvor berechneter Wert verwendet werden soll, dann kann dieser als value übergeben werden. Ansonsten ist dieser Parameter mit null zu belegen.

Wenn bei einem geänderten Feldmapping andere Felder aus EVI als im Standard verwendet werden, dann sind diese Felder auch als SAP-relevante Felder zu definieren. Dazu ist der Eintrags fields in der globalen Variablen zu ändern.

Übersteuerungsmöglichkeiten

Grundsätzlich können die mit dem Modul bereitgestellten Komponenten wie BPM-Prozesse, -teilprozesse, Suchen und Skriptbibliotheksmethoden übersteuert werden, um diese an individuelle Anforderungen und Bedürfnisse anzupassen.
Nach dem Einspielen eines Moduls sollte geprüft werden, ob bereits Skriptmethoden im Projekt übersteuert wurden und ob die Methodenänderung aus dem Standard im Projekt übernommen werden soll.

Ein Großteil der Implementierung des Moduls liegt als Skript-Bibliothek vor. Damit ist es möglich, Funktionen zu überschreiben und ein eigenes Verhalten zu definieren.

Bei der Auslieferung der Schnittstelle werden die aufgeführten Felder der Entitäten nach SAP übertragen. Durch Customizing besteht die Möglichkeit, diese Zuordnung bezüglich der Felder als auch der Werte anzupassen. Zusammen mit den Konfigurationsmöglichkeiten sind folgende Anpassungen möglich:

  • Definition eines anderen Referenzfeldes.

    • Definition einer anderen Startbedingung.

    • Anpassen des Feldmappings:

    • Werte aus anderen EVI-Feldern übernehmen.

    • Werte in andere BAPI-Felder übertragen.

    • Werte vor der Übertragung anpassen (Mapping oder Format).

    • Übertragen von zusätzlichen Feldern.

  • Um ein Customizing vorzunehmen, sollte man sich mit der Programmierung von BAPI-Aufrufen auskennen. Weiterhin ist es sinnvoll, den Aufbau der Prozesse des Moduls und der Scriptbibliothek zu kennen.

Ablaufbeschreibung

Verwenden der Schnittstelle - Ablauf einer Übertragung

Bei einer Änderung von SAP-relevanten Daten wird ein Satz in der WOI-TRANS-Tabelle erzeugt. Dieser Satz dient zum einen als Markierung für die Änderung (Kennzeichen: Hier ist etwas zu übertragen) als auch zur Protokollierung der Übertragung.

Damit ein Satz als SAP-relevant gilt, müssen folgende Bedingungen erfüllt sein:

  • Die Entität des Satzes muss für die Übertragung nach SAP grundsätzlich vorgesehen und dafür konfiguriert worden sein.

  • Es muss sich um eine Neuanlage aus SAP-Sicht handeln, oder es muss mindestens ein Feld geändert worden sein, das eine Auswirkung auf die Daten auf SAP-Seite hat. Diese Felder sind im Auslieferungszustand festgelegt und können über eine Konfiguration geändert werden.

  • Die Daten des Satzes müssen die Startbedingung der Übertragung erfüllen. Über die Startbedingung lässt sich konfigurieren, dass nur bestimmte Sätze nach SAP übertragen werden. Im Auslieferungszustand wird für jede Entität eine eigene Startbedingung definiert.

Wenn ein WOI-TRANS-Satz angelegt wurde, dann werden bei einer synchronen Übertragung die Daten sofort mittels des zur Entität passenden BAPI-Aufrufes nach SAP übertragen. Bei der asynchronen Variante übernimmt das ein zyklisch gestarteter Prozess, der die WOI-TRANS-Sätze ermittelt, die zur Übertragung anstehen.

Als Ergebnis der Übertragung wird bei einer Neuanlage der von SAP vergebene Schlüssel in das Referenzfeld in EVI eingetragen. Das Vorhandensein eines Wertes in diesem Feld ist ein Kennzeichen dafür, dass in SAP ein korrespondierender Satz vorhanden ist. Bei einer Aktualisierung wird dieser Wert dem BAPI-Aufruf mitgegeben, um den passenden Satz auf SAP-Seite zu identifizieren. Meldungen, die während der Übertragung entstehen, werden im WOI-TRANS-Satz eingetragen.

Weiterhin wird der Status während der Übertragung im WOI-TRANS-Satz gepflegt:

  • S - Start: Der zum WOI-TRANS-Satz gehörige Satz ist für die Übertragung vorgesehen.

  • E - Error: Beim Übertragen des Satzes ist ein Fehler aufgetreten, oder der Satz wird gerade übertragen. Der Status wird unmittelbar vor der Übertragung auf E gesetzt, so dass bei einem Abbruch der Fehlerstatus bestehen bleibt. Deshalb ist es auch möglich, dass der Satz sich gerade in Übertragung befindet.

  • F - Finished: Der Satz wurde erfolgreich übertragen.

  • R - Retry: Der Satz soll nach einem Fehler erneut übertragen werden. Dieser Status wird nicht automatisch gesetzt, sondern ist vom Administrator nach einer Fehlerbehandlung zu setzen.

Bei einer synchronen Übertragung wird das Ergebnis nach der Übertragung an den Benutzer gemeldet.

  1. Am Anfang steht das Ereignis, dass ein Benutzer einen Datensatz speichert. Auf dieses Ereignis reagiert der Prozess C12OSST_EVI2SAP_Mark

    1. Der Prozess prüft, ob es zu der Entität eine gültige globale Variable gibt und ob die Startbedingung erfüllt ist.

      1. Wenn es sich um eine explizit synchrone Übertragung handelt, wird an dieser Stelle abgebrochen.

    2. Anschließend prüft der Prozess durch Aufruf der Methode SC12OSSTEVI2SAPCommon.en<Entity>IsFirstTrans(), ob es sich um die erste Übertragung aus SAP-Sicht handelt oder eine Folgeübertragung (Aktualisierung). Dabei handelt es sich um eine entitätsspezifische Funktion. <Entity> ist dabei ein Platzhalter. Diese Funktionen gibt es also für jede Entität.

      1.  Im Standard wird die Methode SC12OSSTEVI2SAPCommon.isFirstTrans() aufgerufen, wodurch das Referenzfeld der Entität überprüft wird.

    3. Wenn es sich um eine Folgeübertragung handelt, dann werden die Felder bestimmt, die sich geändert haben. Wenn hier nicht mindestens ein Feld auftaucht, das auch in den SAP-relevanten Feldern durch den Eintrag fields in der globalen Variable definiert ist, wird die Übertragung abgebrochen.

    4. Der nächste Schritt besteht darin, einen Satz in der WOI-TRANS-Tabelle anzulegen.

    5. Danach ist der Prozess zu Ende, wenn es sich um eine asynchrone Übertragung handelt.

    6. -----------------------------------------

    7. Bei einer synchronen Übertragung wird diese im Folgenden vom Prozess C12OSST_EVI2SAP_Mark übernommen.

      1. Es wird geprüft, ob es einen WOI-TRANS-Satz im Status E-Error gibt. In diesem Fall findet keine Übertragung statt. Ist kein solcher Satz vorhanden, wird die Übertragung durch Aufruf der Funktion SC12OSSTEVI2SAP.mainTrans(transPk, null) gestartet. Diese Methode liest anhand von transPk den WOI-TRANS-Satz und überträgt durch Aufruf von entitätsspezifischen Methoden den Datensatz.

        1. Zuerst wird SC12OSSTEVI2SAP.en<Entity>TransByPk() aufgerufen. Anhand des übergebenen PK wird der Satz in einen IContainer und zur Weiterverarbeitung an SC12OSSTEVI2SAP.en<Entity>Trans() übergeben. Danach wird der Satz wieder gespeichert, weil davon ausgegangen wird, dass Änderungen vorgenommen wurden. en<Entity>Trans() wertet die Art des Aufrufs aus. Da zurzeit nur BAPI unterstützt wird, wird an dieser Stelle immer SC12OSSTEVI2SAP.en<Entity>TransBAPI() aufgerufen.

          1. In zukünftigen Versionen ist geplant, hier auch andere (konfigurierbare) Übertragungswege zu verwenden.

        2. en<Entity>TransBAPI() baut dann die Strukturen für die Übertragung nach SAP auf. Unmittelbar vor der Übertragung wird die Methode SC12OSSTEVI2SAP.en<Entity>TransBAPIBeforeExec() aufgerufen.

          1. Hier besteht die Möglichkeit, durch eine Übersteuerung in C2 den Aufbau der Strukturen zu verändern.

        3. Danach wird der BAPI-Aufruf ausgeführt. Um das Ergebnis in den IContainer einzutragen, wird die Methode SC12OSSTEVI2SAP.en<Entity>TransBAPISetResult() aufgerufen.

          1. Auch diese Methode kann in C2 übersteuert werden, um das Ergebnis in anderer Weise zu verarbeiten.

    8. -----------------------------------------

    9. Im Falle einer asynchronen Übertragung werden die letzten Schritte ab dem Aufruf von mainTrans() von dem Prozess C12OSST_EVI2SAP_TransferWorker übernommen, der in zyklischen Abständen gestartet wird. Dieser ruft mainTrans() für jeden offenen Satz (Status S-Start, R-Retry) aus der WOI-TRANS-Tabelle auf.

      1. Wenn die Übertragung explizit synchron erfolgt, wird dazu nach einem Klick auf den Aktionsbutton der Prozess C12OSST_EVI2SAP_TransferSync gestartet.  Dieser Prozess verwendet die Funktion SC12OSSTEVI2SAP.transferSync() zur Übertragung, die auch in eigenen Prozessen verwendet werden kann. Wie bei der Übertragung durch C12OSST_EVI2SAP_Mark wird die Startbedingung geprüft, ein WOI-TRANS-Satz angelegt und die Übertragung durch Aufruf von mainTrans() gestartet.

Entitäten

Die folgende Beschreibung gilt für den Auslieferungszustand. Durch Customizing ist es möglich, hier Abweichungen zu programmieren.

Geschäftspartner
  • Startbedingung: keine

  • Referenzfeld: SAP GP-Nr. - CustomerNo2.Customer

SAP-relevante Felder

Feld

Interner Feldname

Typ

PersontypKey

Nachname/Firma

Name1

Vornme/zusatz1

Name2

Zusatz/Zusatz2

Name3

Rechtsform (ISU)

C12ISULegal

  • Logik: Ein Geschäftspartner wird bei der Neuanlage zusammen mit Adresse und Telekomunikation übertragen.

    • Telekom: Dabei wird für jede Nummer ein eigener Telefondatensatz in SAP angelegt. Die Zusammensetzung der Telefonnummer kann über den Eintrag composeTel in der Konfiguration des Geschäftspartners (C12OSST_P_Customer) gesteuert werden.

      • Steht dort 0 (Default), oder fehlt der Wert, dann gilt folgende Logik:

        • Land(EVI) -> Land(SAP)

        • 0+Vorwahl(EVI) -> Nummer(SAP)

        • Nummer+Durchwahl(EVI) -> Nebenstelle(SAP)

        • Durchwahl(EVI) wird gelöscht und mit in die Nummer(EVI) aufgenommen

      • Steht dort eine 1, dann gilt:

        • 0+Vorwahl+Nummer+Durchwahl(EVI) -> Nummer(SAP)

        • Vorwahl und Durchwahl(EVI) werden mit in die Nummer(EVI) aufgenommen

        • Land, Vorwahl, Durchwahl(EVI) werden gelöscht

    • Adresse: Bei der Adresse wird nur die Standardadresse in SAP angelegt. Sie wird mit den Werten aus der ersten Adresse aus EVI gefüllt. Wenn es weitere Adressen in EVI gibt, dann werden diese in die Standardadresse von SAP mit aufgenommen - jedoch nur, wenn es sich dabei um eine Postfachadresse oder um eine Großkundenadresse handelt und die erste Adresse keine dieser beiden Adressarten besitzt. Es wird nur eine zusätzliche Adresse mit aufgenommen, da es nicht möglich ist, sowohl Postfach- als auch Großkundenadresse mit in die SAP-Adresse aufzunehmen. Bei dem Aktualisieren eines Geschäftspartners wird nur der Geschäftspartner selbst übertragen. Änderungen und Neuanlagen von Adressen werden über die Adressschnittstelle übertragen. Nachdem die Daten übertragen wurden, liefert SAP bei der Neuanlage eine Geschäftspartnernummer und eine Adressnummer zurück. Die Geschäftspartnernummer wird in das Feld SAP GP-Nr. (CustomerNo2.Customer) eingetragen. Die Adressnummer wird in das Feld Adressnummer (ISU) (C12ISUADDRNR.Address) in jeder Adresse, die für die Übertragung verwendet wurde, eingetragen. Zusätzlich wird bei diesen Adressen das Feld Adressbezug (NameKey.Address) →  ISU gesetzt

Feldmapping

Da der Fall composeTel=0 der Default ist, taucht nur dieser Fall in der Tabelle auf.

BAPI

Feld

EVI Quelle

Z_CU_FB_BUPA_CREATE_ISU
Z_CU_FB_BUPA_CHANGE_ISU

IV_ACCEPT_ERROR

=X, wenn addressCheck in globaler Variable auf 0 gesetzt ist

Z_CU_FB_BUPA_CREATE_ISU

IV_GROUP

Fester Wert "0001"

Z_CU_FB_BUPA_CREATE_ISU

IV_TYPE

=1 bei PersonTypeKey.Customer == H|F
=2 bei PersonTypeKey.Customer == U

=3 in allen anderen Fällen


Z_CU_FB_BUPA_CREATE_ISU

IS_PARTNERDATA.TITLE

=01 bei PersonTypeKey.Customer == H

=02 bei PersonTypeKey.Customer == F

=20 bei PersonTypeKey.Customer == U

Z_CU_FB_BUPA_CREATE_ISU

IS_PARTNERDATA.SEX_M

=X bei PersonTypeKey.Customer == H

Z_CU_FB_BUPA_CREATE_ISU

IS_PARTNERDATA.SEX_F

=X bei PersonTypeKey.Customer == F

Z_CU_FB_BUPA_CREATE_ISU
Z_CU_FB_BUPA_CHANGE_ISU

IS_PARTNERDATA.BPKIND

C12ISUBPKIND.Customer

Z_CU_FB_BUPA_CREATE_ISU
Z_CU_FB_BUPA_CHANGE_ISU

IS_PARTNERDATA.BU_SORT1

Name1.Customer (erste 20 Zeichen)

Z_CU_FB_BUPA_CREATE_ISU
Z_CU_FB_BUPA_CHANGE_ISU

IS_PARTNERDATA.PARTNERLANGUAGE

LanguageKey.Customer bei PersonTypeKey.Customer == H|F

Z_CU_FB_BUPA_CREATE_ISU
Z_CU_FB_BUPA_CHANGE_ISU

IS_PARTNERDATA.NAME_FIRST

Name2.Customer bei PersonTypeKey.Customer == H|F

Z_CU_FB_BUPA_CREATE_ISU
Z_CU_FB_BUPA_CHANGE_ISU

IS_PARTNERDATA.NAME_LAST

Name1.Customer bei PersonTypeKey.Customer == H|F

Z_CU_FB_BUPA_CREATE_ISU
Z_CU_FB_BUPA_CHANGE_ISU

IS_PARTNERDATA.TITLE_ACA1

AcademicTitle.Person bei PersonTypeKey.Customer == H|F

Z_CU_FB_BUPA_CREATE_ISU
Z_CU_FB_BUPA_CHANGE_ISU

IS_PARTNERDATA.BIRTHDATE

DateOfOrigin.Person bei PersonTypeKey.Customer == H|F

Z_CU_FB_BUPA_CREATE_ISU
Z_CU_FB_BUPA_CHANGE_ISU

IS_PARTNERDATA.NAME_ORG1

Name1.Customer bei PersonTypeKey.Customer == U

Z_CU_FB_BUPA_CREATE_ISU
Z_CU_FB_BUPA_CHANGE_ISU

IS_PARTNERDATA.NAME_ORG2

Name2.Customer bei PersonTypeKey.Customer == U

Z_CU_FB_BUPA_CREATE_ISU
Z_CU_FB_BUPA_CHANGE_ISU

IS_PARTNERDATA.LEGAL_ENTY

C12ISULegal.Customer bei PersonTypeKey.Customer == U

Z_CU_FB_BUPA_CREATE_ISU
Z_CU_FB_BUPA_CHANGE_ISU

IS_PARTNERDATA.NAME_ORG3

Name3.Customer bei PersonTypeKey.Customer == U
(erste 40 Zeichen)

Z_CU_FB_BUPA_CREATE_ISU
Z_CU_FB_BUPA_CHANGE_ISU

IS_PARTNERDATA.NAME_ORG4

Name3.Customer bei PersonTypeKey.Customer == U
(alles über 40 Zeichen)

Z_CU_FB_BUPA_CREATE_ISU
Z_CU_FB_BUPA_CHANGE_ISU

IS_PARTNERDATA.NAME_GRP1

Name1. Customer bei PersonTypeKey.Customer == G

Z_CU_FB_BUPA_CREATE_ISU
Z_CU_FB_BUPA_CHANGE_ISU

IS_PARTNERDATA.NAME_GRP2

Name2. Customer bei PersonTypeKey.Customer == G

Z_CU_FB_BUPA_CREATE_ISU

IT_ADDRESS.PO_BOX

Street.Address bei
AddressType.Address == POSTFACH

Z_CU_FB_BUPA_CREATE_ISU

IT_ADDRESS.POST_CODE2

ZIPKey.Address bei
AddressType.Address == POSTFACH

Z_CU_FB_BUPA_CREATE_ISU

IT_ADDRESS.PO_BOX_LOC

City.Address bei
AddressType.Address == POSTFACH

Z_CU_FB_BUPA_CREATE_ISU

IT_ADDRESS.PO_BOX_CTY

CountryKey.Address bei
AddressType.Address == POSTFACH

Z_CU_FB_BUPA_CREATE_ISU

IT_ADDRESS.COUNTRY_ISO

CountryKey.Address bei
AddressType.Address == STRASSE

Z_CU_FB_BUPA_CREATE_ISU

IT_ADDRESS.CITY2

District.Address bei
AddressType.Address == STRASSE

Z_CU_FB_BUPA_CREATE_ISU

IT_ADDRESS.POST_CODE1

ZIPKey.Address bei
AddressType.Address == STRASSE

Z_CU_FB_BUPA_CREATE_ISU

IT_ADDRESS.CITY1

City.Address bei
AddressType.Address == STRASSE

Z_CU_FB_BUPA_CREATE_ISU

IT_ADDRESS.STREET

Street.Address bei
AddressType.Address == STRASSE

Z_CU_FB_BUPA_CREATE_ISU

IT_ADDRESS.HOUSE_NUM1

StreetNumber.Address bei
AddressType.Address == STRASSE

Z_CU_FB_BUPA_CREATE_ISU

IT_ADDRESS.HOUSE_NUM2

StreetNumberAddition.Address bei
AddressType.Address == STRASSE

Z_CU_FB_BUPA_CREATE_ISU

IT_ADDRESS.NAME_CO

CoName1.Address bei
AddressType.Address == STRASSE

Z_CU_FB_BUPA_CREATE_ISU

IT_ADDRESS.POST_CODE3

ZIPKey.Address bei
AddressType.Address == GROSSKUNDE

Z_CU_FB_BUPA_CREATE_ISU

IT_TELEFONDATANONADDRESS. TELEPHONE

"0"+PhoneNoCity.Telecom (erste 30 Zeichen)
"0"+MobilePhoneCity.Telecom (erste 30 Zeichen)

Z_CU_FB_BUPA_CREATE_ISU

IT_TELEFONDATANONADDRESS. EXTENSION

PhoneNoBase.Telecom+ PhoneNoExtension.Telecom (erste 30 Zeichen)
MobilePhoneBase.Telecom+
MobilePhoneExtension.Telecom (erste 30 Zeichen)

Z_CU_FB_BUPA_CREATE_ISU

IT_TELEFONDATANONADDRESS.
TELNO

PhoneNoCountry.Telecom +
PhoneNoCity.Telecom +
PhoneNoBase.Telecom +
PhoneNoExtension.Telecom  (erste 30 Zeichen)
MobilePhoneCountry.Telecom +
MobilePhoneCity.Telecom +
MobilePhoneBase.Telecom +
MobilePhoneExtension.Telecom  (erste 30 Zeichen)

Z_CU_FB_BUPA_CREATE_ISU

IT_TELEFONDATANONADDRESS. COUNTRYISO

PhoneNoCountry.Telecom
MobilePhoneCountry.Telecom

Z_CU_FB_BUPA_CREATE_ISU

IT_TELEFONDATANONADDRESS. R_3_USER

Bei Mobilnummer: "3"

Z_CU_FB_BUPA_CREATE_ISU

IT_TELEFONDATANONADDRESS. CONSNUMBER

Laufende Nummer

Z_CU_FB_BUPA_CREATE_ISU

IT_TELEFONDATANONADDRESS.
STD_NO

"X", wenn IsDefault.Telecom gesetzt ist

Z_CU_FB_BUPA_CREATE_ISU

IT_E_MAILDATANONADDRESS.E_MAIL

Email.Telecom

Z_CU_FB_BUPA_CREATE_ISU

IT_E_MAILDATANONADDRESS.STD_NO

"X", wenn IsDefault.Telecom gesetzt ist

Adressen
  • Startbedingung: Die Adresse muss einem Geschäftspartner zugeordnet sein, der nach SAP übertragen wurde. Es darf noch keine andere Adresse mit diesem Adressbezug geben, die bereits nach SAP übertragen wurde. Zusätzlich darf es bei einer Postfachadresse keine Großkundenadresse geben, die bereits nach SAP übertragen wurde und bei einer Großkundenadresse keine Postfachadresse.

  • Referenzfeld: Adressnummer (ISU) - C12ISUADDRNR.Address

SAP-relevante Felder

Feld

Interner Feldname

Land

CountryKey

Postleitzahl

ZIPKey

Ort

City

Straße

Street

Hausnummer

StreetNumber

Hausnummerzusatz

StreetNumberAddition

Co Name

CoName1

  • Logik: Es werden nur Adressen übertragen, die einem Geschäftspartner zugeordnet sind, der bereits nach SAP übertragen wurde und eine Nummer von SAP besitzt. Es wird immer die SAP-Standardadresse dieses Geschäftspartners verwendet. Die Adressnummer wird aus einer der Adressen gelesen, die zum Geschäftspartner gehört und bereits übertragen wurde. Wie bei der Übertragung des Geschäftspartners kann zur Straßenadresse zusätzlich nur eine Postfachadresse oder eine Großkundenadresse übertragen werden. Alle anderen Adressen können zwar in EVI angelegt werden, werden aber nicht übertragen. SAP liefert bei der Neuanlage und nach erfolgreicher Übertragung eine Adressnummer zurück. Diese wird in das Feld Adressnummer (ISU) (C12ISUADDRNR.Address) eingetragen. Zusätzlich wird das Feld Adressbezug (NameKey.Address) -> ISU gesetzt.

Feldmapping

BAPI

Feld

EVI Quelle

Z_CU_FB_ADDRESS_CHANGE

IS_ADDRESSDATA.IV_ADDRESSGUID

C12ISUADDRNR.Address

Z_CU_FB_ADDRESS_ADD
Z_CU_FB_ADDRESS_CHANGE

IS_ADDRESS. IV_BUSINESSPARTNER
IS_ADDRESSDATA.IV_BUSINESSPARTNER

CustomerNo2.Customer

Z_CU_FB_ADDRESS_ADD
Z_CU_FB_ADDRESS_CHANGE

IS_ADDRESS.IV_ACCEPT_ERROR
IS_ADDRESSDATA.IV_ACCEPT_ERROR

=X, wenn addressCheck in globaler Variable auf 0 gesetzt ist

Z_CU_FB_ADDRESS_ADD
Z_CU_FB_ADDRESS_CHANGE

IS_ADDRESS.STANDARDADDRESS
IS_ADDRESSDATA.STANDARDADDRESS

=X, wenn DefaultCuAd.Address gesetzt

Z_CU_FB_ADDRESS_ADD
Z_CU_FB_ADDRESS_CHANGE

IS_ADDRESS.PO_BOX
IS_ADDRESSDATA.PO_BOX

Street.Address wenn AddressType.Address=="POSTFACH"

Z_CU_FB_ADDRESS_ADD
Z_CU_FB_ADDRESS_CHANGE

IS_ADDRESS.POSTL_COD2
IS_ADDRESSDATA.POSTL_COD2

ZIPKey.Address wenn AddressType.Address=="POSTFACH"

Z_CU_FB_ADDRESS_ADD
Z_CU_FB_ADDRESS_CHANGE

IS_ADDRESS.PO_BOX_CIT
IS_ADDRESSDATA.PO_BOX_CIT

City.Address wenn AddressType.Address=="POSTFACH"

Z_CU_FB_ADDRESS_ADD
Z_CU_FB_ADDRESS_CHANGE

IS_ADDRESS.POBOX_CTRY
IS_ADDRESSDATA.POBOX_CTRY

CountryKey.Address wenn AddressType.Address=="POSTFACH"

Z_CU_FB_ADDRESS_ADD
Z_CU_FB_ADDRESS_CHANGE

IS_ADDRESS.COUNTRYISO
IS_ADDRESSDATA.COUNTRYISO

CountryKey.Address wenn AddressType.Address=="STRASSE"

Z_CU_FB_ADDRESS_ADD
Z_CU_FB_ADDRESS_CHANGE

IS_ADDRESS.DISTRICT
IS_ADDRESSDATA.DISTRICT

District.Address wenn AddressType.Address=="STRASSE"

Z_CU_FB_ADDRESS_ADD
Z_CU_FB_ADDRESS_CHANGE

IS_ADDRESS.POSTL_COD1
IS_ADDRESSDATA.POSTL_COD1

ZIPKey.Address wenn AddressType.Address=="STRASSE"

Z_CU_FB_ADDRESS_ADD
Z_CU_FB_ADDRESS_CHANGE

IS_ADDRESS.CITY
IS_ADDRESSDATA.CITY

City.Address wenn AddressType.Address=="STRASSE"

Z_CU_FB_ADDRESS_ADD
Z_CU_FB_ADDRESS_CHANGE

IS_ADDRESS.STREET
IS_ADDRESSDATA.STREET

Street.Address wenn AddressType.Address=="STRASSE"

Z_CU_FB_ADDRESS_ADD
Z_CU_FB_ADDRESS_CHANGE

IS_ADDRESS.HOUSE_NO
IS_ADDRESSDATA.HOUSE_NO

StreetNumber.Address wenn AddressType.Address=="STRASSE"

Z_CU_FB_ADDRESS_ADD
Z_CU_FB_ADDRESS_CHANGE

IS_ADDRESS.HOUSE_NO2
IS_ADDRESSDATA.HOUSE_NO2

StreetNumberAddition.Address wenn AddressType.Address=="STRASSE"

Z_CU_FB_ADDRESS_ADD
Z_CU_FB_ADDRESS_CHANGE

IS_ADDRESS.C_O_NAME
IS_ADDRESSDATA.C_O_NAME

CoName1.Address wenn AddressType.Address=="STRASSE"

Z_CU_FB_ADDRESS_ADD
Z_CU_FB_ADDRESS_CHANGE

IS_ADDRESS.POSTL_COD1
IS_ADDRESSDATA.POSTL_COD1

ZIPKey.Address wenn AddressType.Address=="GROSSKUNDE"

Aktivitäten
  • Startbedingung:

    • Im Feld Kontakt-Nr(EVI) (C12ISUContEVI) muss eine gültige Nummer eingetragen worden sein. Da dieses Feld bei der Neuanlage über ein Pattern gefüllt wird, ist das immer der Fall, wenn das Customizing an dieser Stelle nicht verändert wurde.

    • Im Feld Aktivität mit (DefaultContactPerson) muss ein Ansprechpartner eingetragen sein, der zu einem Geschäftspartner gehört, der bereits nach SAP übertragen wurde und einen Wert im Feld SAP GP-Nr. (CustomerNo2) besitzt.

    • Die Felder Kontaktklasse (C12ISUCLASS), Kontaktaktion (C12ISUACTIVITY), Kontaktart (C12ISUTYPE) müssen gefüllt sein.

  • Referenzfeld: Kontakt-Nr. (ISU) - ISUContact.Activity

SAP-relevante Felder

Feld

Interner Feldname

Beginnt am

StartDate

Kontaktklasse (ISU)

C12ISUCLASS

Kontaktaktion (ISU)

C12ISUACTIVITY

Kontaktart (ISU)

C12ISUTYPE

Hausnummer

C12ISUF_COMING

Priorität

Priority

Text

Text

  • Logik: Im Feld C12ISUContEVI wird eine Aktivitätennummer für den Kontakt über ein Pattern generiert. Diese dient als Vorgabe für SAP. In SAP ist der durch das Pattern abgedeckte Nummernkreis als externer Nummernkreis zu definieren. Die von SAP zurückgelieferte Nummer für den Kontakt wird nach der Anlage in das Feld ISUContact geschrieben.

Feldmapping

BAPI

Feld

EVI Quelle

Z_CU_CREATE_BCONTACT

IS_CONTACTDATA.CONTACT

C12ISUContEVI.Activity

Z_CU_CREATE_BCONTACT

IV_TEXT_LANGUAGE

„D“

Z_CU_CHANGE_BCONTACT

IV_BP_CONTACT

ISUContact.Activity

Z_CU_CREATE_BCONTACT
Z_CU_CHANGE_BCONTACT

IS_CONTACTDATA.PARTNER
IS_BCONT.PARTNER

CustomerNo2.Customer

Z_CU_CREATE_BCONTACT
Z_CU_CHANGE_BCONTACT

IS_CONTACTDATA.CONTACT_PERSON
IS_BCONT.ALTPARTNER

CustomerNo2.Customer

Z_CU_CREATE_BCONTACT
Z_CU_CHANGE_BCONTACT

IS_CONTACTDATA.CLASS
IS_BCONT.CCLASS

C12ISUCCLASS.Activity

Z_CU_CREATE_BCONTACT
Z_CU_CHANGE_BCONTACT

IS_CONTACTDATA.ACTIVITY
IS_BCONT.ACTIVITY

C12ISUACTIVITY.Activity (Zeichen 5-9)

Z_CU_CREATE_BCONTACT
Z_CU_CHANGE_BCONTACT

IS_CONTACTDATA.TYPE
IS_BCONT.CTYPE

C12ISUCTYPE.Activity

Z_CU_CREATE_BCONTACT
Z_CU_CHANGE_BCONTACT

IS_CONTACTDATA.DIRECTION
IS_BCONT.F_COMING

C12ISUF_COMING.Activity

Z_CU_CREATE_BCONTACT
Z_CU_CHANGE_BCONTACT

IS_CONTACTDATA.PRIORITY
IS_BCONT.PRIORITY

Priority.Activity
Mapping für A,B,C:
A->01
B->03
C->05

Z_CU_CREATE_BCONTACT
Z_CU_CHANGE_BCONTACT

IS_CONTACTDATA.CONTACT_DATE
IS_BCONT.CDATE

StartDate.Activity

Z_CU_CREATE_BCONTACT
Z_CU_CHANGE_BCONTACT

IS_CONTACTDATA.CONTACT_TIME
IS_BCONT.TIME

StartDate.Activity

Z_CU_CREATE_BCONTACT
Z_CU_CHANGE_BCONTACT

IS_CONTACTDATA.CREATED_BY
IS_BCONT.AENAM

C12SAPUser.Employee
Employee aus DelegatedTo.Activity

Z_CU_CREATE_BCONTACT
Z_CU_CHANGE_BCONTACT

IS_CONTACTDATA.CREATED_ON
IS_BCONT.AEDAT

aktuelles Datum

Z_CU_CREATE_BCONTACT
Z_CU_CHANGE_BCONTACT

IT_NOTICETEXT.TEXT_LINE

Text.Activity
Für jede Textzeile eine Tabellenzeile

Z_CU_CREATE_BCONTACT
Z_CU_CHANGE_BCONTACT

IT_NOTICETEXT.FORMAT_COL

„/“

HTML-Texte: SAP kann kein HTML im Text eines Kontaktes. Deshalb müssen sämtliche HTML-Tags, die im Text einer Aktivität stehen, beim Übertragen herausgefiltert werden. Um diesen Filter zu aktivieren ist die Option htmlText=1 in der globalen Variablen zur Konfiguration zu setzen. Neben dem Entfernen von HTML-Tags findet eine Umsetzung von Zeichen statt, die in HTML-Ersatzdarstellung angegeben wurden. Folgende Zeichen werden im aktuellen Stand unterstützt.

Ersatzdarstellung

Zeichen

&#160;

<Leerzeichen>  

&auml;

ä

&uuml;

ü

&ouml;

ö

&Auml;

Ä

&Uuml;

Ü

&Ouml;

Ö

&szlig

ß

&nbsp;

<Leerzeichen>

&#228;

ä

&#252;

ü

&#246;

ö

&#196;

Ä

&#220;

Ü

&#214;

Ö

&#223;

ß

&gt;

&lt;

&quot

"

&amp;

&

Administrative Tätigkeiten

Bei der Übertragung von Daten nach SAP werden Sätze in der WOI-TRANS-Tabelle erzeugt. Aufgabe des Administrators ist es, diese Sätze zu überwachen und Fehler zu erkennen. Dazu sind in regelmäßigen Abständen die Sätze aus der WOI-TRANS-Tabelle mit dem Status Fehler zu überprüfen. Als Hilfe dazu wird die Suche C12TRANS_EVI2SAP_SCORE angeboten, mit der sich eine Score-Kachel auf dem Desktop anlegen lässt.

Durch einen Klick auf die Anzahl können die WOI-TRANS-Sätze zur Bearbeitung geladen werden. In einem WOI-TRANS-Satz können folgende Daten eingesehen werden:

  • Ein Protokoll der Übertragung mit Uhrzeit und Fehlermeldung

  • EVI-Mitarbeiter: Der Mitarbeiter, der durch den Speichervorgang oder das Klicken des Aktionsbuttons den Übertragungsvorgang ausgelöst hat.

  • EVI-Entität: Die Entität des Datensatzes, der übertragen werden sollte.

  • EVI-Primärschlüssel: Der Schlüssel des Datensatzes, der übertragen werden sollte.

Über den Aktionsbutton "EVI Datensatz öffnen" ist es möglich, den Datensatz zu betreten und sich die Daten anzuschauen, um so den Grund für den Fehler zu finden. Im Datensatz selbst gibt es den Aktionsbutton "Transaktionen", mit dem alle WOI-TRANS-Sätze zu diesem Datensatz eingesehen werden können. Dies ist hilfreich, um die Ergebnisse früherer Übertragungen zu sehen und zu bewerten.

Ansonsten ist es sinnvoll, Kontakt mit dem Mitarbeiter aufzunehmen, der aus dem Feld EVI-Mitarbeiter ersichtlich ist, um mit ihm den Fehlerfall zu klären.

Wurde der Fehler behoben, kann der Transaktionsstatus auf R-Restart gesetzt werden. Damit ist der Satz für eine erneute Übertragung vorgesehen. Bei einer asynchronen Übertragung wird der Satz dann im nächsten Zyklus noch einmal übertragen. Bei einer synchronen Übertragung muss die Übertragung nochmals manuell gestartet werden.

Um den Administrator zu entlasten, wird das Ergebnis der Übertragung bei einer synchronen Übertragung dem Benutzer angezeigt. Er kann dann selbst entscheiden, ob er den Fehler bewerten kann und den Status R-Restart auf Grund einer Ja-Nein-Abfrage setzen.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.