コンテンツエリア開始

Background documentation コマンドを実行する JavaScript API Locate the document in its SAP Library structure

JavaScript を使用すると、コマンドまたはコマンドシーケンスを実行することができます。

コマンドを実行するには、最初にコマンドおよびそのパラメータを生成する必要があります。この場合、コマンドオブジェクト sapbi_Command およびパラメータオブジェクト sapbi_Parameter を使用することができます。スクリプトWeb アイテムでは、コマンドウィザードによって JavaScript の生成がサポートされています。コマンドを選択してパラメータを設定すると、JavaScript コードが生成されます。

コマンドの構造およびパラメータ

パラメータオブジェクト sapbi_Parameter

1 つのパラメータは、名称と値で構成されています。JavaScript で新規パラメータを生成するには、以下の構文を使用します。

      var parameter_object = new sapbi_Parameter("Name", "Value");

一部のパラメータには、子パラメータ (一覧またはネストされているパラメータ) があります。これらのパラメータの場合は、パラメータ一覧内の子パラメータを指定します (以下に示すパラメータ一覧を参照)。パラメータ一覧を追加するには、以下のメソッドを使用します。

      setChildList(parameter_list)

パラメータリスト sapbi_ParameterList

パラメータ一覧をインスタンス化するには、以下の構文を使用します。

var parameter_list = new sapbi_Parameter();

以下のメソッドを使用すると、パラメータを一覧に追加することができます。

      parameter_list.addParameterNameValue("Name","Value");

      parameter_list.addParameter(parameter_object);

すでに一覧にある特定のパラメータを変更するには、以下の構文を使用して索引を指定します (以下の例を参照)

      paramList.setParameter(parameter_object, 1);

コマンドオブジェクト sapbi_Command

sapbi_Command オブジェクトは、以下のようにしてインスタンス化します。

      var command = new sapbi_Command("Name of Command");

コマンドにパラメータオブジェクトを追加するには、addParameter メソッドを使用します。また、addParameterNameValue コマンドを使用することもできます。

      command.addParameterNameValue("Name","Value");

      command.addParameter(parameter_object);

コマンドの一覧 sapbi_CommandSequence

sapbi_CommandSequence は、sapbi_Commands の一覧です。

このオブジェクトは、以下のようにしてインスタンス化します。

      var cmdSeq = new sapbi_CommandSequence();

コマンドシーケンスにコマンドを追加するには、addCommand メソッドを使用することができます。

      cmdSeq.addCommand( sapbi_Command );

このコマンドまたはコマンドシーケンスは、以下のメソッドを使用して実行されます。

      sapbi_page.sendCommand(CommandOrCommandSequenceObject)

1

コマンドウィザードで、データプロバイダ DP_1 軸の切替(SWAP_AXES) コマンドを設定しました。Web アプリケーションデザイナの XHTML ビューには、以下の結果が表示されます (この例は、INSTRUCTION ノードのみを示しています)

<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>

この結果、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);

2

ANALYSIS_ITEM_1Web アイテムを非表示にするために、コマンドウィザードで Web アイテムパラメータを設定 (SET_ITEM_PARAMETERS)を設定しています。

Web アイテムパラメータ (SET_ITEM_PARAMETERS)を設定すると、INIT_PARAMETERSの特殊ルールが適用されます。参照: パラメータを使用した Web アプリケーションの呼出

Web アプリケーションデザイナのXHTML ビューには、以下の結果が表示されます (この例は、INSTRUCTION ノードのみを示しています)

<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>

この結果、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);

3

Web アイテム BUTTON_GROUP_ITEM_1の最初のボタンのラベルを JavaScript でのテキストに変更するために、コマンドウィザードの Web アイテムパラメータを設定 (SET_ITEM_PARAMETERS)コマンドを設定しています。この例は、setParameter を使用し、一覧の既存のパラメータをどのように変更できるかを示しています。

Web アイテムパラメータ (SET_ITEM_PARAMETERS)を設定すると、INIT_PARAMETERSの特殊ルールが適用されます。参照: パラメータを使用した Web アプリケーションの呼出

Web アプリケーションデザイナのXHTML ビューには、以下の結果が表示されます (この例は、INSTRUCTION ノードのみを示しています)

<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>

この結果、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);

 

 

コンテンツエリア終了