Skip Headers
Oracle® Retail Predictive Application Server Administration Guide for the Classic Client
Release 14.1
E59120-01
  Go To Table Of Contents
Contents

Previous
Previous
 
Next
Next
 

C Appendix: RPAS Test Automation

This appendix describes an RPAS utility called rpac (RPAS Pluggable Automation Component). It can be used to perform various tests on an existing domain, based on a set of test cases contained in XML files.

This appendix contains the following sections:

Introduction

The rpac utility is used to create highly customizable automated test suites for the RPAS server. The XML-based framework allows rapid development of tests and ensures that test cases can be quickly copied across locations. The flexible XML schema allows the user to test a large number of RPAS features, such as writing data to a domain, building a workbook, running custom menu options, and verifying the results.

The XML framework also introduces consistency, accuracy, and reproducibility in the test results. To reproduce a test case, all that is needed is the XML file and a copy of the domain.

Note that rpac operates directly against the domain itself and therefore does not test any Client/Server interactions.

Usage

To run an rpac test, run the following from the command line:

rpac -d <path to domain> -title <title> -input <path to xml input>  [commands] [options] 

The output of this command is written to unittest.xml in the local directory. The results of this file contain only the tests that have failed. To display both passing and failing tests, use the -coverage option. This generates a coverage.xml in the local directory that contains both passing and failing results.

Required Parameters

Table C-1 Required Parameters

Option Parameter Description

-d

Path to domain

Specifies the path to the domain that the test runs against.

-title

Title

Specifies the name that this test run is given in the output files. This is used when combining the results of multiple test runs.

-input

path to XML script

Specifies the path to the XML script containing the test suite.


Commands

Table C-2 Commands

Command Description

<none>

If you do not specify a command, then rpac will run the test script provided.

-list

This command switch provides a listing of all of the tests contain in the XML files.

-validate

This command switch validates all the tags and attributes contain in the XML files.

-printTagDoc

Switch to enable just printing the tags documentation to the console.

-writeTagDoc

Switch to enable writing an xml file 'tagdoc.xml' containing the tag documentation.


Options

Table C-3 Options

Option Parameter Description

-suite

pattern

A regular expression pattern to specify which test suites should be run. Any test suite whose name does not match the pattern is skipped.Example: If you have the following test suites (test1, test2, test3, test4, test5) and you only want to run suites 1, 2, and 4, specify:-suite test[124]

-coverage

<none>

When specified, rpac writes all passing and failing results to coverage.xml.

-trace


Log all tags executed.

-test


The pattern string of the tests to be run. All tests with a name matching the pattern are run; the rest of the tests are skipped.

-error


File name of the directory to contain the XML results file 'unittest.xml' and the optional coverage file 'coverage.xml'. Uses the current directory if not provided.


Writing Test Cases

The structure of an rpac test script is defined by the following tags.

Table C-4 Test Case Tags

Tag Description

<testscript>

The outermost tag for the test script. This tag contains one or more <testsuite> tags.

<testsuite>

This tag defines a suite of tests that are designed to run together. Each suite contains its own <setup>, <teardown>, <testcase>, and <workbook-operations> tags. This tag has a name attribute that can be used with the -suite command line attribute to specify which suites are executed in this run.

<once>

The once tag contains tag elements used to set up the environment once before the first test case is executed. It is a tag like setup, but only happens once at the start of a test suite. The once tag has been added to allow a set of measures to be backed up once during the run of the test suite.

<finalize>

The finalize tag contains tag elements used to restore the environment after the final test case is executed.

<setup>

This tag sets the preconditions that are common to all test cases. Operations inside this tag are run before every test case is executed.

Example operations:

  • Set RpasToday so the test date is consistent for every test run.

  • Pre-set measure values so tests operate in a known state.

  • Check any preconditions to make sure this test run is valid.

<teardown>

This tag contains cleanup code that is run after all test cases. Operations inside this tag are run after every test case is executed. This is used to restore a domain or workbook to its default state to remove dependencies between independent test cases.

Example operations:

  • Set domain measure values back to their initial state.

  • Run batch scripts to remove any test-specific files that were generated.

<workbook-operations>

This tag allows the test script to build, refresh, commit, and close workbooks.Workbook operations may exist outside of test cases, but you must encapsulate them wherever possible inside a testsuite tag for logging purposes.

<testcase>

This tag is where the code to perform each test goes. It should perform operations, then use the assert tags to verify the results. The name of this tag is used in the output to log timing results and success/failure. Note: Code in the <setup> tag is executed prior to each test case, and code in the <teardown> tag is executed after each test case.


The optional attribute role for tags testsuite, once, setup and teardown may be required for an rpac application being written for an RDM enable domain. The role assigned to the testsuite tag affects all test cases, and if no role is assigned to once, setup, and teardown, the role assigned to the testsuite tag will affect these tags as well. A role assigned to the once tag is applied to the tags contained in once, and if no role is assigned to setup and teardown, then this role will apply to these tags as well. A role assigned to the setup tag is applied to the tags contained in setup, and if no role is assigned to teardown, then this role will apply to teardown as well. A role assigned to the teardown tag only applies to the tags contain in teardown.

It is recommended that the teardown section restore the domain to its previous state. This removes dependencies between test cases and ensures consistency from one run to the next.

The tags once, setup, and teardown are unique. Only the first occurrence of each of these tags is used. These tags can appear in any order under the testsuite tag, and all of these tags are optional. The code contained in these tags is executed at a set point during the run of unit test code. However, for the tag testcase, the order of occurrence in the testsuite is the order of execution.

Example

This section provides a sample XML file that contains some rpac tests that run against an MFP domain. This test illustrates how the setup and teardown methods work, as well as how to use the various workbook operations.

The first test case demonstrates building the workbook. The first step in this operation is to shell out to the wbmgr utility to clear out all existing workbooks. This step prevents the domain from growing after repeated operations, but you should only use this step in cases where you know that existing workbooks are not needed.

After that, the test verifies the preconditions of the test case. In this example, the test verifies the preconditions performed in the setup code by checking that the domain measure value is "true". After that, the test makes the wizard selections and builds the workbook. Once the workbook is built, an assertion verifies that the load rules correctly set the workbook value.

Once this test case is complete, the teardown code is executed, along with the setup code for the next test case. The test verifies that the teardown code correctly set the workbook's measure value to "false" and then issues a commit. Once the workbook is committed, the domain value is checked to see if it was properly updated. Once again, the teardown code is executed and the setup code is run at the beginning of the next test case.

For the third test case, the setup code should have initialized the domain value back to "true", and the workbook value back to "false". The test case verifies these operations, then performs a workbook refresh and verifies that the workbook value has been correctly set to "true".

After that, the workbook is closed and the test suite is complete.


Note:

Because the teardown code modifies workbook data, the workbook close step cannot be encapsulated inside of a test case. If it was, the teardown code would try to modify a workbook that was no longer there and produce a failing result.

<?xml version="1.0" encoding="UTF-8"?>
<!---
  Copyright (c) 2004, 2012, Oracle and/or its affiliates. All rights reserved.
  File: wbtest.xml
  TestCase Description:
  - Setup:
  Set the RPAS Today value
  Set the domain's measure value to "true"
  - Teardown:
  Set the workbook's measure value to "false"
  - Build: Build a workbook and validate the load rule
  - Commit: Validate the commit rule
  - Refresh: Validate the refresh rule
  - Close the workbook
-->
<testscript>
  <testsuite name="MFP RPAC Test 11">
    <!--Setup executed at the beginning of every testcase-->
    <setup>
      <rpas-today>20070101</rpas-today>
      <edit-domain-measure-value name="ipopappenbb" namedkeys="h1_2007:100:1" value="true"/>
    </setup>

    <testcase name="Enable OP Approval Workbook: Build">
      <!--Clear all existing workbooks-->
      <shell>wbmgr -d [DOMAIN] -remove -all</shell>

      <!--Verify pre-conditions are true-->
      <assert-domain-measure-value-eq name="ipopappenbb" namedkeys="h1_2007:100:1" value="true"/>

      <workbook-operations>
        <build template-name="EnableOp" label="Enable OP Approval" user="adm">
          <!--Make positions selection for the wizard page-->
          <wizard-page-settings id="wiz_EnableOpssn">
            <set-tree-selections control-name="tree1" dim-name="ssn" rollup-name="ssn">
             h1_2007
            </set-tree-selections>
          </wizard-page-settings>
          <wizard-page-settings id="wiz_EnableOpdept">
            <set-tree-selections control-name="tree1" dim-name="dept" rollup-name="dept">
              100
            </set-tree-selections>
          </wizard-page-settings>
          <wizard-page-settings id="wiz_EnableOpchnl">
            <set-tree-selections control-name="tree1" dim-name="chnl" rollup-name="chnl" >
              1
            </set-tree-selections>
          </wizard-page-settings>
        </build>
      </workbook-operations>

      <!--Validate the load rule worked correctly->
      <assert-workbook-measure-value-eq name="ipopappenbb" keys="0:0:0" value="true"/>
    </testcase>

    <!--Commit the workbook and assert the measure values in domain-->
    <testcase name="Enable OP Approval Workbook: Commit">
      <assert-domain-measure-value-eq name="ipopappenbb" namedkeys="h1_2007:100:1" value="true"/>
      <assert-workbook-measure-value-eq name="ipopappenbb" namedkeys="h1_2007:100:1 value="false"/>
      <workbook-operations>
        <commit type ="now" template-name="EnableOp" label="Enable OP Approval" user="adm"/>
      </workbook-operations>

      <!--Validate the commit rule worked correctly->
      <assert-domain-measure-value-eq name="ipopappenbb" namedkeys="h1_2007:100:1" value="false"/>
    </testcase>

    <!--Refresh the workbook and assert measure values in workbook and domain-->
    <testcase name="Enable OP Approval Workbook: Refresh">
      <assert-domain-measure-value-eq name="ipopappenbb" namedkeys="h1_2007:100:1" value="true"/>
      <assert-workbook-measure-value-eq name="ipopappenbb" namedkeys="h1_2007:100:1" value="false"/>
      <workbook-operations>
        <refresh template-name="EnableOp" label="Enable OP Approval" user="adm"/>
      </workbook-operations>

      <!--Validate the refresh rule worked correctly->
      <assert-workbook-measure-value-eq name="ipopappenbb" namedkeys="h1_2007:100:1" value="true"/>
    </testcase>

    <!--Close the workbook-->
    <workbook-operations>
      <close template-name="EnableOp" label="Enable OP Approval" user="adm"/>
    </workbook-operations>

    <!--Teardown executed at the end of every testcase-->
    <teardown>
      <edit-workbook-measure name="ipopappenbb" keys="0:0:0" value="false"/>
    </teardown>
  </testsuite>
</testscript>

Output

When rpac executes, it prints the status of the current execution to the console. Once all the test cases are complete, the summary of test cases is stored in unitest.xml under the current directory. These results contain the failing test case, as well as any error messages that were captured. If -coverage was specified, then a coverage.xml file is generated containing the passing and failing results.

Example:

[rpasHome] rpac -d testDomain -input wbTest.xml -title "'MFP OpApproval RPAC Test" 

Running rpac tests for RPAC : MFP Tests...

Now executing wbmgr in domain.
Deleting all workbooks in the domain...
Destroying workbook 't0000000000' in domain.
wbmgr completed successfully
5.292541
0.308167
0.244300

Ran 3   tests: 0   errors, 0   failures in 5.85 seconds

If something had gone wrong, the output would look like this:

Example:

 [rpasHome] rpac -d testDomain -input wbTest.xml -title "'MFP OpApproval RPAC Test"

Now executing wbmgr in domain 
Deleting all workbooks in the domain...
Destroying workbook 't0000000000' in domain 
wbmgr completed successfully

Failure
0.192497
Failure

Ran 3   tests: 0   errors, 2   failures in 6.42 seconds

Contents of unittest.xml
After execution, rpac creates a unittest.xml file containing the test results.  Here is an example from the successful execution above:

<unittest name='MFP OpApproval RPAC Test' runcount='3' timestamp='2012-10-17 10:06:49' elapsedTime='13.72 seconds'>
</unittest>

Here is the unittest.xml output from the failing run:

<unittest name='MFP OpApproval RPAC Test' runcount='3' timestamp='2012-10-17 10:07:38' elapsedTime='6.42 seconds'>
  <failurelist>
    <failure>
      <testname> </testname>
      <message>Got Error: Expected measure &apos;ipopappenbb&apos; at ArrayKey(0, 0, 0, 0) is false; 
                         false == true</message>
   <file>OpApproval.xml</file>
      <line>52</line>
    </failure>
    <failure>
      <testname> </testname>
      <message>Got Error: Expected measure &apos;ipopappenbb&apos; at ArrayKey(0, 0, 0, 0) is false;
                         false == true</message>
      <file>OpApproval.xml</file>
      <line>60</line>
    </failure>
  </failurelist>
</unittest>

Schema

This section provides schema details.

1. Top-Level Parent Tag

This section provides details about the top-level parent tag.

1.1 testscript

The testscript is the top-level tag, which contains all the rpac tags.

1.2 testsuite

The testsuite contains setup, teardown, and testcase tag elements.

1.3 testcase

The testcase contains a list of tag elements to be executed.

1.4 once

The once tag contains tag elements used to set up the environment once before the first test case is executed. It is a tag like setup, but only happens once at the start of a test suite. The once tag has been added to allow a set of measures to be backed up once during the run of the test suite.

1.5 finalize

The finalize tag contains tag elements used to restore the environment after the final test case is executed.

1.6 setup

The setup tag is used to set any preconditions that must be true prior to running each test case. These can include initializing measure values, setting the date, or running batch scripts to prepare the domain.

1.7 teardown

The teardown tag contains tag elements used to restore the environment to a default state after a test case is executed. This can include returning measures to their default values or running batch scripts to clean up the domain.

1.8 log

The log tag logs a message to the console. It has an optional attribute, msg, containing the message to be logged.

Sample Usage

Here is the sample implementation of the above tags

<testscript>
<testsuite name="MFP RPAC Test">
<setup>
<!--- setup code ->
</setup>
<testcase name="Measure Analysis Workbook : build">
<!---testcase code ->
</testcase >
<teardown>
<!--- teardown code ->
</teardown>
<finalize>
        <log msg="Do Finalize" />
</finalize>
</testsuite>
</testscript>

2. Generic Tags

This section provides details about generic tags.

2.1 Attribute

The attribute tag specifies the attributes of a tag in tagdoc.xml.

2.2 Description

The description describes the functionality of each tag and its attributes in tagdoc.xml.

2.3 Fail

Fail creates a failure message.

Attribute Description Category
msg Message to be used in the failure text Optional

2.4 key

Sets the key specs value of the named key.

Attribute Description Category
name Key name Required
keyspec Key value spec Required

2.5 rpas-today

Sets the RpasToday environment variable to the value of this tag. RPAS_TODAY tells RPAS what day that it should think today is.

Sample usage:

 <rpas-today>20070101</rpas-today>

Where: the date is given in yyyymmdd format.

2.6 shell

The shell tag starts a shell process with the command provided as value of this tag.

Attribute Description Category
working-directory Directory to use for shell; if not provided then the current working directory is used. Optional
check-status Boolean to determine if a non-zero return status throws an exception. Optional
is-shell Boolean to indicate that the process is a shell. Optional
assert-status-equal Assert return status equals provide value. Optional
assert-status-not-equal Assert return status does not equals provide value. Optional
output-file File to which shell command redirects its output. Optional

Sample usage:

<shell check-status="true" is-shell="false">wbmgr -d [DOMAIN] -remove -all</shell> 

2.7 register-measure

Registers a measure with the provided properties.

Attribute Description Category
name Measure name Required
Intx Base intersection Required
type Type of measure Required
naval NA value of the measure Required
defagg Default aggregation Required

Sample usage:

<register-measure name="MeasureX" intx="WEEK_STR_DAY_" type="int"  defagg="total" naval="0"/>

2.8 unregister-measure

Unregisters a measure registered by rpac.

Attribute Description Category
name Measure name Required

Sample usage:

<unregister-measure name="MeasureX" />

3. Domain Operation Tags

This section provides details about domain operation tags.

3.1 Assertions

This section provides details about assertions.

3.1.1 assert-dimension-contain

Assert a dimension contains or does not contain a position name.

Attribute Description Category
name Dimension name Required
posname List of comma-separated position names Required
containflag If flag is true, then position names are checked to see if they are contained in the dimension. Required

Sample usage:

<assert-dimension-contain name="DEPT" posname="dept1" containflag="true" />
3.1.2 assert-dimension-exists

Assert a dimension name exists.

Attribute Description Category
name Dimension name Required

Sample usage:

<assert-dimension-exists name="DEPT" />
3.1.3 assert-dimension-size

Assert a dimension size is between a minimum and a maximum value.

Attribute Description Category
name Dimension name Required
min Minimum value Required
maz Maximum value Required

Sample usage:

<assert-dimension-size name="DEPT" min="8" max="32" />
3.1.4 assert-domain-measure-exists

Assert a domain measure exists.

Attribute Description Category
name Dimension name Required

Sample usage:

<assert-domain-measure-exists name="r_ex_test" />
3.1.5 assert-domain-measure-intx

Assert a domain measure base intersection matches an expected value.

Attribute Description Category
name Dimension name Required
intx Intersection string to compare with Required

Sample usage:

<assert-domain-measure-intx name="r_ex_test" intx="str_sku_week"/>
3.1.6 assert-domain-measure-value-eq

Assert a domain measure value is equal to an expected value. This tag can be run in a number of ways:

Check against a loadmeasure file:

By specifying <path>, <start>, and <width>, you can validate that the contents of a measure are equal to the contents of a fixed-width loadmeasure file.

Check against specified positions:

By providing <keys> or <namedkeys>, you can verify that all of the positions in your specification are equal to the provided value. You can specify <keyint> to provide positions at an alternate rollup.

Check entire measure:

If you do not supply the <keys>, <namedkeys>, or <path> tag, then rpac will assert that every logical cell in the measure is equal to the value provided.

Attribute Description Category
name Measure name Required
keys List of comma-separated position names Optional
namedkeys List of comma-separated position names Optional
path Path to load measure type file to compare with Optional
keyint Intersection string Optional
value Expected value Optional
start Starting column of measure field Optional
width Width of measure field Optional

Sample usage (using keys):

<assert-domain-measure-value-eq name="bulylagtx" keyint="year" namedkeys=" 2007" value="Test1"/>

Sample usage (using path):

<assert-domain-measure-value-eq name="bulylagtx" path="loadmeas.dat" start="100" width="20" />

Sample usage (check all):

<assert-domain-measure-value-eq name="bulylagtx" value="Test1" />
3.1.7 assert-domain-measure-value-ge

Assert a domain measure value is greater than or equal to an expected value. This tag can be run in a number of ways:

Check against a loadmeasure file:

By specifying <path>, <start>, and <width>, you can validate that the contents of a measure are equal to the contents of a fixed-width loadmeasure file.

Check against specified positions:

By providing <keys> or <namedkeys>, you can verify that all of the positions in your specification are equal to the provided value. You can specify <keyint> to provide positions at an alternate rollup.

Check entire measure:

If you do not supply the <keys>, <namedkeys>, or <path> tag, then rpac will assert that every logical cell in the measure is equal to the value provided.

Attribute Description Category
name Measure name Required
keys List of comma-separated position names Optional
namedkeys List of comma-separated position names Optional
path Path to load measure type file to compare with Optional
keyint Intersection string Optional
value Expected value Optional
start Starting column of measure field Optional
width Width of measure field Optional

Sample usage (using keys):

<assert-domain-measure-value-ge name="bulylagtx" keyint="year" namedkeys=" 2007" value="Test1"/>

Sample usage (using path):

<assert-domain-measure-value-ge name="bulylagtx" path="loadmeas.dat" start="100" width="20" />

Sample usage (check all):

<assert-domain-measure-value-ge name="bulylagtx" value="Test1" />
3.1.8 assert-domain-measure-value-gt

Assert a domain measure value is greater than a an expected value. This tag can be run in a number of ways:

Check against a loadmeasure file:

By specifying <path>, <start>, and <width>, you can validate that the contents of a measure are equal to the contents of a fixed-width loadmeasure file.

Check against specified positions:

By providing <keys> or <namedkeys>, you can verify that all of the positions in your specification are equal to the provided value. You can specify <keyint> to provide positions at an alternate rollup.

Check entire measure:

If you do not supply the <keys>, <namedkeys>, or <path> tag, then rpac will assert that every logical cell in the measure is equal to the value provided.

Attribute Description Category
name Measure name Required
keys List of comma-separated position names Optional
namedkeys List of comma-separated position names Optional
path Path to load measure type file to compare with Optional
keyint Intersection string Optional
value Expected value Optional
start Starting column of measure field Optional
width Width of measure field Optional

Sample usage (using keys):

<assert-domain-measure-value-gt name="bulylagtx" keyint="year" namedkeys=" 2007" value="Test1"/>

Sample usage (using path):

<assert-domain-measure-value-gt name="bulylagtx" path="loadmeas.dat" start="100" width="20" />

Sample usage (check all):

<assert-domain-measure-value-gt name="bulylagtx" value="Test1" />
3.1.9 assert-domain-measure-value-ie

Assert a domain measure value is less than or equal to an expected value. This tag can be run in a number of ways:

Check against a loadmeasure file:

By specifying <path>, <start>, and <width>, you can validate that the contents of a measure are equal to the contents of a fixed-width loadmeasure file.

Check against specified positions:

By providing <keys> or <namedkeys>, you can verify that all of the positions in your specification are equal to the provided value. You can specify <keyint> to provide

positions at an alternate rollup.

Check entire measure:

If you do not supply the <keys>, <namedkeys>, or <path> tag, then rpac will assert that every logical cell in the measure is equal to the value provided.

Attribute Description Category
name Measure name Required
keys List of comma-separated position names Optional
namedkeys List of comma-separated position names Optional
path Path to load measure type file to compare with Optional
keyint Intersection string Optional
value Expected value Optional
start Starting column of measure field Optional
width Width of measure field Optional

Sample usage (using keys):

<assert-domain-measure-value-le name="bulylagtx" keyint="year" namedkeys=" 2007" value="Test1"/>

Sample usage (using path):

<assert-domain-measure-value-le name="bulylagtx" path="loadmeas.dat" start="100"
width="20" />

Sample usage (check all):

<assert-domain-measure-value-le name="bulylagtx" value="Test1" />
3.1.10 assert-domain-measure-value-lt

Assert a domain measure value is less than an expected value. This tag can be run in a number of ways:

Check against a loadmeasure file:

By specifying <path>, <start>, and <width>, you can validate that the contents of a

measure are equal to the contents of a fixed-width loadmeasure file.

Check against specified positions:

By providing <keys> or <namedkeys>, you can verify that all of the positions in your specification are equal to the provided value. You can specify <keyint> to provide positions at an alternate rollup.

Check entire measure:

If you do not supply the <keys>, <namedkeys>, or <path> tag, then rpac will assert that every logical cell in the measure is equal to the value provided.

Attribute Description Category
name Measure name Required
keys List of comma-separated position names Optional
namedkeys List of comma-separated position names Optional
path Path to load measure type file to compare with Optional
keyint Intersection string Optional
value Expected value Optional
start Starting column of measure field Optional
width Width of measure field Optional

Sample usage (using keys):

<assert-domain-measure-value-lt name="bulylagtx" keyint="year" namedkeys=" 2007" value="Test1"/>

Sample usage (using path):

<assert-domain-measure-value-lt name="bulylagtx" path="loadmeas.dat" start="100" width="20" />

Sample usage (check all):

<assert-domain-measure-value-lt name="bulylagtx" value="Test1" />
3.1.11 assert-domain-measure-value-ne

Assert a domain measure value is not equal to an expected value. This tag can be run in a number of ways:

Check against a loadmeasure file:

By specifying <path>, <start>, and <width>, you can validate that the contents of a measure are equal to the contents of a fixed-width loadmeasure file.

Check against specified positions:

By providing <keys> or <namedkeys>, you can verify that all of the positions in your

specification are equal to the provided value. You can specify <keyint> to provide positions at an alternate rollup.

Check entire measure:

If you do not supply the <keys>, <namedkeys>, or <path> tag, then rpac will assert that every logical cell in the measure is equal to the value provided.

Attribute Description Category
name Measure name Required
keys List of comma-separated position names Optional
namedkeys List of comma-separated position names Optional
path Path to load measure type file to compare with Optional
keyint Intersection string Optional
value Expected value Optional
start Starting column of measure field Optional
width Width of measure field Optional

Sample usage (using keys):

<assert-domain-measure-value-ne name="bulylagtx" keyint="year" namedkeys=" 2007" value="Test1"/>

Sample usage (using path):

<assert-domain-measure-value-ne name="bulylagtx" path="loadmeas.dat" start="100" width="20" />

Sample usage (check all):

<assert-domain-measure-value-ne name="bulylagtx" value="Test1" />
3.1.12 assert-domain-popcount-eq

Assert a domain measure popcount matches an expected value.

Attribute Description Category
name Measure name Required
pop-count Expected popcount Required

Sample usage:

<assert-domain-popcount-eq name=" Ipopappenbb" pop-count="100" />
3.1.13 assert-domain-popcount-eq-zero

Assert a domain measure is not populated.

Attribute Description Category
name Measure name Required

Sample usage:

<assert-domain-popcount-eq-zero name=" Ipopappenbb" />
3.1.14 assert-domain-popcount-ne-zero

Assert a domain measure is populated.

Attribute Description Category
name Measure name Required

Sample usage:

<assert-domain-popcount-ne-zero name=" Ipopappenbb" />
3.1.15 assert-bitsize-value-eq

Assert the dimInfo bitsize or dimregistry bitsize value of a dimension.

Attribute Description Category
name List of comma-separated dimension

names

Required
category Bit Size Category (dimInfo or

dimRegistry)

Required
value comma-separated Bit Size Values Required

Sample usage:

<assert-bitsize-value-eq name="week,skup," category="dimInfo" value="12,14" />
3.1.16 assert-dim-registry-version

Assert the value for dimension registry version.

Attribute Description Category
value Registry version Required

Sample usage:

<assert-dim-registry-version value="1" />
3.1.17 assert-reindex-threshold

Assert the threshold value of the dimension.

Attribute Description Category
name List of comma-separated dimension

names

Required
value List of comma-separated threshold

values

Required

Sample usage:

<assert-reindex-threshold name="scls,week" value="25,103" />
3.1.18 assert-reindex-required

Assert whether Diminfo Bitsize is equal to DimRegistry Bitsize.

Attribute Description Category
bitsize-flag Returns true if a Bitsize mismatch occurs Required
name Dimension name Required

Sample usage:

<assert-reindex-required name="week" bitsize-flag="false" />
3.1.19 assert-reindex-in-progress

Assert the status of reindex with the user input.

Attribute Description Category
flag Flag to indicate whether reindexing Domain is in progress. Required

Sample usage:

<assert-reindex-in-progress flag="false" />
3.1.20 set-current-domain

Set the current domain to either the master or a sub-domain.

Attribute Description Category
index Domain index Required

Sample usage:

< set-current-domain index="0" />          
3.1.21 backup-domain-measures

Back up a list of measures.

Attribute Description Category
names List of measure names Required

Sample usage:

<backup-domain-measures  names="UTDyDst03U,UTDyDst05U,tdwpunelapbopb,bucpgmpp"/>
3.1.22 restore-domain-measures

Restore a list of measures.

Attribute Description Category
names List of measure names Required

Sample usage:

<restore-domain-measures names="UTDyDst03U,UTDyDst05U,tdwpunelapbopb,bucpgmpp"/>
3.1.23 assert-domain-hier-exists

Assert a hierarchy exists in domain or not.

Attribute Description Category
name Hierarchy name Required
exists If flag is true, then check if hierarchy exists in domain. Required

Sample usage:

<assert-domain-hier-exists name="clnd" exists="true"/>

3.2 Domain Data Edit Operations

This section provides details about domain data edit operations.

3.2.1 clear-all-measures

Clears all measures used in the following tags: <edit-workbook-measure>, <set-workbook-measure>, <set-domain-measure>.

This sets all the contents of these measures to the NA value.

3.2.2 clear-domain-measure

Clear a domain measure of all data. This sets all the contents of this measure to its NA value.

Attribute Description Category
name Measure name Required

Sample usage:

<clear-domain-measure name="r_ex_pick_real" />
3.2.3 clear-domain-measure-list

Clear a list of domain measures of all data.

Attribute Description Category
path Path to a file containing a new-line delimited list of measures Required

Sample usage:

<clear-domain-measure-list path="measlist.txt" />
3.2.4 execute-expression

Execute an expression.

Attribute Description Category
expression The expression to execute/calculate.

This is a full expression string,

Optional
incremental True if this is to be an incremental

evaluation.

Optional

Sample usage:

<execute-expression expression="a = b+c" incremental="false" />
3.2.5 set-domain-measure

Set the value of a domain measure based on provided

attributes.

Attribute Description Category
name Measure name Required
keys List of comma-separated position names Optional
namedkeys List of comma-separated position names Optional
path Path to load measure type file to compare with Optional
keyint Intersection string Optional
value Expected value Optional
start Starting column of measure field Optional
width Width of measure field Optional
incremental True if evaluation is to be incremental Optional


Note:

Note that for Date type measures, RPAC supports setting the array cell using either of the following two Date & Time formats - "%m/%d/%Y" or "%m/%d/%Y-%H:%M:%S" where m = 2 digit month, d = 2 digit date, Y = 4 digit year, H = 2 digit hour, M = 2 digit min, and S = 2 digit sec.

Sample usage:

<set-domain-measure name="r_ex_pick_real" keyint="dept" keys="1" value="150" type="real" />

Sample usage (using keys):

<set-domain-measure name="meas1" keys="0-2:5" value="0.0" />

Sample usage (using keyint):

<set-domain-measure-value-ne name="meas2" namedkeys="chnl1:week1"
value="02/24/2012" />

Sample usage (load-measure file):

<set-domain-measure name="meas1" path="loadMeas1.dat" start="100" width="20"/>

Sample usage (set all):

<set-domain-measure name="meas1" value="2"
3.2.6 dump-domain-measure

Dump a measure to a text file.

Attribute Description Category
name Measure name Required
path File path to text file to be used Required
noValues Flag to disable dumping of cell values. Optional

Sample usage:

<dump-domain-measure name="utdydst03u" path="test3.txt" noValues="true"/>
3.2.7 load-domain-measure

Load a measure from a text file.

Attribute Description Category
name Measure name Required
path File path to text file to be used Required

Sample usage:

<load-domain-measure name="utdydst03u" path="test3.txt" />

4. Workbook Operation Tags

This section provides details about workbook operation tags.

4.1 Workbook Wizard Operations

This section provides details about workbook wizard operations.

4.1.1 build

Builds workbook based on provided tag data.

Attribute Description Category
template-name Template name Required
label Label for workbook Required
user User used to access workbook Required

Sample usage:

<build template-name="MeasureAnalysis" label="MEAS AN" user="adm">
4.1.2 wizard-page-settings

Contains the settings for a wizard page.

Attribute Description Category
id ID use to match up settings with wizard pages. For configured templates, this follows the pattern:

wiz_<wbt_name><base_dim>

Example:

For the EnableOp workbook, the wizard page that sets CHNL is:

Fwiz_EnableOpchnl

Note: For custom templates, obtain the name from the administrator.

Required

Sample usage:

<wizard-page-settings id="wiz_EnableOpchnl">
4.1.3 set-hier-selection

Sets the selection of a SingleHier Select control of a custom wizard page.

Attribute Description Category
control-name Name of the control for a wizard page. This can be obtained from the template.cfg file. Required
dim-name Name of the dimension containing the selection. Required
selection Name of the position selected. Required

Sample usage:

<set-hier-selection control-name="loc_select" dim-name="chnl"  selection="1" >
4.1.4 set-selected

Sets the value for a Boolean control on a custom wizard page.

Attribute Description Category
control-name Name of the control for a wizard page. This can be obtained from the configuration Required
selected Set this to TRUE or FALSE Required

Sample usage:

<set-selected control-name="UseExtraMeasures" value="TRUE">
4.1.5 set-selection

Sets the selection of a drop-down list control on a custom wizard page.

Attribute Description Category
control-name Name of the control for a wizard page. This can be obtained from the configuration. Required
selection Text for the selection operation. Required

Sample usage:

<set-selection control-name="ForecastLevel" value="2">
4.1.6 set-selections

Sets the selections of a list box or tree control on a custom wizard page. This tag should contain a space-delimited list of the selections.

Attribute Description Category
control-name Name of the control for a wizard page. This can be obtained from the configuration. Required

Sample usage:

<set-selections control-name="ExtraMeasures">
meas1 meas2 meas3 </set selections>
4.1.7 set-text

Sets the contents of an edit control on a custom wizard page.

Attribute Description Category
control-name Name of the control for a wizard page Required
test Text for the operation Required

Sample usage:

<set-text control-name="MyText" value="abc">
4.1.8 set-tree-selections

Sets the selections for a two-tree control on either a standard or custom wizard page.

Attribute Description Category
control-name Name of the control. For two-tree controls, this should always be set to "tree1" Required
rollup-name The highest level of the wizard page. Required
dim-name Name of the dimension on which the selections are made. Required

Sample usage:

<set-tree-selections control-name="tree1" rollup-name="chnl" dim-name="str">
str1,str2,str3
</set-tree-selections>

4.2 Workbook Operations

This section provides details about workbook operations.

4.2.1 Workbook-operations

Contains the workbook operations to be executed.

4.2.2 Calc

Does workbook calculations.

Attribute Description Category
template-name Template name Required
label Label for workbook Required
user User used to access workbook Required

Sample usage:

<calc template-name="RptAdmin" label="Reporting Administration" user="adm"/
4.2.3 custom-menu

Checks for the existence of, or executes, a custom menu.

Attribute Description Category
template-name Template name Required
label Label for workbook Required
user User used to access workbook Required
menu-label Menu label for this custom menu. This can be obtained from the configuration Required
menu-exist Set this to "true" to see if the menu item exists, or leave it blank to execute the custom menu. Optional

Sample usage:

<custom-menu template-name="BottomUp" label="Botup" user="adm" menu-label="menuItem83"  menu-exist="true"/>
4.2.4 refresh

Does workbook refresh.

Attribute Description Category
template-name Template name Required
label Label for workbook Required
user User used to access workbook Required
rule-group Set this to use a rule group other than the default refresh group. Optional

Sample usage:

<refresh template-name="BottomUp" label="Botup" user="adm" rule-group="refresh_alt"/>
4.2.5 Close

Does workbook close. Arguments may be provided for debug purposes.

Attribute Description Category
template-name Template name Optional
label Label for workbook Optional
user User used to access workbook Optional

Sample usage:

<close template-name="BottomUp" label="Botup" user="adm"/>
4.2.6 Does workbook commit

Does workbook commit.

Attribute Description Category
type Commit type (now/later) Required
template-name Template name Required
label Label for workbook Required
user User used to access workbook Required

Sample usage:

<commit type="now"  template-name="BottomUp" label="Bottom Up MFP Refresh" user="adm" />

4.3 Workbook Assertions

This section provides details about workbook assertions.

4.3.1 assert-window-contain-measure

Asserts that the measures provided are visible (or not visible) on the window.

Attribute Description Category
name Name of the window in the workbook configuration. User-generated windows cannot be used. Required
measure Comma-separated list of measures names. Optional
containflag If true, will check that measures provided are visible. If false, will check that the measures provided are not visible. Optional

Sample usage:

<assert-window-contain-measure  name=" chnldeptssn__W"  measures =" Ipopappenbb"/>
4.3.2 assert-window-exists

Asserts if a window exists in the current workbook.

Attribute Description Category
name Window name of current workbook Required

Sample usage:

<assert-window-exists name="chnldeptssn__W" />
4.3.3 assert-window-intersection

Asserts window intersection matches provided intersection.

Attribute Description Category
name Window name of current workbook. Required
baseint Intersection string to compare. Leave blank if checking for scalar. Optional

Sample usage:

<assert-window-intersection name="chnldeptssn__W" baseint"chnldeptssn_" />
4.3.4 assert-window-not-exists

Asserts if a window does not exist in the current workbook.

Attribute Description Category
name Window name of current workbook Required

Sample usage:

<assert-window-not-exists name="chnldeptssn__W" />
4.3.5 assert-window-measure-exists

Asserts a measure exists.

Attribute Description Category
name Measure name Required

Sample usage:

<assert-measure-exists name=" Ipopappenbb" />
4.3.6 assert-workbook-measure-intx

Asserts a workbook measure base intersection matches an expected value.

Attribute Description Category
name Measure name Required
intx Intersection string to compare with Required

Sample usage:

<assert-measure-intersection name=" Ipopappenbb" baseint"chnldeptssn_" />
4.3.7 assert-workbook-measure-value-eq

Asserts that a workbook measure at the specified positions is equal to the provided value.

Parent tag(s): testcase

Child tag(s): None

Attribute Description Category
keys The keys to be used to compare measure values. Can be either indices or position names. Each dimension spec in the keys-spec is delimited by a ":". Multiple position ranges for a dimension can be specified by using "," as separators.

When using indices, a range of positions can also be used. Ex - "0-2:4-7,11-13:4" implies indices 0,1,2 for the first dimension, 4,5,6,7,11,12,13 for the second, and 4 for the third dimension of the measure.

Note: Because indices are based on the workbook selections, they may not be consistent across all test cases. Care must be exercised to ensure that you are using the correct indices for your specific test case.

Required
namedkeys Position names used to get keys of the measure array. Using indices instead of position names or positions that do not exist in the MeasureStore (Workbook) will be flagged as an error. Similar to "keys" above, but using position names only. Optional
path Path of the flat file used for comparison against the Measure array. This looks like pointing to a pre-set environment variable. "path" cannot be used along with "keys" or "namedkeys". "path" is used only to compare the measure data against a pre-existing flat file. If none of "path","keys" and "namedkeys" are specified, the comparison occurs for all the keys in the measure array of the Measure Store (Workbook). Optional
start The field start value. If this does not exist in the XML, the value will be taken from the measure's properties. Used in flat-file comparison. Optional
width The field start value. If this does not exist in the XML, the value will be taken from the measure's properties. Used in flat-file comparison. Optional
value The expected value of the measure. Comparison on equality. Optional

Sample usage: (indices)

<assert-workbook-measure-value-eq name="drwppthrsclsp" keys="0-2"  value="0.0" />

Sample usage (names):

<assert-workbook-measure-value-eq name="drwppthrsclsp" namedkeys="pos1,pos2,pos3"  value="0.0" />
4.3.8 assert-workbook-measure-value-ge

Asserts a workbook measure value at the specified positions is greater than or equal to the provided value.

Attribute Description Category
keys The keys to be used to compare measure values. Can be either indices or position names. Each dimension spec in the keys-spec is delimited by a ":". Multiple position ranges for a dimension can be specified by using "," as separators.

When using indices, a range of positions can also be used. Ex - "0-2:4-7,11-13:4" implies indices 0,1,2 for the first dimension, 4,5,6,7,11,12,13 for the second, and 4 for the third dimension of the measure.

Note: Because indices are based on the workbook selections, they may not be consistent across all test cases. Care must be exercised to ensure that you are using the correct indices for your specific test case.

Required
namedkeys Position names used to get keys of the measure array. Using indices instead of position names or positions that do not exist in the MeasureStore (Workbook) will be flagged as an error. Similar to "keys" above, but using position names only. Optional
path Path of the flat file used for comparison against the Measure array. This looks like pointing to a pre-set environment variable. "path" cannot be used along with "keys" or "namedkeys". "path" is used only to compare the measure data against a pre-existing flat file. If none of "path","keys" and "namedkeys" are specified, the comparison occurs for all the keys in the measure array of the Measure Store (Workbook). Optional
start The field start value. If this does not exist in the XML, the value is taken from the measure's properties. Used in flat-file comparison. Optional
width The field start value. If this does not exist in the XML, the value is taken from the measure's properties. Used in a flat-file comparison. Optional
value The expected value of the measure. Comparison on equality. Optional

Sample usage (indices):

<assert-workbook-measure-value-ge name="drwppthrsclsp" keys="0-2"  value="0.0" />

Sample usage (names):

<assert-workbook-measure-value-ge name="drwppthrsclsp" namedkeys="pos1,pos2,pos3"  value="0.0" />
4.3.9 assert-workbook-measure-value-gt

Asserts a workbook measure value is greater than a provided value.

Attribute Description Category
keys The keys to be used to compare measure values. Can be either indices, or position names. Each dimension spec in the keys-spec is de-limited by a ":". Multiple position ranges for a dimension can be specified by using "," as separators.

When using indices, a range of positions can also be used. Ex - "0-2:4-7,11-13:4" implies indices 0,1,2 for the first dimension, 4,5,6,7,11,12,13 for the second and 4 for the third dimension of the measure.

Note: Because indices are based on the workbook selections, they may not be consistent across all test cases. Care must be exercised to ensure that you are using the correct indices for your specific test case.

Required
namedkeys Position names used to get keys of the measure array. Using indices instead of position names or positions that do not exist in the MeasureStore (Workbook) will be flagged as an error. Similar to "keys" above, but using position names only. Optional
path Path of the flat file used for comparison against the Measure array. This looks like pointing to a pre-set environment variable. "path" cannot be used along with "keys" or "namedkeys". "path" is used only to compare the measure data against a pre-existing Flat file. If none of "path","keys" and "namedkeys" are specified, the comparison occurs for all the keys in the measure array of the Measure Store (Workbook). Optional
start The field start value. If this does not exist in the XML, the value is taken from the measure's properties. Used in a flat-file comparison. Optional
width The field start value. If this does not exist in the XML, the value is taken from the measure's properties. Used in flat-file comparison. Optional
value The expected value of the measure. Comparison on equality. Optional

Sample usage (indices):

<assert-workbook-measure-value-gt name="drwppthrsclsp" keys="0-2"  value="0.0" />

Sample usage (names):

<assert-workbook-measure-value-gt name="drwppthrsclsp" namedkeys="pos1,pos2,pos3"  value="0.0" />
4.3.10 assert-workbook-measure-value-le

Asserts a workbook measure value is greater than or equal to a provided value.

Attribute Description Category
keys The keys to be used to compare measure values. Can be either indices, or position names. Each dimension spec in the keys-spec is delimited by a ":". Multiple position ranges for a dimension can be specified by using "," as separators.

When using indices, a range of positions can also be used. Ex - "0-2:4-7,11-13:4" implies indices 0,1,2 for the first dimension, 4,5,6,7,11,12,13 for the second, and 4 for the third dimension of the measure.

Note: Because indices are based on the workbook selections, they may not be consistent across all test cases. Care must be exercised to ensure that you are using the correct indices for your specific test case.

Required
namedkeys Position names used to get keys of the measure array. Using indices instead of position names, or positions that do not exist in the MeasureStore (Workbook) will be flagged as an error. Similar to "keys" above, but using position names only. Optional
path Path of the flat file used for comparison against the Measure array. This looks like pointing to a pre-set environment variable. "path" cannot be used along with "keys" or "namedkeys". "path" is used only when we want to compare the measure data against a pre-existing flat file. If none of "path","keys" and "namedkeys" are specified, the comparison occurs for all the keys in the measure array of the Measure Store (Workbook). Optional
start The field start value. If this does not exist in the XML, the value is taken from the measure's properties. Used in a flat-file comparison. Optional
width The field start value. If this does not exist in the XML, the value is taken from the measure's properties. Used in flat-file comparison. Optional
value The expected value of the measure. Comparison on equality. Optional

Sample usage (indices):

<assert-workbook-measure-value-le name="drwppthrsclsp" keys="0-2"  value="0.0" />

Sample usage (names):

<assert-workbook-measure-value-le name="drwppthrsclsp" namedkeys="pos1,pos2,pos3"  value="0.0" />
4.3.11 assert-workbook-measure-value-lt

Asserts a workbook measure value is less than a provided value.

Attribute Description Category
keys The keys to be used to compare measure values. Can be either indices, or position names. Each dimension spec in the keys-spec is de-limited by a ":". Multiple position ranges for a dimension can be specified by using "," as separators.

When using indices, a range of positions can also be used. Ex - "0-2:4-7,11-13:4" implies indices 0,1,2 for the first dimension, 4,5,6,7,11,12,13 for the second, and 4 for the third dimension of the measure.

Note: Because indices are based on the workbook selections, they may not be consistent across all test cases. Care must be exercised to ensure that you are using the correct indices for your specific test case.

Required
namedkeys Position names used to get keys of the measure array. Using indices instead of position names, or positions that do not exist in the MeasureStore (Workbook) will be flagged as an error. Similar to "keys" above, but using position names only. Optional
path Path of the flat file used for comparison against the Measure array. This looks like pointing to a pre-set environment variable. "path" cannot be used along with "keys" or "namedkeys". "path" is used only when we want to compare the measure data against a pre-existing flat file. If none of "path","keys" and "namedkeys" are specified, the comparison occurs for all the keys in the measure array of the Measure Store (Workbook). Optional
start The field start value. If this does not exist in the XML, the value is taken from the measure's pProperties. Used in flat-file comparison. Optional
width The field start value. If this does not exist in the XML, the value is taken from the measure's properties. Used in a flat-file comparison. Optional
value The expected value of the measure. Comparison on equality. Optional

Sample usage (indices):

<assert-workbook-measure-value-lt name="drwppthrsclsp" keys="0-2"  value="0.0" />

Sample usage (names):

<assert-workbook-measure-value-lt name="drwppthrsclsp" namedkeys="pos1,pos2,pos3"  value="0.0" />
4.3.12 assert-workbook-measure-value-ne

Asserts a workbook measure value is not equal to a provided value.

Attribute Description Category
keys The keys to be used to compare measure values. Can be either indices, or position names. Each dimension spec in the keys-spec is de-limited by a ":". Multiple position ranges for a dimension can be specified by using "," as separators.

When using indices, a range of positions can also be used. Ex - "0-2:4-7,11-13:4" implies indices 0,1,2 for the first dimension, 4,5,6,7,11,12,13 for the second, and 4 for the third dimension of the measure.

Note: Because indices are based on the workbook selections, they may not be consistent across all test cases. Care must be exercised to ensure that you are using the correct indices for your specific test case.

Required
namedkeys Position names used to get keys of the measure array. Using indices instead of position names, or positions that do not exist in the MeasureStore (Workbook) will be flagged as an error. Similar to "keys" above, but using position names only. Optional
path Path of the flat file used for comparison against the Measure array. This looks like pointing to a pre-set environment variable. "path" cannot be used along with "keys" or "namedkeys". "path" is used only to compare the measure data against a pre-existing flat file. If none of "path","keys" and "namedkeys" are specified, the comparison occurs for all the keys in the measure array of the Measure Store (Workbook). Optional
start The field start value. If this does not exist in the XML, the value is taken from the measure's properties. Used in a flat-file comparison. Optional
width The field start value. If this does not exist in the XML, the value is taken from the measure's properties. Used in flat-file comparison. Optional
value The expected value of the measure. Comparison on equality. Optional

Sample usage (indices):

<assert-workbook-measure-value-ne name="drwppthrsclsp" keys="0-2"  value="0.0" />

Sample usage (names):

<assert-workbook-measure-value-ne name="drwppthrsclsp" namedkeys="pos1,pos2,pos3"  value="0.0" />
4.3.13 assert-workbook-popcount-eq

Asserts a workbook measure popcount matches an expected value.

Attribute Description Category
name Measure name Required
pop-count Expected popcount Required

Sample usage:

<assert-workbook-popcount-eq name=" Ipopappenbb" pop-count="100" />
4.3.14 assert-workbook-popcount-eq-zero

Asserts a workbook measure is not populated.

Attribute Description Category
name Measure name Required

Sample usage:

<assert-workbook-popcount-eq-zero name=" Ipopappenbb"  />
4.3.15 assert-measure-popcount-ne-zero

Asserts a workbook measure is populated.

Attribute Description Category
name Measure name Required

Sample usage:

<assert-workbook-popcount-ne-zero name=" Ipopappenbb"  />

4.4 Workbook Data Edit Operations

This section provides details about workbook data edit operations.

4.4.1 clear-workbook-list

Clears a list of workbook measures of all data.

Attribute Description Category
path Path to a file containing a new-line delimited list of measures Required

Sample usage:

<clear-workbook-list path="my_list.txt"/>
4.4.2 clear-workbook-measure

Clears a workbook measure of all data.

Attribute Description Category
name Measure name Required

Sample usage:

<clear-workbook-measure name=" Ipopappenbb/>
4.4.3 edit-workbook-measure

Edits the value of a workbook measure based on provided attributes. This tag closely models the action of editing a cell from the Client, as opposed to set-workbook-measure, which does a direct update of the workbook arrays.

This tag can be used in a variety of ways:

Set by loadmeasure file:By specifying <path>, <start>, and <width>, you can set the measure values according to a supplied loadmeasure file. This file must be in fixed-width format.

Set by positions:You can set individual positions by providing a <keys> tag. If you want, you can provide the list of positions at an aggregate level by specifying the intersection using the <keyint> tag.

Set everything:If you do not supply a <path> or <keys> tag, the entire measure will be set to the supplied value.

Attribute Description Category
name Measure name Required
keys List of comma-separated position names Optional
namedkeys List of comma-separated position names Optional
path Path to load measure type file to compare with Optional
keyint Intersection string Optional
value Expected value Optional
start Starting column of measure field Optional
width Width of measure field Optional


Note:

For Date type measures, RPAC supports setting the array cell using either of the following two Date & Time formats - "%m/%d/%Y" or "%m/%d/%Y-%H:%M:%S" where m = 2 digit month, d = 2 digit date, Y = 4 digit year, H = 2 digit hour, M = 2 digit min, and S = 2 digit sec.

Sample usage (using keys):

<edit-workbook-measure name="meas1" keys="0-2:5"  value="0.0" />

Sample usage (using keyint):

<assert-workbook-measure-value-ne name="meas2" namedkeys="chnl1:week1"  value="02/24/2012" />

Sample usage (load-measure file):

<edit-workbook-measure name="meas1" path="loadMeas1.dat" start="100" width="20"/>

Sample usage (set all):

<edit-workbook-measure name="meas1" value="2"
4.4.4 set-workbook-measure

Sets the value of a workbook measure based on provided attributes. Unlike edit-workbook-measure, this performs a direct change of the workbook data and does not update the change arrays unless told to do so. This can have an impact on the calculation cycle since bypassing the change arrays results in a full evaluation rather than incremental one.

This tag can be used in a variety of ways:

Set by loadmeasure file:By specifying <path>, <start>, and <width>, you can set the measure values according to a supplied loadmeasure file. This file must be in fixed-width format.

Set by positions:You can set individual positions by providing a <keys> tag. If you want, you can provide the list of positions at an aggregate level by specifying the intersection using the <keyint> tag.

Set everything:If you do not supply a <path> or <keys> tag, the entire measure will be set to the supplied value.

Attribute Description Category
name Measure name Required
keys List of comma-separated position names Optional
namedkeys List of comma-separated position names Optional
path Path to load measure type file to compare with Optional
keyint Intersection string Optional
value Expected value Optional
start Starting column of measure field Optional
width Width of measure field Optional
incremental True if evaluation is to be incremental Optional


Note:

For Date type measures, RPAC supports setting the array cell using either of the following two Date & Time formats - "%m/%d/%Y" or "%m/%d/%Y-%H:%M:%S" where m = 2 digit month, d = 2 digit date, Y = 4 digit year, H = 2 digit hour, M = 2 digit min, and S = 2 digit sec.

Sample usage (using keys):

<set-workbook-measure name="meas1" keys="0-2:5"  value="0.0" incremental="true"/>

Sample usage (using keyint):

<set-workbook-measure-value-ne name="meas2" namedkeys="chnl1:week1"  value="02/24/2012" />

Sample usage (load-measure file):

<set-workbook-measure name="meas1" path="loadMeas1.dat" start="100" width="20"/>

Sample usage (set all):

<set-workbook-measure name="meas1" value="2"

5. Dynamic Position Maintenance (DPM) Tags

This section provides details about dynamic position maintenance tags.

5.1 Assertions

This section provides details about assertions.

5.1.1 assert-position-label

Assert if a position does not exist.

Attribute Description Category
levelname Level name Required
position Position name Required
label Position label Required
lang Language Required

Sample usage:

<assert-position-label levelname="clss" position="4000" label="4000 Casual" lang="english" />
5.1.2 assert-position-not-exists

Assert if a position does not exist.

Attribute Description Category
levelname Level name Required
position Position name Required

Sample usage:

<assert-position-not-exists levelname="clss" position="4000"/>
5.1.3 assert-position-rollup

Assert if the given rollup is valid or not.

Attribute Description Category
rollup The expected format for rollup is rollup =childLevel:childPosition, parentLevel:parentPosition Required

Sample usage:

<assert-position-rollup rollup="clss:4000,dept:101" />
5.1.4 assert-position-status

Assert the status of a position. Status is 1 for formal, 2 for informal, 0 for placeholder, and -1 for deleted.

Attribute Description Category
levelname Level name Required
position Position name Required
status Status Required

Sample usage:

<assert-position-status levelname="str" position="str_dpm0000020" status="2"/>

5.2 Update Informal Position Operation

This section contains details about update informal position operations.

5.2.1 update-informal-position

Contains the dpm tags to add or modify dpm positions.

5.2.2 dpmposinfo

tag is the child tag of update-informal-position.

Attribute Description Category
lang Language Required

Sample usage:

<dpmposinfo lang="english"> </dpmposinfo>
5.2.3 dpmposentry

This is the child tag of dpmposinfo.

Attribute Description Category
levelname Level name Required
position Position name Required
isnewpos Boolean value: True for new position and False for modify. Required
label Position label Optional
oldposition Old position name Optional
type Integer value. Can be one of the following

0, REGULAR: one single position

1, MULTIPLE_PER_PARENT: multiple positions per parent dim

2, ONE_PER_CHILD: one position on rollup dim per child -

3, ONE_FOR_ALL_CHILDREN: one pos on rollup dim for all children

4, GEN_NAME_ONLY: only generating names/labels without applying changes

Optional
count position count for MULTIPLE_PER_PARENT type Optional

Sample usage:

<update-informal-positions>
    <dpmposinfo lang="english">
        <dpmposentry levelname="dstr" isnewpos="false" position="801" label="Pos label" oldposition="801" type="0" count="1"/>
    </dpmposinfo>
</update-informal-positions>

5.3 Delete Informal Position Operation

This section provides details about the delete informal position operation.

5.3.1 delete-informal-position

This tag deletes an informal position.

Attribute Description Category
levelname Level name Required
position Position name Required

Sample usage:

<delete-informal-position levelname="str" position="strdpm00000005"/>

6. HSA Tags

This section provides details about HSA tags.

6.1 assert-fact-group

Assert a fact exists or not in the fact group.

Attribute Description Category
name Measure name Required
factgroup Fact group name Required
factexists If flag is true, then fact is checked to see if it exists in the fact group. Required

Sample usage:

<assert-fact-group name="UtDyScSrc01U" factgroup="utscalar" factexists="true"/>

6.2 assert-fact-table

Assert a fact table exists or not.

Attribute Description Category
factgroup Fact group name Required
exists If flag is true, then check if the fact table exists. Required

Sample usage:

<assert-fact-table factgroup="utscalar" exists="true"/>

6.3 assert-fact-value-eq

Assert a fact value is equal to an expected value.

Attribute Description Category
name Measure name Required
keys List of comma-separated position names Optional
namedkeys List of comma-separated position names Optional
path Path to load measure type file to compare with Optional
value Expected value Optional
start Starting column of measure field Optional
width Width of measure field Optional
precision The number of decimal places to be considered for assertion Optional

Sample usage:

<assert-fact-value-eq name="UtDyDstLoU" namedkeys="20070121:30000:5" value="10"/>                        

6.4 assert-fact-value-ge

Assert a fact value is greater than or equal to an expected value.

Attribute Description Category
name Measure name Required
keys List of comma-separated position names Optional
namedkeys List of comma-separated position names Optional
path Path to load measure type file to compare with Optional
value Expected value Optional
start Starting column of measure field Optional
width Width of measure field Optional
precision The number of decimal places to be considered for assertion Optional

Sample usage:

<assert-fact-value-ge name="UtDyDstLoU"  namedkeys="20070121:30000:5" value="10"/>      

6.5 assert-fact-value-gt

Assert a fact value is greater than an expected value.

Attribute Description Category
name Measure name Required
keys List of comma-separated position names Optional
namedkeys List of comma-separated position names Optional
path Path to load measure type file to compare with Optional
value Expected value Optional
start Starting column of measure field Optional
width Width of measure field Optional
precision The number of decimal places to be considered for assertion Optional

Sample usage:

<assert-fact-value-gt name="UtDyDstLoU"  namedkeys="20070121:30000:5" value="10"/>      

6.6 assert-fact-value-le

Assert a fact value is less than or equal to an expected value.

Attribute Description Category
name Measure name Required
keys List of comma-separated position names Optional
namedkeys List of comma-separated position names Optional
path Path to load measure type file to compare with Optional
value Expected value Optional
start Starting column of measure field Optional
width Width of measure field Optional
precision The number of decimal places to be considered for assertion Optional

Sample usage:

<assert-fact-value-le name="UtDyDstLoU"  namedkeys="20070121:30000:5" value="10"/>      

6.7 assert-fact-value-lt

Assert a fact value is less than an expected value.

Attribute Description Category
name Measure name Required
keys List of comma-separated position names Optional
namedkeys List of comma-separated position names Optional
path Path to load measure type file to compare with Optional
value Expected value Optional
start Starting column of measure field Optional
width Width of measure field Optional
precision The number of decimal places to be considered for assertion Optional

Sample usage:

<assert-fact-value-lt name="UtDyDstLoU"  namedkeys="20070121:30000:5" value="10"/>      

6.8 assert-fact-value-ne

Assert a fact value is not equal to an expected value.

Attribute Description Category
name Measure name Required
keys List of comma-separated position names Optional
namedkeys List of comma-separated position names Optional
path Path to load measure type file to compare with Optional
value Expected value Optional
start Starting column of measure field Optional
width Width of measure field Optional
precision The number of decimal places to be considered for assertion Optional

Sample usage:

<assert-fact-value-ne name="UtDyDstLoU"  namedkeys="20070121:30000:5" value="10"/>      

6.9 assert-level-contain

Assert a level contains or does not contain a position name.

Attribute Description Category
name Level name Required
positions List of comma-separated position names Required
exists If flag is true, then position names are checked to see if they are contained in the level. Required

Sample usage:

<assert-level-contain name="skup" positions="6200006" exists="T"/>

6.10 clear-rdm-status

Clears the RDM status code.

Attribute Description Category
status_code RDM status code Required
domain_id Domain ID Required
info Information Required

Sample usage:

<clear-rdm-status status_code="1004" domain_id="" info=""/>

6.11 set-rdm-status

Sets the RDM status code.

Attribute Description Category
status_code RDM status code Required
domain_id Domain ID Required
info Information Required

Sample usage:

<set-rdm-status status_code="2001" domain_id="0" info="scls"/>  

6.12 set-fact-value

Set the value of a fact based on provided attributes.

Attribute Description Category
name Measure name Required
keys List of comma-separated position names Optional
namedkeys List of comma-separated position names Optional
path Path to load measure type file to compare with Optional
keyint Intersection string Optional
value Value Optional
start Starting column of measure field Optional
Width Width of measure field Optional

Sample usage:

<set-fact-value name="UtDyDst02U"  namedkeys="w01_2007:30018:5" value="0"/>

6.13 reset-seq-generator

Reset a sequence generator to a specific value.

Attribute Description Category
name Name of the generator. Required
central Indicates whether the reset is for centralized generator. True/False. Optional
value Reset to this value. Any integer >=0. Default 0. Optional

Sample usage:

<reset-seq-generator name="dpm_str"  value="1000"/>

6.14 assert-rdm-hier-exists

Assert a hierarchy exists in RDM or not.

Attribute Description Category
name Hierarchy name Required
exists If flag is true, then check if hierarchy exist in RDM. Required

Sample usage:

<assert-rdm-hier-exists name="clnd" exists="true"/>

6.15 assert-level-exists

Assert a level exists in RDM or not.

Attribute Description Category
name Level name Required
exists If flag is true, then check if hierarchy exist in RDM. Required

Sample usage:

<assert-level-exists name="day" exists="true"/>