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 49
|
CREATE OR REPLACE PROCEDURE LIAISON_TM(LiaisonServicesRateplan IN VARCHAR2) IS
-- declaration des constantes, variables
fich_resultat UTL_FILE.FILE_TYPE;
num1 Integer;
i Integer;
pos_fich1 Integer;
position Integer;
anc_position Integer;
champ varchar2(20);
chaine1 varchar2(20);
buffer1 varchar2(1500);
echange boolean;
p_directory VARCHAR2(20);
cursor mpulktmb_cur IS SELECT TMCODE FROM mpulktmb ORDER BY TMCODE;
BEGIN
-- creation du descripteur du fichier
fich_resultat := UTL_FILE.FOPEN ('RATING_LOG', 'LiaisonServicesRateplan', 'r');
while echange loop
echange := true;
loop
begin
--Lecture d une ligne
UTL_FILE.GET_LINE(fich_resultat, buffer1);
--buffer1= variable destiné a recevoir les données lues
exception
when no_data_found then exit;
end;
--extraction du premier champ de chaque ligne
pos_fich1 := instr (buffer1, ';');--Recherche dans buffer1 la position de ' ; '
chaine1 := substr (buffer1, 0, pos_fich1 -1); --Extrait de buffer1, les caractères situés à partir du rang 0 jusqu'à la longueur pos_fich1 -1
num1 := to_number(chaine1);
end loop;
end loop;
loop
begin
UTL_FILE.GET_LINE(fich_resultat, buffer1);
exception
when no_data_found then exit;
end;
end loop;
commit;
UTL_FILE.FCLOSE(fich_resultat);
END LIAISON_TM; |
Partager