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.
Wie bereits auf der Seite "Nintex Workflow Delegation" beschrieben, können Aufgaben in SharePoint Online nicht einfach delegiert werden. Über den Workaround der dort beschrieben ist, kann man sich jedoch behelfen. Aus dem Umfeld entstand eine neue Anforderung, welche sich als recht umfassend erwiesen hat.
Wird eine Task delegiert, soll der neue Besitzer ebenfalls über eine E-Mail benachrichtigt werden. Der Inhalt der E-Mail soll identisch zu der ursprünglichen aufgebaut sein. Inhalt der Mail ist zum Beispiel das Datum, bis zu dem der Task abgeschlossen werden soll. Diese Information befindet sich in dem Task Element, nicht aber in dem Element des dazugehörigen Workflows (also dem eigentlichen Element des Antrags)
Wird SharePoint on-premise betrieben, können Nintex Workflow Tasks (generell Tasks) an andere Personen delegiert werden. Dazu kann auf dem Task Formular ein Link aktiviert werden, über den der Besitzer des Tasks diesen weiterleiten kann (Beispielsweise falls der Task ihm fälschlicherweise zugewiesen wurde). Ergänzend kann der Benutzer über die Site Einstellungen eine Art Abwesenheitszeitraum definieren. Während dieses Zeitraums werden alle an ihn gerichteten Tasks automatisch an die zuvor benannte Person delegiert. Praktisch bei Urlaub oder längerer Krankheit.
Dies ist leider im Kontext von SharePoint Online nicht möglich. Hier gibt es weder in den SharePoint Tasks, noch bei den Nintex Tasks (welche letztlich die SharePoint Tasks als Basis verwenden) eine Möglichkeit der Delegation.