Neue Parameter in der Signatur der AMDP-Routinen in den BW-Transformationen


In der Schnittstelle der AMDP-Routinen für BW-Transformationen haben sich ein paar neue Parameter eingeschlichen. Das ist grundsätzlich zu Begrüssen, da in der „alten“ ABAP-Welt wesentlich mehr Informationen in den Routinen zur Verfügung standen. Allerdings sind die neuen Parameter trotzdem nur begrenzt nützlich.

Seit wann die neuen Parameter vorhanden sind, habe ich bislang nicht herausgefunden. Diesbezüglich wäre ich auch über Hinweise dankbar. In den Releasenotes von SAP BW/4HANA habe ich leider nichts darüber finden können. In Systemen mit SP06 sind diese aber auf jeden Fall verfügbar.

Die Neuen

Die folgenden skalaren IN-Parameter stehen in Zukunft in den Transformationsroutinen zur Verfügung. Sie entsprechen damit in etwa den Informationen, die man in ABAP aus dem Request-Objekt kennt.

ParameterBeschreibung
I_REQ_DTP_NAMETechnischer DTP Name
I_REQ_LOGSYSName des logischen Quellsystems
I_REQ_SRC_NAMEQuellobjekt der Transformation
I_REQ_SRC_TYPETyp des Quellobjektes
I_REQ_TGT_NAMEZielobjekt der Transformation
I_REQ_TGT_TYPETyp des Zielobjektes
I_REQ_REQUIDRequest ID

Was kann man damit anfangen?

In ABAP habe ich diese Informationen genutzt, um dynamisch eine geeignete Klasse zur Verarbeitung der Transformation auszuwählen. Dieses ist aber  in den AMDP-Routinen der Transformationen nicht möglich. Grund hierfür ist die Eigenschaft „READ ONLY“ der Prozeduren. Damit ist die Verwendung von dynamischem Code nicht erlaubt.

[Ergänzung, 19.7.2019] Eine statische Verzweigung ist jedoch möglich. D.h. in einem IF/ELSE könnte je nach Quelle anderer Code ausgeführt werden, oder Quelle bzw. Ziel werden in der Bedingung eines CASE Ausdruck abgefragt, um einen anderen Wert bzw. eine andere Berechnung zu liefern.

Damit bleibt nur, die Informationen in die OUTTAB zu schreiben oder sie für die Selektion von Daten zu nutzen. Allerdings kann ich mir nicht vorstellen, wo das nützlich sein kann. Wer Ideen dazu hat, bitte hier als Kommentar hinterlegen.

Obwohl ich an dem Nutzen der neuen Parameter zweifele,  so habe ich ihnen doch einen kurzen Blogpost gewidmet. Grund dafür ist auf der einen Seite, dass ich bislang (Stand 26.10.2018, 17:08) bei Google keinerlei Informationen darüber finden konnte. Weder in Blogs, noch in den Releasenotes oder der SAP Dokumentation. Zum anderen ist diese Information natürlich auch für die nächste Auflage meines Buches relevant.

Beteilige dich an der Unterhaltung

2 Kommentare

  1. Hi Jörg,

    wir nutzen z.B. I_REQ_REQUID um den Timestamp der Ausführung der Transformation zu nutzen. Das ist ja die TSN, diese besteht ja aus dem Timestamp + einem Zähler. Diese schreiben wir dann in die Outtab.

    Gruß,
    Frank

    1. Hi Frank,

      vielen Dank für Deinen Beitrag. Das ist natürlich eine Möglichkeit für die Nutzung des Parameters. Allerdings kann man einen Zeitstempel auch mit der SQL-Funktion CURRENT_TIMESTAMP im AMDP bekommen. Mehr dazu am 14. Februar. 😉

      Viele Grüße,
      Jörg

Schreib einen Kommentar