utl_file(urgente)

tema enviado por lilia en ORACLE
tema iniciado el 19/03/2007
Hola, gracias por la ayuda que le han dado a mis dudas, me han servido mucho. Ahora necesito que me ayuden con esto. Please… Tengo creado 2 esquemas: CRM y DATAMART (c/u como sysdba), el procedimiento que les presento funciona correctamente si lo creo en el esquema CRM, pero realmente debo crearlo en el esquema DATAMART y es ahí donde tengo el sgte. Error: “tabla o vista no creada”. Como solución trate de asignarle el esquema en el from (esta de color rojo y comentariado) pero tampoco reconoce la tabla, si ejecuto el select individualmente funciona; no se si el error esta al usar el utl_file. Por favor necesito ayuda con este error. De antemano muchas gracias. Ah.. necesito guardar el nombre y la fecha de creación del archivo, es aquel que esta en comentario si no es demasiado pedir. CREATE OR REPLACE PROCEDURE EXTRACCION IS V_FH_1 UTL_FILE.FILE_TYPE; P_FILEDIR VARCHAR2(50) := 'FILE_DATA'; P_FILENAME VARCHAR2(50); CURSOR AGENCIAS IS SELECT AGE_CODIGO, AGE_DESCRIPCION, AGE_DIRECCION, AGE_TELEFONO_1, AGE_TELEFONO_2, AGE_CIUDAD FROM CRM_ADM_AGENCIAS; --FROM CRM.CRM_ADM_AGENCIAS; CURSOR CIUDADES IS SELECT CDD_CODIGO, CDD_DESCRIPCION, CDD_CODIGO_PROVINCIA FROM CRM_ADM_CIUDADES; --FROM CRM.CRM_ADM_CIUDADES; CURSOR PROVINCIAS IS SELECT PRV_CODIGO, PRV_DESCRIPCION, PRV_CODIGO_REGION FROM CRM_ADM_PROVINCIAS; --FROM CRM.CRM_ADM_PROVINCIAS; CURSOR REGIONES IS SELECT RGN_CODIGO, RGN_DESCRIPCION, RGN_CODIGO_PAIS FROM CRM_ADM_REGIONES; --FROM CRM.CRM_ADM_REGIONES; BEGIN P_FILENAME := 'AGENCIA' || TO_CHAR(SYSDATE,'YYYYMMDD') || '.TXT'; V_FH_1 := UTL_FILE.FOPEN(P_FILEDIR, P_FILENAME, 'W'); /* INSERT INTO DTM_ARCHIVOS VALUES (DTM_S_ARCHIVOS.NEXTVAL, P_FILENAME, TO_CHAR(SYSDATE,'DD-MM-YYYY')); */ FOR V_EMP_INFO IN AGENCIAS LOOP UTL_FILE.PUTF(V_FH_1, '%s %s %s %s %s %s \n', (TO_CHAR(V_EMP_INFO.AGE_CODIGO)) || '|' || V_EMP_INFO.AGE_DESCRIPCION || '|' || V_EMP_INFO.AGE_DIRECCION || '|' || V_EMP_INFO.AGE_TELEFONO_1 || '|' || V_EMP_INFO.AGE_TELEFONO_2 || '|' || V_EMP_INFO.AGE_CIUDAD); END LOOP; UTL_FILE.FCLOSE(V_FH_1); --BEGIN P_FILENAME := 'CIUDAD' || TO_CHAR(SYSDATE,'YYYYMMDD') || '.TXT'; V_FH_1 := UTL_FILE.FOPEN(P_FILEDIR, P_FILENAME, 'W'); FOR V_EMP_INFO IN CIUDADES LOOP UTL_FILE.PUTF(V_FH_1, '%s %s %s \n', V_EMP_INFO.CDD_CODIGO || '|' || V_EMP_INFO.CDD_DESCRIPCION || '|' || V_EMP_INFO.CDD_CODIGO_PROVINCIA); END LOOP; UTL_FILE.FCLOSE(V_FH_1); --BEGIN P_FILENAME := 'PROVINCIA' || TO_CHAR(SYSDATE,'YYYYMMDD') || '.TXT'; V_FH_1 := UTL_FILE.FOPEN(P_FILEDIR, P_FILENAME, 'W'); FOR V_EMP_INFO IN PROVINCIAS LOOP UTL_FILE.PUTF(V_FH_1, '%s %s %s \n', V_EMP_INFO.PRV_CODIGO || '|' || V_EMP_INFO.PRV_DESCRIPCION || '|' || V_EMP_INFO.PRV_CODIGO_REGION); END LOOP; UTL_FILE.FCLOSE(V_FH_1); --BEGIN P_FILENAME := 'REGION' || TO_CHAR(SYSDATE,'YYYYMMDD') || '.TXT'; V_FH_1 := UTL_FILE.FOPEN(P_FILEDIR, P_FILENAME, 'W'); FOR V_EMP_INFO IN REGIONES LOOP UTL_FILE.PUTF(V_FH_1, '%s %s %s \n', V_EMP_INFO.RGN_CODIGO || '|' || V_EMP_INFO.RGN_DESCRIPCION || '|' || V_EMP_INFO.RGN_CODIGO_PAIS); END LOOP; UTL_FILE.FCLOSE(V_FH_1); EXCEPTION WHEN UTL_FILE.INVALID_FILEHANDLE THEN RAISE_APPLICATION_ERROR (-20001, 'Invalid File'); UTL_FILE.FCLOSE_ALL; WHEN UTL_FILE.WRITE_ERROR THEN RAISE_APPLICATION_ERROR (-20002, 'Unabled to write to file'); UTL_FILE.FCLOSE_ALL; END EXTRACCION;