Bonjour la mesure CantonnementAnnee s'applique a un engin alors que la mesure Fermeture s'applique a l'ensemble des metiers sans restriction sur les engins. Pour la mesure CantonnementAnnee (idem Fermeture de zone): La partie qui pose probleme concerne le else{ # si la zone metier est incluse dans la zone fermee ... } Les ... correspondent a l'action suivante: a/ basculer l'effort qui etait dedie a ce metier (dans toutes les strategies ou il est present) sur le metier non-activite (present dans toutes les strategies) b/ mettre son nouvel effort a 0 L'ancien algorithme recuperait d'abord les strategies contenant ce metier avec un effort non nul et bouclait sur les strategies pourappliquer a/ et b/. Depuis la nouvelle architecture, la liste des metiers presents dans strategie est en fait la liste des metiers possibles du setofvessels de la strategie. Je propose le nouvel algo suivant: 1/ chercher la liste des setofvessels qui peuvent pratiquer ce metier (dans MetiersPossibles de EffortDescription de SetOfVessels) var listSetOfVessels = db.oql("select * from fr.ifremer.db.XXXXX where metier=?", (new DBArgument()).add(p.metier)); 2/ chercher la liste des strategies des setofvessels de la liste 1/ dont les PropStrMetier(metier)!=0 XXXX? 3/ Pour chacune de ces strategies :affecter la nouvelle valeur d'effort au metier non-activite (PropStrMetier(metier,date)) et mettre a 0 str(metier,date) var listeSetofvesselsMetier = new DBUniqueCollection(XXXXXFactory); for(var i=0; i<listMetiers.size(); i++) listeSetofvesselsMetier.add(listMetiers.get(i).getSetOfVessels()); var listeStrategiesSetofvesselsMetier = new DBUniqueCollection(XXXXXFactory); for(var j=0; j<listesSetofvesselsMetier.size(); i++) listeStrategiesSetofvesselsMetier.add(listMetiers.get(i).getSetOfVessels(i).getStrategy(j); var metChomage = MetierFactory.findByKey("nonActivite", p.metier.getRegion()); for (var s=0; s<listeStrategiesSetofvesselsMetier.size(); s++){ var strategie = listeStrategiesSetofveselsMetierr.get(s); var PropStrMetier = PropStrMetierFactory.findByKey(strategie, p.metier, p.date.getMois()); var PropStrMetierChomage = PropStrMetierFactory.findByKey(strategie, metChomage, p.date.getMois()); PropStrMetierChomage.setProportion(PropStrMetierChomage .getProportion()+PropStrMetier.getProportion()); PropStrMetier.setProportion(0); je ne suis pas capable, toute seule, meme en m'inspirant du code precedent ecrit par Hilaire de reecrire completement le code. Benjamin, il faut que tu nous aide. J'ai essaye de mettre dans ce mail ce que je pouvais mais il manque beaucoup de choses et dans l'API, je ne vois pas le besoin du p.date qui se baladait partout avant (peut-etre du fait que l'ecriture n'est plus matricielle). Le probleme est que non seulement Marie doit faire tourner des simu mais moi aussi et je suis rentree specialement de vacances pour ca... DONC AU SECOURS!!! merci d'avance de ton coup de main stephanie -- ...................................................................... Stephanie MAHEVAS (Stephanie.Mahevas@ifremer.fr) IFREMER/MAERHA Tel: 02 40 37 41 81 Fax: 02 40 37 40 75 (Mathématiques Appliquées à l'Evaluation des Ressources Halieutiques et Aquacoles) rue de l'île d'Yeu BP 21105 44311 NANTES Cedex 03 http://www.ifremer.fr/maerha o \ o / _ o __| \ / |__ o _ \ o / o /|\ | /\ ___\o \o | o/ o/__ /\ | /|\ / \ / \ | \ /) | ( \ /o\ / ) | (\ / | / \ / \ ......................................................................