Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 06-08-2015
novato_erick novato_erick is offline
Miembro
 
Registrado: ago 2010
Ubicación: Panamá
Posts: 396
Poder: 14
novato_erick Va por buen camino
variable de Tipo Decimal envia error

Hola Chicos como estan nuevamente algo currioso con firebird:

estoy realizando un procedimiento que actualiza campos directamente con firebird

Código SQL [-]
CREATE PROCEDURE ACTUALIZAPRECIO(
  ID_ARTCOMPRA INTEGER,
  NEW_COMPRA DECIMAL(5, 2))
RETURNS(
  IDPRECIO INTEGER,
  IDART INTEGER,
  IDARTXIVA INTEGER,
  COMISION DECIMAL(12, 2),
  GASTOS DECIMAL(12, 2),
  MARGEN DECIMAL(12, 2),
  MARGENDETALLE DECIMAL(12, 2),
  PCOMPRAPRODUCTO DECIMAL(12, 2),
  MONTOIMPUESTO DECIMAL(12, 2),
  PRECIOCIV DECIMAL(12, 2),
  PRECIOSIV DECIMAL(12, 2))
AS
DECLARE VARIABLE IDPRECIOCOMPRA INTEGER;
DECLARE VARIABLE IDARCOMPRA INTEGER;
DECLARE VARIABLE IDARTXIMPUESTO INTEGER;
DECLARE VARIABLE COMISIONCOMPRA DECIMAL(12, 2);
DECLARE VARIABLE GASTOCOMPRA DECIMAL(12, 2);
DECLARE VARIABLE MARGENCOMPRA DECIMAL(12, 2);
DECLARE VARIABLE MARGENDETALLECOMPRA DECIMAL(12, 2);
DECLARE VARIABLE NEWPCOMPRA DECIMAL(12, 2);
DECLARE VARIABLE MONTOIVA DECIMAL(12, 2);
DECLARE VARIABLE NEW_PRECIOCIV DECIMAL(12, 2);
DECLARE VARIABLE NEW_PRECIOSIV DECIMAL(12, 2);
DECLARE VARIABLE OLDPCOMPRA DECIMAL(12, 2);
DECLARE VARIABLE IDIMPUESTO INTEGER;
DECLARE VARIABLE PORCENTAJEIVA DECIMAL(3, 2);
BEGIN
 FOR 
      SELECT 
         PRECIO.ID_PRECIO,
         PRECIO.ID_ARTICULO,
          PRECIO.ID_ARTXIMPUES,
         PRECIO.COEF_COMISION,
          PRECIO.COEF_GASTOS,
          precio.COEF_MARGEN,
          precio.COEF_MARGENDETALLE,
          precio.PRECIOCOMPRA,
          PRECIO.MONTO_IMPUESTO,
          PRECIO.PRECIO_CIV,
          PRECIO.PRECIO_SIV
            FROM
             PRECIO where precio.ID_ARTICULO = :ID_ARTCOMPRA
         INTO
         :IDPRECIO,
         :IDART,
         :IDARTXIVA,
         :COMISION,
         :GASTOS,
         :MARGEN,
         :MARGENDETALLE,
         :PCOMPRAPRODUCTO,
         :MONTOIMPUESTO,
         :PRECIOCIV,
         :PRECIOSIV  
                    
 DO

 BEGIN
  SELECT
  ARTXIMPUES.ID_IMPUESTO, IMPUESTO.PORCENTAJE
   FROM ARTXIMPUES, IMPUESTO 
   WHERE IMPUESTO.ID_IMPUESTO = ARTXIMPUES.ID_IMPUESTO AND
   ARTXIMPUES.ID_ARTXIMPUES = :IDARTXIVA 
   INTO :IDIMPUESTO, :PORCENTAJEIVA;
 
    COMISIONCOMPRA = 0.00;--aquí es donde tengo el problema que me envia: scale must be between zero and precision
    GASTOCOMPRA = 0.00;
    MARGENCOMPRA = 0.00;
    MARGENDETALLECOMPRA = 0.00;

  IF (PCOMPRAPRODUCTO < NEW_COMPRA) THEN
  BEGIN
    COMISIONCOMPRA = (NEW_COMPRA * COMISION)/100;
    GASTOCOMPRA = (NEW_COMPRA * GASTOS)/100;
    MARGENCOMPRA = (NEW_COMPRA * MARGEN)/100;
    MARGENDETALLECOMPRA = (NEW_COMPRA * MARGENDETALLE)/100;
  END  

 /* UPDATE 
  PRECIO  
  SET 
  PRECIOCOMPRA = :NEWPCOMPRA,
  PRECIO_CIV = :PRECIO_CIV,
  PRECIO_SIV = :PRECIO_SIV,
  MONTOSUMAFIJA = :MONTOSUMAFIJA,
  MONTO_IMPUESTO = :MONTO_IMPUESTO,
  COEF_COMISION = :COEF_COMISION,
  COEF_GASTOS = :COEF_GASTOS,
  COEF_MARGEN = :COEF_MARGEN,
  COEF_MARGENDETALLE = :COEF_MARGENDETALLE
 
WHERE 
  ID_PRECIO = :ID_PRECIO */
  
   

 END
SUSPEND; 
END;

en fin como mencione en el código con un comentario me manda ese error.


Saludos
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
No se puede convertir variable de tipo null a tipo integer. JairoC Varios 5 30-11-2011 15:43:11
Error en tipo de variable astut Internet 6 25-02-2007 16:13:45
Como pasar la parte decimal de una variable maravert Varios 1 30-10-2006 20:30:11
Vble. tipo decimal silviodp Varios 2 11-05-2004 06:10:56
obtener el error que me envia SQL server jac000y MS SQL Server 2 12-01-2004 20:47:00


La franja horaria es GMT +2. Ahora son las 23:52:59.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi