Installationsanleitung für den CCM Prozessmonitors (B2B-Seite, Frontend und Backend)

Einleitung

Der CCM Prozessmonitor besteht aus einem Frontend, das zur Darstellung und Modifizierung der Daten dient, und einen Backend, in dem z.B. die Persistierung und Korrelation der Daten stattfindet.

Es wird ein Deployment mit einer Version von mindestens 1.6.10 vorausgesetzt.

UI-Module

Die Benutzeroberfläche (Module_CCMPM) wird standardmäßig mit dem Deployment ausgeliefert. Damit sie über ein Icon in der Navigationsleiste aufrufbar ist, muss sie über ein Rollenattribut eingebunden werden. Dieses muss dann allen Usern zugeordnet werden, die das Modul verwenden sollen.

Es besteht zusätzlich oder alternativ auch die Möglichkeit, die Prozesse in Form von Arbeitsvorräten im CCM anzeigen zu lassen (Module_CCMPM_AV). Dazu muss ein weiteres Rollenattribut angelegt und den Usern zugeordnet werden.

Einrichten der Rollenattribute

Im Modul “Benutzer und Rollen Administration/Attribute” werden die Rollenattribute wie folgt angelegt:

Rollenattribut Module_CCMPM (Einrichtung der Prozessmonitor-Oberfläche)

AttributId Wert
Module_CCMPM Override={view=mainView,type=AddChild,target=toolBarBox,name=org.b2bbp.ui.uicomponent.MainNavLinkButton,value=[id:'bptViewLinkButton';label:'CCM Prozessmonitor';isExtension:'false';type:'com.nextlevel.ccm.bpt.ui.swf';provider:'nextlevel.com';version:'1.0';container:'applicationViewStack';toolTip:'CCM Prozessmonitor';width:'180';labelPlacement:'right';textAlign:'left';horizontalGap:'10';paddingLeft:'5';paddingRight:'5';iconURL:'images/famfamfam-icons/chart_pie.png']}

Rollenattribut Module_CCMPM_AV (optional: Einrichtung als Arbeitsvorräte)

AttributId Wert
Module_CCMPM_AV Override={view=dummyView,type=AddChild,target=toolBarBox,name=org.b2bbp.ui.uicomponent.MainNavLinkButton,value=[id:'bptMonitor';label:'CCM Prozessmonitor AV';isExtension:'false';type:'com.nextlevel.ccm.bpt.ui.swf';provider:'nextlevel.com';version:'1.0';container:'applicationViewStack';toolTip:'CCM Prozessmonitor AV';width:'180';labelPlacement:'right';textAlign:'left';horizontalGap:'10';paddingLeft:'5';paddingRight:'5';iconURL:'images/famfamfam-icons/monitor.png']}

Einrichten der Rollenzuordnung

Die neu angelegten Rollenattribut sollten der Admin-Rolle ccm_11 zugeordnet werden und evtl. zusätzlich einer spezifischen, neu anzulegenden Rolle ccm_processmonitor.

Diese Rolle kann dann allen Usern zugeordnet werden, die den CCM Prozessmonitor verwenden sollen.

Services

RFC-Service

Da das CCM Prozessmonitoring Modul seine Daten u.a. von I-SU Systemen erhält, muss eine Anbindung an diese Systeme konfiguriert werden. Hierfür wechselt man in die Administration und wählt den Reiter Services aus.

Die einzutragenden Werte können der nachfolgenden Tabelle entnommen werden.

Eigenschaft Wert  
ID Beliebig (z.B. RFC-CCMPM)  
Name Beliebig (z.B. CCM PM Sync)  
Typ RFC  
Klasse com.b2bbp.services.inbound.RFCService30  
Channel Leer lassen  
Richtung Engine nach Business Partner  
Status Leer lassen  
Erstellt von Beliebig  
Startup Aktivieren  

Nach dem Anlegen des Services müssen diesem noch 3 zusätzliche Eigenschaften hinzugefügt werden (s. Abb. 1

Eigenschaften Wert Kontext überschreiben
B3P_JCO_DESTINATION_DATA_PROVIDER CLIENT-CCMPM Nein
B3P_JCO_SERVER_DATA_PROVIDER SERVER-CCMPM Nein
B3P_RFC_ZNLICCM_BPT_TRANSFER_DATA com.nextlevel.ccm.bpt.inbound.BPTProcessService Nein

Die Konfigurationen der I-SU Systeme werden dann gesondert in den Extensions JCO_DESTINATION_DATA_PROVIDER und JCO_SERVER_DATA_PROVIDER eingetragen

Die Konfiguration dieser Extension wird nachfolgend beschrieben. Falls die Extensions bereits existieren müssen die untenstehenden Angaben nur hinzugefügt werden. Die Extensions sollten auf keinen Fall überschrieben werden.

Extension JCO_DESTINATION_DATA_PROVIDER

############################### CCM BPT
CLIENT-CCMPM=jco.client.lang=<Länderkürzel> z.B. DE
CLIENT-CCMPM=jco.destination.peak_limit=3
CLIENT-CCMPM=jco.client.client=<Mandantennummer>
CLIENT-CCMPM=jco.client.user=<Username>
CLIENT-CCMPM=jco.client.passwd=<Passwort - Base64 kodiert >
CLIENT-CCMPM=jco.client.sysnr=<Systemnummer>
CLIENT-CCMPM=jco.client.ashost=<Hostname oder IP-Adresse des I-SU>
CLIENT-CCMPM=jco.destination.pool_capacity=1 

Extension JCO_SERVER_DATA_PROVIDER

SERVER-CCMPM=jco.server.connection_count=10
SERVER-CCMPM=jco.server.gwhost=<Hostname oder IP-Adresse des I-SU>
SERVER-CCMPM=jco.server.progid=<Programm ID>
SERVER-CCMPM=jco.server.gwserv=<Gateway Server>
SERVER-CCMPM=jco.server.repository_destination=CLIENT-CCMPM

Anpassen der Windows “services” Datei

Auf einigen Windows-Sytemen wird es ggf. notwendig sein, die “services” Datei anzupassen (z.B.: C:\Windows\System32\drivers\etc\services), falls es Probleme bei der Konnektivität zwischen Tomcat und SAP gibt. Prüfen, ob es dabei Probleme gibt, kann man z.B. mit der Ausführung von telnet auf der Kommandozeile. Der Port, der dabei getestet werden sollte, ist abhängig vom Gateway-Server (siehe Einstellungen für JCO_SERVER_DATA_PROVIDER oben). Endet der Gateway auf 00 (z.B. sapgw00), so kommunizieren Tomcat  und SAP über den Port 3200. Falls das Gateway auf 05 endet ist der Port 3205 usw.

In der Datei wird dann eine zusätzliche Zeile eingefügt, etwa so:

sapgw00             3200/tcp                           #SAP port 3200

Process Instance Handler Service (Index-Service)

Für jeden eingerichteten Prozesstyp (z.B. Lieferbeginn, Lieferende, Sperrprozess) müssen zwei Services eingerichtet werden: Ein Indexer-Service für die Queue und ein Indexer-Service für die Error Queue.

Ab der Version 1.8.5 ist es möglich, die beiden genannten Services als INDEX-Services einzurichten. Aufgrund verbesserter Perfomance empfehlen wir diese Variante gegenüber der Einrichtung als SCHEDULER-Service. Die nachfolgende Tabelle gibt alle notwendigen Parameter an, die bei der Konfiguration der Services zu beachten sind.

Eigenschaft Wert
ID Beliebig (z.B. CCMPM_INDEXER)
Name Beliebig (z.B. CCMPM – Process Instance Handler)
Typ INDEX
Klasse com.nextlevel.ccm.bpt.services.ProcessInstanceHandlerService
Channel Leer lassen
Richtung Engine nach Business Partner
Status Leer lassen
Erstellt von Beliebig
Startup Aktivieren

  Nach dem Anlegen des Services müssen noch zusätzliche Eigenschaften hinzugefügt werden, die man der nachfolgenden Tabelle entnehmen kann.

Eigenschaften Wert Kontext überschreiben
B3P_PROCESS_TYPE_TO_BE_PROCESSED Jeder Prozesstyp sollte seinen eigenen Indexer und Error-Indexer haben. Dieser Parameter gibt an, zu welchem Prozesstyp der Indexer gehört, z.B. BEGOFSUPPL für Lieferbeginn Nein
B3P_POLL_INTERVAL Dieser Parameter setzt das Interval fest, mit welchem die Puffer-Tabelle gelesen werden soll (in Millisekunden). Ein geeigneter Wert ist z.B. 1000, was bedeutet, dass die Tabelle sekündlich geleesen wird. Nein
B3P_DO_DELETE_WHEN_PROCESSED Gibt an, ob die verarbeiteten Datensätze aus der persistenten Queue (DB) gelöscht werden können (produktiv: true, zum debuggen: false); verarbeitete Datensätze werden in der DB markiert (Spalte processed=true) Nein
B3P_FORCE_INDEX_UNLOCK Führt beim Starten der Verarbeitungen einen Unlock auf allen Indizes durch, falls diese gelockt sind (eher false) Nein
B3P_ENABLE_MERGE Aktiviert die Merge-Funktion zum nachträglichen Zusammenführen von Prozessinstanzen (normalerweise false) Nein
B3P_FETCH_SIZE Diese Eigenschaft gibt an, wie viele Einträge aus der Puffer Tabelle in einem Durchlauf gelesen werden sollen (z.B. 50). Nein
B3P_END_INSTANCE_WHEN_FINISH_STEP_ARRIVES Aktiviert die Funktion, dass bei Erreichen eines Endschrittes der bestehende Vorgang sofort auf diesen Endschritt aktualisiert wird und der Vorgang die Gesamtstatusfarbe Gelb erhält. Nein
B3P_CHECK_DEADLINE_EACH_TIME Wenn die Eigenschaft auf true gesetzt ist, dann wir bei jedem Dateneingang eine Fristenprüfung durchgeführt. So kann gewährleistet werden, dass auch bei einer beendeten Prozessinstanz ein gelber Fristenstatus gezeigt wird, falls es im Laufe der Verabeitung eine Fristenverletzung gab. Nein

Error Queue Service (Index-Service)

Analog zum oben genannten Service kann noch ein zweiter Service eingerichtet werden, der „aussortierte“ Datensätze erneut behandelt. Diese „aussortierten“ Datensätze werden in eine separate Error-Queue geschrieben, die in definierbaren Abständen neu behandelt werden. Der Service sollte als Kopie vom oben beschriebenen Process Instance Handler Service erstellt werden.

Eigenschaft Wert
ID Beliebig (z.B. CCMPM_ERROR_Q)
Name Beliebig (z.B. CCMPM – Error Queue Handler)
Typ INDEX
Klasse com.nextlevel.ccm.bpt.services.ErrorQueueService
Channel Leer lassen
Richtung Engine nach Business Partner
Status Leer lassen
Erstellt von Beliebig
Startup Aktivieren

Zusätzlich zu dem oben genannten Service-Paramtern kommt noch eine wichtige Einstellung hinzu, siehe unten. Die restlichen Parameter können gleich bleiben.

Eigenschaften Wert Kontext überschreiben
B3P_ERROR_LEVEL_INTERVAL Zeitabstände in Minuten zwischen den unterschiedlichen Errorstufen. Höhere Errorstufen sollten erst nach größeren Zeitabständen wieder neu behandelt werden. (z.B. 1,20,100) Nein

Optional (veraltet): Einrichtung als Scheduler Services

Neben der Möglichkeit 2, die oben genannten Services als Index-Services einzurichten, kann man diese auch als SchedulerServices einrichten (gängige Konfiguration vor Version 1.8.5).

Eigenschaft Wert
ID Beliebig (z.B. BPT_SCHEDULER)
Name Beliebig (z.B. BPT – Process Instance Handler)
Typ SCHEDULER
Klasse: org.b2bbp.service.inbound.scheduled.SchedulerRegisterService
Channel Leer lassen
Richtung Engine nach Business Partner
Status Leer lassen
Erstellt von Beliebig
Startup Aktivieren

Statt den Klassennamen com.nextlevel.ccm.bpt.services.ProcessInstanceHandlerService bzw. com.nextlevel.ccm.bpt.services.ErrorQueueService bei der Einrichtung des Service anzugeben wird hier die Klasse org.b2bbp.service.inbound.scheduled.SchedulerRegisterService und der Servicetyp SCHEDULER angegeben. Keinefalls sollten Scheduler-Services UND Index-Services gleichzeitig konfiguriert werden. Da es sich um einen SchdulerService handelt müssen die typischen Scheduler-Parameter angegeben werden (B3P_DELAY_MINUTES, B3P_DELAY_REPEAT,B3P_SCHEDULER_NAME,B3P_SCHEDULER_TYPE und B3P_SCHEDULER_REGISTER_CLASSNAME).

Die restlichen Service-Attribute (B3P_DO_DELETE_WHEN_PROCESSED, usw.) bleiben gleich.

Global Properties

Falls es sich um ein verteiltes System handelt und die genannten Services auf unterschiedlichen Knoten konfiguriert sind, müssen diese in den Global Properties noch den Nodes zugeordnet werden (z.B. NODE_101 o.ä.).

Damit die Indizierung der eingehenden Daten funktioniert, müssen 4 neue Global Properties gesetzt werden die jeweils einen Pfad zu einem Index enthalten, siehe unten.

Eigenschaft

Wert

B3P_BPT_CONTROL_POINT_INDEX_DIRECTORY

Pfad zu dem Ordner, in dem dieser Index gespeichert werden soll (z.B.
./tomcat_all/index/CONTROL_POINT_INDEX

B3P_BPT_INSTANCE_OVERVIEW_INDEX_DIRECTORY

Pfad zu dem Ordner, in dem dieser Index gespeichert werden soll (z.B.
./tomcat_all/index/INSTANCE_OVERVIEW_INDEX

B3P_BPT_OBJECT_INDEX_DIRECTORY

Pfad zu dem Ordner, in dem dieser Index gespeichert werden soll (z.B.
./tomcat_all/index/OBJECT_INDEX

B3P_BPT_INSTANCE_ID_INDEX_DIRECTORY

Pfad zu dem Ordner, in dem dieser Index gespeichert werden soll (z.B.
./tomcat_all/index/INSTANCE_ID_INDEX

B3P_BPT_MAX_RESULTS

Maximale Anzahl der Suchergebnisse (z.B. 10000)

Extensions

B3P_BPT_CONFIGURATION

Zusätzlich zu den bestehenden Extensions muss eine neue Extension namens B3P_BPT_CONFIGURATION angelegt werden. Für den Installationsprozess kann die Extension erst mal leer bleiben, wichtig ist nur, dass sie angelegt wurde.

In dieser Extension werden später die einzelnen Prozesstypen, die überwacht werden sollen, angelegt und konfiguriert. Eine genaue Beschreibung zur Konfiguration neuer Prozesstypen ist im CCM Prozessmonitoring Benutzerhandbuch zu finden.

B3P_BPT_OBJECT_CONF

Eine weitere Extension namens B3P_BPT_OBJECT_CONF kann angelegt werden, um sprechende Namen zu den übertragenen SAP Objekten und deren Statusinformationen zu hinterlegen. Nachfolgend einige Beispiele:

#Objekttypen
DISCDOC=Sperrbeleg
ISUPOD=Zählpunkt
…
#Sperrbeleg Statusinformationen (<OBJEKTTYP>_<OBJEKTSTATUS>)
DISCDOC_00=Neu
DISCDOC_01=Neu, Freigabe nicht erforderlich
DISCDOC_10=Freigegeben

Damit aus dem CCM Prozessmonitoring Modul direkt in die SAP Systeme, die die Daten schicken, gesprungen werden kann, muss die Extension EXTERNAL_LINK_METADATA angepasst werden. Es gibt 2 Sets an Konfigurationen, je nachdem ob Dynamic Links verwendet werden.

Die Konfiguration ohne Dynamic Links muss wie folgt gesetzt werden:

isDynamic=false
EXTLINK_METADATA=objectsGrid.value.installCondition=type
EXTLINK_METADATA=objectsGrid.value.installConditionValue=ISUPOD
EXTLINK_METADATA=objectsGrid.value.installPath=objectsGrid.key
EXTLINK_METADATA=objectsGrid.value.uri=/b2bbp-engine/extLink
EXTLINK_METADATA=objectsGrid.value.uriParams=&sysId:$(systemId)&client:$(sysIdExtension)&command:SMEN

  EXTLINK_METADATA=objectsGrid3.value.installCondition=type EXTLINK_METADATA=objectsGrid3.value.installConditionValue=DISCDOC EXTLINK_METADATA=objectsGrid3.value.installPath=objectsGrid.key EXTLINK_METADATA=objectsGrid3.value.uri=/b2bbp-engine/extLink EXTLINK_METADATA=objectsGrid3.value.uriParams=&sysId:$(systemId)&client:$(sysIdExtension)&command:EC87 EDISCD-DISCNO->$(value)

  EXTLINK_METADATA=objectsGrid4.value.installCondition=type EXTLINK_METADATA=objectsGrid4.value.installConditionValue=IDOC EXTLINK_METADATA=objectsGrid4.value.installPath=objectsGrid.key EXTLINK_METADATA=objectsGrid4.value.uri=/b2bbp-engine/extLink EXTLINK_METADATA=objectsGrid4.value.uriParams=&sysId:$(systemId)&client:$(sysIdExtension)&command:*WE02 CREDAT-LOW->01.01.2013,DOCNUM-LOW->$(value)

EXTLINK_METADATA=objectsGrid5.value.installCondition=type
EXTLINK_METADATA=objectsGrid5.value.installConditionValue=SWTDOC
EXTLINK_METADATA=objectsGrid5.value.installPath=objectsGrid.key
EXTLINK_METADATA=objectsGrid5.value.uri=/b2bbp-engine/extLink
EXTLINK_METADATA=objectsGrid5.value.uriParams=&sysId:$(systemId)&client:$(sysIdExtension)&command:*ESWTMON01 SO_SWTDO-LOW-&gt;$(value)

EXTLINK_METADATA=objectsGrid2.value.installCondition=type
EXTLINK_METADATA=objectsGrid2.value.installConditionValue=PDOC
EXTLINK_METADATA=objectsGrid2.value.installPath=objectsGrid.key
EXTLINK_METADATA=objectsGrid2.value.uriParams=&sysId:$(systemId)&client:$(sysIdExtension)&command:*/IDXGC/PDOCMON01 SO_SWTDO-LOW-&gt;$(value)
EXTLINK_METADATA=objectsGrid2.value.uri=/b2bbp-engine/extLink

EXTLINK_METADATA=objectsGrid3.value.installCondition=type
EXTLINK_METADATA=objectsGrid3.value.installConditionValue=BPEM
EXTLINK_METADATA=objectsGrid3.value.uri=/b2bbp-engine/extLink
EXTLINK_METADATA=objectsGrid3.value.installPath=objectsGrid.key
EXTLINK_METADATA=objectsGrid3.value.uriParams=&sysId:$(systemId)&client:$(sysIdExtension)&command:*EMMAC3 EMMAD_CASEHDR-CASENR-&gt;$(value)

Die Konfiguration mit Dynamic Links muss wie folgt gesetzt werden:

  isDynamic=true CONDITION=$(get.type)=ISUSWITCHD=BPT_EXTLINK_WB,$(get.type)=ISUTASK=BPT_EXTLINK_DA,TRUE=TRUE=BPT_EXTLINK_DEFAULT

BPT_EXTLINK_WB.GROUPS=System,User,Function
BPT_EXTLINK_WB.ELEMENTS.System=Name,Client
BPT_EXTLINK_WB.ELEMENTS.User=Name,Password,Language
BPT_EXTLINK_WB.ELEMENTS.Function=Command

BPT_EXTLINK_WB.System.Name=$(get.systemId)
BPT_EXTLINK_WB.System.Client=$(get.sysIdExtension)

BPT_EXTLINK_WB.User.Name=$(mappingTemplate,$(get.systemId),$(get.sysIdExtension),SAPUID)
BPT_EXTLINK_WB.User.Language=DE
BPT_EXTLINK_WB.User.Password
BPT_EXTLINK_WB.Function.Command=\*ESWTMON01 SO_SWTDO-LOW-&gt;$(get.value)

BPT_EXTLINK_DA.GROUPS=System,User,Function
BPT_EXTLINK_DA.ELEMENTS.System=Name,Client
BPT_EXTLINK_DA.ELEMENTS.User=Name,Password,Language
BPT_EXTLINK_DA.ELEMENTS.Function=Command

BPT_EXTLINK_DA.System.Name=$(get.systemId)
BPT_EXTLINK_DA.System.Client=$(get.sysIdExtension)
BPT_EXTLINK_DA.User.Name=$(mappingTemplate,$(get.systemId),$(get.sysIdExtension),SAPUID)
BPT_EXTLINK_DA.User.Password
BPT_EXTLINK_DA.User.Language=DE
BPT_EXTLINK_DA.Function.Command=\*WE02 CREDAT-LOW-&gt;01.01.2013, DOCNUM-LOW-&gt;$(get.value)

BPT_EXTLINK_DEFAULT.GROUPS=System,User,Function
BPT_EXTLINK_DEFAULT.ELEMENTS.System=Name,Client
BPT_EXTLINK_DEFAULT.ELEMENTS.User=Name,Password,Language
BPT_EXTLINK_DEFAULT.ELEMENTS.Function=Command  
BPT_EXTLINK_DEFAULT.System.Name=$(get.systemId)
BPT_EXTLINK_DEFAULT.System.Client=$(get.sysIdExtension)
BPT_EXTLINK_DEFAULT.User.Name=$(mappingTemplate,$(get.systemId),$(get.sysIdExtension),SAPUID)
BPT_EXTLINK_DEFAULT.User.Password
BPT_EXTLINK_DEFAULT.User.Language=DE
BPT_EXTLINK_DEFAULT.Function.Command=SMEN

B3P_BPT_FACTORY_CALENDAR

Durch die Anpassung dieser Extension wird die Berechnungsgrundlage für die Fristenprüfung gegeben, falls die Zeiteinheit Werktage (WD) gewählt wurde. In der unten angegebenen Konfiguration werden Samstage wie Sonntage und die explizit genannten Feiertage nicht als Werktag gezählt.

days.excluded=SAT;SUN

01.01.2019
19.04.2019
22.04.2019
01.05.2019
30.05.2019
10.06.2019

20.06.2019
03.10.2019
01.11.2019
25.12.2019
26.12.2019

Datenbanktabellen

Zur Persistierung der eingehenden Daten müssen zwei neue Datenbanktabellen den bestehenden Tabellen hinzugefügt werden. Entsprechende Datenbankskripte finden sich in der Auslieferung.

Tabelle B2BBP_BPT_TRANSFER_DATA

  

Tabelle B2BBP_BPT_ERROR_Q

 

View Me   Edit Me