entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

1voto

Ejecutar Alerta desde PLSQL en APEX

Buenas tardes,

Tengo un problemilla a ver si me podeis ayudar a solucionarlo.

Tengo una aplicación hecha con APEX (Aplication Express de Oracle) y lo que quiero conseguir lo tengo razonado de dos formas que cada una tiene su problema, las resumo:

1.- Desde un buttom con una acción OnSubmit llamo a un procedimiento que hace un proceso, la idea es ir mostrando mensajes por pantalla con este plugin que hay para apex y funciona bastante bien Demo Alertify y la forma que tengo de mostrar esos mensajes es según va avanzando el pl voy pasando parametros (:ITEM := 'LO QUE SEA') a un ITEM que está oculto para que luego con una acción dinámica que se ejecute cuando ese ITEM cambie lance el mensaje.

Problema: La pagina se recarga con el OnSubmit del botón y no ejecuta el mensaje o la acción dinámica solo detecta que ha cambiado el valor de la caja de texto (ITEM) cuando le das a enter o pierde el foco.

2.- Para intentar evitar el problema del boton, el codigo lo ejecuto en la acción dinámica cuando pulse el boton, y en el boton en ved de submit tiene un "Definido por acción dinámica". Aquí en este caso me ejecuta el último mensaje que pongo solo porque la caja de texto pierde el foco.

Problema: Tengo un codigo PL demasiado largo y me da el error "ORA-01461: can bind a LONG value only for insert into a LONG column " con lo cual no tengo ni idea.

Posibles soluciones que se me ocurren pero no tengo ni idea: Forzar un Enter y la que estoy probando que no funciona es la de tener dos cajas de texto ocultas y escribir en las dos solo para que pierda el foco pero nada.

Gracias por las ayudas y soy novato en el tema de APEX¡¡

0voto

oskar5445 comentado

Tengo una posible solución si me ayudais con ella, es la siguiente:
¿Se puede ejecutar codigo javascript dentro de un bloque de PL/SQL?¿Cómo?
He visto que es del estilo de esto que os dejo, pero no soy capaz:

htp.p('if(v == true){');
update aggrement set checked='y' where agg_no = :P2_AGG_NO;
htp.p('}else{');
update aggrement set checked='n' where agg_no = :P2_AGG_NO;
htp.p('}');

Muchas Gracias

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta