Knowledge Base

¿Qué es esto?

Oracle: APEX: Request

26/07/2011 - 18/03/2019 -  Comentarios - Oracle APEX

Muchas opciones de procesamiento de formularios dependen del valor que reciba el parámetro request. Normalmente, es el nombre del botón que se ha clickado.

Para ver el valor de request podemos usar este código:

DECLARE
     vResposta VARCHAR2(4000);
BEGIN
     vResposta := V ('REQUEST');
    htp.p('DEBUG REQUEST -> ' || vResposta);
END;

O verlo en el 4 parámetro de la URL (los parámetros van separados por dos puntos):

http://www.url.com:7777/pls/htmldb/f?p=106:42:2218586796600629:hola:YES

Que el parámetro no aparezca o que al pintar el request por pantalla no nos muestre nada no quiere decir que no lo esté evaluando.

En mi caso, había un proceso automático DML que se ejecutaba cuando el Request era uno de estos: CREATE, SAVE, DELETE, ADD, ENLLAC, MULTI_ROW_DELETE

Había un botón que se llamaba MULTI_ROW_DELETE así que debía ejecutarse y sin embargo no se ejecutaba. No lo hacía porque el parámetro "Valid Update Request Values" sólo admite estos valores SAVE, APPLY CHANGES, UPDATE, UPDATE ROW, CHANGE, APPLY, APPLY%CHANGES%, GET_NEXT%, GET_PREV% . Como MULTI_ROW_DELETE no es ninguno de ellos no se ejecutaba.

Por lo tanto se podía haber resuelto llamando al botón CHANGE, por ejemplo, y ya lo habría hecho.

Al final lo solucioné de otra forma, diciéndole al botón que su Database action fuera SQL UPDATE action