SSRS report parameter group heading not getting displayed

Hi,

In my class for parameters, I have grouped the parameter text boxes and given them some names, however those group names are not displayed on the parameter dialog and the parameters’ name labels are getting trimmed

/// <summary>
/// Data Contract class for ProductionCostAnalysis SSRS report.
/// </summary>
[
    DataContractAttribute,
    SysOperationContractProcessingAttribute(classStr(MyUIBuilder), SysOperationDataContractProcessingMode::CreateUIBuilderForRootContractOnly),
    SysOperationGroupAttribute('ShipDate', "@SYS10178", '1'),
    SysOperationGroupAttribute('Item', "@SYS180592", '2'),
    SysOperationGroupAttribute('CustomerAccount', "@SYS7149", '3'),
    SysOperationGroupAttribute('InvoiceAccount', "@SYS25420", '4'),
    SysOperationGroupAttribute('SalesOrder', "@SYS80119", '5'),
    SysOperationGroupAttribute('Functions', "@SYS81103", '6')
]
class MyContract implements SysOperationValidatable
{
    ItemId              ofItemId;
    ItemId              toItemId;
    TransDate           ofDate;
    TransDate           toDate;
    CustAccount         ofCustAccount;
    CustAccount         toCustAccount;
    CustInvoiceAccount  ofInvoiceAccount;
    CustInvoiceAccount  toInvoiceAccount;
    SalesId             ofSalesId;
    SalesId             toSalesId;
    VASInvoiceNoSingleSummary invoiceType;
}

 


[
    DataMemberAttribute('invoiceType'),
    SysOperationLabelAttribute(literalStr("@SYS14204")),
    SysOperationGroupMemberAttribute('Functions'),
    SysOperationDisplayOrderAttribute('1')
]

public VASInvoiceNoSingleSummary parmInvoiceType(VASInvoiceNoSingleSummary _invoiceType = invoiceType)
{
    invoiceType = _invoiceType;
    return invoiceType;


class MyContractUIBuilder extends SrsReportDataContractUIBuilder
{
    MyContractContract              contract;
    DialogField                         ofDateField;
    DialogField                         toDateField;
    DialogField                         ofItemIdField;
    DialogField                         toItemIdField;
    DialogField                         ofCustAccountField;
    DialogField                         toCustAccountField;
    DialogField                         ofInvoiceAccountField;
    DialogField                         toInvoiceAccountField;
    DialogField                         ofSalesIdField;
    DialogField                         toSalesIdField;
    DialogField                         invoiceTypeField;
}
}


public void build()
{
    contract = this.dataContractObject() as MyContract;

    ofDateField = this.addDialogField(methodStr(MyContract, parmOfDate), contract);
    ofDateField.lookupButton(2);

    toDateField = this.addDialogField(methodStr(MyContract, parmToDate), contract);
    toDateField.lookupButton(2);

    ofItemIdField = this.addDialogField(methodStr(MyContract, parmOfItem), contract);
    ofItemIdField.lookupButton(2);

    toItemIdField = this.addDialogField(methodStr(MyContract, parmToItem), contract);
    toItemIdField.lookupButton(2);

    ofCustAccountField = this.addDialogField(methodStr(MyContract, parmOfCustAccount), contract);
    ofCustAccountField.lookupButton(2);

    toCustAccountField = this.addDialogField(methodStr(MyContract, parmToCustAccount), contract);
    toCustAccountField.lookupButton(2);

    ofInvoiceAccountField = this.addDialogField(methodStr(MyContract, parmOfInvoiceAccount), contract);
    ofInvoiceAccountField.lookupButton(2);

    toInvoiceAccountField = this.addDialogField(methodStr(MyContract, parmToInvoiceAccount), contract);
    toInvoiceAccountField.lookupButton(2);

    ofSalesIdField = this.addDialogField(methodStr(MyContract, parmOfSalesId), contract);
    ofSalesIdField.lookupButton(2);

    toSalesIdField = this.addDialogField(methodStr(MyContract, parmToSalesId), contract);
    toSalesIdField.lookupButton(2);

    invoiceTypeField = this.addDialogField(methodStr(MyContract, parmInvoiceType), contract);
}

 

![6607.Parameter Dialog.png|590x488](upload://wzMl59ggnW4D5cgRGMoTeErcg0J.png)

The attributes are used by AX if you let it generate the dialog for you. If you’re adding fields by yourself (which makes no sense to me), then you have to add the group by yourself too.

You’ll be much better off if you throw away your code and let AX to do it. If needed, you still can modify dialog fields created by AX.

You could also simulate AX logic in your UI builder by reading the attributes, but it isn’t needed in your case.

Hi Martin,

Yes, I tried that as an alternate way to get the labels. Even that did not help.

SysOperationGroupAttribute('ShipDate', "@SYS10178", '1'),
    
literalStr("@SYS10178") instead of "@SYS10178"... Silly mistake on my part.

Just noticed, I created the post in the wrong forum… Apologies…