Der Change Pointer ist eine komfortable Funktion, um Stammdatenänderungen, etwa Materialstammdaten, an Drittsysteme weiterzugeben. Dabei wird im Falle einer Änderung ein IDOC erstellt, welches die Segmente enthält, deren Daten geändert wurden.
Eine Delta-Versorgung des Drittsystems ist jedoch nicht immer gewünscht oder möglich. Der SAP Standard sieht leider keine Möglichkeit vor, ein vollständiges IDOC im Falle einer Stammdatenänderung zu versenden.
In der SAP Community wird seit Jahren daher vorgeschlagen, mittels Modifikation oder Kopie des Reports
RBDMIDOC begegnen.
Im Wesentlichen werden dabei stets die geschriebenen Daten des Change Pointers (Tabelle BDCP unter ECC, BDCP2 unter S/4) geändert und die Spalte FLDNAME mit dem Wert ALELISTING belegt.
Statt der Kopie oder der Modifikation kann auch das BAdI BDCP_BEFORE_WRITE verwendet werden
Eine Fiori Elements ListReport Applikation bietet auf der Listenansicht eine Filterleiste. Hierüber kann der Listenumfang basierend auf Filterausdrücken eingeschränkt werden. Im Filter werden allerdings nur Spalten angeboten, welche in der zugrundeliegenden CDS View (konrekt in der root view) angeboten werden.
Mittels virtual elements kann man darüber hinaus auch Filter zu Spalten anbieten, die nur in einer Assoziation der root view enthalten sind.
Wie hier beschrieben PDF Dokumente in ABAP zusammenführen soll ein bestehendes PDF Dokument aus dem KPRO auf der Rückseite eines anderen PDF Dokuments, welches mittels ADS erstellt wird, eingebettet werden. Das auf der genannten Seite beschriebene Vorgehen funktioniert nur dann zuverlässig, wenn beide PDF Dokumente das gleiche Papierformat verwenden.
Im vorliegenden Fall wird ein PDF im DIN-A4 Format erstellt. Das einzubettende PDF Dokument liegt jedoch im DIN-A2 Format vor. Das Zusammenführen der Dokumente funktioniert zwar, der spätere Ausdruck auf einem DIN-A4 Drucker hingegen nicht. Die Zeichnung wird nicht skaliert ausgegeben.
Lösung
Wenn die Zeichnung als Bildformat vorliegt, kann die Ausgabe in einem Image Container im ADS erfolgen. Die Bilder werden in diesem Fall passend in den Container skaliert.
Mittels der Klasse ZCL_BC_PDF_CONVERTER kann ein existierendes PDF Dokument in ein Bildformat konvertiert werden. Die Klasse nimmt das PDF als XSTRING entgegen. Die Konvertierung selbst wird auf dem Application Server mittels System Kommando durchgeführt. Dabei wird das Tool pdftoppm (poppler-utils), welches bereits in der Linux Distribution des Application Server enthalten ist, genutzt.
Voraussetzung
Mit der Transaktion SM69 wird ein Systemkommando wie folgt definiert
Nutzung der Klasse
Die Konvertierung kann wie folgt durchgeführt werden
data: lv_data type xstring, lv_result type xstring," auslesen des PDF aus dem kpro, Spool oder andere Quelle." das PDF muss als Binärdaten vorliegen, nicht als DateiDATA(lo_converter) =NEW zcl_bc_pdf_converter( ). lo_converter->set_source_data( lv_data ). lo_converter->convert( ).lv_result= lo_converter->get_conversion_result( ).
Zur Konvertierung werden temporäre Dateien auf dem Application Server angelegt und nach der Konvertierung gelöscht.
Verweis
Bei Interesse finden Sie die Klasse unter folgendem Repository
Dieser Artikel beschreibt, wie man mehrere PDF Dokumente in ABAP zu einem Dokument zusammenführen kann. Dabei stammt ein Dokument aus dem KPRO Dokumentenmanagement (oder GOS). Das zweite Dokument wird mittels ADS erstellt.
Manchmal reicht eine einfache CDS View nicht aus, um die Daten für eine E-Mail zusammen zu tragen. Bei komplexen Business Logiken kann der Aufwand, dies in Views abzubilden, groß sein. Möglicherweise existieren aber bereits Funktionsbausteine oder Klassen, welche die Daten bereitstellen.
Auf der folgenden Seite ist beschrieben, wie ein E-Mail Template mittels ABAP Code mit Daten versorgt werden kann.
Bei der Definition des E-Mail Templates wurde eine CDS View hinterlegt und innerhalb des Mail Textes auf die Spalten zugegriffen. Die Datenbeschaffung selbst erfolgt im einfachsten Fall ebenfalls über die CDS View.
Mit S/4-HANA führt SAP eine neue Möglichkeit zum E-Mail Versand ein. Bisher wurden E-Mail Vorlagen als SAPScript- oder Standard Texte definiert.
Unter S/4-HANA können E-Mail Templates als ABAP Entwicklungsobjekte definiert werden. Diese basieren auf einer CDS View, deren Daten innerhalb der E-Mail verwendet werden können.
Dieser Beitrag ist der erste in einer Serie über die Verwendung von E-Mail Templates. Beginnen wir zunächst mit der Definition eines Templates.
I recently had to create some PM order (IW31) based on Equipment Task list (IA01). Luckily, there is a BAPI available which can be used for such a task. Moreover, BAPI_ALM_ORDER_MAINTAIN is your Swiss Army Knife when it comes to ALM. It can be used for mostly everything related to ALM ,beside of making some coffee. SAP also provides some documentation for this BAPI. Sadly, it is a common SAP documentation which means, it describes some points but lacks in others.
After several attempts, I was able to create a PM Order related to a Notification which uses an Equipment task list instead of defining each operation manually.
Wenn eine Fiori Anwendung aus mehreren Views besteht, müssen manchmal bestimmte Ereignisse zwischen den Views ausgetauscht werden. So kann beispielsweise eine Einstellung an der Master View bestimmte Ereignisse in einer Detail View auslösen. Dies lässt sich mit der Nutzung des JavaScript EventBus erreichen.
Ein Benutzer nimmt an einer Fiori Anwendung bestimmte Einstellungen vor. Beispielsweise selektiert er in einem Drop Down Menü, dass er nur bestimmte Arbeitsplätze bearbeiten möchte. Diese Auswahl soll dauerhaft gespeichert werden, bis der Benutzer eine neue Auswahl trifft. Dabei sollen die Einstellungen auch beibehalten werden, wenn er die Anwendung verlässt und später erneut aufruft.