When I want to create member(s) in a Numbered list, I can create it by inserting in the list (without having to mention a code) or through 'Create' action without having to specify a code at the time of creation.
Why does an import action into a numbered list needs a code or combination of property for creating list members.
I understand our import action always looks to update the list member if it is already present using the code, but still to create it for the first time, there is no need to identify the list member. There is a disconnect between creating via UI and creating via import. thoughts?
To add what David stated above, if you ever need to do a "lookup" on that numbered list to get a value, you would have to use a finditem(), and if there isn't a code specified, the system would not know how to find the precise item.
There are cases where the unique identifier is maintained by the system, we just want to refer it. For eg, in ERP, when we create a sales order or an invoice or a purchase order, the user is not supposed to provide the unique identifier, but the ERP system provides it and can be referenced later. Even ERP system allows users to create n number of sales orders together using an import and generates a unique id for each. In case of Anaplan, the user wants to create a request line (similar to a invoice or sales order transaction) and want it to be tracked, but they dont have the ability to generate a unique id by themselves (consider there are 100 users making these requests, they just need a running serial number), we could achieve this by a numbered list, but the downside is they have to key in the request one by one, they dont have the ability to import it.
Note: These transactions are not imported from external systems, then I would ask the source system to provide a code. But they are generated by users. This is more for something they want to treat Anaplan as a source of truth and generate the ID here at anaplan and want to refer it.
Maybe you missed what David said above about supplying the code within another action or process. You need the code to mean something, maybe a concatenation of the current member (employee) with their manager or Cost Center or Territory? There is no way the system will be able to do that. So, typically, a user creates the new member, assigns a display name (hopefully list formatted like employee name) and then fills out some metadata. Then, the model builder should create an action or process called "Finalize Submit" or just "Submit". One of the actions within this Process will utilize a view (based on the same module) where there is a boolean line item finding all codes that are blank, something similar to isblank(code). This way, the action only updates the appropriate members.
If you don't have the code, then you will not be able to do any lookup's from this module or list. If you do a running number (001, 002, 003), how would that relate back to other data? The ultimate "key" in creating codes is for them to be meaningful, and therefor useful.