1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
| DECLARE
nomfic VARCHAR2(80);
v_file VARCHAR2(80);
v_rev VARCHAR2(5);
v_stat VARCHAR2(10);
stat VARCHAR2(10);
prem VARCHAR2(5);
i INTEGER := 0;
v_fic UTL_FILE.FILE_TYPE;
CURSOR file
IS
SELECT distinct dm_file_name, dm_file_rev, dm_file_status_cd
FROM pdmdm.dm_file_directory
WHERE dm_file_owner_id like '%A400MFE%' AND (dm_file_version = '0' AND NOT dm_file_system_cd like '%D%')
ORDER BY dm_file_name,dm_file_rev ASC;
BEGIN
OPEN file;
v_fic := UTL_FILE.FOPEN('UTL_FILE_TMP','migcatiader','W',[color=red]99[/color]);
FETCH file INTO v_file,v_rev,v_stat;
LOOP
nomfic := v_file;
LOOP
i := i + 1;
prem := v_rev;
stat := v_stat;
FETCH file INTO v_file,v_rev,v_stat;
exit when nomfic != v_file or file%notfound;
END LOOP;
IF (i) = 1 THEN
UTL_FILE.put_line(v_fic,nomfic || ';' || prem || ';' || stat);
i := 0;
END IF;
IF i = 2 THEN
UTL_FILE.put_line(v_fic,nomfic || ';' || prem || ';' || stat);
i := 0;
END IF;
IF i >= 3 THEN
UTL_FILE.put_line(v_fic,nomfic || ';' || prem || ';' || stat);
i := 0;
END IF;
exit when file%notfound;
END LOOP;
CLOSE file;
END; |
Partager