The Use of LOV for Teamcenter Object Creation in Mendix

Yi Wang
4 min readJun 6, 2021

Introduction

This article details a method of using List of Values (LOV) for Teamcenter (TC) object creation in Mendix. The method allows LOV values to be stored as “String” in Mendix, which eliminates the limitation of using the type of “Enumeration”. Also, this method will not change or remove any existing entities/pages/microflows, while it only adds new ones so that it should NOT have any impact, in theory, on any existing functions of your Mendix app.

Please note that there might be other ways of configuring this while the method below just provides one of the feasible solutions.

Acknowledgement

Many thanks to Elliot Clements for the guidance on generating this method. A special thanks to Qasim Aziyan, Magnus Morsley and all the other members in the UK Siemens Services Mendix Taskforce for their supports along the way.

Background

The example used in this article is about creating a TC object, Drawing Set (Revision), using the Mendix TC connector. There are two required custom TC properties for the creation, i.e., Project Code (t5_ProjCode) of the Drawing Set (T5_DrawingSet) and Retention Category (t5_RetentionCategory) of the Drawing Set Revision (T5_DrawingSetRevision).

The steps shown below assume that you already have a Mendix app which can be used to create custom TC objects (i.e., Drawing Set (Revision)), while end users will need to manually type in the input information for all the required TC properties.

The improvement being made is to allow end users to pick up the input information from LOVs and use admin pages to manage (add/remove) LOV values.

Steps

  1. Within the domain model, make two copies for the Drawing Set & Drawing Set Revision CreateInput entities respectively. You can give the two new entities a prefix, e.g., “LOV_” as below.

2. Create a new module for managing the LOVs like the example below.

3. Within the domain model, create entities for the LOVs, and generate corresponding overview pages. In the current example, two entities were created for Project Code and Retention Category.

4. Go back to the first domain model, open the new CreateInput entities. Delete the attributes that you will use LOVs for. Navigate to the Associations page and add the association to the newly created LOV entities. See an example below for the Drawing Set.

5. Go to your home page and add a new button as shown below.

6. Create a new page where the input data are the two new CreateInput entities. Allow the views to populate attributes automatically and delete all unnecessary attributes. You should notice that Project Code and Retention Category are using Reference Selectors.

7. Create a new microflow for instantiate the new CreateInput entities and show the creation page. Make sure that the link between the two objects is properly set. See the figures below for reference.

8. Go back to your home page and make sure the newly added button is calling the microflow created in Step 7.

9. Create another new microflow to map the input data from the newly created CreateInput entities to the original CreateInput entities, then the existing <Execute Create TC objects> microflow can be called & used. See the figures below for reference.

Please note that apart from setting values for the mandatory input data, you will need to create mappings for the data where LOV is used. An example for Retention Category is as below.

“$LOV_DwgSetCompoundCreateInput/DrawingSetNSheet.LOV_DwgSetCompoundCreateInput_RetentionCategory/ReferenceData.RetentionCategory/Name”

10. Go back to the newly created page, configure the “Save” button to call the microflow created in Step 9.

Example Testing Results

  1. Add LOV values in the admin pages.

2. Pick up input information from an LOV during TC object creation.

3. Show relevant information in Mendix after creation.

4. Search for the object in Teamcenter for verification.

--

--

Yi Wang

UK Services team, Siemens Digital Industries Software