Create computed column in view or data entity with Sql statement
public static server str getHasBreakupDetails()
{
str expression;
expression = '(select count(bl.RecId) from EMSChargebackBreakupLines bl join EMSChargebackBreakupHeader bh on bl.BreakupHeaderRecId = bh.RecId and bh.ChargebackRecId = ' +
SysComputedColumn::returnField(tableStr(SAKChargebacksInquiryView),identifierStr(SAKChargebacks),fieldStr(SAKChargebacks,RecId)) + ')';
// If condition & literal with numbers
return SysComputedColumn::if(
SysComputedColumn::equalExpression(
expression,
SysComputedColumn::comparisonLiteral(0)), SysComputedColumn::returnLiteral(0), SysComputedColumn::returnLiteral(1));
}
Other examples
public static server str getCBNum(TableName _viewName,
str _DataSourceParty,
str _DataSourcePartyField)
{
str expression;
expression = 'select displayvalue from dimensionattributevaluecombination where recid = ' +
SysComputedColumn::returnField(_viewName,
_DataSourceParty,
_DataSourcePartyField);
return expression;
}
with real computed column
public static str getPendingAllocationQty()
{
#SRSModel
str contractLineRecIdValue =
SysComputedColumn::returnField(tableStr(NXRExistingContractLineView),identifierStr(EDF_ContractLine),fieldStr(EDF_ContractLine,RecId));
str contractQty = SysComputedColumn::returnField(tableStr(NXRExistingContractLineView),identifierStr(EDF_ContractLine),fieldStr(EDF_ContractLine,ContractQty));
str expression = '(select sum(ContractQty) from NXRMASTERWEIGHINGPURCHALLOCATIONTABLE where NXRMASTERWEIGHINGPURCHALLOCATIONTABLE.ProcessStatus <> 3 and '+
'exists( select * from NXRMasterWeighingTable where NXRMasterWeighingTable.BFSIndependentWeighID = NXRMASTERWEIGHINGPURCHALLOCATIONTABLE.BFSIndependentWeighID '+
'and NXRMasterWeighingTable.Status <> 7) and NXRMASTERWEIGHINGPURCHALLOCATIONTABLE.EDF_ContractLine = ' +
contractLineRecIdValue + ')';
expression = SysComputedColumn::if(SysComputedColumn::isNullExpression(expression),SysComputedColumn::returnLiteral(0.00),expression);
return SysComputedColumn::cast( SysComputedColumn::subtract(contractQty, expression), #smFloat);
}
Comments
Post a Comment