cubewise-code/bedrock

}bedrock.cube.view.create does not include intermediate children

rb524 opened this issue · 1 comments

rb524 commented

Describe the bug
The }bedrock.cube.view.create process creates a list of elements used in the view and is set to include all the N level descendants where pSuppressConsol = 1 and includes the consolidated element in the filter where pSuppressConsolStrings = 0, but the intermediate consolidations are not included. This process is called by the }bedrock.cube.data.copy process and results in sting data not being copied for the intermediate consolidations.

To Reproduce
Steps to reproduce the behavior:
Run the process with a consolidation (which has child consolidations) in the filter and the following parameters 'pSuppressConsol', 1, 'pSuppressConsolStrings', 0,.

Expected behavior
I would expect the intermediate consolidations to be included in the view if the filter consolidation is included.

Additional context

Current code
image

Suggested fix - Making the test at 345 a IF ELSE

If( ElIsAnc(sDimension, sElement, sEL) = 1 );
    If( pSuppressConsolStrings = 0 );
        SubsetElementInsert(sDimension, sSubset, sEl, 0);
    ElseIf( DType(sDimension, sEl) @<> 'C' );
        SubsetElementInsert(sDimension, sSubset, sEl, 0);
    EndIf;
EndIf;

The If at 352 would stay to put the C elements from the filter into the set as the fix above will only do the intermediate C elements.

Fixed in #352