Einrichtung Nachforderungsmails / Erinnerung bei Status Rot (neuer Standard)

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

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:

Contacttype

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.

Ä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:

###################################################################
# Fehlende Contrl
###################################################################
#VARIANT-START Fehlende Contrl $PRE
ACTION=SEARCH
ACTION.modifier=SUPRESS_WARNINGS

ACTION.claimType=CONTRL

#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:

NOTIF-Spalten

#DISPLAY-START
Format.PartnerCode=Partner
#first column is master column

NOTIF.CONTRL=NOTIF


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.

Interne Eskalation

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 Interne Eskalation angezeigt.

  • In den fachlichen Belegen werden die versendeten Emails angezeigt:

    Interne Eskalation

  • In den technischen Details wird das Datum des Mailversands angezeigt:

    Interne Eskalation

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  
View Me   Edit Me