Muchas gracias por tu ayuda pero tengo un problemilla...no puedo generar el fichero porque no tengo permisos(estoy en el curro...). He creado una tabla temporal y le he insertado todos los datos correctamente pero necesito generar el fichero y np se porque no me reconoce el "xfile utl_file.file_type;" de tu ejemplo, me da error. Me han dicho que lo puedo hacer desde Forms para poder generar el archivo sin permisos...te pongo la funcion original, lo que no se si entenderas muy bien al no conocer el contenido de las tablas, pero lo basico es que CTABLA es el nombre de la tabla y el resto seran los datos que rellenan el segundo campo de mi tabla temporal.
Código:
CREATE OR REPLACE FUNCTION ISOT15.PASAR_A_XML2
return CLOB
iS
CURSOR cur
IS
SELECT tbprs.ctabla
FROM ssttbprs tbprs, ssttabla tabla
WHERE tbprs.csubsi = 'TR'
AND tbprs.ctabla = tabla.ctabla
ORDER BY tabla.norden ASC;
w_tbprs ssttbprs%ROWTYPE;
CONTEXT DBMS_XMLQUERY.ctxtype;
qryctx DBMS_XMLGEN.ctxhandle;
RESULT CLOB;
BEGIN
OPEN cur;
LOOP
FETCH cur
INTO w_tbprs;
EXIT WHEN cur%NOTFOUND;
CONTEXT := DBMS_XMLGEN.newcontext ('SELECT * FROM ' || w_tbprs.ctabla);
RESULT := DBMS_XMLGEN.getxml (CONTEXT);
/*NO ME INSERTA LOS DATOS, EN EL INSERT INTO SIGUIENTE QUE NO ES TABLA TEMPORAL SÍ QUE ME LOS INSERTA, PERO EL SIGUIENTE INSERT ES EL QUE SE SUSTITUIRIA POR EL ARCHIVO*/
INSERT INTO DATO_TABLA_XML(NOMBRE_TABLA, RESULTADO)
VALUES (W_TBPRS.CTABLA, RESULT);
DBMS_XMLGEN.closecontext (CONTEXT);
END LOOP;
CLOSE cur;
CONTEXT := DBMS_XMLGEN.newcontext ('SELECT * FROM DATO_TABLA_XML');
RESULT := DBMS_XMLGEN.getxml (CONTEXT);
DBMS_XMLGEN.closecontext (CONTEXT);
/*AQUI IRIA LA INSERCION EN EL ARCHIVO .xml, PERO PARA PROBAR UTILIZO UNA TABLA QUE ME RECOGE LOS DATOS.*/
INSERT INTO proce3(RESULTADO)
VALUES (RESULT);
COMMIT;
RETURN RESULT;
EXCEPTION
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE ('Algún error tendrá.');
END;
Estoy buscando tambien la solucion con TEXT_IO de Oracle Forms pero no s¡doy con la solucion ya que no estoy muy puesta en utilizar funciones en el Forms y mucho menos inventarme una asi de complicada...al menos para mi...Muchas Gracias!!