Неправильный синтаксис 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

};

Это дает синтаксическую ошибку рядом с регистром.

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


person abhinav pandey    schedule 27.08.2014    source источник


Ответы (1)


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

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

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

person user650839    schedule 27.08.2014