Show TOC Anfang des Inhaltsbereichs

Hintergrunddokumentation JavaScript-API zum Ausführen von Befehlen  Dokument im Navigationsbaum lokalisieren

Sie können Befehle oder auch Befehlsfolgen per JavaScript ausführen.

Zum Ausführen eines Befehls müssen Sie zunächst den Befehl mit seinen Parametern erzeugen. Dazu steht Ihnen das Befehlsobjekt sapbi_Command und das Parameterobjekt sapbi_Parameter zur Verfügung. Eine Hilfe zur Erzeugung des JavaScripts bietet Ihnen der Befehle-Wizard im Web Item Skript. Nach Auswahl des Befehls und Setzen der Parameter wird Ihnen das nötige JavaScript-Coding generiert.  

Aufbau des Befehls mit seinen Parametern

Parameterobjekt sapbi_Parameter

Ein Parameter besteht aus einem Namen und einem Wert. Um einen neuen Parameter in JavaScript zu erzeugen, verwenden Sie die folgende Syntax:

      var parameter_object = new sapbi_Parameter(“Name”, “Wert”);

Einige Parameter besitzen Kinderparameter (Listen oder geschachtelte Parameter). Für diese Parameter geben Sie die Kinderparameter in einer Parameterliste an (siehe Parameterliste unten). Zum Hinzufügen von Parameterlisten verwenden Sie folgende Methode:

      setChildList(parameter_list)

Parameterliste sapbi_ParameterList

Zum Instanziieren einer Parameterliste wählen Sie folgende Syntax:

var parameter_list = new sapbi_Parameter();

Sie können mit folgenden Methoden Parameter zur Liste hinzufügen:

      parameter_list.addParameterNameValue(“Name“,“Wert“);

      parameter_list.addParameter(parameter_object);

Falls Sie einen bestimmten, vorhandenen Parameter in einer Liste ändern wollen, wählen Sie folgende Syntax und geben Sie den Index an (siehe Beispiel unten):

      paramList.setParameter(parameter_object, 1);

Befehlsobjekt sapbi_Command

Ein sapbi_Command-Objekt wird wie folgt instanziiert:

      var command = new sapbi_Command(“Name des Befehls”);

Um ein Parameterobjekt zum Befehl hinzuzufügen, verwenden Sie die Methode addParameter. Alternativ können Sie auch den Befehl addParameterNameValue verwenden:

      command.addParameterNameValue(“Name“,“Wert“);

      command.addParameter(parameter_object);

Befehlsliste sapbi_CommandSequence

Eine sapbi_CommandSequence ist eine Liste von sapbi_Commands.

Instanziiert wird das Objekt wie folgt:

      var cmdSeq = new sapbi_CommandSequence();

Um Befehle zur Befehlsfolge hinzuzufügen, steht Ihnen die Methode addCommand  zur Verfügung:

      cmdSeq.addCommand( sapbi_Command );

Das Ausführen des Befehls oder der Befehlsfolge erfolgt schließlich mit folgender Methode:

      sapbi_page.sendCommand(CommandOrCommandSequenceObject)

Beispiel

Beispiel 1

Sie haben den Befehl Vertauschen von Achsen (SWAP_AXES) für den Data Provider DP_1 im Befehle-Wizard eingestellt. Die XHTML-Sicht des Web Application Designers zeigt Ihnen das folgende Ergebnis (nur der Knoten INSTRUCTION wird hier angezeigt):

<bi:INSTRUCTION >

<bi:SWAP_AXES >

<bi:TARGET_DATA_PROVIDER_REF_LIST type="ORDEREDLIST" >

<bi:TARGET_DATA_PROVIDER_REF index="1" value="DP_1" />

</bi:TARGET_DATA_PROVIDER_REF_LIST>

</bi:SWAP_AXES>

</bi:INSTRUCTION>

Daraus resultiert die folgende Umsetzung in JavaScript:

/* Create TARGET_DATA_PROVIDER_REF */

var paramListDP_LIST = new sapbi_ParameterList();

var paramDP_LIST = new sapbi_Parameter( "TARGET_DATA_PROVIDER_REF_LIST", "" );

paramListDP_LIST.addParameterNameValue ("TARGET_DATA_PROVIDER_REF", "DP_1" );

paramDP_LIST.setChildList (paramListDP_LIST);

 

/* Create Command */

var commandSWAP_AXES = new sapbi_Command("SWAP_AXES");

commandSWAP_AXES.addParameter( paramDP_LIST );

 

/* Send Command */

sapbi_page.sendCommand(commandSWAP_AXES);

Beispiel 2

Sie haben den Befehl Parameter des Web Items festlegen (SET_ITEM_PARAMETERS) im Befehle-Wizard eingestellt, um das Web Item ANALYSIS_ITEM_1 auszublenden.

Bitte beachten Sie, dass beim Setzen von Web-Item-Parametern (SET_ITEM_PARAMETERS) die Besonderheit mit INIT_PARAMETERS gilt. Siehe auch: Parametrisiertes Aufrufen von Web Applications.

Die XHTML-Sicht des Web Application Designers zeigt Ihnen das folgende Ergebnis (nur der Knoten INSTRUCTION wird hier angezeigt):

<bi:INSTRUCTION >

<bi:SET_ITEM_PARAMETERS >

<bi:cmd_item_parameters type="ANALYSIS_ITEM" >

<bi:VISIBILITY value="VISIBLE" />

</bi:cmd_item_parameters>

<bi:TARGET_ITEM_REF value="ANALYSIS_ITEM_1" />

</bi:SET_ITEM_PARAMETERS>

</bi:INSTRUCTION>

 Daraus resultiert die folgende Umsetzung in JavaScript:

/* SET_ITEM_PARAMETERS */

 

/* Create TARGET_DATA_PROVIDER_REF */

var paramListINIT_PARAMETERS = new sapbi_ParameterList();

var paramINIT_PARAMETERS = new sapbi_Parameter( "INIT_PARAMETERS", "" );

paramListINIT_PARAMETERS.addParameterNameValue ("VISIBILITY", "VISIBLE" );

paramINIT_PARAMETERS.setChildList (paramListINIT_PARAMETERS);

 

var paramTARGET_ITEM_REF = new sapbi_Parameter( "TARGET_ITEM_REF", "ANALYSIS_ITEM_1" );

 

/* Create Command */

var commandSET_ITEM_PARAMETERS = new sapbi_Command("SET_ITEM_PARAMETERS");

commandSET_ITEM_PARAMETERS.addParameter( paramINIT_PARAMETERS );

commandSET_ITEM_PARAMETERS.addParameter( paramTARGET_ITEM_REF );

 

/* Send Command */

sapbi_page.sendCommand(commandSET_ITEM_PARAMETERS);

Beispiel 3

Sie haben den Befehl Parameter des Web Items festlegen (SET_ITEM_PARAMETERS) im Befehle-Wizard eingestellt, um die Beschriftung vom 1. Schalter im Web Item BUTTON_GROUP_ITEM_1 in Text in JavaScript zu ändern. Dies Beispiel zeigt, wie vorhandene Parameter in einer Liste mithilfe von setParameter geändert werden können.

Bitte beachten Sie, dass beim Setzen von Web-Item-Parametern (SET_ITEM_PARAMETERS) die Besonderheit mit INIT_PARAMETERS gilt. Siehe auch: Parametrisiertes Aufrufen von Web Applications.

Die XHTML-Sicht des Web Application Designers zeigt Ihnen das folgende Ergebnis (nur der Knoten INSTRUCTION wird hier angezeigt):

<bi:INSTRUCTION >

    <bi:SET_ITEM_PARAMETERS >

        <bi:cmd_item_parameters type="BUTTON_GROUP_ITEM" >

            <bi:BUTTON_LIST type="ORDEREDLIST" >

                <bi:BUTTON type="COMPOSITE" index="1" >

                    <bi:CAPTION value="Text in JavaScript" />

                </bi:BUTTON>

            </bi:BUTTON_LIST>

        </bi:cmd_item_parameters>

        <bi:TARGET_ITEM_REF value="BUTTON_GROUP_ITEM_1" />

    </bi:SET_ITEM_PARAMETERS>

</bi:INSTRUCTION>

 Daraus resultiert die folgende Umsetzung in JavaScript:

/* Create Command */

var commandSET_ITEM_PARAMETERS = new sapbi_Command( "SET_ITEM_PARAMETERS" );

 

/* Create parameter ITEM_TYPE */

var paramITEM_TYPE = new sapbi_Parameter( "ITEM_TYPE", "BUTTON_GROUP_ITEM" );

commandSET_ITEM_PARAMETERS.addParameter( paramITEM_TYPE );

 

/* Create parameter INIT_PARAMETERS */

var paramINIT_PARAMETERS = new sapbi_Parameter( "INIT_PARAMETERS" );

var paramListINIT_PARAMETERS = new sapbi_ParameterList();

commandSET_ITEM_PARAMETERS.addParameter( paramINIT_PARAMETERS );

 

// Create parameter BUTTON_LIST

var paramBUTTON_LIST = new sapbi_Parameter( "BUTTON_LIST", "" );

var paramListBUTTON_LIST = new sapbi_ParameterList();

 

// Create parameter BUTTON

var paramBUTTON = new sapbi_Parameter( "BUTTON", "" );

var paramListBUTTON = new sapbi_ParameterList();

 

// Create parameter CAPTION

var paramCAPTION = new sapbi_Parameter( "CAPTION", "Text in JavaScript" );

paramListBUTTON.addParameter( paramCAPTION );

 

paramBUTTON.setChildList( paramListBUTTON );

paramListBUTTON_LIST.setParameter( paramBUTTON, 1 );

// End parameter BUTTON!

 

paramBUTTON_LIST.setChildList( paramListBUTTON_LIST );

paramListINIT_PARAMETERS.addParameter( paramBUTTON_LIST );

// End parameter BUTTON_LIST!

 

paramINIT_PARAMETERS.setChildList( paramListINIT_PARAMETERS );

  

/* Create parameter TARGET_ITEM_REF */

var paramTARGET_ITEM_REF = new sapbi_Parameter( "TARGET_ITEM_REF", "BUTTON_GROUP_ITEM_1" );

commandSET_ITEM_PARAMETERS.addParameter( paramTARGET_ITEM_REF );

 

/* Send Command */

sapbi_page.sendCommand(commandSET_ITEM_PARAMETERS);

Ende des Inhaltsbereichs