Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Oracle »

Bucle para items POST-TEXT-ITEM

Estas en el tema de Bucle para items POST-TEXT-ITEM en el foro de Oracle en Foros del Web. Buenos dias a todos: Vereis, estoy intentando hacer un bucle para un bloque tabular en el que me vaya sumando los contenidos, y necesito hacerlo ...
  #1 (permalink)  
Antiguo 22/04/2008, 01:14
 
Fecha de Ingreso: marzo-2008
Mensajes: 18
Antigüedad: 16 años, 9 meses
Puntos: 0
Bucle para items POST-TEXT-ITEM

Buenos dias a todos:

Vereis, estoy intentando hacer un bucle para un bloque tabular en el que me vaya sumando los contenidos, y necesito hacerlo cada vez que salga de un item, por eso uso POST-TEXT-ITEM. El codigo es este

Cita:
DECLARE
V_TOTAL_CERT NUMBER;
BEGIN
GO_BLOCK('BL_DESGLOSE');
FIRST_RECORD;
LOOP
EXIT WHEN :BL_DESGLOSE.IMPORTE IS NULL;
V_TOTAL_CERT := V_TOTAL_CERT + :BL_DESGLOSE.IMPORTE;
NEXT_RECORD;
IF (:SYSTEM.LAST_RECORD = 'TRUE') THEN
EXIT;
END IF;
END LOOP;
IF V_TOTAL_CERT > :BL_DESGLOSE.TOTAL_JUST THEN
MSGBOX('El importe certifcado no puede ser mayor que el importe justificado.');
END IF;
END;
El problema es que me da fallos con el GO_BLOCK y con todo lo que haga referencia a _RECORD, (NEXT, FIRST, etc...)

que puedo hacer?

Gracias de antemano.

P.D: por si os sirve de más ayuda lo que pretendo hacer es como el CURRENT_CELL_CHANGED de VB.NET.
  #2 (permalink)  
Antiguo 22/04/2008, 04:21
 
Fecha de Ingreso: junio-2007
Mensajes: 891
Antigüedad: 17 años, 6 meses
Puntos: 43
Re: Bucle para items POST-TEXT-ITEM

La navegacion está prohibida en los POST, PRE, en algún WHEN y creo que en alguno mas.

Prueba con un KEY ENTER, KEY-NEXT-ITEM, WHEN NEW ITEM INSTANCE, etc etc etc .

Seguro que alguno cuela.
  #3 (permalink)  
Antiguo 22/04/2008, 04:41
 
Fecha de Ingreso: marzo-2008
Mensajes: 18
Antigüedad: 16 años, 9 meses
Puntos: 0
Re: Bucle para items POST-TEXT-ITEM

Bueno, gracias por la aclaración de que no se puede navegar en POST, PRE y el otro que es WHEN VALIDATE ITEM, pero ahora cuando pongo el codigo en alguno de los que me dijiste, no me salta nada, ni error ni lo que tiene que hacer...puede ser que el codigo esté mal???

Saludos y gracias
  #4 (permalink)  
Antiguo 23/04/2008, 00:41
 
Fecha de Ingreso: junio-2007
Mensajes: 891
Antigüedad: 17 años, 6 meses
Puntos: 43
Re: Bucle para items POST-TEXT-ITEM

No sé, de entrada esto está mal :

LOOP
EXIT WHEN :BL_DESGLOSE.IMPORTE IS NULL;
V_TOTAL_CERT := V_TOTAL_CERT + :BL_DESGLOSE.IMPORTE;
NEXT_RECORD;
IF (:SYSTEM.LAST_RECORD = 'TRUE') THEN
EXIT;
END IF;
END LOOP;

Cambialo por

LOOP
EXIT WHEN :BL_DESGLOSE.IMPORTE IS NULL;
V_TOTAL_CERT := V_TOTAL_CERT + :BL_DESGLOSE.IMPORTE;
IF (:SYSTEM.LAST_RECORD = 'TRUE') THEN
EXIT;
else
NEXT_RECORD;
END IF;
END LOOP;

Como tu lo tienes, no te sumará el importe del ultimo registro. EL resto parece que está bien, pon mensajes en cada paso del código a ver si realmente se ejecuta ese codigo o es que no se dispara el trigger
  #5 (permalink)  
Antiguo 25/04/2008, 15:50
Avatar de kikolice  
Fecha de Ingreso: marzo-2004
Mensajes: 1.510
Antigüedad: 20 años, 9 meses
Puntos: 7
Re: Bucle para items POST-TEXT-ITEM

o de forma mas eficiente

exit when :SYSTEM.LAST_RECORD = 'TRUE';
NEXT_RECORD;
__________________
Blogzote.com :-) Mi blog
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:06.