Definição de parâmetro - Campo calculado

Bom dia pessoal,

Criamos uma tela para controle dos processos internos e a mesma possui uma tela detalhe (AD_ETPROC), na qual vão ser lançados valores que deverão deduzir da tela mestre (AD_PROCALM) quando for marcado como “AMORTIZ.”.

Preciso que no campo calculado com a query mencionada, ele filtre por ID (PRO.ID), pois quando lanço mais que um lançamento consta o erro abaixo:
"Erro ao carregar página de dados 1 para AD_PROCALM.
A subconsulta retornou mais de 1 valor. Isso não é permitido quando a subconsulta segue um =, !=, <, <= , >, >= ou quando ela é usada como uma expressão.

Código: CORE_E00358"

Como que crio um parâmetro no WHERE para que a consulta realize esse filtro pelo PRO.ID ?

#type.sql#
SELECT
(PRO.VLRTRIB- CASE WHEN ETA.CATEGORIA = 'AMORTIZ.' THEN SUM(ETA.VALOR) ELSE 0 END)

FROM AD_PROCALM PRO
JOIN AD_ETPROC ETA ON PRO.ID = ETA.ID 

WHERE 
ETA.CATEGORIA = 'AMORTIZ.'

GROUP BY
PRO.VLRTRIB, ETA.CATEGORIA
7 respostas