Show TOC Anfang des Inhaltsbereichs

Diese Grafik wird im zugehörigen Text erklärt Kaskadierende Dropdown-Boxen verwenden  Dokument im Navigationsbaum lokalisieren

Verwendung

Die Selektion, die in einer Dropdown-Box vorgenommen wird, soll die Werte einer abhängigen Dropdown-Box einschränken.

Beispiel

Ein Beispiel hierfür wäre, zuerst eine Materialgruppe auszuwählen und dann in der (davon abhängigen) Dropdown-Box nur die zu dieser Materialgruppe (0MATL_GROUP) gehörenden Materialien (0MATERIAL) angezeigt zu bekommen.

Wenn Sie im Web Item Dropdown-Box unter Datenanbindungstyp den Eintrag Merkmalswert/Strukturelement (CHARACTERISTIC_SELECTION) ausgewählt haben, können Sie über den Parameter Beeinflusste Data Provider (LINKED_DATA_PROVIDER_REF_LIST) festlegen, dass die Dropdown-Box ihre Selektion auf mehrere Data Provider anwenden soll. Definieren Sie die abhängigen Web Items vom Typ Dropdown-Box auf separaten Data Providern, und nehmen Sie diese in die Liste der beeinflussten Data Provider auf. Somit lässt sich diese über das Web Item Dropdown-Box einschränken.

Wenn sämtliche, in diesem Zusammenhang verwendeten Data Provider von einer Query versorgt werden, die die gewünschten Kombinationen von Merkmalswerten z.B. in dem Zeilenaufriss hat, ist das gewünschte kaskadierende Verhalten erreicht.

Diese Ansatz kann für zwei oder mehr abhängige Dropdown-Boxen verwendet werden.

Voraussetzungen

Wählen Sie für die Query als Zugriffsart für Ergebniswerte die Option gebuchte Werte. Weitere Informationen finden Sie unter Eigenschaften des Merkmals ® Registerkarte Erweitert.

Nehmen Sie die abhängigen Merkmale so in den Aufriss der Query, dass sich das zu lesende abhängige Merkmal (im oben genannten Beispiel Material) in den Zeilen befindet und als zweites Merkmal im Aufriss ist.

Vorgehensweise

...

       1.      Legen sie eine Query COMBINATIONS an, die die abhängigen Merkmale enthält. In unserem Beispiel beruht die Query auf den Stammdaten des Merkmals Material (0MATERIAL), welches die Materialgruppe (0MATL_GROUP) als Attribute enthält.

       2.      Legen sie zwei Data Provider DP_MASTER und DP_SLAVE zu der Query COMBINATIONS an.

       3.      Fügen Sie in das Web Template ein Web Item vom Typ Dropdown-Box DROPDOWN_SLAVE ein, und wählen sie als Datenquelle den Data Provider DP_SLAVE. Wählen sie die abhängigen Merkmale aus.

       4.      Fügen Sie in das Web Template ein Web Item vom Typ Dropdown-Box DROPDOWN_MASTER ein, und wählen sie als Datenquelle den Data Provider DP_MASTER. Wählen sie als Merkmal das übergeordnete aus, und tragen Sie als abhängige Data Provider DP_SLAVE und DP_DATA ein.

       5.      Sobald sich die Auswahl im DROPDOWN_MASTER ändert, ist der Wert des abhängigen DROPDOWN_SLAVE in der Regel nicht mehr gültig und muss gelöscht bzw. durch einen passenden Wert gefüllt werden.

       Löschen des Eintrages: Fügen Sie in den Eigenschaften der Dropdown-Box DROPDOWN_MASTER als Parameter Zusätzliche Aktion (ACTION_WITH_DEFAULT) das Kommando CLEAR_SELECTION_STATE ein, und wählen Sie als Ausführungszeitpunkt die Option Nach Standardaktion. Dadurch wird die Selektion der Data Provider DP_SLAVE und DP_DATA gelöscht.

       Passender Wert (= erster Wert der geänderten Ergebnisliste): Der erste Wert aus der Ergebnisliste soll als neuer Filterwert für die Dropdown-Box DROPDOWN_SLAVE verwendet werden. Dies wird durch das Kommando SET_SELECTION_STATE erreicht, das nach dem Kommando CLEAR_SELECTION_STATE beim Löschen des Eintrages verwendet wird.

Mit Hilfe eines Ausdrucks, der sich an die XPath-Notation anlehnt und in der Lage ist, Werte aus z.B. einem Data Provider zu lesen und damit dynamisch Parameterwerte verändern kann, wird der (sich ändernde) erste Wert mit dem Kommando verbunden.

Gehen Sie im einzelnen wie folgt vor:

                                                  i.       Das Kommando SET_SELECTION_STATE wird wie beim Löschen des Eintrages beschrieben angelegt. Als Filterwert wird z.B. der Wert PLACEHOLDER verwendet.

                                                ii.       Wechseln Sie in die XHTML-Sicht.

                                               iii.       Suchen Sie nach dem Text value=“PLACEHOLDER“.

                                               iv.       Ersetzen Sie den Text durch: path="DATA_PROVIDER:DP_SLAVE?/ BICS_VIEW/RESULT_SET/AXES/AXIS[@name="ROWS"]/TUPLES/TUPLE[1]/ELEMENT[2]/MEMBER/@name.

Hinweis

Dieser Ausdruck setzt voraus, dass sich das zu lesende Merkmal (Material 0MATERIAL) in den Zeilen befindet [@name=’ROWS’] und als zweites Merkmal im Aufriss ist [ELEMENT[2]].

       6.      Testen Sie Ihre Web Application.

Hinweis

Tipp 1: Falls mehr Daten angezeigt werden als erwartet, könnte dies dadurch verursacht sein, dass als Zugriffsart für Ergebniswerte nicht die Option gebuchte Werte gewählt wurde.

Tipp 2: Um die Funktionsweise transparenter zu machen, können Sie den Data Providern DROPDOWN_MASTER und DROPDOWN_SLAVE jeweils ein Web Item vom Typ Analyse zuordnen, welches die jeweiligen Kombinationen anzeigt.

       7.      Um das Beispiel zu vervollständigen, wird eine Query benötigt, die Daten anzeigt und über die beiden Dropdown-Boxen eingeschränkt wird.

Gehen Sie im einzelnen wie folgt vor:

                            a.      Legen Sie einen Data Provider DP_DATA an, der auf die Query QUERY_DATA verweist.

                            b.      Nehmen Sie in den Web Items vom Typ Dropdown-Box den Data Provider DP_DATA in die Liste der beeinflussten Data Provider auf.

                            c.      Nehmen Sie ein Web Item vom Typ Analyse auf, das auf den DataProvider DP_DATA verweist.

Beispiel-Quelltext

Im folgenden finden Sie den Beispiel-Quelltext aus der XHTML-Sicht des Web Application Designers:

XHTML-Beispiel-Quelltext für kaskadierende Dropdown-Boxen

<bi:bisp  xmlns="http://www.w3.org/TR/REC-html40" xmlns:bi="http://xml.sap.com/2005/01/bi/wad/bisp" xmlns:jsp="http://java.sun.com/JSP/Page" >
    <html >
        <head >
            <title >
Netweaver BI Web Application</title>
            <meta 
http-equiv="Content-Typecontent="text/html; charset=utf-8" />
        </head>
        <body >
            
<bi:QUERY_VIEW_DATA_PROVIDER name="DP_DATA>
                <bi:INITIAL_STATE 
type="CHOICEvalue="QUERY>
                    <bi:QUERY 
value="QUERY_DATAtext="Query data/>
                </bi:INITIAL_STATE>
            </bi:QUERY_VIEW_DATA_PROVIDER>
            <bi:QUERY_VIEW_DATA_PROVIDER 
name="DP_MASTER>
                <bi:INITIAL_STATE 
type="CHOICEvalue="QUERY>
                    <bi:QUERY 
value=" COMBINATIONS text="Combinations/>
                </bi:INITIAL_STATE>
            </bi:QUERY_VIEW_DATA_PROVIDER>
            <bi:QUERY_VIEW_DATA_PROVIDER 
name="DP_SLAVE>
                <bi:INITIAL_STATE 
type="CHOICEvalue="QUERY>
                    <bi:QUERY 
value="COMBINATIONStext="Combinations/>
                </bi:INITIAL_STATE>
            </bi:QUERY_VIEW_DATA_PROVIDER>
            <bi:TEMPLATE_PARAMETERS 
name="TEMPLATE_PARAMETERS/>
            
<p >
                
<bi:DROPDOWN_ITEM name="DROPDOWN_ITEM_1designheight="70designwidth="200>
                    <bi:DATA_BINDING_TYPE 
type="CHOICEvalue="CHARACTERISTIC_SELECTION>
                        <bi:CHARACTERISTIC_SELECTION 
type="COMPOSITE>
                            <bi:DATA_PROVIDER_REF 
value="DP_MASTER/>
                            <bi:CHARACTERISTIC 
value="0MATL_GROUPtext="" />
                            <bi:LABEL_VISIBLE 
value="X/>
                            <bi:ALL_VALUES_ENTRY_INCLUDED 
value="" />
                            <bi:LINKED_DATA_PROVIDER_REF_LIST 
type="ORDEREDLIST>
                                <bi:LINKED_DATA_PROVIDER_REF 
index="1value="DP_SLAVE/>
                                <bi:LINKED_DATA_PROVIDER_REF 
index="2value="DP_DATA/>
                            </bi:LINKED_DATA_PROVIDER_REF_LIST>
                            <bi:ACTION_WITH_DEFAULT 
type="CHOICEvalue="INSTRUCTION_WITH_DEFAULT>
                                <bi:INSTRUCTION_WITH_DEFAULT 
type="COMPOSITE>
                                    <bi:EXECUTION_TIME 
value="AFTER/>
                                    <bi:INSTRUCTION >
                                        <bi:CLEAR_SELECTION_STATE >
                                            <bi:TARGET_DATA_PROVIDER_REF_LIST 
type="ORDEREDLIST>
                                                <bi:TARGET_DATA_PROVIDER_REF 
index="1value="DP_SLAVE/>
                                                <bi:TARGET_DATA_PROVIDER_REF 
index="2value="DP_DATA/>
                                            </bi:TARGET_DATA_PROVIDER_REF_LIST>
                                            <bi:CHARACTERISTIC 
value="0MATERIALtext="" />
                                        
</bi:CLEAR_SELECTION_STATE>
                                        <bi:SET_SELECTION_STATE_SIMPLE >
                                            <bi:TARGET_DATA_PROVIDER_REF_LIST 
type="ORDEREDLIST>
                                                <bi:TARGET_DATA_PROVIDER_REF 
index="1value="DP_SLAVE/>
                                                <bi:TARGET_DATA_PROVIDER_REF 
index="2value="DP_DATA/>
                                            </bi:TARGET_DATA_PROVIDER_REF_LIST>
                                            <bi:CHARACTERISTIC 
value="0MATERIALtext="" />
                                            <bi:RANGE_SELECTION_OPERATOR 
type="CHOICEvalue="EQUAL_SELECTION>
                                                <bi:EQUAL_SELECTION 
type="CHOICEvalue="MEMBER_NAME>
                                                    <bi:MEMBER_NAME 
path="DATA_PROVIDER:DP_SLAVE?/ BICS_VIEW /RESULT_SET/AXES/AXIS[@name=&apos;ROWS&apos;]/TUPLES/TUPLE[1]/ELEMENT[2]/MEMBER/@name/>
                                                </bi:EQUAL_SELECTION>
                                            </bi:RANGE_SELECTION_OPERATOR>
                                        </bi:SET_SELECTION_STATE_SIMPLE>
                                    </bi:INSTRUCTION>
                                </bi:INSTRUCTION_WITH_DEFAULT>
                            </bi:ACTION_WITH_DEFAULT>
                        </bi:CHARACTERISTIC_SELECTION>
                    </bi:DATA_BINDING_TYPE>
                </bi:DROPDOWN_ITEM>
                <bi:DROPDOWN_ITEM 
name="DROPDOWN_ITEM_2designheight="70designwidth="200>
                    <bi:DATA_BINDING_TYPE 
type="CHOICEvalue="CHARACTERISTIC_SELECTION>
                        <bi:CHARACTERISTIC_SELECTION 
type="COMPOSITE>
                            <bi:DATA_PROVIDER_REF 
value="DP_SLAVE/>
                            <bi:CHARACTERISTIC 
value="0MATERIALtext="Currency/>
                            <bi:LABEL_VISIBLE 
value="X/>
                            <bi:ALL_VALUES_ENTRY_INCLUDED 
value="" />
                            <bi:LINKED_DATA_PROVIDER_REF_LIST 
type="ORDEREDLIST>
                                <bi:LINKED_DATA_PROVIDER_REF 
index="1value="DP_DATA/>
                            </bi:LINKED_DATA_PROVIDER_REF_LIST>
                            <bi:ACTION_WITH_DEFAULT 
type="CHOICEvalue="INSTRUCTION_WITH_DEFAULT>
                                <bi:INSTRUCTION_WITH_DEFAULT 
type="COMPOSITE/>
                            </bi:ACTION_WITH_DEFAULT>
                        </bi:CHARACTERISTIC_SELECTION>
                    </bi:DATA_BINDING_TYPE>
                </bi:DROPDOWN_ITEM>
                <bi:ANALYSIS_ITEM 
name="ANALYSIS_ITEM_1designwidth="400designheight="200>
                    <bi:DATA_PROVIDER_REF 
value="DP_DATA/>
                </bi:ANALYSIS_ITEM>
        
</body>
    </html>
</bi:bisp>

 

 

 

Ende des Inhaltsbereichs