Wie Ihnen ein problemloser E-Mail-Versand mit Adobe Forms gelingt
In diesem Blogbeitrag möchte ich auf ein besonderes Problem mit dem E-Mail-Versand von Adobe Forms eingehen, das mir zuletzt in einem Kundenprojekt begegnet ist. Der Kunde klagte über sporadisch auftretende, korrupte PDF-Dateien, die aus SAP verschickt werden. Die betroffenen Daten ließen sich nicht mehr öffnen, obwohl sie durch das SAP-System erfolgreich erstellt wurden und auch im Archiv sauber abgelegt wurden.
Fehlersuche im Email-Versand von Adobe Forms
Die Fehlersuche fängt an mit einer intensiven Fehlersuche in einem kundeneigenen Z-Report, in dem die Emails inklusive mehrerer PDF-Dateien im Anhang per Funktionsbaustein SO_NEW_DOCUMENT_ATT_SEND_API1 verschickt werden. Die PDF-Dateien werden aus dem Archiv als RAW-String gezogen und nach einer Konvertierung in einen String in die CHAR255 Tabelle des CONTENTS_BIN Parameters gepackt. Damit funktionierte der Versand einwandfrei für alle bisherigen Formulare auf der Smartforms– und SAPScript-Technologie.
Die nun fehlerhaften PDF-Dateien werden alle mit dem Livecycle Designer auf Basis der Adobe Forms-Technologie erstellt. Eine direkte Verbindung lässt sich aber trotzdem nicht herstellen, da die Dokumente korrekt archiviert werden. Eine Analyse der fehlerhaften PDFs ergibt, dass verschiedene Steuerzeichen fehlen. Diese Erkenntnis zeigt mir, dass die Konvertierung nicht sauber abläuft.
Lösungsfindung
Nachdem ich alle Einflussfaktoren ausschließen kann, schaue ich mir die Konvertierung näher an. Die im hex-Format vorliegende Datei in lt_document wird erst in einen xString zusammengestaucht, um dann wieder per eigener Routine in die CHAR-Tabelle it_contents_bin aufgeteilt zu werden. Diese Konvertierung war aber nicht notwendig, da der E-Mail-Baustein SO_NEW_DOCUMENT_ATT_SEND_API1 einen Parameter für das hex-Format besitzt.
Das Problem im E-Mail-Versand von Adobe Forms konnte damit durch die Nutzung der RAW-String Tabelle CONTENTS_HEX mit der Struktur SOLIX des Funktionsbausteins SO_NEW_DOCUMENT_ATT_SEND_API1 behoben werden. Die bereits im RAW-Format vorliegenden PDFs müssen so nicht konvertiert werden und es gibt keinen Verlust der Steuerzeichen mehr. Die Logik sieht nun wie folgt aus:
Ich hoffe, dieser Beitrag konnte einige Ihrer Fragen zum E-Mail-Versand mit Adobe Forms beantworten. Stehen Sie vor ähnlichen Herausforderungen im Formularumfeld? Ich würde mich freuen Ihnen zu helfen, hinterlassen Sie bitte einen Kommentar!