Bonjour
je suis entrain de developper une application sous Oracle 10g.
j'essai maintenant de remplir un Bloc multiligne a partir d'un type Clob de la base de donnée (le Clob contien une chaine de caractère volumineuse)
je vé expliquer la loguique du raisonement:
si le bloc multiligne est vide donc :je doit creer un nouveau record et le remplir apartir du clob
sinon :je doit comparer l'enregistrement en cours avec les autre déja saisi dans le bloc (la comparaison se fé sur une colonne qui s'appele x_sh)
s'il existe deja je passe
sinon je l'ajoute
voila le code:
j'ai toujours de problème dans ce code, il n'afiche rien , je compte bq sur votre aide
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 go_block('X_ARTICLE'); while :System.Last_Record <> 'TRUE' loop if :article.x_sh = SUBSTR(var_ligne, 28, 10)) then flag:=false;// flag de type boolean end if; next_record; end loop; if flag = true then CREATE_RECORD; :article.x_sh:=SUBSTR(var_ligne, 28, 10); :article.x_valeur:=SUBSTR(var_ligne, 95, 13); :article.x_poida:=SUBSTR(var_ligne, 108, 13); :article.x_rsa:=SUBSTR(var_ligne, 1, 0); :article.x_qtcompl:=SUBSTR(var_ligne, 121, 13); :article.x_payso:=SUBSTR(var_ligne, 142, 2); :article.x_asp:=SUBSTR(var_ligne, 136, 1); :article.x_libsh:=SUBSTR(var_ligne, 180, 210); :article.x_uc2:=SUBSTR(var_ligne, 403, 2); :article.x_CODEUC:=SUBSTR(var_ligne, 134,2); END IF; else flag :=true;
merci
Partager