Dieses Dokument beschreibt das Customizing der B2B by Practice Plattform sowie aller benötigten Abhängigkeiten und praktischen Werkzeugen.

1 Überblick

Dieses Dokument beschreibt das Customizing der B2B by Practice Plattform sowie aller benötigten Abhängigkeiten und praktischen Werkzeugen.

2 Grundsätzliches

Slash (‚/‘) und Backslash (‚\‘) dürfen nicht vertauscht werden. Unter Windows muss in allen Pfaden, die als Einstellung in B2B eingetragen werden der Slash als Verzeichnistrenner genutzt werden.

B2B und alle zugehörigen Programme sind in dieser Anleitung beispielhaft unter C:\B2B abgelegt. Es kann natürlich auch jeder andere Pfad genutzt werden. Alle Pfadangaben aus dieser Anleitung müssen dann entsprechend angepasst werden.

3 Customizing

3.1 Customizing einspielen

Customizing einspielen: Nicht mehr wie in Neuaufbau.ppt beschrieben sondern über B2B selbst: Administration à Global Properties à Customizing hoch-/runterladen

Customizing hochladen und Tomcat neu starten

3.2 Global Properties

In DBVisualizer (NICHT in B2B unter Administration -> Global Properties) in Tabelle B2BBP_ADM_GLOBAL_PROPERTY folgende Properties ändern:

Achtung: Hier müssen immer Slashes als Verzeichnistrenner genutzt werden!

Die Verzeichnisse wurden in der Installationsdokumentation angelegt. Man kann natürlich auch beliebige andere Verzeichnisse nutzen und die Pfade in der folgenden Konfiguration entsprechend anpassen.

  1. B3P_SEARCH_INDEX_DIRECTORY=C:/B2B/tomcat_all/index/full – Verzeichnis für Suchindex

  2. B3P_LOG4J_BASE_DIR= C:/B2B/tomcat_all/logs – Verzeichnis für B2B Logs

  3. SERVERNAME=99, LAST STARTED AT… - auf 1 ändern (Standardmäßig meldet sich Tomcat als Knoten 99 an). Dadurch wird dem Tomcat die Nummer 1 zugewiesen. Für jeden weiteren Knoten dieses Property entsprechend anpassen.

  4. ggf. alte Knoten der Form SERVERNAME=x, LAST STARTED AT… löschen.

  5. NODE_x (mit x = Knotennummer wie unter 3. Zugewiesen): hier alle Services eintragen, die auf diesem Knoten ausgeführt werden dürfen. Wenn keine NODE_* Parameter gesetzt sind, werden alle aktiven Services auf allen Nodes ausgeführt

  6. B3P_CLUSTER_IPS_NODES=localhost:1;localhost:2;… - Hier werden alle Clusternodes eintragen: bisher nur localhost:1

  7. B3P_REPORTING_DB_URI=jdbs:orable:thin@… Einstellungen für CCM Reporting. Ebenso B3P_REPORTING_DB_USER, B3P_REPORTING_DB_PASSWORD, B3P_REPORTING_DB_DRIVER und B3P_REPORTING_DB_SCHEMA anpassen

  8. B3P_PROXY_EXCLUDELIST=localhost;*.domain.tldAS2 Hosts, die ohne Proxy angesprochen warden sollen

  9. B3P_MAIL_FORWARD_SMTP_HOST=smtp.domain.tldoder IP

  10. B3P_LOG4J_LEVEL_PERF=ERROR - Loglevel für einzelne Klassen

  11. GGF: B3P_LOG4J_LEVEL=ERROR – Level für B2B Logausgaben einstellen

  12. B3P_RELOAD_PASSWORD – Password, das für den Durchstart der Anwendung und den WebForwarder/WebUploader und die Startseite benötigt wird. Das Passwort kann mit encrypt.bat erstellt werden (Siehe „Passwörter erstellen mit encrypt.bat“)

  13. B3P_MAIL_FORWARD_FROM=email@adresse - Default Mailabsender, wenn man im Cockpit eine Mail weiterleitet. (clearing-übergreifend)

  14. B3P_SYSTEM_NAME=B2B Test – Name des Systems

  15. *_LOG_LEVEL=1 - aktiviert entsprechendes Logging, so dass man sich Rohdaten im Monitoring ansehen kann.

Logging Loglevel ändern: C:\B2B\tomcat1\conf\logging.properties: alle FINE und INFO nach SEVERE ändern. In Global Properties kann Log4J konfiguriert werden.

Nach Konfiguration Tomcat neu starten

3.2.1 Passwörter erstellen mit encrypt.bat

Die Datei encrypt.bat liegt zusammen mit der Datei org.b2bbp.encryption.jar im Verzeichnis Tools.

Zuerst muss in der Datei encrypt.bat die Variable JAVA_HOME angepasst werden (Wichtig: Slashes benutzen):

set JAVA_HOME=C:/B2B/jdk

Nun kann man (z.B. durch Doppelklick) encrypt.bat starten. Im sich öffnenden Fenster wird nun das zu verschlüsselnde Passwort eingegeben und mit der Eingabetaste bestätigt. Das verschlüsselte Passwort wird ausgegeben und gleichzeitig in die Zwischenablage kopiert. Zusätzlich wird durch einen Test sichergestellt, dass sich das verschlüsselte Passwort wieder entschlüsseln lässt.

3.3 Channels, Services und Actions

Kontext überschreiben: Das Attribut wird in den MessageContext geschrieben. Bereits vorhandene Werte werden überschrieben. Sonst: das Attribut steht nur dem aktuellen Service (bzw. der aktuellen Action) zur Verfügung.

3.3.1 Mail Crawler Service

Adminstration à Services à MAILCRAWLER_EXCHANGE Mail Crawler Service:

Startup aktivieren

ID (MAILCRAWLER_EXCHANGE) in GLOBAL_PROPERTY „NODE_1“ eintragen

B3P_POP3_HOST=pop3.address.tldoder IP

B3P_POP3_PORT=110

B3P_SMTP_HOST=smtp.domain.tld

B3P_SMTP_PORT=25

B3P_SPAM_FORWARD= Emailadresse für Spam

B3P_MAILBOX2CRAWL=b2bbpin@domain.tld

B3P_MAIL_AUTH_USER= username

B3P_MAIL_AUTH_PWD= verschlüsseltes PW

B3P_POLL_INTERVAL=3 – Anzahl der Sekunden nach denen jeweils auf neue Nachrichten geprüft wird

Nach Konfiguration neu starten (Siehe unter Sonstiges)

3.3.2 Mail Sender Service OUTBOUND

B3P_MAIL_FROM= hier Absenderadresse eintragen

B3P_MAIL_TO= wenn MPID_SYNC genutzt wird, kann hier ein entsprechender Templateausdruck genutzt werden. Ansonsten wird die Eigenschaft oft von einem SAP Callback gesetzt und braucht hier nicht definiert zu werden.

B3P_MAIL_CC und B3C_MAIL_BCC=NONE löscht andere Empfänger

Alle anderen wichtigen Parameter (SMTP_HOST, SMT_PORT, …) setzen

3.3.3 Weitere Mailservices

Wie unter 4.2.2 konfigurieren

3.3.4 http2lief - Engine to ISU/Lieferant

Service, der eingegangene Nachrichten an SAP weiterleitet.

URL und sonstige Parameter einstellen/prüfen (SAP URL und Nutzer)

3.3.5 Index Service

Service ID „index“ zu NODE_1 in den Global Properties hinzufügen damit Nachrichten indexiert werden. (Vorher werden sie nur in der DB gespeichert, aber noch nicht indexiert)

3.4 ILN (Extension)

Channeldistribution, die für eine ILN den entsprechenden Channel wählt.

Extension -> SENDER_EMAIL für jede ILN:

FROM_ILN=Emailadresse des Marktpartners

NAME_ILN=Name des Marktpartners

OUTBOUNDSERVICE_ILN=Service ID (z.B. AS2)

CHANNEL_IN_ILN=inbound Channel ID (z.B. INBOUND_LIEF oder INBOUND_NETZ)

CHANNEL_OUT_ILN=outbound Channel ID (z.B. OUTBOUND_LIEF oder OUTBOUND_NETZ)

ROLE_ILN=Rolle (z.B. LIEF oder NETZ)

Zusätzlich: Default Properties – z.B. OUTBOUNDSERVICE=55

Die Daten in SENDER_EMAIL wird auch von weiteren Extensions genutzt, wie z.B.

MPIDZ05Z06Check – Prüft, ob Partner-/Sendercode bekannt ist.

DisplayShortext – Zeigt die Namen der Martkpartner im Monitoring neben den ILNs an.

3.5 Eigene Mappings

Administration à Content à „NLI | NLC | INVOIC | 2.5“ (Provider | Typ | Format | Format Version) mit Zielformat IDOCXML und EDI durch eigene Mappings ersetzen:

  1. richtigen Content auswählen

  2. „Überschreiben“ klicken

  3. Mapping JAR Datei hochladen.

3.5.1 Actions für SAP Spezifika Anpassen

Für SAP spezifische Funktionen z.B. bei EDI_DC 40 Handler für Vertrieb folgende Eigenschaften ändern: NLI.1.0.INVOIC.2.5.IDOCTYP auf AGG setzen.

Dies ändert Eigenschaften im IDOC Header

3.6 SAP Customizing (Registrierung am SAP)

Besteht aus 3 Teilen: SAP->B2B, B2B->SAP und RFC-SAP

Administration à Extensions à JCO_SERVER_DATA_PROVIDER und JCO_DESTINATION_PROVIDER: Konfiguration anpassen. Weitere Infos unter http://www.next-level-b2b.com/lr/c/document_library/get_file?p_l_id=11109&folderId=12152&name=DLFE-303.ppt

Service „RFC-SAP“ dem Knoten “NODE_1” hinzufügen

Einträge aus der Datei etc-services.txt in C:\Windows\System32\drivers\etc\services hinzufügen (hinten anhängen)

Wichtig beim Einsatz unter Linux: Alle Startscripte müssen vor dem Aufruf von startup.sh (o.ä.) in ein Verzeichnis wechseln, das vom tomcat user aus lesbar ist. (z.B. cd /opt/tomcat). Ansonsten kann es zu ClassDefNotFoundError und FileNotFoundException kommen und es findet keine JCo Kommunikation statt.

3.6.1 SAP -> B2B

TA SM59

Typ G

3.6.2 B2B -> SAP

URL muss über „Test“ geholt und in Services eingetragen werden.

TA SICF

Service idoc_xml Aktivieren

URL bekommt man über rechte Maustaste à Test

Die URL in B2B Service als Property HOST_URL eintragen

3.6.3 SAP Callback

Administration à Actions à Callback

Holt Empfängerdaten aus SAP via Callback

Muss ggf. kopiert und angepasst werden. Als Typ wird ABAP gewählt und als Klasse z.B. ZISUP_IDOC_GETCOMMCONTROL

Hier müssen die Properties B3P_JCO_DESTINATION_DATA_PROVIDER und B3P_JCO_SERVER_DATA_PROVIDER korrekt gesetzt sein.

3.7 Formaterkennung Customizen

In Extension DIALECT wird Formaterkennung konfiguriert

Oben wird XML-Typ definiert: dialect.IDOCXML.id=<EDI_DC40 SEGMENT=\“1\“> oder xml.IDOCXML.type=//EDI_DC40/IDOCTYP

xml./XXX.{type,version,partner,…}=XPathausdruck

Beispiel: xml.ZIDE_INVOIC_V21.type=/ZIDE_INVOIC_V21/IDOC/-IDEXGE-E1VDEWUNB_2/-ISIDEX-E1VDEWUNH_1[1]/IDENTIFIER

Alles vor additional muss gepflegt werden, der Rest ist optional.

Nach der Konfiguration muss B2B neu gestartet werden.

3.8 Outbound Konfigurieren

Alle Punkte sind unter Administration à Extension zu finden

MPID_SYNC – Zeitscheiben und Daten

mail_text_outbound – standard Email Template

EMAIL_FOOTER – Signaturen für Emails

3.9 AS2 Konfiguration

AS2 Partnerbeziehung (Schlüsselsymbol) à Reiter „Partnerbeziehungen“: hier können nun Regeln angelegt werden. URLs werden hier freigeschaltet (meist ist das der Reverse Proxy). Verschlüsselung und Signierung kann gewählt werden.

AS2

Von außen: Nachricht wird an reverse Proxy gesendet, der sie an den entsprechenden (eingestellten) tomcat weiter leitet.

3.10 EDI <-> CSV Konvertierung

Siehe Doku von Roman Tiessen – Genaue Vorgehensweise wird noch geändert

  1. csv-parser nach WEB-INF/lib kopieren (überschreiben falls vorhanden)

  2. Konverter hochladen über Administration à Content à Hinzufügen

4 Eclipse

Kopieren nach C:\B2B\support\eclipse und Workspace anlegen in C:\B2B\support\eclipse\Workspace

Neues Projekt anlegen, dann rechte maustaste auf das Projekt und Properties wählen à WEB-INF/lib komplett als external jars einbinden (Quellcode ist in jars mit drinn) (als external jars dem BuildPath hinzufügen)

Klasse suchen mit Strg+Shift+R

Nun kann man Breakpoint setzen und remote debugging starten: config: name vergeben. Hostname=localhost, port wird in tomcat1w.exe in den Java Argumenten gesetzt

Eigene Channeldistribution: New à Package com.example.b2bbp.channels

New Class: TestAction implements IAction à Add unimplemented methods. Nach Implementierung als jar exportieren (am besten mit Quellen). xxx.jardesc lässt sich automatisch erstellen.

4.1 Nützliche Shortcuts in Eclipse

Strg+Shift+R – Öffne Resource (Klasse), danach den Namen eintippen

Strg+L – Springe zu Zeile

Strg+Shift+F – Formatiere Quelltext (funktioniert auch mit XML, HTML und anderen Formaten)

5 Sonstiges

Bei Problemen mit der B2B zunächst in „Übersicht Systemfehler“ schauen, dort werden bekannte Fehler aufgeführt.

Man kann eine abgebrochene (auf Fehler gelaufene) EDI Nachricht neu versenden um deren Verarbeitung erneut zu starten. Wenn in den Global Properties die Eigenschaft B3P_RESTART_SKIP_SERVICES auf true steht, werden alle Services bis zum abgebrochenen geskipt.

Um bereits korrekt verarbeitete Nachrichten neu zu starten müssen deren Status erst über „Statusänderung“ geändert werden.

Manager: localhost:8010/manager/html – Benutzer muss Rolle „manager“ besitzen (Siehe oben, grüner Bereich für Rollenzuordnung) – wird nicht mehr (unbedingt) benötigt

In B2BBP: Administration à Global Properties à Neustart – initialisiert B2BBP neu

Passwörter müssen verschlüsselt werden: Tools/encrypt.bat - $JAVA_HOME anpassen (ggf andere Werte auch) und starten

5.1 Property ausgeben

  1. Neues Property in einer Action vom Typ java.lang.String anlegen

  2. Gesuchtes Property mit entsprechendem (Template bzw. Funktionsausdruck) angeben

ð Das Property kann nun im Monitoring betrachtet werden

View Me   Edit Me