I am going to show you How You can add range in any default dimension .
If it it standard form where you want to add range then you have to create COC of that form's dataSource which contains DefaultDimension Field.
In my example I am adding range in Default Dimension "Project" in Revenue Recognition Schedule(RevRecDefferredLine) Form . I want to show just that particular record whose projectId matches the string control named "ProjIdFilter" whice I added in my form through form extension
Create the COC of RecRecDefferredLine form's datasource "NetDefferredLine" beacase my default dimension field is in NetDefferredLine datasource and paste below code
[ExtensionOf(formDataSourceStr(RevRecDeferredLine , NetDeferredLine))]
final class MZNKARevRecDeferredLineDS_Extension
{
public void executeQuery()
{
FormRun fr = this.formRun();
FormStringControl projectIdFilter = fr.design(0).controlName(formControlStr(RevRecDeferredLine , ProjIdFilter));
DimensionProvider dimensionProvider = new DimensionProvider();
dimensionProvider.clearDimensionRangesFromQuery(
this.query());
dimensionProvider.addAttributeRangeToQuery(
this.query(),
this.name(),
fieldStr(RevRecDeferredLine, DefaultDimension),
DimensionComponent::DimensionAttribute,
ProjectIdFilter.valueStr(),
"D05_ActivityName");
next executeQuery();
}
} dimensionProvider.clearDimensionRangesFromQuery(
this.query()); dimensionProvider.addAttributeRangeToQuery(
this.query(),
this.name(),
fieldStr(RevRecDeferredLine, DefaultDimension),
DimensionComponent::DimensionAttribute,
ProjectIdFilter.valueStr(),
"Project");First argument is the Query name
No comments:
Post a Comment