Avoid direct references to list item. E.g. IF ITEM(list)=list.xx. Instead, attempt to use a SYS module with a line item having a boolean format as this makes the formula more dynamic (multiple members can use the same logic).
Rule 2.02-12 No Hardcoding to List Members. Avoid direct references to list item. E.g. IF ITEM(list) = list.xx. It goes against SUSTAINABLE elements of PLANS if you wish to go against this rule
Here is how it was done in Pre Planual Era:
Hardcoding to list items used to be a norm. For example I had to write IF Account 1 then 1, IF Account 2 OR Account 3 then 2 and IF Account 4 & 5 then 3.
Formula might look like
What is wrong with this method?
For Production Lists: You will not be able to make this list as Production List, if need arises in the future, compromising your ALM settings
For Non Production Lists: Maintaining this is extremely laborious and tricky. You have to check all the references of that particular list in the model and change it manually everywhere. Any change in the list item’s logic or addition of list item which shares the logic with any other list item are few examples/cases
Here is how it should be done in Planual Way:
Step 1: Create a module dimensioned by GL Accounts List and Insert as many line items as there are logics to be written against. Check the Accounts in their respective buckets i.e., Account 1 in Logic 1, Account 2 and 3 in Logic 2 and rest in Logic 3
Step 2: Refer the above Boolean formatted line items instead of list items in your formula