hola
yo utilizo el trigger BI y asi evito un innecesario udate
Código SQL
[-]
if (new.documento='A') then
select max(campo_a)+1 from tabla into new.campo_a;
else if (new.documento='B') then
select max(campo_b)+1 from tabla into new.campo_b;
else if (new.documento='C') then
select max(campo_c)+1 from tabla into new.campo_c;
No se si eso es lo que quieres, pero la idea e modificar el valor antes de la insercion, ya que si haces update del AI, luego debes controlar los eventos BU i AU
Saludos