Calcule, utilizando um SELECT, a comissão a pagar na referencia atual, considerando os seguintes dados:
a. O percentual de comissão deve ser calculado sobre os itens da nota, considerando o percentual de comissão definido no cadastro de produtos ou no cadastro de Tipos de Negociação (o maior obtido na comparação);
b. Devem ser calculadas comissões sobre as Vendas e Devoluções de Vendas, sendo que no caso de Devoluções o valor calculado deve ser negativo, para abater no valor total de comissões a pagar.
Arredonde o valor calculado, de forma que sejam consideradas apenas 2 casas decimais. Apresente o nome de cada vendedor e o valor de comissão calculado.
Segue o meu código para anáise:
SELECT
VEN.APELIDO AS VENDEDOR,
ITE.VLRTOT AS TOTAL_ITEM,
NEG.COMISSAO AS COMISSAO_TIPONEGOC,
PRO.COMVEND AS COMISSAO_PRODUTO,
CAB.NUNOTA AS NUMERO_NOTA,
ITE.CODPROD AS CODIGO_PRODUTO,
SUM (CASE
WHEN ((CAB.TIPMOV = 'V') AND ( NEG.COMISSAO > PRO.COMVEND)) THEN ( ITE.VLRTOT * ( NEG.COMISSAO / 100 ))
WHEN ((CAB.TIPMOV = 'V') AND ( NEG.COMISSAO < PRO.COMVEND)) THEN ( ITE.VLRTOT * ( PRO.COMVEND / 100 )) AS VENDA ) VLRVENDA,
CASE
WHEN ( (CAB.TIPMOV = 'D') AND ( NEG.COMISSAO > PRO.COMVEND ) ) THEN (ITE.VLRTOT * ( -1 ) ) * ( NEG.COMISSAO / 100)
ELSE (ITE.VLRTOT * ( -1 ) ) * ( PRO.COMVEND / 100 )
END AS DEVOLUCAO
FROM TGFVEN VEN, TGFITE ITE, TGFTPV NEG, TGFPRO PRO, TGFCAB CAB
WHERE CAB.CODVEND = VEN.CODVEND
AND ITE.CODPROD = PRO.CODPROD
AND ITE.NUNOTA = CAB.NUNOTA
AND CAB.STATUSNOTA = 'L'
AND CAB.TIPMOV IN ( 'D', 'V' )
AND CAB.DTNEG > ( SYSDATE -30 )
AND NEG.COMISSAO IS NOT NULL
ORDER BY NUMERO_NOTA