Is it possible to do a FINDITEM on a numbered list without using the code field?
The numbered list restriction exists because I need non-admin end users to easily add to the list (e.g. by adding a 'Create' action).
The code restriction exists because non-admin end users will be adding to the list, and hence will not be able to amend the code.
I realise that a non-numbered list could be used, where non-admin users would be able to add items and amend the code through an import. However the file requirements (file name, column names, column count) seem onerous on the end user and ideally I want to keep things as simple as possible for the end user.
With that in mind I'd like to add some context.
I have two lists:
Client (numbered). 'Client Name' property, text format.
Organisation (non-numbered). 'Client' property, client list format.
My organisation structure is, broadly, based off a combination of client and country. Example below:
I would like to map each organisation to a client within the client list. I have created a module that dynamically pulls the client name from the organisation name in text format. I now need to lookup this client text formatted name against the 'Client Name' text property within the client list, and return the corresponding client as a client list item.
Unfortunately, to the best of my knowledge, FINDITEM does not work against properties. I imagine that this is because the property could be duplicated multiple times.
This could potentially work - ideally I'm looking for a way that absolutely minimises end user input. I know that adding an item to a list and then hitting an update button isn't a demanding task - but I can imagine users forgetting to hit the update button.
I understand, I do not think there is a completely automatic way out there, but if you find one, let me know.
Two tips in order to decrease the chance of master data not being updated:
You could additionally add the client update action into the process where you create the organizations, so whenever a user forgets to update it, it will still be triggered whenever new organizations are added/updated.
You could add a 'alert module' with color coding on a populair dashboard where you can add multiple master data checks. One of the checks could then be whether organization id is mapped to a client. If any of the checks is flagged as being faulty, the user would then be able to go to a 'master data dashboard' where he could add the client name and update it. This is usually how I make sure master data that is being managed within Anaplan is maintained properly by the users. This takes a bit of time to set up, but is very valuable in the long run.
Firstly, I'd add that FINDITEM works on any text string be that in a list property or module line item. We do advocate using a module to hold any many "properties" as possible; many reasons but they are easier to work with and write formulae for one.
Secondly, in terms of forcing a code to the numbered lists, I agree, it's not easy, but try and embed the code in another button options such as "validate" or "confirm" if you can. It is much better to have codes for all lists if possible.
But, if I understand the problem correctly, you should be able to get around this using the assign function. This allows the user to choose from an existing list and add it to the parent. It automatically adds the list formatted item to the numbered list entry allowing it to be used downstream
The steps are:
1. Create the lists (I've tried to mimic your lists)
You will see above that there is a list formatted property for client. This is key for the Assign to work
2. Create the Organisation Client Details module. this calculates the display name (as above, it is better to hold this in a module (as per S in DISCO)
3. Create the assign action
4. Publish the module and the action to a dashboard
5. The user clicks on a parent and then the add client and the following dialog appears. You will see that the existing client is already there. Move the client(s) to the right hand pane than click OK
You will now see the client added to the list with the associated property added
Thanks for your reply - I've never used the assign action before so that's useful to know.
Unfortunately it doesn't quite solve my issue so I'm going to add some detail around the scenario to make it more understandable.
My organisation hierarchy is composed of multiple hierarchies with different naming conventions. This is resultant of various mergers that have occurred in previous years.
Some hierarchies use 'contract numbers' to distinguish separate organisation units, whilst others use client and country concatenations to designate separate organisation units.
Regardless of hierarchy naming convention used - every organisation item has a 1 to 1 relationship to a client. Our client list grows quite quickly so I need a system which helps end users assign clients to organisation units.
Therefore, I am after a solution which can read the organisation item name and attempt to parse a client automatically. This system is merely designed to help end users - as if the client name is not in the organisation item name, then a client will have to be mapped automatically.
Dealing with the growing client list is quite simple. By using a numbered list for clients, the Anaplan create action will allow end users to add items to the client list and fill the client name in a text formatted property - simple.
The challenge is to then dynamically associate the organisation list to the numbered client list, looking up the client name.
I hope this helps to explain the problem in greater depth.