8 Replies Latest reply on Mar 9, 2020 9:28 PM by 2741871

    Limit ICP None Input


      Is it possible to use rule to restrict data load/input into ICP None for intercompany accounts?  Thanks in advance!

        • 1. Re: Limit ICP None Input

          Yes, create a memberlist of ICP accounts using IsICP property.


          Then, use the memberlist and write a no-input rule - Hs.Noinput "A#"&acc&".I#[ICP None]".




          1 person found this helpful
          • 2. Re: Limit ICP None Input

            I dislike the NoInput approach because users don't know what's wrong about the intersection they're loading to... just that it's blocked via no input.  So when booking a journal or loading through FDM, they don't know what dimension to correct.


            The better way is on the Metadata, though as with all metadata top member changes, you'd have to consider history in your application.  NoInput rules allow you to set "As of 2020 this is blocked" and leave the history alone.  If you need to do that, then yes, the NoInput suggestion based on a memberlist is the easiest way to do it.  But if you can set the metadata up right, that's the better option for the end users.


            On Account Properties towards the bottom, you have the option to set ICP Top member similar to the Custom dimensions.  Set that to [ICP Entities] and [ICP None] is excluded.


            No Idea why it isn't up with the Custom1-4 top members.

            • 3. Re: Limit ICP None Input

              I updated the member list and rule and loaded rule successfully.  But when run consolidation, it got aborted.  The log message says : This function is not allowed in this section of the rule.  The error refers to the no input rule line.



              Do you know what could be the issue?



              • 4. Re: Limit ICP None Input
                Lisa Cassidy-Kane

                First thing that comes to mind (without seeing the code itself) is trying to use lists across Years/Scenarios. NoInput rules run outside of a normal process routine (i.e. when you execute a consolidation Sub Calc runs, then Sub Trans, then Sub Consolidate, etc. . .) Given how Scenario/Year are managed across tables thus, the POV articulated in the role may not align to the POV affected upon opening a particular grid, etc. . . in which NoInput needs to apply.


                Thus, if NoInput is defined across an array of years it may fail.

                The Admin guide lists which routines each function can operate within.

                • 5. Re: Limit ICP None Input

                  If it's happening during a consolidation, that sounds like you put the NoInput in the calculate section of the routine.


                  These have to be in the Sub NoInput() section not Sub Calculate().

                  • 6. Re: Limit ICP None Input

                    Thanks all for the information!


                    The rule is in Sub NoInput section (we also have several other no input rules).  When looking at the system log, it seems non-ICP account got processed for the [ICP None] no input rule, and it consolidation got aborted.  This lead me thinking something wrong with the memberlist.


                    Below is the memberlist created for PnL intercompany accounts, do you see any issues?


                    If Hs.MemberListID = 1 Then

                        For each strAItem in HS.Account.List ("NI", "[Base]")

                            If HS.Account.IsICP (strAItem) = TRUE Then

                                 HS.AddMemberToList strAItem


                             End If



                    End If

                    • 7. Re: Limit ICP None Input

                      Try it this way:




                      For each acc in accList




                      Once loaded, open a data grid and click on Account -> Filters to select the member-list and confirm you have the right members.




                      1 person found this helpful
                      • 8. Re: Limit ICP None Input

                        It is working.  Error caused by mine human error:  Thanks all for the information and they are really helpful!