Calcul dans fonction récursive
Bonjour,
J'ai une fonction récursive qui fonctionne très bien pour afficher mes données :
Code:
1 2 3 4 5
| <% Set LIGNESnomenc = oCon.execute("SELECT a.codecompo, a.designation, LEVEL, a.codenomenc,a.quantite,b.type
FROM MABASE.LIGNENOMENCLATURE a inner join MABASE.article b on b.code=a.codecompo
where a.codecompo is not null and b.type='N'
START WITH a.codenomenc = '"&lignescde(6)&"'
CONNECT BY PRIOR a.codecompo = a.codenomenc ")%> |
Mon problème est que je dois faire des calculs :
- la quantité du niveau 2 doit être multipliée par la quantité du niveau 1
- la quantité du niveau 3 doit être multipliée par la quantité du niveau 2 puis multipliée par la quantité du niveau 1
Mais je peux avoir 2 niveaux 2 pour un seul niveau 1 et là ça ne fonctionne plus, puisqu'il multiplie par le niveau 3 précédent, il ne reprend pas au niveau 1 correspondant :
Level | Qté | Total
1 | |600
2 |1 |600
3 |0.001 |0.6
2 |1 |0.6 =>ERREUR : résultat attendu = 600
3 |0.001 |0 =>ERREUR : résultat attendu = 0.6
1 | |600
2 |1 |600
3 |0.001 |0.6
2 |1 |0.6 =>ERREUR : résultat attendu = 600
3 |0.001 |0 =>ERREUR : résultat attendu = 0.6
Houla, je ne sais pas si c'est bien clair tout ça ! ;-)
Quelqu'un aurait une idée ?