Ola, boa tarde...
Tenho uma validação que é utilizada para retorna determinado dados no carregamento da pagina, conforme o critério, porém, ocorre d as vezes não ser retornado nenhum dados. tem alguma forma de, senão retornar dados, via código, seja redirecionado para outra pagina? ou ocultar itens da pagina que esta sendo carregada?
O que ocorre, a tela é para lance de pregão presencial, senão há lances, não há rodadas, então queria q não havendo lance já fosse direcionado para outra pagina, ou então, a pagina até poderia ser carregada, mas que via código eu ocultasse alguns itens o botões...
Redirecionar ou ocultar itens na falta de dados
-
- Rank: Analista Sênior
- Mensagens: 172
- Registrado em: Seg, 24 Out 2016 7:20 pm
- dr_gori
- Moderador
- Mensagens: 5024
- Registrado em: Seg, 03 Mai 2004 3:08 pm
- Localização: Portland, OR USA
- Contato:
Thomas F. G
Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered
Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered
Hoje em dia tem o REDIRECT URL:
https://docs.oracle.com/database/apex-5 ... #AEAPI2324
Antigamente eles faziam assim no PLSQL:
https://docs.oracle.com/database/apex-5 ... #AEAPI2324
Antigamente eles faziam assim no PLSQL:
Declare
category varchar2(10);
BEGIN
select emp_dep into category from emp where empid = :P101_USERNAME;
exception when NO_DATA_FOUND then
htp.init;
owa_util.redirect_url('f?p=&APP_ID.:1:&APP_SESSION.:::P1_USERID:&USER_ID.');
apex_application.stop_apex_engine;
END IF;
-
- Rank: Analista Sênior
- Mensagens: 172
- Registrado em: Seg, 24 Out 2016 7:20 pm
ola, tentei assim:
mas verifiquei, não esta retornando os dados, porém, não redirecionou pra lugar nenhum... o q ta d errado?
Declare
p_url varchar2(150);
BEGIN
select CODIGO_PROPONENTE
INTO :P27_COD_PROPONENTE
from LIC_LICITACAO_ITENS_PREGAO
where VALOR_LANCE = (SELECT MAX(VALOR_LANCE) FROM LIC_LICITACAO_ITENS_PREGAO
where
CODIGO_LICITACAO = :G_NR_LICITACAO and
ID_CIDADE = :G_ID_CIDADE and
LOTE = :P27_GUARDA_LOTE and
CODIGO_ITEM = :P27_GUARDA_CODIGO_ITEM and
MOSTRAR_TELA_LANCE = '1'
) AND
CODIGO_LICITACAO = :G_NR_LICITACAO and
ID_CIDADE = :G_ID_CIDADE and
LOTE = :P27_GUARDA_LOTE and
CODIGO_ITEM = :P27_GUARDA_CODIGO_ITEM and
MOSTRAR_TELA_LANCE = '1';
exception when NO_DATA_FOUND then
apex_util.redirect_url (p_url => 'http://www.oracle.com/');
end;
mas verifiquei, não esta retornando os dados, porém, não redirecionou pra lugar nenhum... o q ta d errado?
- dr_gori
- Moderador
- Mensagens: 5024
- Registrado em: Seg, 03 Mai 2004 3:08 pm
- Localização: Portland, OR USA
- Contato:
Thomas F. G
Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered
Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered
Devia funcionar.
Tenta adicionar na sua cláusula where algo:
Veja este exemplo:
https://jaris.tilaa.cloud/apex/f?p=BLOG ... 0346018314
Tenta adicionar na sua cláusula where algo:
AND 1=2
https://jaris.tilaa.cloud/apex/f?p=BLOG ... 0346018314
Here is how you can redirect user to another page using PL/SQL if APEX classic report not return rows. You can do same whit e.g. JavaScript, but sometimes it is just better use PL/SQL. JavaScript runs client side and users might avoid redirect with different methods.
I did get idea for this blog post from OTN forum post.
In example I did create classic report from query:In report query function APEX_UTIL.SAVEKEY_VC2 saves value to APEX package global variable, if query returns rows.SELECT empno ,ename ,job ,mgr ,hiredate ,sal ,comm ,dname ,loc ,(SELECT APEX_UTIL.SAVEKEY_VC2('Y') FROM DUAL) AS DUMMY -- Save value if query return rows FROM ( SELECT e1.empno ,e1.ename ,e1.job ,e2.ename AS mgr ,e1.hiredate ,e1.sal ,e1.comm ,d.dname ,d.loc FROM emp e1 LEFT JOIN emp e2 ON e1.mgr = e2.empno JOIN dept d ON e1.deptno = d.deptno) WHERE ( instr(upper("ENAME"),upper(nvl(:P33_REPORT_SEARCH,"ENAME"))) > 0 or instr(upper("JOB"),upper(nvl(:P33_REPORT_SEARCH,"JOB"))) > 0 or instr(upper("MGR"),upper(nvl(:P33_REPORT_SEARCH,"MGR"))) > 0 or instr(upper("DNAME"),upper(nvl(:P33_REPORT_SEARCH,"DNAME"))) > 0 or instr(upper("LOC"),upper(nvl(:P33_REPORT_SEARCH,"LOC"))) > 0 )
We can check that variable value in After Regions process using function APEX_UTIL.KEYVAL_VC2, and redirect user if value is null.
Example code for After Regions process:
IF APEX_UTIL.KEYVAL_VC2 IS NULL THEN APEX_UTIL.REDIRECT_URL('f?p=&APP_ID.:34:&APP_SESSION.'); END IF;
-
- Informação
-
Quem está online
Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante