Ayuta con el UTL_FILE.PUT_LINE
Publicado por Marco (2 intervenciones) el 15/02/2013 00:40:08
ya tengo mi funcion de envia al texto los datos de mi tabla :
100 Steven King SKING 515.123.456717
pero yo nesecito que se exporte en posiciones
codigo se del 1 al 3
nombre 4 al 10
empresa 11 al 20
espero me puedan ayudar nesecito darle posiciones muchas gracias por la ayuda que me puedan dar
este es el codigo
create or replace
PACKAGE BODY GENERAR_ARCHIVO AS
PROCEDURE USP_INTERFACES_DWH
IS
--declaración de variables
CURSOR CURSOR_01 IS
SELECT EMPLOYEE_ID AS CODIGO ,
FIRST_NAME AS NOMBRE,
LAST_NAME AS APELLIDO,
EMAIL AS MAIL,
PHONE_NUMBER AS NUMERO,
HIRE_DATE AS FECHA,
JOB_ID AS TRABAJO,
SALARY AS SALARIO,
COMMISSION_PCT AS COMISION,
MANAGER_ID AS MANAGER,
DEPARTMENT_ID AS DEPARTAMENTO
FROM EMPLOYEES ORDER BY employee_id ASC;
V_ARCHIVO_NORMAL UTL_FILE.FILE_TYPE;
AUX_CURSOR_01 CURSOR_01%ROWTYPE;
BEGIN
V_ARCHIVO_NORMAL := UTL_FILE.FOPEN('DIR_CARGA','PRUEBA.TXT','W');
OPEN CURSOR_01;
LOOP
FETCH CURSOR_01 INTO AUX_CURSOR_01;
EXIT WHEN CURSOR_01%NOTFOUND;
--UTL_FILE.PUT_LINE (V_ARCHIVO_NORMAL,'01'||'|'||
UTL_FILE.PUT_LINE (V_ARCHIVO_NORMAL,
AUX_CURSOR_01.CODIGO ||
AUX_CURSOR_01.NOMBRE||
AUX_CURSOR_01.APELLIDO||
AUX_CURSOR_01.MAIL||
AUX_CURSOR_01.NUMERO||
AUX_CURSOR_01.FECHA||
AUX_CURSOR_01.TRABAJO||
AUX_CURSOR_01.SALARIO||
REPLACE(AUX_CURSOR_01.COMISION,',','.')||
REPLACE(AUX_CURSOR_01.MANAGER,',','.')||
REPLACE(AUX_CURSOR_01.DEPARTAMENTO,',','.')||
TO_CHAR(SYSDATE,'DD/MM/YYYY'));
END LOOP;
CLOSE CURSOR_01;
UTL_FILE.FCLOSE(V_ARCHIVO_NORMAL);
END USP_INTERFACES_DWH ;
END GENERAR_ARCHIVO;
100 Steven King SKING 515.123.456717
pero yo nesecito que se exporte en posiciones
codigo se del 1 al 3
nombre 4 al 10
empresa 11 al 20
espero me puedan ayudar nesecito darle posiciones muchas gracias por la ayuda que me puedan dar
este es el codigo
create or replace
PACKAGE BODY GENERAR_ARCHIVO AS
PROCEDURE USP_INTERFACES_DWH
IS
--declaración de variables
CURSOR CURSOR_01 IS
SELECT EMPLOYEE_ID AS CODIGO ,
FIRST_NAME AS NOMBRE,
LAST_NAME AS APELLIDO,
EMAIL AS MAIL,
PHONE_NUMBER AS NUMERO,
HIRE_DATE AS FECHA,
JOB_ID AS TRABAJO,
SALARY AS SALARIO,
COMMISSION_PCT AS COMISION,
MANAGER_ID AS MANAGER,
DEPARTMENT_ID AS DEPARTAMENTO
FROM EMPLOYEES ORDER BY employee_id ASC;
V_ARCHIVO_NORMAL UTL_FILE.FILE_TYPE;
AUX_CURSOR_01 CURSOR_01%ROWTYPE;
BEGIN
V_ARCHIVO_NORMAL := UTL_FILE.FOPEN('DIR_CARGA','PRUEBA.TXT','W');
OPEN CURSOR_01;
LOOP
FETCH CURSOR_01 INTO AUX_CURSOR_01;
EXIT WHEN CURSOR_01%NOTFOUND;
--UTL_FILE.PUT_LINE (V_ARCHIVO_NORMAL,'01'||'|'||
UTL_FILE.PUT_LINE (V_ARCHIVO_NORMAL,
AUX_CURSOR_01.CODIGO ||
AUX_CURSOR_01.NOMBRE||
AUX_CURSOR_01.APELLIDO||
AUX_CURSOR_01.MAIL||
AUX_CURSOR_01.NUMERO||
AUX_CURSOR_01.FECHA||
AUX_CURSOR_01.TRABAJO||
AUX_CURSOR_01.SALARIO||
REPLACE(AUX_CURSOR_01.COMISION,',','.')||
REPLACE(AUX_CURSOR_01.MANAGER,',','.')||
REPLACE(AUX_CURSOR_01.DEPARTAMENTO,',','.')||
TO_CHAR(SYSDATE,'DD/MM/YYYY'));
END LOOP;
CLOSE CURSOR_01;
UTL_FILE.FCLOSE(V_ARCHIVO_NORMAL);
END USP_INTERFACES_DWH ;
END GENERAR_ARCHIVO;
Valora esta pregunta


0