SAP Knowledge Base Article - Public

2875493 - Characteristic XYZ has no master data for "-2146826246" or you do not have authorizations

Symptom

When opening a workbook in Analysis Office, the following warning messages are displayed:

----------------------------------------------------------
Planning object variables could not be submitted. Check empty mandatory variables (ID-109001)
Characteristic <XYZ> has no master data for "-2146826246" or you do not have authorizations (com.sap.ip.bi.bics.dataaccess.consumer.impl.selector.selection.SingleMember-NoMasterdata)
----------------------------------------------------------

The workbook is saved/stored with option "Remove Data Before Saving" selected.

The variable of a planning function included in the report is being set via cell reference that contains a formula (e.g. SAPGetVariable).

In Analysis Office trace, the following entries are found:
----------------------------------------------------------
Cell reference ... with value '-2146826246'
Setting variable '<VAR ID>' with value '-2146826246' failed
invalid value for Variable: <VAR ID>
----------------------------------------------------------

Environment

Analysis for Microsoft Office

Cause

When opening a workbook that was saved with option "Remove Data Before Saving" selected in Analysis Office, all formulas are cleared and display "#N/A".

The number "-2146826246" is the representation of "#N/A" error in the cell.

When the initial refresh of the workbook happens, if the variable of a planning function included in the report is being set via cell reference that contains a formula, the planning function is refreshed with "-2146826246", which results in the warning messages.

Resolution

OPTION #1

Go to the Components tab in Design Panel. On the "Planning" tab uncheck "Refresh Planning Objects on Refresh All".

With this, the initial opening of the workbook will only refresh the data sources and afterwards, the cell that is referenced will hold the expected value.

Then in the macro code, before using the planning functions, add a single refresh command for each used planning function before it is accessed.
e.g. Application.Run("SAPExecuteCommand", "Refresh", "TECHNICAL NAME OF THE PLANNING FUNCTION")

On the first usage the planning function will be refreshed.
On the second usage no additional backend call is done if the planning function is already refreshed.

The planning function can then be executed with the expected value in the referenced cell.

OPTION #2

Use the source type member instead of cell reference and set the value of the planning function before it is executed.
In the Variables tab of the planning function, change the source to Members.
In the macro code, use SAPSetPlanParameter to set the values of the planning variables before the execution.

The SAPSetPlanParameter does not work on variables with Source Type Cell.

See Also

2350675 - SAPSetPlanParameter retuns 0 - execution failed

Keywords

warning, planning, sequence, function, refresh, opening, open, formulas, cell reference, variable, parameters , KBA , BI-RA-AO-XLA , Excel Addin , Known Error

Product

SAP Analysis for Microsoft Office all versions