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 75
Can you help with that, so I can push the evaluation any further?
Best Regards,
Christian
Comment