Returns the period status, matching tolerance, and Match/Validate Before Post settings of multiple periods for a scenario and year.
To return these settings for a single period, use GetSettingsICPeriod. |
<IHsvAdminICM>.GetSettingsICPeriods(lScenario, lYear, varalPeriods)
Long (ByVal). The member ID of the Scenario dimension member. | |
Long array (ByVal). The member IDs of the Period dimension members. |
Variant. Returns a multidimensional array of the settings for each period. The first dimension contains four items that represent the period settings, and the second dimension contains one item for each specified period. The following table describes the first dimension:
Long. Returns the member ID of the Period dimension member to which the settings apply. | |
Byte. Returns the period’s status. Valid values are represented by the HFMConstants type library constants listed in Period Status Constants. | |
Byte. Returns the period’s Match/Validate Before Post setting. Valid values are represented by the HFMConstants type library constants listed in Match/Validate Before Post Constants. | |
Double. Returns the matching tolerance specified for the period. |
The following snippet populates a user-defined type with the settings returned by GetSettingsICPeriods. The period labels, statuses, and Match/Validate Before Post settings are converted to strings before being added to the type. Following is the type declaration:
Public Type perSettings sPeriod As String sStatus As String sMatchValidate As String dTolerance As Double End Type
The example assumes that the variables containing the Scenario, Year, and Period member IDs have been populated.
Dim cAdminICM As IHsvAdminICM, cTreeInfo As IHsvTreeInfo Dim vaRet As Variant, udtSetting() As perSettings 'laPers() is a previously-defined array of Period member IDs ReDim udtSetting(UBound(laPers)) 'g_cSession is an HsvSession object reference Set cAdminICM = g_cSession.ICM 'g_cMetadata is an HsvMetadata object reference Set cTreeInfo = g_cMetadata.Periods 'dimension member IDs have already been defined vaRet = cAdminICM.GetSettingsICPeriods(lScen, lYear, laPers) For i = LBound(vaRet, 2) To UBound(vaRet, 2) cTreeInfo.GetLabel vaRet(0, i), udtSetting(i).sPeriod Select Case vaRet(1, i) Case ICM_CLOSED udtSetting(i).sStatus = "Closed" Case ICM_OPENED udtSetting(i).sStatus = "Open" Case ICM_UNOPENED udtSetting(i).sStatus = "Unopened" End Select If vaRet(2, i) = ICM_MVBP_OFF Then udtSetting(i).sMatchValidate = "Off" Else udtSetting(i).sMatchValidate = "On" End If udtSetting(i).dTolerance = vaRet(3, i) Next i