Script Logic über Excel Button ausführen

In dem Beitrag Script Logic Befehle in BPC 10.0 habe ich die Syntax für Skriptlogik Funktionen erläutert. Sie können diese Formeln jedes Mal beim Speichern ausführen, wenn Sie die Skripte in die DEFAULT.LGF einbinden (Administration -> Regeln -> Logikskripts -> das jeweilige Modell).

So erleichtern Sie die Entscheidungsfindung und gewinnen einen umfassenden Überblick über Ihr Geschäft! Mit meinem neuen Buch lernen Sie, SAP für die Unternehmensplanung einzurichten, zu nutzen und zu erweitern.

Zum Beispiel:

*INCLUDE LOGIC_1.LGF

Oft gibt es jedoch Anforderungen bestimmte Formeln bzw. Funktionen über einen Button ausführen zu lassen. In diesem How-To erfahren Sie wie es geht.
Für die zentrale Ausführung von Logikskripts werden Data Manager Packages verwendet. Legen Sie eine neue Package Group an (Data Manager -> Organize -> Organize Package List), in unserem Beispiel „Script Logic“.
Fügen Sie dann über Rechtsklick -> Add Package ein neues Paket hinzu. Ich verwende die Standard-Prozesskette /CPMB/DEFAULT_FORMULAS. Vergeben Sie den Namen (Package Name), z.B. „Copy Actual Data“, und die Beschreibung. Stellen Sie ein, ob das Data Package von Administratoren oder Usern (entsprechend den Einstellungen in Berechtigungen) ausgeführt werden kann. Speichern Sie die Einstellungen und wählen Sie anschließend Modify Package aus. Klicken Sie auf Modify Script und dann auf Advanced.

Modify Package

Data Manager Package

Geben Sie den folgenden Code ein. In diesem Beispiel werden keine Variablen übergeben, daher habe ich die SELECTION Anweisung entfernt.

TASK(/CPMB/DEFAULT_FORMULAS_LOGIC,SUSER,%USER%)
TASK(/CPMB/DEFAULT_FORMULAS_LOGIC,SAPPSET,%APPSET%)
TASK(/CPMB/DEFAULT_FORMULAS_LOGIC,SAPP,ACT) //Modell bzw. Cube
TASK(/CPMB/DEFAULT_FORMULAS_LOGIC,LOGICFILENAME,COP_ACT.LGF) //Name des Logikskripts

Die Script Logic soll auf dem ACT Cube ausgeführt werden, dieser enthält die Ist-Daten. Die Datei COP_ACT.LGF enthält neben *XDIM_MEMBERSET die folgenden Anweisungen:

*DESTINATION_APP = PLAN //Plan-Cube

*WHEN CATEGORY
*IS "ACTUAL"
*REC(EXPRESSION=%VALUE%)
*ENDWHEN

*COMMIT

Damit werden die Ist-Daten auf den Plan-Cube geschrieben.

Als nächstes bauen wir den Button. Dazu müssen Sie zunächst den Reiter für Entwicklertools (Englisch – Developer Tools) aktivieren. Gehen Sie dazu in die Registerkarte „Datei“. Klicken Sie nun auf „Optionen“ und anschließend „Menüband anpassen“. Aktivieren Sie unter Hauptregisterkarten das Kästchen „Entwicklertools“.

Developer Tab

Entwicklertools einblenden

Nun müssen Sie Makros und VBA aktivieren. Klicken Sie nun auf den eingeblendeten Reiter „Entwicklertools“ und wählen Sie „Makrosicherh.“ aus.

Einstellungen für Makros

Makrosicherheitseinstellungen

Wählen Sie die folgenden Einstellungen: für Makros – Alle Makros aktivieren, Entwicklermakroeinstellungen – Zugriff auf das VBA-Projektobjektmodell vertrauen.


SAP Analysis for Microsoft Office: Reporting leicht gemacht

Planung und Reporting mit SAP Analysis leicht gemacht!

Lernen Sie, wie Sie mit SAP Analysis for Microsoft Office professionelle Berichte erstellen. Dieses Praxishandbuch erklärt Ihnen, wie Sie Ihre Daten auf vielfältige Weise auswerten und darstellen. Schritt-für-Schritt-Anleitungen mit zahlreichen Screenshots unterstützen Sie – von der Implementierung bis zur Anwendung.

Nun wollen wir mithilfe einer Skriptlogik Ist-Daten auf den Plan-Cube kopieren.
Dazu wird über VBA ein API ausgeführt.
Die generische Syntax lautet wie folgt:

Sub Button()
Application.Run "APIName", "MethodName", "", "Arg1", "Arg2", "Arg3"
End Sub

Beispiel Data Package:
APIName = EPMExecuteAPI
MethodName = DataManagerRunPackage
LinkName = wird nicht verwendet, ist jedoch notwendig. Also immer „“
Arg1 = Package Name
Arg2 = Package Group
Arg3 = Team ID (bzw. „“ für Company)

Legen Sie über Entwicklertools -> Einfügen -> Schaltfläche einen Button an. Vergeben Sie einen Makronamen, z.B. ButtonClick1 und klicken Sie auf Neu. Geben Sie den folgenden Code ein:

Sub ButtonClick1()
Application.Run "EPMExecuteAPI", "DataManagerRunPackage", "", "Copy Actual Data", "Script Logic", ""
End Sub

Bei einem Klick auf den Button wird nun das Data Manager Paket ausgeführt und die Daten werden rüberkopiert.
Nun möchte ich die auf einer aggregierten Ebene geplanten Daten anhand von Ist-Daten verteilen. Dazu habe ich auf dem Modell (Cube) PLAN das Skript DIR_STRAT.LGF mit *RUNALLOCATION angelegt. Das entsprechende Data Manager Package wurde ebenfalls angelegt. Ich möchte mit einem Klick die Daten von Ist-Cube in den Plan-Cube kopieren (wird auf dem ACT Modell ausgeführt) und die Daten anschließend verteilen (wird auf dem PLAN Modell ausgeführt). Daher habe ich die beiden Packages in einem Package Link zusammengefasst. Das BI IP Pendant dazu wäre eine Planungssequenz.

Die VBA Syntax für Package Links ist eine andere. Es wird die Methode DataManagerRunPackageLink verwendet und Sie benötigen die Package Link ID sowie den Package Link Namen (in diesem Beispiel „Copy and Distribute Strat Plan“). Während Sie den Namen leicht herausfinden können (Sie vergeben ihn selbst) müssen Sie die ID im Backend nachschauen.
Lassen Sie Ihren Package Link laufen und gehen Sie anschließen in die Tabelle UJD_LINK_LOG (Transaktion SE16). Dort können Sie über den Namen (LINK_NAME) die dazugehörige ID finden. Alternativ können Sie die ID über die Tabelle UJD_LINK anhand von User und Timestamp rausfinden.
Ändern Sie nun Ihr Makro wie folgt:

Sub ButtonClick1()
Application.Run "EPMExecuteAPI", "DataManagerRunPackageLink", "", "DGWPFKBVYSKTUY8BFXPDZ8UTH", "Copy and Distribute Strat Plan"
End Sub

Nun wird nach einem Klick auf den Button die Sequenz ausgeführt.

Ihre User beklagen sich über langsame Berichte?

  • In meinem Newsletter lernen Sie, wie Sie Abhilfe schaffen.
  • Entdecken Sie die Möglichkeiten der Performanceoptimierung.
  • Praktische Anleitungen ermöglichen Ihnen schnelle Erfolge bei der Optimierung von SAP Systemen.
  • Viele Tipps und Tricks zu SAP BI Themen.
  • Holen Sie die maximale Performance aus Ihrem SAP BI!
  • Bei der Anmeldung zu meinem Newsletter erhalten Sie das Buch „High Performance SAP BI“ als Willkommensgeschenk.
Fordere SAP Performance Tricks an

Jetzt anfordern!

* Pflichtfeld
 
Kein SPAM. Ich hasse Spam genau so wie du.

Falls Ihnen dieser Beitrag weitergeholfen hat, wäre es eine sehr nette Anerkennung meiner Arbeit wenn Sie z.B. Ihre Bücher über Amazon bestellen würden. Wenn Sie ein Produkt kaufen, erhalte ich dafür eine Provision. Für Sie ändert sich am Preis des Produktes gar nichts. Ich möchte mich an dieser Stelle jetzt schon für Ihre Unterstützung bedanken.

0 Kommentare

Hinterlasse einen Kommentar

An der Diskussion beteiligen?
Hinterlasse uns deinen Kommentar!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.