How To Design Studio – Variablen über Dropdown füllen

How To Design Studio – Variablen über Dropdown füllen
5 Sterne
3 Bewertungen


In dem Beitrag Werte über Dropdown filtern haben Sie bereits die Basics für die Arbeit mit Dropdown Boxes kennengelernt. In diesem Beitrag zeige ich Ihnen wie Sie Variablen übergeben können.
Unsere Query hat nun eine (optionale) Variable für das Geschäftjahr bekommen. Wir wollen diese nun über das Dropdown füllen. Die Dropdown Box haben wir bereits erstellt. Diese wird beim Aufruf über das folgende Script gefüllt.

//populate drop down
DROPDOWN_1.setItems(DS_1.getMemberList("LPRODUCT", MemberPresentation.INTERNAL_KEY, MemberDisplay.TEXT, 10, "Alle Werte anzeigen"));
DROPDOWN_2.setItems(DS_1.getMemberList("0FISCYEAR", MemberPresentation.INTERNAL_KEY, MemberDisplay.KEY, 10, "Alle Werte anzeigen"));
//set query to "input ready"
DS_1.configureInputReadiness(true);
Die Variable für das Geschäftjahr 0FISCYEAR wird über das Dropdown gefüllt

Query mit einer Variablen

Als Nächstes soll die Auswahl aus der Dropdown Box an die Variable weitergegeben werden. Dazu legen wir für die Dropdown Box ein On Select Event (PropertiesEvents) an. Die Variable wird für die gesamte Anwendung festgelegt. Dazu verwenden wir die Methode setVariableValue des Objekts APPLICATION.

APPLICATION.setVariableValue(variable, value);

Als erstes Parameter legen wir die zu füllende Varibale fest.

APPLICATION.setVariableValue("CIT_PIX_VAR_0FISCYEAR_M_E_O", value);

Dann definieren wir, woher der Wert für diese Variable kommen soll. Dieser soll aus der zweiten Dropdown Box kommen. Allerdings ist das Geschäftsjahr mit der Geschäftsjahresvariante geklammert. Wir wollen jedoch nur das Jahr übergeben. Daher legen wir über substring fest, dass nur die Zeichen nach der zweiten Stelle übergeben werden sollen.

APPLICATION.setVariableValue("CIT_PIX_VAR_0FISCYEAR_M_E_O", DROPDOWN_2.getSelectedValue().substring(2,6));

Das Geschäftsjahr wird nun über die Variable festgelegt und die Query ist eingabebereit.

Jahr wird festgelegt

Variable wurde übergeben

Wenn Sie bei dem Geschäftsjahr 0FISCYEAR für den Stammdatenzugriff die Klasse CL_RSMD_RS_0FISCYEAR verwenden, kommt es bei der erneuten Auswahl von „Alle Werte anzeigen“ zu einem Dump (Stand DS 1.3). Bei der Auswahl von „Alle Werte anzeigen“ wird (ALL_MEMBERS) ans BW übergeben und die Klasse kann damit nicht umgehen. In diesem Fall bietet sich das folgende Work-Around an:

if (DROPDOWN_2.getSelectedValue()!= "(ALL_MEMBERS)"){
APPLICATION.setVariableValue("CIT_PIX_VAR_0FISCYEAR_M_E_O", DROPDOWN_2.getSelectedValue().substring(2,6));
}
else
{
//nichts
}

Wenn der Wert, der aus dem Dropdown kommt nicht (ALL_MEMBERS) heißt (also ein Jahr), wird dieser an die Variable weitergegeben. Ansonsten passiert nichts.
Bei der Geschäftperiode gilt es noch mehr zu tricksen. Da müssen wir die Reihenfolge umkehren und mit einem Punkt verketten.

if (DROPDOWN_1.getSelectedValue()!= "(ALL_MEMBERS)"){
APPLICATION.setVariableValueExt("0P_FISCPER", DROPDOWN_1.getSelectedValue().substring(6,9)+"."+DROPDOWN_1.getSelectedValue().substring(2,6));
}
else
{
//nichts
}

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.

Denis Reis ist Business Intelligence Consultant bei Dahlbeer und gibt als Buchautor sein Wissen rund um den SAP Projektalltag weiter. Des Weiteren unterrichtet er Projektmanagement und Controlling an der Wiesbaden Business School. Der aus Düsseldorf stammende Familienmensch zählt zu denjenigen, die auf komplizierte Darstellungen verzichten und das Ganze auf den Punkt bringen.

0 Kommentare

Dein Kommentar

Want to join the discussion?
Feel free to contribute!

Kommentar verfassen