Erzeugen von Adobe PDF Formularen im WebUI des SAP CRM

Das SAP CRM System ist im Formulardruck im Gegensatz zu anderen SAP Systemen, wie z.B. SAP EWM, z.Zt. ausschließlich auf den Druck von Formularen mit Smart Forms ausgerichtet. Im Customizing kann man im SAP CRM Standard auch nur Formulare und Methoden für den Druck von Smart Forms hinterlegen.

Problemstellung

Will man auch in SAP Adobe Formulare anstatt von Smart Forms verwenden, dann sind folgende Aufgaben zu meistern

  • Anstatt eines Smart Forms muss in der im Customizing hinterlegten Methode ein Adobe Form erzeugt werden.
  • Zur Anzeige des Formulars im WebUI ist das erzeugte Formular im OTF-Format an die Methode zur Druckbildansicht weiterzureichen.

Im folgenden Tutorial wird erklärt, wie man im SAP CRM Formulare mit einem Adobe Form erzeugen kann.

Im SAP CRM wird ein Servicevorgang als Ticket erfasst. Ist das Ticket abgeschlossen, wird dem Kunden ein Abschlussbericht übermittelt. Der Abschlussbericht soll als PDF Formular mit den Werkzeugen der SAP Adobe Forms erzeugt werden. Sowohl Druck als auch eine Druckbildansicht des Formulars im SAP CRM WebUI sollen möglich sein.


Im Customizing sucht man in den Aktionen zum Vorgang die Klasse, die den Formulardruck abbildet. In unserem Fall war dies die Klasse CL_DOC_PROCESSING_CRM_ORDER mit Methode CRM_SRVORDER_EXEC_SMART_FORM.

Nun kopiert man die Klasse CL_DOC_PROCESSING_CRM_ORDER in eine Z-Klasse bzw. leitet eine eigene Z-Klasse als Unterklasse zur Oberklasse CL_DOC_PROCESSING_CRM_ORDER ab. Anschließend kopiert man Methode CRM_SRVORDER_EXEC_SMART_FORM in Methode CRM_SRVORDER_EXEC_PDF_FORM.


Im Funktionsbaustein Z_FRM_PRINT_FINAL_REPORT wird nun das Coding untergebracht, um das Adobe Form (PDF Formular) zu erzeugen. Die Schnittstelle wird 1 : 1 aus der Schnittstelle zum Smart Form aus der Methode CRM_SRVORDER_EXEC_SMART_FORM übernommen.

Wichtig ist, dass beim Erzeugen der Druckbildansicht wird vor JOB_OPEN der Parameter GETPDF = X gesetzt wird.

Der Funktionsbaustein wird in Methode CRM_SRVORDER_EXEC_PDF_FORM dort eingebaut, wo sonst das Erzeugen des Smart Forms angestoßen wird. Das Coding für das Erzeugen des Smart Forms wird entfernt bzw. auskommentiert.

Zum Anzeigen des Adobe Forms im SAP CRM WebUI wird der Funktionsbaustein CONVERT_PDF verwendet, wo das Formular im OTF-Format in das Format PDF gewandelt wird. Da wir jedoch das Adobe Form bereits als fertige PDF-Datei bekommen, muss die PDF-Datei so aufbereitet werden, dass der Funktionsbaustein CONVERT_PDF die Datei bereits als fertige PDF-Datei erkennt und nicht weiter konvertiert. Geschieht dies nicht, bekommt man im SAP CRM WebUI eine Fehlermeldung.

In Routine CONVERT_PDF_2_OTF wird die PDF-Datei als binäres Objekt in eine interne Tabelle vom Format ITCOO überführt.

Das Adobe Formular wird jetzt im SAP CRM WebUI in der Druckbildansicht korrekt angezeigt.

 

Weitere Informationen

SAP Formulare zum Festpreis

SAP Formularentwicklung

Spezialthemen zu SAP Formularen