Hola
El error no puede estar donde dices porque tienes un for lo cual hace que pueda recoger todos los registros que devuelva la select
tiene que estar en estos u otros selects que disparen los triggers de las tablas afectadas por los updates o inserts de las tablas
o sea selects que recogen un solo registro y devuelven mas de uno
investiga y tienes el select distinct como recurso si es que te devuelve un mismo valor repetido
Código SQL
[-]
SELECT CODM FROM SALDO WHERE SALDO.CODM=INGRESO.CODM INTO :COD
Código SQL
[-]
select proveedor.nombrep from proveedor where (proveedor.codp=ingreso.codp)into :nombrep
ya que son las que esperan un solo registro
En fin Saludos y suerte