como hago???

ronald
06 de Noviembre del 2003
Hola a todos, tengo una forma 9i que llama a un reporte 9i tamibien y la sentencia es la siguiente:

WEB.SHOW_DOCUMENT('http://INFRAESTRUC9:8888/reports/rwservlet?destype=cache&desformat=HTMLCSS&report=\serverrcireportREPCARNETP.rdf&userid=SAF/SAF@INEA');

el problema es que quiero que esta forma corra en varias maquinas y si lo instalo en otra maquina no me corre el reporte porque tiene este codigo duro referente al nombre del equipo, mi pregunta es como hago para que el nombre del equipo lo lea directamente de alguna variable? o algo por el estilo.

gracias de antemano saludos desde Venezuela.

Carlos
06 de Noviembre del 2003
Lo puedes parametrizar desde una tabla y sacar los valores con una SELECT

ronald
06 de Noviembre del 2003
Claro pero como hago para que sepa en cual maquina esta corriendo actualmente la forma, si creo una tabla y meto los nombres de los 5 equipos en la tabla como seria el select:

select nombre_maquina from maquina
where nombre_maquina = :system.current_machine (algo asi)
para que coloque el nombre de la maquina donde yo lo necesito pero como se llama esa variable con la que tengo que comparar la estoy buscando en la ayuda y no la encuentro.

gracias

Carlos
06 de Noviembre del 2003
Utiliza esto :
SELECT SYS_CONTEXT('USERENV','OS_USER') "USUARIO DE RED",
SYS_CONTEXT('USERENV','SESSION_USER') "USUARIO DE BBDD",
SYS_CONTEXT('USERENV','TERMINAL') "MAQUINA"
FROM DUAL;

Esta select te dá el usuario de red, el de base de datos y la maquina desde la que haces la select, con lo cual puedes poner esto en la WHERE:

WHERE NOMBRE_MAQUINA = SYS_CONTEXT('USERENV','TERMINAL')




ronald
06 de Noviembre del 2003
Gracias era exactamente lo que necesitaba, claro solo la parte del terminal.

Lo unico es que no entiendo esa sintaxis, pense que si le quitaba SYS_CONTEXT y dejaba solo TERMINAL me traia igual la maquina pero no, que significa o que hace ese SYS_CONTEXT y para que es el USERENV.

Gracias de otra vez,

Saludos desde Venezuela.

SELECT SYS_CONTEXT('USERENV','TERMINAL') "MAQUINA"
FROM DUAL;

Carlos
06 de Noviembre del 2003
No te sé explicar con exactitud.
Es para sacar el contexto en el que estás trabajando, pero tú solo. Esta disponible a partir de la 8.1.7.

Encantado de ayudarte