NextGen Consulting

IT Consulting CRM BSS OSS

Display Multi-Level Choice List

Q: Could you please show me how to display multi-level choice list in Amdocs smart client form (Eg: CASE_TYPE choice) .     

I’ve seen the guidance in AUIF_Programmers_Guide-M30113 document, but it’s not illustrated by image so I can not make it.     

Displaying Multi-Level Choice List

Flow Diagram



Using Multi-Level Choice List

To display Multi-level choice list, you need to use Multi-level choice list submit action (MLCLSA). This action is used if change of selection in a ComboBox or ListBox needs to fetch choice list data to fill next level ComboBox or ListBox.

To display a 3 level hierarchical user defined choice lists, use the following example.

We will use CASE_TYPE user defined popup list in this example.

Add to your Smart Client form the following entities:

  • Add three ComboBox controls: cmbLevel1, cmbLevel2 and cmbLevel3.


  • Add the following data models:


  • Add  three Multi Level Choice List Submit Actions (MLCLSA): MLCLSA_Level1, MLCLSA_Level2 and MLCLSA_Level3


  • Set the following controls properties:

cmbLevel1 properties:



cmbLevel2 properties:



cmbLevel3 properties:


  • Set the following MLCL Submit Actions properties:

MLCLSA_Level1 properties:


MLCLSA_Level1 Request Map:


MLCLSA_Level1 Response Map:



MLCLSA_Level2 properties:


MLCLSA_Level2Request Map:

MLCLSA_Level2Response Map:


MLCLSA_Level3 properties:


MLCLSA_Level3 Request Map:


MLCLSA_Level3 Response Map:



  • Set the form_load event to execute the first level MLCL Submit Action:




  • Test your new choice list:




Explaining the Request Data Map parameters

The server returns associated data as a hierarchical TDM to the client, according to the value set for returnAll parameter.


Response Data Map Parameters

The following response data map properties should be set:

Source Path need to be set to “$Return”.

Target Data Model needs to be set to the TDM (defined on the form) to hold the choice list data.  

Each data model (row) in the TDM will have the following fields.





Retrieving Subsets of Hierarchical Lists


The returnAll value affects the behavior of the properties ChildChoiceAvailable and ChildChoice according to existence of child choice lists.

–       The ChildChoiceAvailable indicates whether or not the current selected data model has a child tabular data model.

–       The ChildChoice refers to the the child choice list TDM

The returnAll parameter can be set in to either 0, 1, or 2 as follows:

0:   return default choice

1:   return only choices

2:   return all



Option A: RetuenAll = 0 

If the returnAll parameter is set to 0 (return default):

–       The result may contain all the choices for the given metadata id and the child choice lists for the default choice.

If there are children:

–       ChildChoiceAvailable = true

–       ChildChoice = nested TDM containing the children, for the default item

–       ChildChoice = null, for the non-default items

If there are no children:

–       ChildChoiceAvailable = false

–       ChildChoice = null for all items



Option B: RetuenAll = 1


If the returnAll parameter is set to 1 (return_only_choices)

–       The result would include only the choices for the given metadata id.

–       ChildChoice=null for all items


If there are children

–       ChildChoiceAvailable = true   

If there are no children:

–       ChildChoiceAvailable = false.



Option C: RetuenAll =2

If the returnAll parameter is set to 2 (return all)

–       The result contain the choices and all child choice lists for the given metadata id.


If there are children

–       ChildChoiceAvailable = true

–       ChildChoice=nested TDM containing the children, for all items.


If there are no children

–       ChildChoiceAvailable = false

–       ChildChoice = null, for all items.



  1. HiYuval,
    I have a question can u pls answer for me and whole community.

    Presently amdocs has implemented transition maps for UDPL in clear support application.
    Can we know how they can be customized and how to implement RBA on traversing of stages etc


    Comment by TRN | 27/08/2010 | Reply

    • Transition maps can be customized. They can also be restricted to certain users.
      I shall refer to this issue soon.


      Comment by Yuval R. | 27/08/2010 | Reply

  2. Hi Yuval
    Could you explain about some parameters in MLCLSA_Level1 Request Map?
    For example
    The first parameter, returnAll = 2, what does it mean? If I set it is 1, what is the result?


    Comment by quantran | 05/10/2010 | Reply

    • See above ‘Explaining the Request Data Map parameters’


      Comment by Yuval R. | 05/10/2010 | Reply

  3. I’m not able to Find the “FindChoice” in the search form that opens when I click on the magnifying glass in “operationName”. If I just type “FindChoice” by hand and I execute, I get an exception:

    com.amdocs.uif.common.UifRuntimeException: An internal error has occurred. Please contact your System Administrator.
    XBean generated an unexpected error.
    at com.amdocs.crm.uif.XbeanSvcInvoker.invokeXBeanService(

    Seems I’m missing the FindCaller bean somewhere. Any ideas?


    Comment by Mike | 21/06/2011 | Reply

    • Mmmm wasn’t that exception, sorry, still, the description of the issue is valid.

      actual exception was:

      Caused by: java.lang.ClassNotFoundException: com.****

      Comment by Mike | 21/06/2011 | Reply

      • The exception ‘ClassNotFoundException’ means that one of the Jar files is missing from your environment.
        You need to search for the missing class thus identify the jar file to which it belongs.

        Once identified, make sure the missing jar file is properly located in your class path.
        I assume this missing jar should be located in your development environment (the uif designer eclipse plugin).

        Comment by Yuval R. | 21/06/2011

  4. we have a ubique situation where, we do not want to have a default value as “Not Applicable” – because if we display this, users generally tend to choose “Not Applicable”, and loose information. However there is data where the thrid level does not have any value, and a restriction that data cannot be saved without selecting a value.
    Is there a way to Set selected value as “Not Applicable”, programatically, when drop down does not have any value – question is how do we find if there is value coming from the DB.

    Comment by ramshako | 20/11/2011 | Reply

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this: