Estimados.
Me encuentro desarrollando unas validaciones mediante unos SP desde Firebird, ya que me permite controlar de manera más fácil las reglas de negocio.
Pongo acá un ejemplo.
Código SQL
[-]
begin
select saldo_clie,
monto_autorizado
from cliente
where id_cliente = _id_cliente
into :v_saldo, :v_monto_aut;
if (not v_monto_aut > 0) then
exception monto_no_aut;
if (not v_saldo >= p_monto) then
exception sobrepasa_saldo;
end
y desde delphi lo capturo de la siguiente forma.
Código Delphi
[-]
begin
try
begin
if Edt_CCorriente.Text <> '' then
begin
ZSP_ValSaldoClie.ParamByName('p_id_cliente').AsInteger := f_IdCliente;
ZSP_ValSaldoClie.ParamByName('p_monto').AsInteger := StrToInt(Edt_CCorriente.Text);
ZSP_ValSaldoClie.ExecProc;
end;
if f_MontoPago <> 0 then
MessageDlg('Monto no cuadra con total documento', mtError, [mbOk], 0)
else
ModalResult := MrOk;
end
except on E: Exception do
MessageDlg(E.Message , mtError, [mbOk], 0);
end
end;
El problema que cuando lo muestro desde delphi me aparece la siguiente leyenda.
Código:
SQL Error: exception 14 SOBREPASA_SALDO !Sobrepasa saldo permitido de la Cta Corriente! At procedure 'SP_VAL_MONTOAUT'. Error Code: -836. exception The SQL: EXECUTE PROCEDURE SP_VAL_MONTOAUT(?,?);
Siendo que lo unico que quiero mostrar es "!Sobrepasa saldo permitido de la Cta Corriente!"
Existe la manera de manipular ese String que devuelve Firebird.?
Gracias...