CODE POLICY-IMPACT
#t
transfor.kb
#o
objet agech
type nombre
#o
objet anlmt
type nombre
#o
objet c_charg_herb1
type nombre
#o
objet c_charg_herb2
type nombre
#o
Objet c_charg_herbe
Type nombre
regle
c_charg_herb2 si y_pc_herbe>=c_pc_herbe,
c_charg_herb1.
#o
Objet c_charg_max_pac
Type nombre
#o
objet c_charg_pac
type nombre
#o
objet c_nb_bovm
type nombre
#o
objet c_nb_va1
type nombre
#o
objet c_pc_herbe
type nombre
#o
objet c_quota
type nombre
#o
objet c_rt_vl
type nombre
#o
objet c_s_herbe
type nombre
#o
objet charg
type nombre
#o
objet classe
type nombre
#o
Objet coef_mult
Type nombre
#o
Objet compt
Type nombre
#o
Objet deltat
Type nombre
#o
objet e_pri_bovm
type nombre
#o
objet e_pri_cere
type nombre
#o
objet e_pri_lait
type nombre
#o
objet e_pri_olea
type nombre
#o
objet e_pri_ovin
type nombre
#o
objet e_quota
type nombre
#o
objet ebexp
type nombre
#o
Objet etat_final_1
Type texte
#o
Objet evo_resct
Type texte
#o
Objet intrv
Type nombre
#o
Objet marga
Type nombre
#o
objet marga_ugb
type nombre
#o
Objet marge_ini
Type nombre
#o
Objet mes
Type texte
#o
objet nbbrebis
type nombre
#o
objet nbchevres
type nombre
#o
objet nbva
type nombre
#o
objet nbvl
type nombre
#o
Objet nom_fsav
Type texte
#o
Objet nom_type_complet
Type texte
regle
concat(nbr_txt(region),
concat(nbr_txt(ote),
concat(nbr_txt(classe),nbr_txt(s_type)))).
#o
Objet nratio
Type texte
#o
Objet nresuta
Type texte
#o
objet ote
type nombre
#o
objet pbovl
type nombre
#o
objet pbovv
type nombre
#o
objet pcapr
type nombre
#o
objet povin
type nombre
#o
objet presct
type nombre
#o
objet psafvd
type nombre
#o
objet region
type nombre
#o
objet resct
type nombre
#o
objet s_type
type nombre
#o
objet sauti
type nombre
#o
objet sauuta
type nombre
#o
Objet scenario
Type texte
#o
objet solea
type nombre
#o
objet system
type nombre
#o
objet ugb_uta
type nombre
#o
objet ugbbo
type nombre
#o
objet ugbca
type nombre
#o
objet ugbov
type nombre
#o
objet utato
type nombre
#o
objet v_aid_bovm
type nombre
#o
objet v_aid_cere
type nombre
#o
objet v_aid_ext
type nombre
#o
objet v_aid_gelc
type nombre
#o
objet v_aid_herb
type nombre
#o
objet v_aid_mru
type nombre
#o
objet v_aid_va1
type nombre
#o
objet v_aid_va2
type nombre
#o
Objet w_nom_fic_data
Type texte
#o
Objet x_cere
type nombre
#o
Objet x_herbe
type nombre
#o
Objet x_m1
type nombre
regle
(nbva*0.46) si (ote=42.0 et system=1.0),
(nbva*0.12) si (ote=42.0 et system=2.0),
(nbva*0.12) si (ote=42.0 et system=3.0),
(nbva*0.46) si ote=43.0,
(nbva*0.46) si ote=44.0,
(nbvl*0.46) si (ote=41.0 et system=4.0),
0.0.
#o
Objet x_m2
type nombre
regle
nbva*0.34 si (ote=42.0 et system=2.0),
nbva*0.12 si (ote=42.0 et system=3.0),
0.0.
#o
Objet x_m3
Type nombre
regle nbva*0.22 si ote=42.0 et system=3.0,
0.0.
#o
Objet x_mais
type nombre
#o
Objet x_olea
Type nombre
#o
Objet x_prod_bol
type nombre
#o
Objet x_prod_bov
type nombre
#o
Objet x_prod_cap
type nombre
#o
Objet x_prod_cer
type nombre
#o
Objet x_prod_ole
Type nombre
#o
Objet x_prod_ovi
type nombre
#o
Objet x_quota
type nombre
#o
objet x_sfp
type nombre
#o
Objet y_charg_herbe
Type nombre
regle
y_ugb_herbe/x_herbe
#o
Objet y_charg_pac
Type nombre
regle
y_ugb_pac/x_herbe.
#o
Objet y_compens_tot
Type nombre
#o
Objet y_econom_cere_ic
Type nombre
regle
intrv*-e_pri_cere.
#o
Objet y_econom_tot
Type nombre
#o
Objet y_pc_herbe
Type nombre
regle
((x_herbe/sauti)*100).
#o
Objet y_pert_prim_cere
Type nombre
regle
y_scop_trans_sfp*v_aid_cere.
#o
Objet y_pert_prod_cere
type nombre
regle
x_prod_cer*e_pri_cere.
#o
Objet y_pert_prod_lait_bov
type nombre
regle
(x_prod_bol*e_pri_lait)+(x_prod_bol*e_quota).
#o
Objet y_pert_prod_olea
Type nombre
regle x_prod_ole*e_pri_olea.
#o
Objet y_pert_prod_vian_bov
type nombre
regle
x_prod_bov*e_pri_bovm.
#o
Objet y_pert_prod_vian_ov
type nombre
regle
x_prod_ovi*e_pri_ovin.
#o
Objet y_pert_tot
Type nombre
#o
Objet y_prim_bovm
Type nombre
regle
(x_m1+(2*(x_m2+x_m3)))*v_aid_bovm si (x_m1<=c_nb_bovm),
(c_nb_bovm+(2*(x_m2+x_m3)))*v_aid_bovm.
#o
Objet y_prim_cere
Type nombre
regle
v_aid_cere*y_s_cere_prim.
#o
Objet y_prim_ext
Type nombre
regle
((nbva+x_m1+(2*(x_m2+x_m3)))*v_aid_ext).
#o
Objet y_prim_herbe
Type nombre
regle
x_herbe*v_aid_herb si x_herbe
c_s_herbe*v_aid_herb.
#o
Objet y_prim_olea
Type nombre
regle (solea*sauti/100)*v_aid_cere.
#o
Objet y_prim_ov
Type nombre
regle
-y_pert_prod_vian_ov+(nbbrebis*v_aid_mru).
#o
Objet y_prim_va
Type nombre
regle
nbva*v_aid_va1 si (nbva<=c_nb_va1 et x_quota<=c_quota),
(c_nb_va1*v_aid_va1)+(nbva-c_nb_va1)*v_aid_va2 si (nbva>c_nb_va1 et x_quota<=c_quota),
0.0.
#o
Objet y_result_final
Type nombre
regle
y_compens_tot+y_econom_tot+y_pert_tot.
#o
Objet y_s_cere_prim
Type nombre
regle y_scop-y_scop_trans_sfp.
#o
Objet y_s_gel
Type nombre
regle
0.15*y_s_cere_prim si (y_s_cere_prim>21),
0.0.
#o
Objet y_s_pert_prim_cere_ext
Type nombre
regle (nbva+x_m1+(2*(x_m2+x_m3)))*v_aid_ext/v_aid_cere.
#o
Objet y_s_pert_prim_cere_herbe
Type nombre
regle x_herbe*v_aid_herb/v_aid_cere.
#o
Objet y_scop
Type nombre
regle
x_cere+x_mais.
#o
Objet y_scop_sfp
Type nombre
regle
x_mais+x_cere.
#o
Objet y_scop_sfp_ext
Type nombre
regle (y_ugb_pac/c_charg_pac)-x_herbe.
#o
Objet y_scop_sfp_herbe
Type nombre
regle (y_ugb_herbe/c_charg_herbe)-x_herbe.
#o
Objet y_scop_sfp_pac
Type nombre
regle (y_ugb_pac/c_charg_max_pac)-x_herbe.
#o
Objet y_scop_trans_sfp
Type nombre
regle
(y_scop_sfp_pac+y_scop_sfp_ext+y_scop_sfp_herbe)
si (y_scop_sfp_pac>0
et y_scop_sfp_ext>0
et y_scop_sfp_herbe>0),
0.0.
#o
Objet y_sup_scop_sfp_ext
Type nombre
#o
Objet y_sup_scop_sfp_herbe
Type nombre
#o
Objet y_sup_scop_sfp_pac
Type nombre
#o
Objet y_ugb_herbe
Type nombre
regle ugbbo+ugbov+ugbca.
#o
Objet y_ugb_pac
Type nombre
regle
(nbva
+(0.6*(x_m1+x_m2))
+x_m3
+(0.15*(nbbrebis+nbchevres))
+(x_quota/c_rt_vl)).
#o
objet zolo1
type nombre
#p
Procedure AFFICHER_ETAT_FINAL
affecter etat_final_1:=concat(nom_type_complet,'.EF1')
affecter evo_resct:=formstr('%5.2',nbr_txt(y_result_final/resct*100))
affecter nresuta:=formstr('%10.2',nbr_txt((resct+y_result_final)/utato))
affecter nratio:=formstr('%5.2',nbr_txt((anlmt/(ebexp+y_result_final))*100))
affecter marge_ini:=marga+y_result_final
/*
si nbvl>0.0 affecter marge_ini:=(nbvl*10150*(x_quota/nbvl/5500))+(nbva*6600)+((nbbrebis+nbchevres)*817)
si nbvl=0.0 affecter marge_ini:=(nbva*6600)+((nbbrebis+nbchevres)*817)
*/
afficher
'\nAu total,'&
' condition de dclarer'&
y_s_cere_prim' ha de crales et mais primables'&
'et 'y_scop_trans_sfp' ha de mais et crales intraconsommes en fourrages'&
'les exploitations de ce type devraient recevoir'&
y_compens_tot' f. de primes compensatrices'&
'dont : 'y_prim_va' f. de primes vaches allaitantes'&
' 'y_prim_bovm' f. de primes aux bovins males'&
' 'y_prim_ext' f. de primes l''extensif'&
' 'y_prim_herbe' f. de primes l''herbe'&
' 'y_prim_ov' f. de primes ovines'&
' 'y_prim_cere' f. de primes crales'&
' 'y_prim_olea' f. de primes olagineux'&
'Ce qui, compte tenu'&
'de la dvalorisation de la production ('y_pert_tot' f.)'&
'et des conomies de charges oprationnelles ('y_econom_tot' f.)'&
'se traduira par'&
'une volution du revenu de 'y_result_final' f.('evo_resct'%)'&
afficher
'patience,'&
'... je sauvegarde cette nouvelle situation (ETAT_FINAL_1) ...'
appeler ecrit_txt(nom_fsav,' condition de dclarer')
appeler ecrit_txt(nom_fsav,
concat(nbr_txt(y_s_cere_prim),' ha de crales et mais primables'))
appeler ecrit_txt(nom_fsav,
concat('et ',concat(nbr_txt(y_scop_trans_sfp),' ha de mais et crales intraconsommes en fourrages
les exploitations de ce type devraient recevoir')))
appeler ecrit_txt(nom_fsav,
concat(nbr_txt(y_compens_tot),' f. de primes compensatrices, dont'))
appeler ecrit_txt(nom_fsav,
concat(nbr_txt(y_prim_va),' f. de primes vaches allaitantes'))
appeler ecrit_txt(nom_fsav,
concat(nbr_txt(y_prim_bovm),' f. de primes aux bovins males'))
appeler ecrit_txt(nom_fsav,
concat(nbr_txt(y_prim_ext),' f. de primes l''extensif'))
appeler ecrit_txt(nom_fsav,
concat(nbr_txt(y_prim_herbe),' f. de primes l''herbe'))
appeler ecrit_txt(nom_fsav,
concat(nbr_txt(y_prim_ov),' f. de primes ovines'))
appeler ecrit_txt(nom_fsav,
concat(nbr_txt(y_prim_cere),' f. de primes crales'))
appeler ecrit_txt(nom_fsav,
concat(nbr_txt(y_prim_olea),' f. de primes olagineux'))
appeler ecrit_txt(nom_fsav,
concat('ce qui, compte tenu
de la dvalorisation de la production (',nbr_txt(y_pert_tot)))
appeler ecrit_txt(nom_fsav,
concat('et des conomies de charges oprationnelles (',nbr_txt(y_econom_tot)))
appeler ecrit_txt(nom_fsav,
concat('se traduira par
une volution du revenu de ',nbr_txt(y_result_final)))
appeler ecrit_txt(etat_final_1,concat('marge brute: ',nbr_txt(marge_ini)))
appeler ecrit_txt(etat_final_1,concat('crales(X5): ',nbr_txt(sauti-x_sfp)))
appeler ecrit_txt(etat_final_1,concat('sfp : ',nbr_txt(x_sfp)))
si nbvl>0
(
appeler ecrit_txt(etat_final_1,concat('quota : ',nbr_txt(x_quota))),
appeler ecrit_txt(etat_final_1,concat('vl (X1): ',nbr_txt(nbvl))),
appeler ecrit_txt(etat_final_1,concat('rende. : ',nbr_txt(x_quota/nbvl)))
)
si nbva>0
(
appeler ecrit_txt(etat_final_1,concat('va (X2/3): ',nbr_txt(nbva))),
appeler ecrit_txt(etat_final_1,concat('system : ',nbr_txt(system)))
)
si nbbrebis>0.0 appeler ecrit_txt(etat_final_1,concat('brebis (X4): ',nbr_txt(nbbrebis)))
si nbchevres>0.0 appeler ecrit_txt(etat_final_1,concat('chvres : ',nbr_txt(nbchevres)))
appeler ecrit_txt(etat_final_1,concat('revenu/UTA : ',nbr_txt((resct+y_result_final)/utato)))
appeler ecrit_txt(etat_final_1,concat('dt evo. : ',nbr_txt((y_result_final)/utato)))
appeler ecrit_txt(etat_final_1,concat('endet. : ',nratio))
appeler ecrit_txt(etat_final_1,concat('sau : ',nbr_txt(sauti)))
appeler ecrit_txt(etat_final_1,concat('uta : ',nbr_txt(utato)))
appeler ecrit_txt(etat_final_1,concat('age : ',nbr_txt(agech+deltat)))
appeler ecrit_txt(nom_fsav,'ETAT_FINAL_1 :')
appeler ecrit_txt(nom_fsav,ltxt(etat_final_1))
#p
Procedure CALCULER_COMPENSATION
si ote>41 et y_charg_pac>c_charg_max_pac
executer PROC_A
si ote>41 et y_charg_pac>c_charg_pac
et y_charg_pac<=c_charg_max_pac
executer PROC_B
si y_charg_herbe>c_charg_herbe
executer PROC_C
si (non(known(y_scop_sfp_pac))
et non(known(y_scop_sfp_ext))
et non(known(y_scop_sfp_herbe)))
executer PROC_D
si non(known(y_scop_sfp_herbe))
executer PROC_E
executer PROC_F
affecter y_compens_tot:=y_prim_va
+y_prim_bovm
+y_prim_ext
+y_prim_herbe
+y_prim_ov
+y_prim_cere
+y_prim_olea
#p
Procedure CALCULER_ECONOMIE
affecter y_econom_tot:=y_econom_cere_ic
afficher
'\nen contre partie,'&
'ce nouveau contexte de prix devrait se traduire par'&
'une conomie de charges oprationnelles de 'y_econom_tot' f.'
#p
Procedure CALCULER_PERTE
affecter y_pert_tot:=y_pert_prod_vian_bov
+y_pert_prod_lait_bov
+y_pert_prod_vian_ov
+y_pert_prod_cere
+y_pert_prod_olea
afficher
'\ndans ce nouveau contexte de prix'&
'la valeur marchande de la production de ce type d''exploitation'&
'devrait diminuer de 'y_pert_tot' f.'&
'dont : 'y_pert_prod_vian_bov' f. sur la production de viande bovine'&
' 'y_pert_prod_lait_bov' f. sur la production de lait'&
' 'y_pert_prod_vian_ov' f. sur la production ovine'&
' 'y_pert_prod_cere' f. sur la production de crales'&
' 'y_pert_prod_olea' f. sur la production d''olagineux'
#p
Procedure DEFINIR_ENVIRONNEMENT
appeler restore_values('cond_aid.inf')
appeler restore_values('coef_aid.inf')
appeler restore_values('coef_div.inf')
appeler restore_values('prix_pac.inf')
#p
Procedure DEFINIR_ETAT_INITIAL
afficher
'\nleur ETAT_INITIAL peut se rsumer comme suit :'&
'nb.uta (age) ='utato' ('agech')'&
'sau (sau/uta) ='sauti' ('sauuta') dont 'psafvd'% en proprit'&
'ugbt/uta ='ugb_uta&
'sfp (dt herbe) ='x_sfp' ('x_herbe' ha, soit 'y_pc_herbe'% de la sau)'&
'scop (cere,olea) ='x_cere', 'x_olea&
'ugbt/sfp ='charg&
'nb.v.allaitantes ='nbva' (systme 'system')'&
'nb.v.lait.(quota) ='nbvl' ('zolo1')'&
'nb.m. 8-20 mois ='x_m1&
'nb.m. 21-23m.(+24m.) ='x_m2' ('x_m3')'&
'nb.brebis ='nbbrebis&
'nb.chevres ='nbchevres&
'prod.viand.bov. (%pb) ='x_prod_bov' ('pbovv')'&
'prod.lait (%pb) ='x_prod_bol' ('pbovl')'&
'prod.ov.et cap. (%pb) ='x_prod_ovi' ('povin'), 'x_prod_cap' ('pcapr')'&
'marge animale/ugbt ='marga_ugb&
'rs.courant (R/UTA) ='resct' ('nbr_txt(resct/utato)')'&
'annuit/ebe ='anlmt'/'ebexp
appeler pause()
appeler ecrit_txt(nom_fsav,
concat('ETAT_INITIAL du type\n',mes))
appeler ecrit_txt(nom_fsav,
concat('coef.extr. :',nbr_txt(coef_mult)))
appeler ecrit_txt(nom_fsav,
concat('nb.uta :',nbr_txt(utato)))
appeler ecrit_txt(nom_fsav,
concat('ge :',nbr_txt(agech)))
appeler ecrit_txt(nom_fsav,
concat('chargement :',nbr_txt(charg)))
appeler ecrit_txt(nom_fsav,
concat('sau :',nbr_txt(sauti)))
appeler ecrit_txt(nom_fsav,
concat('ugbt/uta :',nbr_txt(ugb_uta)))
appeler ecrit_txt(nom_fsav,
concat('marge b.a./ugbt :',nbr_txt(marga_ugb)))
appeler ecrit_txt(nom_fsav,
concat('rs.courant/UTA :',nbr_txt(resct/utato)))
appeler ecrit_txt(nom_fsav,
concat('annuit%ebe :',nbr_txt((anlmt/ebexp)*100)))
#p
Procedure PROC_A
afficher
'\nle chargement PAC/herbe atteint 'y_charg_pac
si y_scop_sfp_pac>y_scop_sfp
(
afficher
'et il n''y a pas assez de mas et crales pour l''abaisser 'c_charg_max_pac&
'il en a 'y_scop_sfp' ha, mais il en faudrait 'y_scop_sfp_pac' ha'&
'par consquent, quel que soit le systme pratiqu, on ne peut percevoir'&
'aucune prime bovine et aucune prime l''herbe',
affecter y_sup_scop_sfp_pac:=y_scop_sfp_pac-y_scop_sfp,
affecter y_scop_sfp_pac:=0,
affecter y_prim_va:=0,
affecter y_prim_bovm:=0,
affecter y_prim_ext:=0,
affecter y_prim_herbe:=0,
stop
)
si (y_scop_sfp_pac<=y_scop_sfp
et y_scop_sfp_pac>0)
(
afficher
'et il y a assez de mas et crales pour l''abaisser 'c_charg_max_pac&
'il en a 'y_scop_sfp' ha, alors qu''il n''en faut que 'y_scop_sfp_pac' ha',
affecter y_sup_scop_sfp_pac:=0.0
)
si (y_prim_va=0.0
ou y_prim_bovm=0.0)
(
afficher
'mais le systme pratiqu ('ote', system'system') ne permet de percevoir'&
'aucune primes bovines',
stop
)
afficher
'par consquent, toutes les va et les bovm sont primables'&
'ce qui permet de percevoir'&
y_prim_va' f. de primes va'&
'et 'y_prim_bovm' f. de primes aux bovins mles'
affecter y_sup_scop_sfp_pac:=0.0
affecter y_scop_sfp:=y_scop_sfp-y_scop_sfp_pac
affecter y_scop_trans_sfp:=y_scop_trans_sfp+y_scop_sfp_pac
affecter y_charg_pac:=y_ugb_pac/(x_herbe+y_scop_trans_sfp)
#p
Procedure PROC_B
si non(known(y_scop_sfp_pac))
afficher
'\nle chargement PAC/herbe atteint 'y_charg_pac
si (non(known(y_scop_sfp_pac))
et((y_prim_va=0.0
ou y_prim_bovm=0.0)))
afficher
'mais le systme pratiqu ('ote', system'system') ne permet de percevoir'&
'aucune primes bovines'
si (non(known(y_scop_sfp_pac))
et((y_prim_va>0.0
ou y_prim_bovm>0.0)))
afficher
'par consquent,'&
'tous les bovins primables peuvent tre prims'&
'ce qui permet de percevoir'&
y_prim_va' f. de primes va'&
'et 'y_prim_bovm' f. de primes aux bovins mles'&
si y_scop_sfp_ext>y_scop_sfp
(
afficher
'mais il n''y a pas assez de mas et crales pour l''abaisser 'c_charg_pac&
'il en a 'y_scop_sfp' ha, mais il en faudrait 'y_scop_sfp_ext' ha'&
'(nb : le transfert reste interessant jusqu'' 'y_s_pert_prim_cere_ext' ha)'&
'par consquent, on ne peut percevoir'&
'aucun supplment de primes bovines l''extensif',
affecter y_sup_scop_sfp_ext:=y_scop_sfp_ext-y_scop_sfp,
affecter y_scop_sfp_ext:=0,
affecter y_prim_ext:=0,
affecter y_prim_herbe:=0,
stop
)
si (y_scop_sfp_ext<=y_scop_sfp
et y_scop_sfp_ext>0)
(
affecter y_sup_scop_sfp_ext:=0.0,
affecter y_scop_sfp:=y_scop_sfp-y_scop_sfp_ext,
affecter y_scop_trans_sfp:=y_scop_trans_sfp+y_scop_sfp_ext,
affecter y_charg_pac:=y_ugb_pac/(x_herbe+y_scop_trans_sfp),
afficher
'et il peut tre ramen 'c_charg_pac&
'en dclarant 'y_scop_sfp_ext' ha. de mas et crales en fourrages'&
'ce qui fait perdre 'y_pert_prim_cere' f. de primes crales'&
'mais permet de percevoir en outre'&
y_prim_ext' f. de supplment bovins extensif'
)
#p
Procedure PROC_C
appeler clear_value('y_prim_herbe')
si non(known(y_scop_sfp_ext))
afficher
'\nle chargement PAC/herbe atteint 'y_charg_pac
si (non(known(y_scop_sfp_ext))
et (y_prim_va=0.0
ou y_prim_bovm=0.0))
afficher
'le systme pratiqu (ote 'ote', system 'system', quota 'zolo1')'&
'ne permet de percevoir aucune primes vaches allaitantes'&
'mais en revanche,'&
'tous les bovm peuvent tre prims, ce qui permet de percevoir'&
y_prim_bovm' f. de primes aux bovins mles'&
'et 'y_prim_ext' f. de supplment bovin extensif'
si (non(known(y_scop_sfp_ext))
et (y_prim_va>0.0
ou y_prim_bovm>0.0))
afficher
'par consquent,'&
'tous les bovins primables peuvent tre prims'&
'ce qui permet de percevoir'&
y_prim_va' f. de primes va'&
y_prim_bovm' f. de primes aux bovins mles'&
'et 'y_prim_ext' f. de supplment bovin extensif'
afficher
'\nle chargement FRANCE/herbe atteint 'y_charg_herbe
si y_scop_sfp_herbe>y_scop_sfp
(
afficher
'et il n''y a pas assez de mas et crales pour l''abaisser 'c_charg_herbe&
'(nb : la surface d''herbe reprsente 'y_pc_herbe' % de la sau)'&
'il en a 'y_scop_sfp' ha, mais il en faudrait 'y_scop_sfp_herbe' ha'&
'et on perd des primes ds que l''on transfert plus de 'y_s_pert_prim_cere_herbe' ha !'&
'par consquent, on ne peut percevoir aucune prime l''herbe',
affecter y_sup_scop_sfp_herbe:=y_scop_sfp_herbe-y_scop_sfp,
affecter y_scop_sfp_herbe:=0,
affecter y_prim_herbe:=0,
stop
)
si (y_scop_sfp_herbe<=y_scop_sfp
et y_scop_sfp_herbe>0)
(
affecter y_sup_scop_sfp_herbe:=0.0,
affecter y_scop_sfp:=y_scop_sfp-y_scop_sfp_herbe,
affecter y_scop_trans_sfp:=y_scop_trans_sfp+y_scop_sfp_herbe,
afficher
'mais il peut tre ramen 'c_charg_herbe&
'(nb : la surface d''herbe reprsente 'y_pc_herbe' % de la sau)'&
'en dclarant 'y_scop_sfp_herbe' ha. de mas et crales en fourrages'&
'ce qui fait perdre 'y_pert_prim_cere' f. de primes crales'&
'mais permet de percevoir 'y_prim_herbe' f. de prime l''herbe'
)
#p
Procedure PROC_D
appeler clear_value('y_prim_herbe')
afficher
'\nle chargement PAC/herbe atteint 'y_charg_pac&
'et le chargement FRANCE/herbe s''tablit 'y_charg_herbe&
'par consquent,'&
'les 'y_scop_sfp' ha de mas ensilage et en crales intra-consommes'&
'sont dclarables en scop, ce qui permet de percevoir'&
y_prim_cere' f. de primes crales'
si y_prim_va=0.0
afficher
'le systme pratiqu (ote 'ote', system 'system', quota 'zolo1')'&
'ne permet de percevoir aucune primes vaches allaitantes'&
'mais en revanche,'&
'tous les bovm peuvent tre prims, ce qui permet de percevoir'&
y_prim_bovm' f. de primes aux bovins mles'&
'et on peut en outre percevoir,'&
y_prim_ext' f. de supplment bovin extensif'&
'et 'y_prim_herbe' f. de prime l''herbe'
si y_prim_va>0.0
afficher
'et toutes les va et bovm peuvent tre prims'&
'ce qui permet de percevoir'&
y_prim_va' f. de primes va'&
y_prim_bovm' f. de primes aux bovins mles'&
'et 'y_prim_ext' f. de supplment bovin extensif'
#p
Procedure PROC_E
afficher
'\nle chargement FRANCE/herbe atteint 'y_charg_herbe
appeler clear_value('y_prim_herbe')
si y_scop_sfp_herbe>y_scop_sfp
(
afficher
'et il n''y a pas assez de mas et crales pour l''abaisser 'c_charg_herbe&
'(nb : la surface d''herbe reprsente 'y_pc_herbe' % de la sau)'&
'il en a 'y_scop_sfp' ha, mais il en faudrait 'y_scop_sfp_herbe' ha'&
'et on perd des primes ds que l''on transfert plus de 'y_s_pert_prim_cere_herbe' ha !'&
'par consquent, on ne peut percevoir aucune prime l''herbe',
affecter y_sup_scop_sfp_herbe:=y_scop_sfp_herbe-y_scop_sfp,
affecter y_scop_sfp_herbe:=0,
affecter y_prim_herbe:=0,
stop
)
si (y_scop_sfp_herbe<=y_scop_sfp
et y_scop_sfp_herbe>0)
(
affecter y_sup_scop_sfp_herbe:=0.0,
affecter y_scop_sfp:=y_scop_sfp-y_scop_sfp_herbe,
affecter y_scop_trans_sfp:=y_scop_trans_sfp+y_scop_sfp_herbe,
afficher
'mais il peut tre ramen 'c_charg_herbe&
'(nb : la surface d''herbe reprsente 'y_pc_herbe' % de la sau)'&
'en dclarant 'y_scop_sfp_herbe' ha. de mas et crales en fourrages'&
'ce qui fait perdre 'y_pert_prim_cere' f. de primes crales'&
'mais permet de percevoir 'y_prim_herbe' f. de prime l''herbe'
)
afficher
'par consquent, on peut percevoir 'y_prim_herbe' f. de prime l''herbe'
#p
Procedure PROC_F
si y_s_cere_prim>21
(
affecter y_s_gel:=0.15*(y_s_cere_prim),
affecter y_prim_cere:=(v_aid_cere*(y_s_cere_prim-y_s_gel))+(v_aid_gelc*y_s_gel),
afficher
'attention : il y a obligation de geler 'y_s_gel' ha de crales !'
)
#p
Procedure START
appeler restore_values('selectyp.tmp')
appeler restore_values(w_nom_fic_data)
affecter mes:=nnom(concat('X_VAL',concat(nbr_txt(compt),'.KBF')),
'x_valnom.lst','fx_val.lst')
afficher
'\nSimulation du fonctionnement des 'coef_mult' exploitations du type'&
mes&
'dans un environnement politico-conomique de type 'scenario
appeler fenetre_mes(12,40,ltxt('transfor.mes'))
executer DEFINIR_ETAT_INITIAL
executer DEFINIR_ENVIRONNEMENT
executer TRANSFORMER
appeler pause()
appeler efface_fichier(concat(nom_type_complet,'.EF1'))
executer AFFICHER_ETAT_FINAL
appeler pause()
appeler save_values('transfor.tmp')
appeler pause()
utiliser 'DIAGNOSE.KB'
#p
Procedure TRANSFORMER
executer CALCULER_PERTE
executer CALCULER_ECONOMIE
executer CALCULER_COMPENSATION