CREATE OR REPLACE PROCEDURE muestra_avisos_emt
IS
CURSOR c1 IS
SELECT DISTINCT seq_avisos,
aviso,
destinatario,
fecha,
to_char(to_date(fecha), 'dd/mm/yyyy') fecha_formateada,
usuario
FROM AVISOS_EMT
order by to_date(fecha) desc;
usuario VARCHAR2(50);
temp NUMBER;
nuevo varchar2(1);
usu varchar2(100):= 'Nombre de Usuario';
var NUMBER;
control NUMBER;
exis_usu number;
BEGIN
control:=0;
IF var=0 THEN
htp.print('
');
var:=1;
END IF;
usuario:=portal.wwctx_api.get_user;
FOR reg IN c1 LOOP
DECLARE
aux VARCHAR2(250);
cont NUMBER;
LONG NUMBER;
BEGIN
htp.print('
');
aux:=NULL;
cont :=1;
LONG := LENGTH(reg.destinatario);
temp:=0;
WHILE cont<=LONG LOOP
IF ((SUBSTR(reg.destinatario,cont,1)=',') OR (SUBSTR(reg.destinatario,cont,1)='.') OR (SUBSTR(reg.destinatario,cont,1)=';')
OR (SUBSTR(reg.destinatario,cont,1)=' '))THEN
IF ((UPPER(aux)=usuario) OR (UPPER(aux)='TODOS')) THEN
IF control=0 THEN
htp.print('
(Sitúe el puntero del ratón sobre el Punto Azul para ver remitente)
Enviado por |
Fecha |
Contenido |
Eliminar |
');
control:=1;
END IF;
begin
select nombre||' '||apellido_1||' '||apellido_2 into usu
from info_portal_empleados
where num_ident = to_number(reg.usuario);
exception
when no_data_found then
usu:='EMPRESA';
when others then
usu:='EMPRESA';
end;
htp.print('
|
'||chr(38)||'nbsp;'|| reg.usuario||' |
|
'||reg.fecha||' |
'||chr(38)||'nbsp;'||UPPER(SUBSTR(reg.aviso,1,1))||LOWER(SUBSTR(reg.aviso,2,24))||'...');
select leido into nuevo from avisos_emt where seq_avisos=reg.seq_avisos;
if nuevo='N' then
htp.print('');
end if;
htp.print(' |
|
');
END IF;
aux:=NULL;
cont := cont+1;
temp:=1;
ELSE
aux:=aux||SUBSTR(reg.destinatario,cont,1);
cont := cont+1;
END IF;
END LOOP;
END;
END LOOP;
htp.print('
');
IF NVL(control,0)=0 THEN
htp.print('
No existen mensajes recibidos actualmente. |
');
END IF;
htp.print('');
END;
/