CREATE OR REPLACE PROCEDURE "PROCEDURE_name"(
PI_wfname IN VARCHAR2,
PI_msg_id IN VARCHAR2,
PI_progname IN VARCHAR2,
PI_wfid IN VARCHAR2,
PO_on_exitcode OUT NUMBER,
PO_on_count OUT NUMBER) IS
/***********************************************************************/
/* PROCEDURE ?SP_ZPLN_PCDW_WBSTDCO_NEW
/* DESCRIPTION ?OUTPUT WRITE BACK TO ECC
/* PARAMETERS ?PI_wfname,PIO_msg_id,PI_progname,PO_on_exitcode,PO_on_count
/* SOURCE ?EXP_ECC_STDCOST_NEW
/* TARGET TABLE ?TEXT FILE
/* VERSION ?V1.0
/* AUTHOR ?Lizp
/* CRATE DATE ?2012-06-20
/* LAST MODIFIED DATE ?2012-06-20
/***********************************************************************/
v_sfile utl_file.file_type;
v_filename VARCHAR2(1024) := '';
v_dir VARCHAR2(100);
v_scheme VARCHAR2(50) := '_filename';
v_iswrited BOOLEAN := TRUE;
v_rowcount Number := 0;
v_temp LONG := '';
v_wfname VARCHAR2(20);
CURSOR v_cur IS
SELECT items
FROM table;
BEGIN
PO_on_exitcode := 1;
v_dir := GET_FILEPATH(PI_wfname);
v_filename := upper(PI_progname) || '_' || upper(PI_msg_id) || v_scheme || '_' ||
upper(PI_wfid) || '.TXT';
v_sfile := utl_file.fopen(v_dir, v_filename, 'w');
v_temp := '';
IF utl_file.is_open(v_sfile) AND v_filename IS NOT NULL THEN
FOR vCol IN v_cur LOOP
v_iswrited := FALSE;
--edit
v_temp := v_temp || vCol.Item || chr(9);
v_rowcount := v_rowcount + 1;
IF (MOD(v_rowcount, 200) = 0) THEN
utl_file.put(v_sfile, v_temp);
UTL_FILE.FFLUSH(v_sfile);
v_temp := '';
v_iswrited := TRUE;
END IF;
END LOOP;
END IF;
PO_on_count := v_rowcount;
IF v_iswrited = FALSE THEN
utl_file.put(v_sfile, v_temp);
END IF;
utl_file.fclose(v_sfile);
--update log table message
IF SQL%ROWCOUNT = 0 THEN
--insert log table message
END IF;
COMMIT;
PO_on_exitcode := 0;
--insert log table message
EXCEPTION
WHEN OTHERS THEN
--insert log table message
raise_application_error(-20099, 'SQL ERROR: ' || SQLERRM);
END;