Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Oracle »

PL/SQL y Orecle REPORTS

Estas en el tema de PL/SQL y Orecle REPORTS en el foro de Oracle en Foros del Web. Hola, Vereis,tengo el siguiente problema: Usando reports mi aplicacion genera un informe en formato xls que es un archivo de texto separado basicamente por tabulaciones.El ...
  #1 (permalink)  
Antiguo 05/12/2007, 01:56
Avatar de mullins  
Fecha de Ingreso: mayo-2006
Ubicación: Zaragoza
Mensajes: 14
Antigüedad: 18 años, 6 meses
Puntos: 0
PL/SQL y Orecle REPORTS

Hola,

Vereis,tengo el siguiente problema:

Usando reports mi aplicacion genera un informe en formato xls que es un archivo de texto separado basicamente por tabulaciones.El caso es que el informe tiene unos campos descripcion en los que el usuario ha introducido tabulaciones a nivel de BBDD,y como os podeis imaginar estas tabulaciones hacen que salte de columna y quede descuadrado.
Entonces dentro ya del reports me gustaria saber como usar una funcion estilo replace en pl/sql, para sustituir las tabulaciones por espacios antes de generar dicho informe.
Me cuesta mucho encontrar informacion sobre esto,ya que es algo raro lo de las expresiones regulares que hay.

Un saludo y muchas gracias

Edito: Parece ser que lo mejor es que lo cambie a nivel de la query pero no se si alguno conoce alguna funcion replace para sustituir tabulaciones

Última edición por mullins; 05/12/2007 a las 03:09
  #2 (permalink)  
Antiguo 05/12/2007, 08:51
Avatar de mullins  
Fecha de Ingreso: mayo-2006
Ubicación: Zaragoza
Mensajes: 14
Antigüedad: 18 años, 6 meses
Puntos: 0
Re: PL/SQL y Orecle REPORTS

Me respondo a mi mismo ya que aunque parece una tonteria,me ha costado bastante encontrar informacion.

Ya que para expresiones regulera hay una opcion REGEXP_REPLACE que funciona a partir de la version 10 de oracle,queria poner la opcion que he usado yo con la funcion REPLACE normal

REPLACE((SELECT sdesc from literal WHERE idliteral = PRO.IDDESC and ididioma = :P_IDIOMA),chr(9),' ') as IDDESC,

siendo chr(9) una funcion que nos devuelve el tabulador.(le podemos pasar el codigo ASCII de otro para este fin) y ' ' la cadena por lo que sustituimos,en este caso un espacio en blanco.

Uso chr(9) porque no admite otra forma de poner un tabulador,no hay secuencias de escape del tipo \t ni similar.

Bueno espero que esto le sirva a alguien en alguna ocasion,aunque era un caso especifico.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:48.