Boa tarde amigos,
Consegui resolver a situação.
Definitivamente, para o meu caso não tinha como realizar o teste direto via consulta formatada, antes do documento inserido, visto que os testes no nivel de linhas não me retornam os valores a serem comparados. O que funcionou então:
Criei um pequeno codigo na Transaction Notification onde consigo testar minha condição na Inclusao ou Update...
Criei um campo de usuario para o pedido de venda "U_Aprovacao" que recebe 'NAO' por default e se a minha condição for atendida ele é atualizado para 'SIM'...
Desta forma, criei uma consulta formatada retornando 'True' se o campo "U_Aprovacao" = 'SIM'...
Pela hierarquia do SAP, os codigos da Transaction vem antes dos testes dos Procedimentos de Autorização...
Linhas da Transacation:
if @object_type in ('17') --Pedido de Venda
and @transaction_type in ('A','U') --Inserir ou atualizar
Begin
Declare
@BaseEntry int
if @object_type = '17'
begin
Set @BaseEntry = (Select rdr1.BaseRef from RDR1 left join ORDR on ORDR.DocEntry = RDR1.DocEntry
Where ORDR.DocEntry = @list_of_cols_val_tab_del )
end
if (select SUM(Quantity) from qut1 where DocEntry = @BaseEntry and unitMsr = 'M2' group by DocEntry) <
(select SUM(Quantity) from rdr1 where BaseEntry = @BaseEntry and unitMsr = 'M2' group by BaseEntry)
Begin
Update ORDR set Ordr.U_Aprovacao = 'SIM' Where DocEntry = @list_of_cols_val_tab_del
End
End --<Fim>
Obrigado a todos pela atenção e ajuda!