Dear SmartGWT support, users, developers,
we currently evaluating to upgrade from SmartgGWT 3.1 to 4.1.
I have the following problem and want to kindly ask, to help me with this new "behaviour".
The given code works flawlessly with 3.1:
tbTmdTariffModel.ds.xml:
The Version 4.1p generates the following SQL command, which naturally fails:
As you can see, the ORDER BY at the beginning of the statement is missing a column name.
Can you help with that, so I can push the evaluation any further?
Best Regards,
Christian
we currently evaluating to upgrade from SmartgGWT 3.1 to 4.1.
I have the following problem and want to kindly ask, to help me with this new "behaviour".
The given code works flawlessly with 3.1:
Code:
tariffModelSelect = new SelectItem("TariffModel", "Tariff Model");
tariffModelSelect.setValueField("TariffModelID");
tariffModelSelect.setDisplayField("TariffModelNameAndStatus");
tariffModelSelect.setOptionDataSource(DataSource.getDataSource("tbTmdTariffModel"));
final Criteria crit = new Criteria();
crit.setAttribute("ContractVersionID", parentApp.getContractVersionID());
crit.setAttribute("TariffModelRoleID", TariffModelRoleType.CONTRACT.getValue());
tariffModelSelect.setOptionCriteria(crit);
tariffModelSelect.setOptionOperationId("tariffModelOfContractVersionAndRoleWithNameAndStatus");
tariffModelSelect.setSortField("TariffModelNameAndStatus");
tariffModelSelect.setMultiple(Boolean.TRUE);
tariffModelSelect.setMultipleAppearance(MultipleAppearance.PICKLIST);
tariffModelSelect.setDefaultToFirstOption(Boolean.TRUE);Code:
<DataSource ID="tbTmdTariffModel" isPublic="true" serverType="sql" dataSourceVersion="1" dbName="CamMain" schemaName="dbo" dbTable="tbTmdTariffModel" tableName="tbTmdTariffModel">
<fields>
<field name="TariffModelID" type="integer" autoGenerated="true" primaryKey="true" />
<field name="TariffStructureID" type="integer" required="true" />
<field name="ContractVersionID" type="integer" required="true" />
<field name="TariffModelName" title="Tariff Model" type="text" required="true" length="100" />
<field name="TariffModelRoleID" type="integer" required="true" hidden="true" />
<field name="CreatedBy" hidden="true" canEdit="false" type="integer" />
<field name="ModifiedBy" hidden="true" canEdit="false" type="integer" />
<field name="NumErrors" canEdit="false" type="integer" required="true" />
<field name="MissingRates" type="integer" customSelectExpression="(select count(*) from tbTmdLeafProperty lp where lp.TariffModelID = tbTmdTariffModel.TariffModelID and lp.RateID is null)" />
<field name="CurrentStatus" type="text" customSelectExpression="dbo.fnGenApprovalStatusCSV(TariffModelID, 'tbTmdTariffModel')" />
<field name="ExchangeStatus" type="text" customSelectExpression="dbo.fnGenGetObjectStatus('EContractTariffModel', TariffModelID, GETDATE())" />
<field name="ExcelCompliance" title="Excel Compliance" type="text" customSelectExpression="(SELECT Value FROM tbGenAttribute WHERE DataTable = 'tbTmdTariffModel' AND Attribute = 'ExcelCompliance' AND ObjectID = tbTmdTariffModel.TariffModelID)" />
</fields>
<operationBindings>
<operationBinding operationType="remove" allowMultiUpdate="true">
</operationBinding>
<operationBinding operationType="add">
<values fieldName="CreatedBy" value="$userId" />
<values fieldName="ModifiedBy" value="$userId" />
</operationBinding>
<operationBinding operationType="update">
<values fieldName="ModifiedBy" value="$userId" />
<values fieldName="ModifiedAt" value="$currentDate" />
</operationBinding>
<operationBinding operationType="fetch" operationId="tariffModelOfContractVersionAndRoleWithNameAndStatus">
<selectClause>$defaultSelectClause, tbTmdTariffModel.TariffModelName + ' - ' + ISNULL(dbo.fnGenGetObjectStatus('TariffModel.VolumeCommitment', tbTmdTariffModel.TariffModelID, null), 'Draft') AS TariffModelNameAndStatus</selectClause>
</operationBinding>
</operationBindings>
</DataSource>Code:
SELECT * FROM (SELECT *, ROW_NUMBER() OVER (ORDER BY ) AS rowID FROM (SELECT TOP 100 PERCENT tbTmdTariffModel.ContractVersionID, tbTmdTariffModel.CreatedBy, dbo.fnGenApprovalStatusCSV(TariffModelID, 'tbTmdTariffModel') AS CurrentStatus, (SELECT Value FROM tbGenAttribute WHERE DataTable = 'tbTmdTariffModel' AND Attribute = 'ExcelCompliance' AND ObjectID = tbTmdTariffModel.TariffModelID) AS ExcelCompliance, dbo.fnGenGetObjectStatus('EContractTariffModel', TariffModelID, GETDATE()) AS ExchangeStatus, (select count(*) from tbTmdLeafProperty lp where lp.TariffModelID = tbTmdTariffModel.TariffModelID and lp.RateID is null) AS MissingRates, tbTmdTariffModel.ModifiedBy, tbTmdTariffModel.NumErrors, tbTmdTariffModel.TariffModelID, tbTmdTariffModel.TariffModelName, tbTmdTariffModel.TariffModelRoleID, tbTmdTariffModel.TariffStructureID, tbTmdTariffModel.TariffModelName + ' - ' + ISNULL(dbo.fnGenGetObjectStatus('TariffModel.VolumeCommitment', tbTmdTariffModel.TariffModelID, null), 'Draft') AS TariffModelNameAndStatus FROM tbTmdTariffModel WHERE (tbTmdTariffModel.ContractVersionID=1097 AND tbTmdTariffModel.TariffModelRoleID=1)) x) y WHERE y.rowID BETWEEN 1 AND 75Can you help with that, so I can push the evaluation any further?
Best Regards,
Christian