SOLUCIONADO Nueva op. para poder procesar Inscripciones en Estado de Aceptadas

El tema es el siguiente hay una operación cur00004, Procesar Inscripciones a Cursadas en estado Pendiente que precisamente toma las inscripciones Pendientes y luego de Procesar determinando las que están Aceptadas (tilde verde)y las que estan Rechazadas (cruz roja)
Las de cruz roja, al darle click permite cargarle un motivo de exepción y dejarlas Exeptuadas o en Mas Opciones Borrarlas o Rechazarlas, todo funciona correctamente pero en la UNLPam se necesita volver a chequear en algún otro momento las inscripciones Aceptadas porque puede pasar que se les haya vencido alguna de las correlativas y ahora no estar en condiciones
La idea entonces es pasen al estado Pendirente

Por tanto, lo único que hice fué una nueva op Procesar Inscripciones a Cursadas en estado Aceptadas para lo cual personalicé los sig objetos :

  1. dk_insc_cursadas_pendiente_x_alumno para filtrar las inscripciones aceptadas
  2. dsto_insc_cursadas_pendientes tambien filtra las aceptadas
  3. w_procesar_pendientes_cursada donde cambié ue_cambiar_pendientes para que aquellos alumnos que no pasaran los controles los dejara en estado de pendiente :
    update sga_insc_cursadas
    set estado = ‘P’
    where unidad_academica = :ls_ua and
    carrera = :ls_carrera and
    legajo = :ls_legajo and
    comision = :ls_comision;

Todo funciona correctamente : filtra los alumnos correctamente, luego los procesa correctamente pero justamente un alumno que los controles le pone la cruz roja cuando graba lo pone en aceptado y el resto en pendientes
La grabación la hace exactamente al reves !!!

Algo no funciona como necesito

Laura

Hola Laura

Como hicistes la personalización de la ventana? heredada o guardar como?

Emilio

Hola Emilio , la ventana no la heredé, usé el Guardar como

Hola Laura

Cambiastes el if que está antes del update… que modificastes?

estás segura que lo graba como A y no que lo deja como estaba?

Emilio

Cual es el if que debiera cambiar ?

Te transcribo como me quedó el ue_cambiar_pendiente

if dw_1.object.resultado[al_fila] = ‘1’ then

ls_ua = f_unidad_academica()
ls_carrera	= string(dw_1.object.carrera[al_fila])
ls_legajo	= string(dw_1.object.legajo[al_fila])
ls_comision	= string(dw_1.object.comision[al_fila])

update sga_insc_cursadas
set estado = 'P'
where unidad_academica = :ls_ua and
		carrera = :ls_carrera and
		legajo = :ls_legajo and
		comision = :ls_comision;

end if

Hola Laura

if dw_1.object.resultado[al_fila] = '1' then

resultado puede ser 0,1,2
0 y 2 son fallos de los controles
1 es que pasó los controles

Emilio, le cambié la condición en el if y grabó correctamente

El problema ahora que aquellos alumnos que no pasaron los contrles (cruz roja) no se abre la ventana donde te dice cual es el problema solo dice ‘No se recuperaron datos’

laura

ok.
puede ser por los argumentos que le estás pasando de un nivel de la operación al siguiente.
fijate las update properties, el query de la dw, dependiendo del uo que utilices.

Emilio

Emilio , no eran los updates properties simplemente volvía a filtrar mal en la dw dsto818_insc_cursadas_pendientes, debía quedarme con las inscripciones en estado=‘P’

Gracias !!! mañana lo pruebo mas pero en principio funcionó

laura