Konzept
Wenn wenigstens eine Suche eingeplant wurde, bei der „Erinnerung bei Status rot (neuer Standard)“ (“Erinnerungsmail bei Status rot” ist veraltet und sollte ersetzt werden) als automatische Folgeaktion ausgewählt ist, läuft die Versendung von Nachforderungsmails wie folgt ab:
- Der CCM Scheduler überprüft einmal pro Minute, ob in der Extension B3P_CCM_SCHEDULE ein Job vorhanden ist, dessen nächster geplanter Ausführungszeitpunkt gerade jetzt ist.
- Wenn ja, wird die zugehörige Suche mit dem zugehörigen Arbeitsvorrat (AV) im Hintergrund ausgeführt.
- Wenn die Suche Nachrichten mit Status rot findet, wird die Versendung von Nachforderungsmails vorbereitet:
- In der Extension B3P_AV_CONFIG_MAP wird ermittelt, ob für den aktuellen AV der Name einer Extension vom Typ B3P_CCM_CONFIG angegeben ist. Wenn nicht, wird als Default B3P_CCM_CONFIG verwendet.
- Aus den Extensions vom Typ B3P_CCM_CONFIG holt sich der Scheduler die einzelnen Bestandteile der Nachforderungsmail: Empfängeradresse, Absenderadresse, BCC, Subject, Body, Footer (Zugriff auf Extensions vom Typ B3P_CCM_BODY, B3P_CCM_FOOTER oder frei definiert) und Attachments. ACHTUNG!!! Einige Werte können durch ServiceProperties im CCM Scheduler überschrieben werden.
- Aus den Extensions vom Typ B3P_CCM_BODY und B3P_CCM_FOOTER holt sich der Scheduler den eigentliche Mailtext bzw. die Signatur.
Extension B3P_AV_CONFIG_MAP
In dieser Extension wird das Mapping zwischen Arbeitsvorräten und B3P_CCM_CONFIG-Dateien definiert. D.h. es kann hier für jeden AV angegeben werden, welche Extension vom Typ B3P_CCM_CONFIG für die Konfiguration des Email-Texts verwendet werden soll. Die Struktur der Definition ist wie folgt:
Name eines AV=Name einer Konfiguration (Extension)
Beispiel:
INVOIC-REMADV Abgleich über Ref.Nr $PRE=B3P_CCM_CONFIG_INVOIC
Lieferbeginn (E01 / E01) $PRE=B3P_CCM_CONFIG_LB
Beispiel: Lieferbeginn\u0020(E01)\u0020$PRE=B3P_CCM_CONFIG_LIEFBEG
Der Name des Arbeitsvorrats [= “Variante”] ist in der Extension FLEXIBLE_INDEX_UI zu finden:
###################################################################
# UTILMD Fristenmanagement: Lieferbeginn (E01 / E01)
###################################################################
#VARIANT-START Lieferbeginn (E01 / E01) $PRE
ACTION=SEARCH+CORRELATE
Extensions vom Typ B3P_CCM_CONFIG
Fallback-System der Extensions
Die Konfiguration, wie die versendeten Emails aussehen sollen, geschieht in der Extension vom Typ B3P_CCM_CONFIG. “Vom Typ” bedeutet dabei, dass es verschiedene Extensions geben kann, die aber alle mit “B3P_CCM_CONFIG” anfangen:
Extension | Bedeutung |
---|---|
B3P_CCM_CONFIG | [Default] Gilt für alle Emails, für die keine speziellere Konfiguration vorhanden ist |
B3P_CCM_CONFIG_CONTRL | Gilt für alle Emails von AV, denen diese Konfiguration in der Extension B3P_AV_CONFIG_MAP zugewiesen ist |
B3P_CCM_CONFIG_9900000000001 | Gilt für alle Emails, die von System 9900000000001 versendet werden. |
B3P_CCM_CONFIG_CONTRL_9900000000001 | Gilt für alle Emails von AV, denen diese Konfiguration in der Extension B3P_AV_CONFIG_MAP zugewiesen ist und die von System 9900000000001 versendet werden. |
Wenn für einen Arbeitsvorrat in der B3P_AV_CONFIG_MAP eine Konfigurationsdatei vom Typ B3P_CCM_CONFIG angegeben wird, z.B: B3P_CCM_CONFIG_LIEFBEG, so prüft der CCM Scheduler zuerst, ob es eine Konfigurationsdatei gibt, bei der an diesen Namen noch die System-ILN angehängt ist, z.B. B3P_CCM_CONFIG_LIEFBEG_9900000000001 und verwendet diese. Erst wenn diese nicht existiert, greift er auf die angegebene Extension zu.
Das gleiche Schema wird im Default-Fall B3P_CCM_CONFIG angewendet. Auch hier wird zuerst nach einer B3P_CCM_CONFIG_9900000000001 gesucht.
Wenn für einen Arbeitsvorrat keine spezielle Extension in der B3P_AV_CONFIG_MAP angegeben ist, gilt die default Extension B3P_CCM_CONFIG.
Struktur der Extensions
In den Extensions vom Typ B3P_CCM_CONFIG können folgende Inhalte der zu versendenden Nachforderungsmails konfiguriert werden:
- Empfängeradresse
- Absenderadresse
- CC-Adresse
- BCC-Adresse
- Subject
- Mail-Body
- Attachment
Eine typische B3P_CCM_CONFIG könnte etwa so aussehen: [Achtung!!! Überarbeiten!]
##Extension mit den Mappings zwischen MPID und eMail-Adresse
# Wenn auskommentiert, wird die Extension CCM_NFM_MAIL verwendet
mpid_mail_template=${elp(B3P_MAIL_MAP,${template(&(this.Format.PartnerCode))})}
default=default@b2bbp.org
email_bcc=e2w@b2bbp.org
##Betreff
subject=Fehlende Antwort in der Marktkommunikation (von $FromMPID an $ToMPID)
##Body
email_body_extension=${loadExtension(${template(B3P_CCM_BODY)})}
#email_body_extension=${loadExtension(${template(B3P_CCM_BODY_LIEFBEG)})}
#email_body_extension=${loadExtension(${template(B3P_CCM_BODY_LIEFBEG_&(this.Format_system))})}
b3p_attatchment_type=txt
b3p_attatchment_seperator=;
b3p_attatchment_name=Fehlende_CONTRL_$Date
b3p_attatchment_header=Empfänger,Sender,Format,Referenznummer,Versanddatum,Versanduhrzeit
b3p_attatchment_column=Format.PartnerCode,Format.SenderCode,Format.Typ,Format.ReferenceId,B3P.Date,B3P.Time
#b3p_attatchment_header=Empfänger,Sender,Format,Referenznummer,Versanddatum,Versanduhrzeit
#b3p_attatchment_column=Format.PartnerCode,Format.system,Format.Typ,Format.ReferenceId,B3P.Time
Empfängeradresse
Empfänger der Nachforderungsmail ist in der Regel der Marktpartner, an den die Originalnachricht gegangen ist, und die er nicht beantwortet hat. Die Empfängeradresse soll im Produktivbetrieb aus einer Mail-Map ausgelesen werden, die zu jeder möglichen Partneradresse eine Email-Adresse liefert. Die korrekte Email-Adresse zur Partneradresse (this.Format.PartnerCode) wird über ein Template in die Eigenschaft “mpid_mail_template” eingelesen:
mpid_mail_template=${elp(B3P_MAIL_MAP,${template(&(this.Format.PartnerCode))})}
Die Extension B3P_MAIL_MAP enthält alle Mappings zwischen MPID und Emailadresse, an die die Fehlermail versendet werden soll. Die Einträge sehen folgendermaßen aus:
9900000000000=mail@b2bbp.org
9900000000001=mail2@b2bbp.org
Wenn die Eigenschaft “mpid_mail_template” nicht vorhanden bzw. auskommentiert ist, wird als Default auf die Extension CCM_NFM_MAIL zugegriffen, für die die gleiche Formatierung gilt.
Falls die Empfängeradresse nicht nur vom Partner, sondern auch vom System abhängt, sollte die B3P_MAIL_MAP wie folgt formatiert werden:
9900000000003_9900000000000=mail@b2bbp.org
9900000000004_9900000000001=mail2@b2bbp.org
Das Template muss dann so aussehen:
mpid_mail_template=${elp(B3P_MAIL_MAP,${template(&(this.Format.system)\_&(this.Format.PartnerCode))})}
Für den Fall, dass in der verwendeten Mail-Map für eine MPID oder Kombination System/MPID keine Emailadresse gefunden wurde, kann eine Default-Adresse angegeben werden. Dies kann an zwei Stellen geschehen:
- Innerhalb der Mail-Map (B3P_MAIL_MAP / CCM_NFM_MAIL)
- Innerhalb der Extensions vom Typ B3P_CCM_CONFIG
In beiden Fällen lautet die Syntax:
default=default@b2bbp.org
Ist keine Default-Adresse vorhanden, wird keine Mail versendet. Es wird allerdings in den technischen Attributen des Schedulers festgehalten, welche Mpids nicht gefunden wurden.
Für Testzwecke ist es oft sinnvoll, keine Mails an die Marktpartner zu versenden, sondern an eine andere Emailadresse. Diese kann im CCM Scheduler mit Hilfe der ServiceProperty B3P_MAIL_TO erreicht werden.
Empfängeradresse aus MPID-Editor laden
Extension MP_CONTACT_TYPES soll angelegt sein
TYPE | PROVIDER | Version | Beschreibung |
---|---|---|---|
MP_CONTACT_TYPES | leer | leer | Kontakttyp für MPId Editor |
Beispiel:
T01=technische Kontaktperson 1
T02=technische Kontaktperson 2
F01=fachliche Kontaktperson 1
F02=fachliche Kontaktperson 2
Wenn man bei dem Einplanen des Jobs die Checkbox anklickt und einen Kontakttyp auswählt, werden die Adresse aus MPID-Editor als Empfänger der Nachforderungsmail genommen:
Empfänderadresse für CCM-Nachforderungsmail (CC und BCC) können mit den Kontakttyp aus Kontaktdaten im MP-Editor ausgelesen werden. Für CC und BCC muss in der Configextension wie folgt eingetragen werden:
email_cc_contact_type=contacttype
email_bcc_contact_type=contacttype
Absenderadresse
Die Absenderadresse wird in den Extensions vom Typ B3P_CCM_CONFIG mit der folgenden Eigenschaft gesetzt:
email_from=e2w@b2bbp.org
CC-Adresse
BCC-Adresse
Die Bcc-Adresse, an die eine Blindkopie geschickt werden soll (ist in der Original-Email nicht sichtbar) wird mit der folgenden Eigenschaft gesetzt:
email_bcc=mail@bcc.com
Sie gilt auch, wenn die Empfänger-Adresse im CCM-Scheduler überschrieben wird.
Subject / Betreff
Bei der Definition der Betreffzeile mit der Eigenschaft “subject” können Variablen verwendet werden, z.B. kann man mit dem folgenden Ausdruck ILN von Absender und Empfänger anzeigen lassen:
subject=Fehlende Antwort in der Marktkommunikation (von $FromMPID an $ToMPID)
Mögliche Variablen sind:
- $FromMPID: Absenderadresse
- $ToMPID: Empfängeradresse
- $DAR: Datenaustauschreferenz (hat nur Sinn bei Einzelversand)
- $Date: Datum des Versands
Mail-Body
Der Name der Extension, aus dem der Mail-Body gelesen werden soll, wird über die Eigenschaft “email_body_extension” angegeben. Dabei gibt es verschiedene Möglichkeiten:
email_body_extension=B3P_CCM_BODY
#email_body_extension=B3P_CCM_BODY_LIEFBEG
#email_body_extension=B3P_CCM_BODY_9900000000001
#email_body_extension=${template(B3P_CCM_BODY_LIEFBEG_&(this.Format_system))}
- B3P_CCM_BODY kann als Standard-Mail-Body für alle Arbeitsvorräte verwendet werden.
- Es können eigene Mailtexte für verschiedene Arbeitsvorräte verwendet werden. Dazu muss die Extension B3P_CCM_BODY_LIEFBEG angelegt werden. Dies braucht man in der Regel nur in einem auf diesen Arbeitsvorrat abgestimmten Konfigurationsfile wie z.B B3P_CCM_CONFIG_LIEFBEG
- Es können eigene Mailtexte für jedes Sytem explizit angegeben werden. Dazu muss die Extension B3P_CCM_BODY_9900000000001 angelegt werden. Dies braucht man in der Regel nur in einem auf diesen Arbeitsvorrat abgestimmten Konfigurationsfile wie z.B B3P_CCM_CONFIG_9900000000001
- Es können eigene Mailtexte für verschiedene Arbeitsvorräte und verschiedene Systeme verwendet werden. Dazu müssen natürlich Extensions wie B3P_CCM_BODY_LIEFBEG_9900000000001 angelegt werden.
- Wenn die Eigenschaft “email_body_extension” fehlt, wird als Default B3P_CCM_BODY verwendet.
Referenzen als CSV-Anhang
Wenn im CCM Scheduler die ServiceProperty B3P_MAIL_TEXTURE_PROVIDER=org.b2bbp.administration.process.monitoring.autoprocess.MailTextureProviderCSV gesetzt ist, wird der Email eine Textdatei angehängt, in der alle Referenznummern aufgeführt werden. Dieser Anhang wird mit einer Reihe von Eigenschaften in den Extensions vom Typ B3P_CCM_CONFIG konfiguriert:
Eigenschaft | Default-Wert | Bedeutung |
b3p_attatchment_name (sic!) | Name des Anhangs ohne Dateiendung | |
b3p_attatchment_header (sic!) | Liste der Spaltenköpfe, durch Kommata (,) getrennt | |
b3p_attatchment_column (sic!) | Liste der Spaltenwerte, durch Kommata (,) getrennt; erlaubt sind Felder aus dem CCM-Index, die in der Extension FLEXIBLE_INDEX definiert worden sind. Darüber hinaus Festwerte (<recipient> bedeutet den Festwert ‘recipient’) und Variablen. $Date wird durch das aktuelle Datum(yyyyMMdd) ersetzt), $(10) bedeutet die ersten 10 Zeichen des Feldes | |
[b3p_attatchment_type] (sic!) | csv | Dateiendung des Anhangs? Hintergrund: Das Dateiformat ist csv. Wenn man diese Datei in Excel öffnet, werden MPID-Nummern in Exponentialschreibweise angezeigt ( 9903258000007 wird zu 9033E+12). Daher ist es oft gewünscht, die Datei nur als ‘.txt’ zu verschicken. |
[b3p_attatchment_seperator] (sic!) | ; | Spaltentrenner im CSV-Format |
Wenn der Defaultwert verwendet wird, kann der Eintrag weggelassen werden.
Beispiel:
b3p_attatchment_name= Fehlende_Antworten_Änderung_$Date
b3p_attatchment_header=Vertragsnummer,Zählpunkt,Empfänger,Sender,Empfänger-Mailadresse,Sender-Mailadresse,Versanddatum,Versanduhrzeit
b3p_attatchment_column=INCIDENTID$(10),MTR,Format.PartnerCode,Format.system,,sender,B3P.Date,B3P.Time
Extensions vom Typ B3P_CCM_BODY
Die Extension B3P_CCM_BODY enthält den Email Text der zu versendenden Nachricht. Beispielsweise:
B3P_CCM_BODY
Sehr geehrte Damen und Herren,<BR>
<BR>
<BR>
für folgende Nachrichten wurde noch keine Bestätigung empfangen.
<BR>
<BR>
Referenznummern: ${template(&(this.referenceIds))}
<BR>
Um einen reibungslosen Datenaustausch zu gewährleisten, bitten wir Sie uns die Nachrichten nachträglich im aktuellen CONTRL-Format zu bestätigen.
<br>
<br>
Für Fragen stehen wir Ihnen gerne zur Verfügung.
<br>
<br>
Mit freundlichen Grüßen
<br>
Der Templateausdruck wird ausgewertet und durch die entsprechenden Referenznummern ersetzt. Andere Dynamische Ausdrücke können ebenfalls verwendet
werden, allerdings steht im MessageContext nur die Variable referenceIds
zur Verfügung.
Änderungen in der Extension FLEXIBLE_INDEX_UI
Für die Aktivierung der Nachforderungsmail muss noch die folgende Zeile bei dem Arbeitsvorat eingetragen werden:
ACTION.claimType=“Format“
Beispiel:
###################################################################
ACTION.claimType=CONTRL
# Fehlende Contrl
###################################################################
#VARIANT-START Fehlende Contrl $PRE
ACTION=SEARCH
ACTION.modifier=SUPRESS_WARNINGS#DISPLAY-START
Format.PartnerCode=Partner
Nach dem Versenden der NFM werden im CCM-Index der Nachricht 2 neue Felder hinzugefügt: NOTIF.CONTRL=NOTIF NOTIF.CONTRL.SENDDATE=“Sendedatum“
Damit diese Felder bei der Suche im Arbeitsvorrat angezeigt werden, müssen zwei neue Spalten hinzugefügt werden:
#DISPLAY-START
NOTIF.CONTRL=NOTIF
Format.PartnerCode=Partner
#first column is master column
…NOTIF.CONTRL.SENDDATE=gesendet;{renderer=com.nextlevel.faces.pm.ui.renderer.DateTimeItemRenderer}
B3P.MessageId=ID
…
#DISPLAY-END
In einer alten Version der Nachforderungsmails gab es nur eine Spalte, die anders definiert war. Falls diese bereits vorhanden ist, muss sie entfernt und durch die zwei neuen Spalten ersetzt werden:
B3P.Notif=gesendet;{renderer=com.nextlevel.faces.pm.ui.renderer.DateTimeItemRenderer}
[entfernen]
Mit folgender Zeile wird in der Suchmaske ein Filterfeld ‚Notif‘ erzeugt. Damit kann über eine Checkbox nach Nachrichten gesucht werden, für die bereits Nachforderungsmails versendet bzw. nicht versendet worden sind:
#SEARCHFILTER-START
Notif[not0;Check]{inboxVisible=true}>NOTIF.CONTRL:{not0}
……
SEARCHFILTER-END
Interne Eskalation
Initial werden nur die Nachrichten nachgefordert, die als Status rot haben, ausgehend sind, keine Antwort haben, VS = SUC und BS=CTP (BS=CTN bei CONTRL). Manchmal wird interne Eskalation für die Selbstkontrolle benötigt. Mit der internen Eskalation wird das Suchergebnis ohne Filterung nachgefordert. Um die interne Eskalation zu wählen, muss die Checkbox ‚interne Eskalation‘ beim Einplanen aktiviert werden.
Der folgende Eintrag muss in der Extension ‚B3P_AV_CONFIG_MAP‘ hinzugefügt werden, wenn extra Einstellungen für interne Eskalation benötigt wird:
internal_“AV Name“=Extensionname.
Beispiel:
internal_Lieferende\u0020(E02)\u0020$PRE=B3P_CCM_CONFIG_ABMELDUNG_INT
Andere Einstellungen sind gleich wie bei der externen Eskalation. Der Notif Tag im Index kann auch für interne Eskalation definiert werden:
INOTIF.UTILMD=NOTIF
INOTIF.UTILMD.SENDDATE=gesendet;{renderer=com.nextlevel.faces.pm.ui.renderer.DateTimeItemRenderer}
Notif[not0;Check]{inboxVisible=true}>INOTIF.INVOIC:{not0}
Update Status der Nachforderung (BS=SEN) in B2B
Die Info über die nachgeforderten Nachrichten kann man auch im B2B-Monitoring anzeigen lassen. Die Anzeige geschieht an drei Stellen:
-
Der Bestätigungsstatus im Nachrichtenmonitor wird auf SEN gesetzt und mit dem Icon Briefumschlag angezeigt.
-
In den fachlichen Belegen werden die versendeten Emails angezeigt:
-
In den technischen Details wird das Datum des Mailversands angezeigt:
Für das Update werden die folgenden Einstellungen benötigt:
GlobalProperties
Name | Wert | Beschreibung |
---|---|---|
B3P_CCM_PUBLISH_TO_B2B | true / false | Ist diese GLobalProperty auf true gesetzt, wird der Status in die B2B zurück übertragen; default ist false |
Extensions
Name | Provider | Version | Beschreibung |
---|---|---|---|
B3P_CCM_B2B_SERVER_CONFIGURATION | leer | leer | Konfiguration für die remote Verbindung mit B2B |
In der Extension können folgende Properties gesetzt werden:
Name | Wert | Beschreibung |
---|---|---|
B3P_CCM_B2B_SERVER | <B2B-URL> | B2B-URL. Mit Semikolon(;) kann man mehrere URLs eintragen; Property muss vorhanden sein |
B3P_CCM_B2B_SERVER_HTTP | true / false | Verbindungstyp zur B2B; true: http (default); false: https |
UPDATE_NOTIFICATION_BS | true / false | Soll der Bestätigungsstatus (BS) auf SEN upgedatet werden? true: ja (default); false: nein |
UPDATE_NOTIFICATION_ATTRIBUTE | true / false | Sollen beim Update die fachlichen Belege und technischen Details angelegt werden? true: ja (default); false: nein |
Beispiel Extension B3P_CCM_B2B_SERVER_CONFIGURATION:
B3P_CCM_B2B_SERVER=101.23.21.20:8181;101.23.21.20:8282
B3P_CCM_B2B_SERVER_HTTP=false
UPDATE_NOTIFICATION_BS=true
UPDATE_NOTIFICATION_ATTRIBUTE=false