2014-08-27 5 views
1

Я очень новичок в EPL-запросах. Написал это, и он бросает синтаксическую ошибку.EPL синтаксис неправильный

@Name('ExpressionTotalQuantitySoFar') 
@Description('Gets the total quantity of a symbol so far') 
create expression totalQuantitySoFar{ (TAX) => 
    (Select sum(T.quantity) from TaxlotWindow as T where T.symbol = TAX.symbol and T.taxlotId < TAX.taxlotId) 
}; 


create variable double totQty = 5.0 ; 
@Name('ExpressionLongDebitBalanceTaxlotNoBox') 
@Description('Check is if a trade side is invalid, returns rue for invalid statements') 
create expression longDebitBalanceTaxlotNoBox{ (SECUR,TAX,ORD,AUE,FX) => 
    totQty = totalQuantitySoFar(TAX) 

    case when (totQty > 0) 
     then cashImpactBase(SECUR,TAX,ORD,AUE,FX)*(-1) 
    else 
     0.0 
    end 

}; 

Это дает синтаксическую ошибку вблизи корпуса.

Любая помощь?

ответ

1

Всегда указывайте текст синтаксической ошибки при публикации. Иначе как можно предполагать, что он сможет помочь.

Моей подсказкой было бы упростить, пока синтаксис не станет прекрасным. Затем добавьте обратно.

Скорее всего, это странное заявление «totQty = ..» является причиной как неправильной. Выражения EPL не являются языком программирования и не допускают объявления переменных, например, в Java или Scala. Возможно, просто используйте статический метод Java для вычисления вместо того, чтобы вам нужен язык программирования.

 Смежные вопросы

  • Нет связанных вопросов^_^