Example - Refreshing a Document with Hierarchical Indexed Lists of Values

In the case where LOV values are indexed ("<value id="...">...</value>"), only the id is mandatory.

A first call without any <path> entry gets the first level, as if there were no hierarchy (however, there is the hierarchical="true" tag).

GET <webiURL>/documents/8816/parameters

The response returns the prompts at the first level in the hierarchy:

<parameters>
    <parameter optional="false" type="prompt" dpId="DP0">
        <id>0</id>
        <technicalName>customer Hierarchy Node variable mandatory</technicalName>
        <name>customer Hierarchy Node variable mandatory</name>
        <answer constrained="true" type="Text">
            <info cardinality="Single">
                <lov hierarchical="true" partial="false" refreshable="true">
                    <id>UNIVERSELOV_DS0.DO48</id>
                    <intervals>
                        <interval id="0">
                            <cvalue id="[Z_COUNTRY COUNTRY_HIERARCHY_01].[WORLD 0HIER_NODE]" final="false">
                                <column id="0">WORLD  0HIER_NODE</column>
                                <column id="1">WORLD</column>
                            </cvalue>
                            <cvalue id="[Z_COUNTRY COUNTRY_HIERARCHY_01].[REST_H 1HIER_REST]" final="false">
                                <column id="0">REST_H 1HIER_REST</column>
                                <column id="1">Not Assigned Country (s)</column>
                            </cvalue>
                        </interval>
                    </intervals>
                    <cvalues>
                        <cvalue id="[Z_COUNTRY COUNTRY_HIERARCHY_01].[WORLD 0HIER_NODE]" final="false">
                            <column id="0">WORLD 0HIER_NODE</column>
                            <column id="1">WORLD</column>
                        </cvalue>
                        <cvalue id="[Z_COUNTRY COUNTRY_HIERARCHY_01].[REST_H 1HIER_REST]" final="false">
                            <column id="0">REST_H 1HIER_REST</column>
                            <column id="1">Not Assigned Country (s)</column>
                        </cvalue>
                    </cvalues>
                    <columns mappingId="0">
                        <column id="0" type="String">LovHierNodeL00 CountryBase </column>
                        <column id="1" type="String">LovHierNodeL00 Country </column>
                    </columns>
                </lov>
                <previous>
                    <value id="[Z_COUNTRY COUNTRY_HIERARCHY_01].[0013]">0013</value>
                </previous>
            </info>
            <values>
                <value id="[Z_COUNTRY COUNTRY_HIERARCHY_01].[0013]">0013</value>
            </values>
        </answer>
    </parameter>
</parameters>
Send second call giving known first level values

A second call with any of the known first-level values will get the corresponding second level values:

PUT <webiURL>/documents/8816/parameters

Request body:

<parameters>
    <parameter>
        <id>0</id>
        <answer>
            <info>
                <lov>
                    <query>
                        <path>
                            <value id="[Z_COUNTRY COUNTRY_HIERARCHY_01].[WORLD 0HIER_NODE]"/>
                        </path>
                    </query>
                </lov>
           </info>
        </answer>
    </parameter>
</parameters>

The response returns the prompts at the next level in the hierarchy:

<parameters>
    <parameter optional="false" type="prompt" dpId="DP0">
        <id>0</id>
        <technicalName>customer Hierarchy Node variable mandatory</technicalName>
        <name>customer Hierarchy Node variable mandatory</name>
        <answer constrained="true" type="Text">
            <info cardinality="Single">
                <lov hierarchical="true" partial="false" refreshable="true">
                    <id>UNIVERSELOV_DS0.DO48</id>
                    <intervals>
                        <interval id="0">
                            <cvalue id="[Z_COUNTRY COUNTRY_HIERARCHY_01].[EUROPE 0HIER_NODE]" final="false">
                                <column id="0">EUROPE 0HIER_NODE</column>
                                <column id="1">EUROPE</column>
                            </cvalue>
                            <cvalue id="[Z_COUNTRY COUNTRY_HIERARCHY_01].[MIDDLE_EAST 0HIER_NODE]" 
                                final="false">
                                <column id="0">MIDDLE_EAST  0HIER_NODE</column>
                                <column id="1">MIDDLE_EAST</column>
                            </cvalue>
                        </interval>
                    </intervals>
                    <cvalues>
                        <cvalue id="[Z_COUNTRY COUNTRY_HIERARCHY_01].[EUROPE 0HIER_NODE]" final="false">
                            <column id="0">EUROPE 0HIER_NODE</column>
                            <column id="1">EUROPE</column>
                        </cvalue>
                        <cvalue id="[Z_COUNTRY COUNTRY_HIERARCHY_01].[NORTH_AMERICA 0HIER_NODE]" final="false">
                            <column id="0">NORTH_AMERICA 0HIER_NODE</column>
                            <column id="1">NORTH_AMERICA</column>
                        </cvalue>
                        <cvalue id="[Z_COUNTRY COUNTRY_HIERARCHY_01].[ASIA_PAC 0HIER_NODE]" final="false">
                            <column id="0">ASIA_PAC 0HIER_NODE</column>
                            <column id="1">ASIA_PAC</column>
                        </cvalue>
                        <cvalue id="[Z_COUNTRY COUNTRY_HIERARCHY_01].[MIDDLE_EAST 0HIER_NODE]" final="false">
                            <column id="0">MIDDLE_EAST 0HIER_NODE</column>
                            <column id="1">MIDDLE_EAST</column>
                        </cvalue>
                    </cvalues>
                    <columns mappingId="0">
                        <column id="0" type="String">LovHierNodeL01 CountryBase </column>
                        <column id="1" type="String">LovHierNodeL01 Country </column>
                    </columns>
                </lov>
                <previous>
                    <value id="[Z_COUNTRY COUNTRY_HIERARCHY_01].[0013]">0013</value>
                </previous>
            </info>
            <values>
                <value id="[Z_COUNTRY COUNTRY_HIERARCHY_01].[0013]">0013</value>
            </values>
        </answer>
    </parameter>
</parameters>
Repeat for the second level

PUT <webiURL>/documents/8816/parameters

Request body:

<parameters>
    <parameter>
        <id>0</id>
        <answer>
            <info>
                <lov>
                    <query>
                        <path>
                            <value id="[Z_COUNTRY COUNTRY_HIERARCHY_01].[WORLD 0HIER_NODE]" /> 
                            <value id="[Z_COUNTRY COUNTRY_HIERARCHY_01].[ASIA_PAC 0HIER_NODE]" />
                        </path>
                    </query>
                </lov>
            </info>
        </answer>
    </parameter>
</parameters>

Response:

<parameters>
    <parameter optional="false" type="prompt" dpId="DP0">
        <id>0</id>
        <technicalName>customer Hierarchy Node variable mandatory</technicalName>
        <name>customer Hierarchy Node variable mandatory</name>
        <answer constrained="true" type="Text">
            <info cardinality="Single">
                <lov hierarchical="true" partial="false" refreshable="true">
                    <id>UNIVERSELOV_DS0.DO48</id>
                    <intervals>
                        <interval id="0">
                            <cvalue id="[Z_COUNTRY COUNTRY_HIERARCHY_01].[0003]">
                                <column id="0">0003</column>
                                <column id="1">Australia</column>
                            </cvalue>
                            <cvalue id="[Z_COUNTRY COUNTRY_HIERARCHY_01].[0063]">
                                <column id="0">0063</column>
                                <column id="1">Thailand</column>
                            </cvalue>
                        </interval>
                    </intervals>
                    <cvalues>
                        <cvalue id="[Z_COUNTRY COUNTRY_HIERARCHY_01].[0003]">
                            <column id="0">0003</column>
                            <column id="1">Australia</column>
                        </cvalue>
                        <cvalue id="[Z_COUNTRY COUNTRY_HIERARCHY_01].[0006]">
                            <column id="0">0006</column>
                            <column id="1">Bangladesh</column>
                        </cvalue>
                        <cvalue id="[Z_COUNTRY COUNTRY_HIERARCHY_01].[0015]">
                            <column id="0">0015</column>
                            <column id="1">China</column>
                        </cvalue>
                        <cvalue id="[Z_COUNTRY COUNTRY_HIERARCHY_01].[0030]">
                            <column id="0">0030</column>
                            <column id="1">Indonesia</column>
                        </cvalue>
                        <cvalue id="[Z_COUNTRY COUNTRY_HIERARCHY_01].[0035]">
                            <column id="0">0035</column>
                            <column id="1">Japan</column>
                        </cvalue>
                        <cvalue id="[Z_COUNTRY COUNTRY_HIERARCHY_01].[0038]">
                            <column id="0">0038</column>
                            <column id="1">Malaysia</column>
                        </cvalue>
                        <cvalue id="[Z_COUNTRY COUNTRY_HIERARCHY_01].[0041]">
                            <column id="0">0041</column>
                            <column id="1">Nepal</column>
                        </cvalue>
                        <cvalue id="[Z_COUNTRY COUNTRY_HIERARCHY_01].[0050]">
                            <column id="0">0050</column>
                            <column id="1">Philippines</column>
                        </cvalue>
                        <cvalue id="[Z_COUNTRY COUNTRY_HIERARCHY_01].[0058]">
                            <column id="0">0058</column>
                            <column id="1">Singapore</column>
                        </cvalue>
                        <cvalue id="[Z_COUNTRY COUNTRY_HIERARCHY_01].[0063]">
                            <column id="0">0063</column>
                            <column id="1">Thailand</column>
                        </cvalue>
                    </cvalues>
                    <columns mappingId="0">
                        <column id="0" type="String">LovHierNodeL02 CountryBase </column>
                        <column id="1" type="String">LovHierNodeL02 Country </column>
                    </columns>
                </lov>
                <previous>
                    <value id="[Z_COUNTRY COUNTRY_HIERARCHY_01].[0013]">0013</value>
                </previous>
            </info>
            <values>
                <value id="[Z_COUNTRY COUNTRY_HIERARCHY_01].[0013]">0013</value>
            </values>
        </answer>
    </parameter>
</parameters>

There is no more final="false" tag: the last level of the hierarchy is reached.

Finally, refresh the document

The document can now be refreshed as usual, providing a <value> (<path> is not mandatory any more as the values are now known).

PUT <webiURL>/documents/8816/parameters

Request body:

<parameters>
    <parameter>
        <id>0</id>
        <answer>
            <values>
                <value id="[Z_COUNTRY COUNTRY_HIERARCHY_01].[0015]"/>
            </values>
        </answer>
    </parameter>
</parameters>

Response:

<success>
    <message>The resource of type 'Document' with identifier '8816' has been successfully updated.</message>
    <id>8816</id>
</success>