***********************************************************************************************
Ce programme permet la sélection des fivondronana par faritany et des
pays étrangers d'exportation des produits halieutiques.
***********************************************************************************************
* initialisation de la sous-routine. SET PRINT ON SET CONSOLE OFF SET TALK OFF * sélection des caractères a imprimer. IF Fiv <> "000" ? " | " STORE Fiv TO Chx ELSE IF Fiv = "000" ? " | " STORE Fiv TO Chx ELSE RELEASE ALL RETURN ENDIF ENDIF * sélection des fivondronana du pays. DO CASE * sélection des fivondronana dans le faritany d'Antananarivo. CASE Chx ="103' ?? "ANTANANARIVO " CASE Chx ="104' ?? "AMBATOLAMPY " CASE Chx ="105' ?? "AMBOHIDRATR. " CASE Chx ="106' ?? "ANDRAMASINA " CASE Chx ="107' ?? "ANJOZOROBE " CASE Chx ="108' ?? "ANKAZOBE " CASE Chx ="109' ?? "ANTANIFOTSY " CASE Chx ="110' ?? "ANTSIRABE " CASE Chx ="112' ?? "ARIVONIMAMO " CASE Chx ="113' ?? "BETAFO " CASE Chx ="114' ?? "FARATSIHO " CASE Chx ="115' ?? "FENOARIVO-BE " CASE Chx ="116' ?? "MANJAKANDRIA. " CASE Chx ="117' ?? "MIARINARIVO " CASE Chx ="118' ?? "SOAVINANDRIA. " CASE Chx ="119' ?? "TSIROANOMAND. " * sélection des fivondronana dans le faritany d'Antsiranana. CASE Chx ="202' ?? "ANTSIRANANA " CASE Chx ="203' ?? "AMBANJA " CASE Chx ="204' ?? "AMBILOGE " CASE Chx ="205' ?? "ANDAPA " CASE Chx ="206' ?? "ANTALAHA " CASE Chx ="207' ?? "NOSY-BE " CASE Chx ="208' ?? "SAMBAVA " CASE Chx ="209' ?? "VOHEMAR " * sélection des fivondronana dans le faritany de Fianarantsoa. CASE Chx ="302' ?? "FIANARANTSOA " CASE Chx ="303' ?? "AMBALAVAO " CASE Chx ="304' ?? "AMBATOFINAND. " CASE Chx ="305' ?? "AMBOHIMAHASO. " CASE Chx ="306' ?? "AMBOSITRA " CASE Chx ="307' ?? "BEFOTAKA " CASE Chx ="308' ?? "FANDRIANA " CASE Chx ="309' ?? "FARAFANSANA " CASE Chx ="310' ?? "FORT-CARNOT " CASE Chx ="311' ?? "IAKORA " CASE Chx ="312' ?? "IFANADIANA " CASE Chx ="313' ?? "IHOSY " CASE Chx ="314' ?? "IKALAMAVONY " CASE Chx ="315' ?? "IVOHIBE " CASE Chx ="316' ?? "MANAKARA " CASE Chx ="317' ?? "MANANJARY " CASE Chx ="318' ?? "MIDONGY SUD " CASE Chx ="319' ?? "NOSY-VARIKA " CASE Chx ="320' ?? "VANGAINDRANO " CASE Chx ="321' ?? "VOHIPENO " CASE Chx ="322' ?? "VONDROZO " * sélection des fivondronana dans le faritany de Mahajanga. CASE Chx ="402' ?? "MAHAJANGA " CASE Chx ="403' ?? "AMBATO-BOENY " CASE Chx ="404' ?? "AMBATOMAINTY " CASE Chx ="405' ?? "ANALALAVA " CASE Chx ="406' ?? "ANTSALOVA " CASE Chx ="407' ?? "ANTSOHIHY " CASE Chx ="408' ?? "BEALANANA " CASE Chx ="409' ?? "BEFANDRIANA " CASE Chx ="410' ?? "BESALAMPY " CASE Chx ="411' ?? "KANDREHO " CASE Chx ="412' ?? "MAEVATANANA " CASE Chx ="413' ?? "MAINTIRAND " CASE Chx ="414' ?? "MAMPIKOMY " CASE Chx ="415' ?? "MANDRITSARA " CASE Chx ="416' ?? "MAROVOAY " CASE Chx ="417' ?? "MITSINJO " CASE Chx ="418' ?? "MORAFENOBE " CASE Chx ="419' ?? "PORT-BERGE " CASE Chx ="420' ?? "SOALALA " CASE Chx ="421' ?? "TSARATANANA " * sélection des fivondronana dans le faritany de Toamasina. CASE Chx = "502" ?? "TOAMASINA " CASE Chx = "503" ?? "AMBATONDRAZA. " CASE Chx = "504" ?? "AMPARAFARAVO. " CASE Chx = "505" ?? "ANDILAMENA " CASE Chx = "506" ?? "ANOSIDE AN'AL " CASE Chx = "507" ?? "ANT,MANAMPOT. " CASE Chx = "508 " ?? "BRICKAVILLE " CASE Chx = "509" ?? "FENERIVE EST " CASE Chx = "510" ?? "MAHANORO " CASE Chx = "511 " ?? "MANANARA NORD " CASE Chx = "512" ?? "MAROANTSETRA " CASE Chx = "513" ?? "MAROLAMBO " CASE Chx = "514" ?? "MORAMANGA " CASE Chx = "515" ?? "SAINTE MARIE " CASE Chx = "516" ?? "SOANIER.IVON. " CASE Chx = "517" ?? "VATOMANDRY " CASE Chx = "518 " ?? "VAVATENINA " * sélection des fivondronana dans le faritany de Tulear. CASE Chx ="602' ?? "TOLIARA " CASE Chx ="603' ?? "AMBOASARY SUD " CASE Chx ="604' ?? "AMBOVOMBE " CASE Chx ="605' ?? "AMPANIHY OUES " CASE Chx ="606' ?? "ANKAZOABO SUD " CASE Chx ="607' ?? "BEKILY " CASE Chx ="608' ?? "BELO/TSIRIBI. " CASE Chx ="609' ?? "BELOHA " CASE Chx ="610' ?? "BENENITRA " CASE Chx ="611' ?? "BEROROHA " CASE Chx ="612' ?? "BETIOKY SUD " CASE Chx ="613' ?? "BETROKA " CASE Chx ="614' ?? "TOLAGNARO " CASE Chx ="615' ?? "MAHABO " CASE Chx ="616' ?? "MANJA " CASE Chx ="617' ?? "MIANDRIVAZO " CASE Chx ="618' ?? "MOROMBE " CASE Chx ="619' ?? "MORONDAVA " CASE Chx ="620' ?? "SAKARAHA " CASE Chx ="621' ?? "TSIHOMBE " * sélection des pays d'exportation. CASE Chx ="702' ?? "île REUNION " CASE Chx ="703' ?? "île MAURICE " CASE Chx ="704' ?? "îles COMORES " CASE Chx ="705' ?? "FRANCE " CASE Chx ="706' ?? "JAPON " CASE Chx ="707' ?? "R.F.ALLEMAGNE " CASE Chx ="708' ?? "ANGLETERRE " CASE Chx ="709' ?? "ITALIE " CASE Chx ="710' ?? "U.S.A. " CASE Chx ="711' ?? "HONG-KONG " CASE Chx ="712' ?? "U.R.S.S. " CASE Chx ="713' ?? "CANADA " CASE Chx ="714' ?? "SEYCHELLES " CASE Chx ="715' ?? "SINGAPOURE " CASE Chx ="716' ?? "BELGIQUE " CASE Chx ="717' ?? "MOZAMBIQUE " CASE Chx ="718' ?? " " CASE Chx ="719' ?? "AUTRES PAYS " ENDCASE * finalisation de la routine. SET PRINT OFF SET CONSOLE ON RETURN * retour au programme apellant.
****************************************************
Ce programme crée une ligne selon le tableau et l'entête sélectioné.
****************************************************
* initialisation de la routine. SET PRINT ON SET CONSOLE OFF ?? CHR(15) * sélection de la longueur et l'emplacement de la ligne d'entête et des * tableaux. IF Reply = "2" IF Fiv <> '000' IF Part <> '2' ? " | " ?? REPLICATE("--",110) ELSE IF Part = "2" ? SPACE(25) ?? " | " ?? REPLICATE("--",72) ENDIF ENDIF ELSE &&if fiv="000' IF Part <> '2' ? " | " ?? REPLICATE("--",114) ELSE IF Part = "2" ? SPACE(25) ?? " | " ?? REPLICATE("--",72) ENDIF ENDIF ENDIF ELSE IF Reply = "1" ? " | " IF Fiv <> "000" ?? REPLICATE("--",209) ELSE ?? REPLICATE("--",223) ENDIF ELSE IF Reply = "3" ? " | " ?? REPLICATE("--",220) ELSE IF (Reply = "4" .OR. Reply = "6") IF Part <> '2' ? " | " ?? REPLICATE("--",204) ELSE IF Part ="2' ? " | " ?? REPLICATE("-",188) ENDIF ENDIF ELSE IF Reply ="7' ? " | " ?? REPLICATE("-",224) ELSE IF Reply ="5' ? " | " ?? REPLICATE("-",224) ENDIF &&Reply=5 ENDIF &&Reply=7 ENDIF &&Reply=4,6 ENDIF &&Reply=3,5 ENDIF &&Reply=1 ENDIF &&Reply=2 ?? " | " ?? CHR(18) SET PRINT OFF RETURN * retour au programme apellant.
************************************************************************************************
Ce programme initialise le traitement des données des cos sur une base
annuelle.
A partir du menu l'opérateur peut choisir quel type de résultats sont
désirés.
Le programme permet de vérifier si les bases de données sur disquette sont
en relation avec la sélection des choix du menu et permet le transfert
des données vers le disque dur.
Le programme s'ouvre sur un menu et une des options permet l'estimation du
prix moyen au kilo par fivondronana.
************************************************************************************************
* présentation du menu. SET SAFETY OFF STORE 1 TO Tour STORE .T. TO Check * boucle principale. DO WHILE Check CLEAR STORE SPACE(1) TO Rep * présentation du menu. @ 2,3 TO 20,78 DOUBLE @ 4, 17 SAY " *** TOTAL ANNUEL - EXPEDITION hors FARITANY ***" @ 5, 17 SAY " --------------------------------------- " @ 7, 17 SAY " -1- EXPEDITIONS par NATORE du PRODOIT" @ 8, 17 SAY " -2- par MOYEN de CONSERVATION" @ 9, 17 SAY " -3- par DESTINATION (Fivondronana)" @ 10, 5 SAY " Frapper d'abord <9> si vous passez des expéditions aux exportations " @ 12, 17 SAY " -5- EXPORTATIONS par NATURE du PRODUIT" @ 13, 17 SAY " -6- par MOYEN DE CONSERVATION" @ 14, 17 SAY " -7- par DESTINATION (pays étrangers)" @ 16, 17 SAY " -8- PRIX MOYENS au kilo par PRODUIT / FIVONDRONANA" @ 18, 17 SAY " -9- <RETOUR> au menu précédent : " GET Rep READ * si le choix est 9 destruction des fichiers et retour au menu principal. IF Rep ="9' STORE 1 TO Tour CLOSE DATABASES DELETE FILE C:ZANTA.DBF DELETE FILE C:ZANTS.DBF DELETE FILE C:ZFIAN.DBF DELETE FILE C:ZMAHA.DBF DELETE FILE C:ZTOAM.DBF DELETE FILE C:ZTULE.DBF RELEASE ALL RETURN TO MASTER ELSE * tout autre choix se chargera de transférer les données sur disque dur en 6 * fichiers séparés. * On traite soit les exportations soit les expéditions hors fivondronana * soit on calcule le prix moyen au kilo par type de produit par fivondronana. * Le transfert des données se fera donc en conséquence de l'option * sélectionée. IF Tour = 1 STORE .T. TO Floppy STORE '1' TO Part STORE 1 TO Count STORE 1 TO Getal * boucle pour le transfert des données sur disque dur. * L'insertion des diquettes doit se faire dans l'ordre demandé. DO WHILE Floopy CLEAR @ 5,15 SAY "Insérrez la disquette :<< A:COS _" DO CASE CASE Count = 1 @ 5,48 SAY "ANTA.DBF >>" CASE Count = 2 @ 5,48 SAY "ANTS.DBF >>" CASE Count = 3 @ 5,48 SAY "FIAN.DBF >>" CASE Count = 4 @ 5,48 SAY "MAHA.DBF >>" CASE Count = 5 @ 5,48 SAY "TOAM.DBF >>" CASE Count = 6 @ 5,48 SAY "TULE.DBF >>" ENDCASE ? CHR(7) @ 7.15 SAY " puis taper <RETOUR>…" @ 3,8 TO 10,62 Double WAIT CLEAR * transfert vers disque dur selon l'option choisie. IF (Rep < '9') IF Count = 1 .AND. FILE ("A:COS_ANTA.DBF") STORE .T. TO Floppy USE A:COS_ANTA.DBF COPY STRUCTURE TO C:ZANTA.DBF USE C:ZANTA.DBF IF (Rep ="5' .OR. Rep ="6' .OR. Rep ="7') APPEND FROM A:COS_ANTA FOR(DESTIN > "700") ELSE IF Rep ="8' APPEND FROM A:COS_ANTA FOR(Valeur > 0) ELSE APPEND FROM A:COS_ANTA FOR(DESTIN < "700") ENDIF ENDIF ELSE IF Count = 2 .AND. FILE ("A:COS_ANTS.DBF") STORE .T. TO Floppy USE A:COS_ANTS.DBF COPY STRUCTURE TO C:ZANTS.DBF USE C:ZANTS.DBF IF (Rep ="5' .OR. Rep ="6' .OR. Rep ="7') APPEND FROM A:COS_ANTS FOR(DESTIN > "700") ELSE IF Rep ="8' APPEND FROM A:COS_ANTS FOR(VALEUR > 0) ELSE APPEND FROM A:COS_ANTS FOR(DESTIN < "700") ENDIF ENDIF ELSE IF Count = 3 .AND. FILE ("A:COS_FIAN.DBF") STORE .T. TO Floppy USE A:COS_FIAN.DBF COPY STRUCTURE TO C:ZFIAN.DBF USE C:ZFIAN.DBF IF (Rep ="5' .OR. Rep ="6' .OR. Rep ="7') APPEND FROM A:COS_FIAN FOR(DESTIN > "700") ELSE IF Rep ="8' APPEND FROM A:COS_FIAN FOR VALEUR > 0 ELSE APPEND FROM A:COS_FIAN FOR(DESTIN < "700") ENDIF ENDIF ELSE IF Count = 4 .AND. FILE ("A:COS_MAHA.DBF") STORE .T. TO Floppy USE A:COS_MAHA.DBF COPY STRUCTURE TO C:ZMAHA.DBF USE C:ZMAHA.DBF IF (Rep ="5' .OR. Rep ="6' .OR. Rep ="7') APPEND FROM A:COS_MAHA FOR(DESTIN > "700") ELSE IF Rep ="8' APPEND FROM A:COS_MAHA FOR(VALEUR > 0) ELSE APPEND FROM A:COS_MAHA FOR(DESTIN < "700") ENDIF ENDIF ELSE IF Count = 5 .AND. FILE ("A:COS_TOAM.DBF") STORE .T. TO Floppy USE A:COS_TOAM.DBF COPY STRUCTURE TO C:ZTOAM.DBF USE C:ZTOAM.DBF IF (Rep ="5' .OR. Rep ="6' .OR. Rep ="7') APPEND FROM A:COS_TOAM FOR(DESTIN > "700") ELSE IF Rep ="8' APPEND FROM A:COS_TOAM FOR VALEUR > 0 ELSE APPEND FROM A:COS_TOAM FOR (DESTIN < "700") ENDIF ENDIF ELSE IF Count = 6 .AND. FILE ("A:COS_TULE.DBF") STORE .F. TO Floppy USE A:COS_TULE.DBF COPY STRUCTURE TO C:ZTULE.DBF USE C:ZTULE.DBF IF (Rep ="5' .OR. Rep ="6' .OR. Rep ="7') APPEND FROM A:COS_TULE FOR(DESTIN > "700") ELSE IF Rep ="8' APPEND FROM A:COS_TULE FOR VALEUR > 0 ELSE APPEND FROM A:COS_TULE FOR(DESTIN < "700") ENDIF ENDIF ELSE IF Count < 7 STORE .T. TO Floppy STORE Count - 1 TO Count Getal = Getal + 1 IF Getal > 2 CLEAR @ 10,15 SAY " Merde, Vous êtes CON eu quoi…?" WAIT USE DELETE FILE C:ZANTA.DBF DELETE FILE C:ZANTS.DBF DELETE FILE C:ZFIAN.DBF DELETE FILE C:ZMAHA.DBF DELETE FILE C:ZTOAM.DBF DELETE FILE C:ZTULE.DBF RELEASE ALL RETURN TO MASTER ENDIF &&Getal>2 ELSE STORE .F. TO Floppy STORE Count + 3 TO Count ENDIF &&Count<7 ENDIF &&6 ENDIF &&5 ENDIF &&4 ENDIF &&3 ENDIF &&2 ENDIF &&1 ENDIF &&Rep=1,2 STORE (Count + 1) TO Count USE &&close ENDDO &&floppy STORE Tour + 1 TO Tour ENDIF &&Tour=1 ENDIF &&Rep=9 * le programme est dirigé vers des sous-programmes en fonction du choix * effectué dans le menu (en fonction des tableaux désirés). DO CASE CASE Rep = "1" * expédition annuelle à partir d'un FARITANY d'origine, présentation * des résultats par nature des produits. DO T_EXPE_1 CASE Rep = "2" * expédition annuelle à partir d'un faritany d'origine, présentation * des résultats par moyen de conservation. DO T_EXPE_2 CASE Rep = "3" * expédition annuelles par destination (fivondronana), présentation * des résultats par nature du produit et par fivondronana recevant les * produits. DO T_EXPE_3 CASE Rep = "5" * exportations annuelles à partir d'un faritany d'origine, présentation * des résultats par nature des produits. DO T_EXPE_1 CASE Rep = "6" * exportations annuelles à partir d'un faritany d'origine, présentation * des résultats par moyen de conservation. DO T_EXPE_2 CASE Rep = "7" * exportations annuelles à partir d'un faritany d'origine, présentation * des résultats par moyen de conservation et par pays de destination. DO T_EXPO_7 CASE Rep ="8' * calcul des prix moyens par type de produit et par fivondronana. DO AVRG OTHERWISE RELEASE ALL RETURN ENDCASE * finalisation de la boucle uniquement si l'option 9 est choisie. IF Rep ="9' STORE .F. TO Check ELSE STORE .T. TO Check ENDIF ENDDO Check * fin et remise en état d'origine. USE SET SAFETY ON RELEASE ALL RETURN * retour au menu principal.
***********************************************************************************************
Ce programme calcule par année les expéditions/exportations hors faritany
par nature des produits. Les données ont été transférées sur disque dur
pour raison de sécurité. Le programme traite soit les expéditions soit
exportations.
Les résultats sont présentés annuellement par faritany. L'opérateur doit
inserrer successivement les 6 disquettes de base de donnée afin de consstituer
des fichiers sur le disque dur si il passe des expéditions aux
exportations.
***********************************************************************************************
* initialisation du sous programme. SET CONSOLE OFF SET TALK OFF CLEAR STORE '1' TO Part * impression de l'entête. DO SET_2_UP DO LINE_2 STORE 1 TO Count STORE .T. TO Process * boucle principale. DO WHILE Process * mise à zéro des variables de travail. STORE 0 TO T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 STORE 0 TO T19,T20,Z19,Z20 STORE 0 TO Z1,Z2,Z3,Z4,Z5,Z6,Z7,Z8,Z9,Z10,Z11,Z12,Z13,Z14,Z15,Z16,Z17,Z18 * boucle des faritany. DO WHILE Count < 7 * sélection des fichiers à utiliser à chaque passage. DO CASE CASE Count = 1 USE C:ZANTA.DBF CASE Count = 2 USE C:ZANTS.DBF CASE Count = 3 USE C:ZFIAN.DBF CASE Count = 4 USE C:ZMAHA.DBF CASE Count = 5 USE C:ZTOAM.DBF CASE Count = 6 USE C:ZTULE.DBF ENDCASE * mise à zéro des variables de travail. STORE 0 TO Q1,Q2,Q3,Q4,Q5,Q6,Q7,Q8,Q9,Q10,Q11,Q12,Q13,Q14,Q15,Q16,Q17,Q18 STORE 0 TO Q19,Q20,V1,V2,V3,V4,V5,V6,V7,V8,V9,V10,V11,V12,V13,V14,V15,V16 STORE 0 TO V17,V18,V19,V20 * calcul des résultats. SUM QUANTITE,VALEUR TO Q1,V1 FOR (NAT_PROD ="01') SUM QUANTITE,VALEUR TO Q2,V2 FOR (NAT_PROD ="02') SUM QUANTITE,VALEUR TO Q3,V3 FOR (NAT_PROD ="03') SUM QUANTITE,VALEUR TO Q4,V4 FOR (NAT_PROD ="04') SUM QUANTITE,VALEUR TO Q5,V5 FOR (NAT_PROD ="05') SUM QUANTITE,VALEUR TO Q6,V6 FOR (NAT_PROD ="06') SUM QUANTITE,VALEUR TO Q7,V7 FOR (NAT_PROD ="07') SUM QUANTITE,VALEUR TO Q8,V8 FOR (NAT_PROD ="08') SUM QUANTITE,VALEUR TO Q9,V9 FOR (NAT_PROD ="09') SUM QUANTITE,VALEUR TO Q10,V10 FOR (NAT_PROD ="10') SUM QUANTITE,VALEUR TO Q11,V11 FOR (NAT_PROD ="11') SUM QUANTITE,VALEUR TO Q12,V12 FOR (NAT_PROD ="12') SUM QUANTITE,VALEUR TO Q13,V13 FOR (NAT_PROD ="13') SUM QUANTITE,VALEUR TO Q14,V14 FOR (NAT_PROD ="14') SUM QUANTITE,VALEUR TO Q15,V15 FOR (NAT_PROD ="15') SUM QUANTITE,VALEUR TO Q16,V16 FOR (NAT_PROD ="16') SUM QUANTITE,VALEUR TO Q17,V17 FOR (NAT_PROD ="17') SUM QUANTITE,VALEUR TO Q18,V18 FOR (NAT_PROD ="18') SUM QUANTITE,VALEUR TO Q19,V19 FOR (NAT_PROD ="19') SUM QUANTITE,VALEUR TO Q20,V20 USE &&close * utilisation des variables de travail pour addition finale plus rapide. STORE Q1 + T1 TO T1 STORE Q2 + T2 TO T2 STORE Q3 + T3 TO T3 STORE Q4 + T4 TO T4 STORE Q5 + T5 TO T5 STORE Q6 + T6 TO T6 STORE Q7 + T7 TO T7 STORE Q8 + T8 TO T8 STORE Q9 + T9 TO T9 STORE Q10 + T10 TO T10 STORE Q11 + T11 TO T11 STORE Q12 + T12 TO T12 STORE Q13 + T13 TO T13 STORE Q14 + T14 TO T14 STORE Q15 + T15 TO T15 STORE Q16 + T16 TO T16 STORE Q17 + T17 TO T17 STORE Q18 + T18 TO T18 STORE Q19 + T19 TO T19 STORE Q20 + T20 TO T20 STORE V1 + Z1 TO Z1 STORE V2 + Z2 TO Z2 STORE V3 + Z3 TO Z3 STORE V4 + Z4 TO Z4 STORE V5 + Z5 TO Z5 STORE V6 + Z6 TO Z6 STORE V7 + Z7 TO Z7 STORE V8 + Z8 TO Z8 STORE V9 + Z9 TO Z9 STORE V10 + Z10 TO Z10 STORE V11 + Z11 TO Z11 STORE V12 + Z12 TO Z12 STORE V13 + Z13 TO Z13 STORE V14 + Z14 TO Z14 STORE V15 + Z15 TO Z15 STORE V16 + Z16 TO Z16 STORE V17 + Z17 TO Z17 STORE V18 + Z18 TO Z18 STORE V19 + Z19 TO Z19 STORE V20 + Z20 TO Z20 * impression des résultats et du nom du faritany. SET PRINT ON ?? CHR(15) DO CHX FAR SET PRINT ON SET CONSOLE OFF ?? CHR(15) ?? " Quantité | "+STR(Q1,8)+STR(Q2,8)+STR(Q3,8)+" | "+STR(Q4,8)+STR(Q5,9); +STR(Q6,8)+" | "+STR(Q7,8)+STR(Q8,8)+STR(Q9,8)+" | "+STR(Q10,8)+STR(Q11,8); +" | "+STR(Q12,8)+" | "+STR(Q13,8)+" | "+STR(Q14,8)+" | "+STR(Q15,8)+" | " ?? STR(Q16,8)+" | "+STR(Q17,8)+" | "+STR(Q18,8)+" | "+STR(Q19,8)+" | "; +STR(Q20,14)+" | " ? "|"+SPACE(16)+"Valeur|"+STR(V1/1000,8)+STR(V2/1000,8)+STR(V3/1000,8)+" | "; +STR(V4/1000,8)+STR(V5/1000,9)+STR(V6/1000,8)+" | "+STR(V7/1000,8); +STR(V8/1000,8)+STR(V9/1000,8)+" | "+STR(V10/1000,8)+STR(V11/1000,8)+" | " ?? STR(V12/1000,8)+" | "+STR(V13/1000,8)+" | "+STR(V14/1000,8)+" | "; +STR(V15/1000,8)+" | "+STR(V16/1000,8)+" | "+STR(V17/1000,8)+" | "; +STR(V18/1000,8)+" | "+STR(V19/1000,8)+" | "+STR(V20/1000,8)+" | "; SET PRINT OFF DO LINE_2 STORE Count + 1 TO Count * arrangement pour terminer la routine. IF Count < 7 STORE .T. TO Process ELSE STORE .F. TO Process ENDIF ENDDO &&Count * fin de la boucle des faritany. * impression des résultats totaux. DO LINE_2 SET PRINT ON ?? CHR(15) ? " | TOTAUX" ?? SPACE(6)+"Quantité | "+STR(T1,8)+STR(T2,8)+STR(T3,8)+" | "+STR(T4,8); +STR(T5,9)+STR(T6,8)+" | "+STR(T7,8)+STR(T8,8)+STR(T9,8)+" | "+STR(T10,8); +STR(T11,8)+" | "+STR(T12,8)+" | "+STR(T13,8)+" | "+STR(T14,8)+" | " ?? STR(T15,8)+" | "+STR(T16,8)+" | "+STR(T17,8)+" | "+STR(T18,8)+" | "; +STR(T19,8)+" | "+STR(T20,14)+" | " ? " |"+SPACE(16)+"Valeur|"+STR(Z1/1000,8)+STR(Z2/1000,8)+STR(Z3/1000,8)+" | "; +STR(Z4/1000,8)+STR(Z5/1000,8)+STR(Z6/1000,8)+" | "+STR(Z7/1000,8); +STR(Z8/1000,8)+STR(Z9/1000,8)+" | "+STR(Z10/1000,8)+STR(Z11/1000,8)+" | " ?? STR(Z12/1000,8)+" | "+STR(Z13/1000,8)+" | "+STR(Z14/1000,8)+" | "; +STR(Z15/1000,8)+" | "+STR(Z16/1000,8)+" | "+STR(Z17/1000,8)+" | "; +STR(Z18/1000,8)+" | "+STR(Z19/1000,8)+" | "+STR(Z20/1000,14)+" | " SET PRINT OFF DO LINE_2 ENDDO &&Process * fin de la boucle principale. * finalisation du sous-programme. SET PRINT ON EJECT SET PRINT OFF USE RELEASE ALL RETURN * retour au menu.
**********************************************************************************************
Ce programme calcule par année les expéditions/exportations par faritany et
par méthode de conservation des produits. Les données ont été transférées
sur disgue dur pour raison de sécurité. Le programme traite soit les
EXPEDITIONS soit les EXPORTATIONS.
Les résultats sont présentés annuellement par faritany. L'opérateur doit
inserrer successivement les 6 disquettes de base de donnée afin de consstituer
des fichiers sur le disque dur si il passe des expéditions aux
exportations.
**********************************************************************************************
* initialisation du sous-programme. SET CONSOLE OFF SET TALK OFF CLEAR STORE '1' TO Part STORE 1 TO Count * impression de l'entête. DO SET 2 UP DO LINE 2 SET PRINT OFF * boucle principale. DO WHILE Count < 16 * calcul des résultats de la première partie du tableau. IF PART ="1' STORE 1 TO Count STORE .T. TO Process * boucle principale de la première partie du tableau. DO WHILE Process * mise à zéro des variables de travail. STORE 0 TO T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 STORE 0 TO T19,T20,T21,T22,Z19,Z20,Z21,Z22 STORE 0 TO Z1,Z2,Z3,Z4,Z5,Z6,Z7,Z8,Z9,Z10,Z11,Z12,Z13,Z14,Z15,Z16,Z17,Z18 * boucle des faritany. DO WHILE Count < 7 * sélection des fichiers à utiliser à chaque passage. DO CASE CASE Count = 1 USE C:ZANTA.DBF CASE Count = 2 USE C:ZANTS.DBF CASE Count = 3 USE C:ZFIAN.DBF CASE Count = 4 USE C:ZMAHA.DBF CASE Count = 5 USE C:ZTOAM.DBF CASE Count = 6 USE C:ZTULE.DBF ENDCASE * mise à zéro des variables de travail. STORE 0 TO Q1,Q2,Q3,Q4,Q5,Q6,Q7,Q8,Q9,Q10,Q11,Q12,Q13,Q14,Q15,Q16,Q17,Q18 STORE 0 TO Q19,Q20,Q21,Q22,V1,V2,V3,V4,V5,V6,V7,V8,V9,V10,V11,V12,V13,V14 STORE 0 TO V15,V16,V17,V18,V19,V20,V21,V22 * calcul des résultats - première partie du tableau. SUM QUANTITE,VALEUR TO Q1,V1 FOR (CONSERV ="01') SUM QUANTITE,VALEUR TO Q2,V2 FOR (CONSERV ="02') SUM QUANTITE,VALEUR TO Q3,V3 FOR (CONSERV ="03') SUM QUANTITE,VALEUR TO Q4,V4 FOR (CONSERV ="04') SUM QUANTITE,VALEUR TO Q5,V5 FOR (CONSERV ="05') SUM QUANTITE,VALEUR TO Q6,V6 FOR (CONSERV ="06') SUM QUANTITE,VALEUR TO Q7,V7 FOR (CONSERV ="07') SUM QUANTITE,VALEUR TO Q8,V8 FOR (CONSERV ="08') SUM QUANTITE,VALEUR TO Q9,V9 FOR (CONSERV ="09') SUM QUANTITE,VALEUR TO Q10,V10 FOR (CONSERV ="10') SUM QUANTITE,VALEUR TO Q11,V11 FOR (CONSERV ="11') SUM QUANTITE,VALEUR TO Q12,V12 FOR (CONSERV ="12') SUM QUANTITE,VALEUR TO Q13,V13 FOR (CONSERV ="13') SUM QUANTITE,VALEUR TO Q14,V14 FOR (CONSERV ="14') SUM QUANTITE,VALEUR TO Q15,V15 FOR (CONSERV ="15') SUM QUANTITE,VALEUR TO Q16,V16 FOR (CONSERV ="16') SUM QUANTITE,VALEUR TO Q17,V17 FOR (CONSERV ="17') SUM QUANTITE,VALEUR TO Q18,V18 FOR (CONSERV ="18') SUM QUANTITE,VALEUR TO Q19,V19 FOR (CONSERV ="19') SUM QUANTITE,VALEUR TO Q17,V17 FOR (CONSERV ="20') SUM QUANTITE,VALEUR TO Q18,V18 FOR (CONSERV ="21') SUM QUANTITE,VALEUR TO Q19,V19 FOR (CONSERV ="22') USE &&close * utilisation de variables pour la sommation plus rapide des résultats totaux. STORE Q1 + T1 TO T1 STORE Q2 + T2 TO T2 STORE Q3 + T3 TO T3 STORE Q4 + T4 TO T4 STORE Q5 + T5 TO T5 STORE Q6 + T6 TO T6 STORE Q7 + T7 TO T7 STORE Q8 + T8 TO T8 STORE Q9 + T9 TO T9 STORE Q10 + T10 TO T10 STORE Q11 + T11 TO T11 STORE Q12 + T12 TO T12 STORE Q13 + T13 TO T13 STORE Q14 + T14 TO T14 STORE Q15 + T15 TO T15 STORE Q16 + T16 TO T16 STORE Q17 + T17 TO T17 STORE Q18 + T18 TO T18 STORE Q19 + T19 TO T19 STORE Q20 + T20 TO T20 STORE Q21 + T21 TO T21 STORE Q22 + T22 TO T22 STORE V1 + Z1 TO Z1 STORE V2 + Z2 TO Z2 STORE V3 + Z3 TO Z3 STORE V4 + Z4 TO Z4 STORE V5 + Z5 TO Z5 STORE V6 + Z6 TO Z6 STORE V7 + Z7 TO Z7 STORE V8 + Z8 TO Z8 STORE V9 + Z9 TO Z9 STORE V10 + Z10 TO Z10 STORE V11 + Z11 TO Z11 STORE V12 + Z12 TO Z12 STORE V13 + Z13 TO Z13 STORE V14 + Z14 TO Z14 STORE V15 + Z15 TO Z15 STORE V16 + Z16 TO Z16 STORE V17 + Z17 TO Z17 STORE V18 + Z18 TO Z18 STORE V19 + Z19 TO Z19 STORE V20 + Z20 TO Z20 STORE V21 + Z21 TO Z21 STORE V22 + Z22 TO Z22 * impression du nom du faritany. SET PRINT ON ?? CHR(15) DO CHX_FAR * impression des résultats de la première partie du tableau par faritany. SET PRINT ON SET CONSOLE OFF ?? CHR(15) ?? "Q |"+STR(Q1,8)+STR(Q2,8)+STR(Q3,8)+STR(Q4,8)+STR(Q5,8)+STR(Q6,8); +STR(Q7,8)+STR(Q8,8)+STR(Q9,8)+STR(Q10,8)+" | "+STR(Q11,8)+STR(Q12,8); +STR(Q13,8)+STR(Q14,8)+STR(Q15,8) ?? STR(Q16,8)+STR(Q17,8)+STR(Q18,8)+" | "+STR(Q19,8)+STR(Q20,8)+STR(Q21,8); +STR(Q22,8)+" | " ? SPACE(10)+" | "+SPACE(14)+"V |"+STR(V1/1000,8)+STR(V2/1000,8)+STR(V3/1000,8); +STR(V4/1000,8)+STR(V5/1000,8)+STR(V6/1000,8)+STR(V7/1000,8)+STR(V8/1000,8); +STR(V9/1000,8) ?? STR(V10/1000,8)+" | "+STR(V11/1000,8)+STR(V12/1000,8)+STR(V13/1000,8); +STR(V14/1000,9)+STR(V15/1000,8)+STR(V16/1000,8)+STR(V17/1000,8); +STR(V18/1000,8) ?? " | "+STR(V19/1000,8)+STR(V20/1000,8)+STR(V21/1000,8)+STR(V22/1000,8)+" | " DO LINE 2 SET PRINT OFF STORE Count + 1 TO Count * arrangement pour terminer la routine. IF Count < 7 STORE .T. TO Process ELSE STORE Count + 1 TO Count STORE .F. TO Process ENDIF ENDDO &&Count <7 * fin de la boucle des faritany. * impression des résultats totaux de la première partie du tableau. DO LINE 2 SET PRINT ON ?? CHR(15) ? SPACE(10) ?? "| TOTAUX " ?? "Quantitél"+STR(T1,8)+STR(T2,8)+STR(T3,8)+STR(T4,8)+STR(T5,8); +STR(T6,8)+STR(T7,8)+STR(T8,8)+STR(T9,8)+STR(T10,8)+" | "+STR(T11,8); +STR(T12,8)+STR(T13,8)+STR(T14,8)+STR(T15,8)+STR(T16,8)+STR(T17,8) ?? STR(T18,8)+" | "+STR(T19,8)+STR(T20,8)+STR(T21,8)+STR(T22,8)+" | " ? SPACE(10)+" | "+SPACE(9)+"Valeur |"+STR(Z1/1000,8)+STR(Z2/1000,8); +STR(Z3/1000,8)+STR(Z4/1000,8)+STR(Z5/1000,8)+STR(Z6/1000,8); +STR(Z7/1000,8)+STR(Z8/1000,8)+STR(Z9/1000,8) ?? STR(Z10/1000,8)+" | "+STR(Z11/1000,8)+STR(Z12/1000,8)+STR(Z13/1000,8); +STR(Z14/1000,9)+STR(Z15/1000,8)+STR(Z16/1000,8)+STR(Z17/1000,8); +STR(Z18/1000,8)+" | "+STR(Z19/1000,8) ?? STR(Z20/1000,8)+STR(Z21/1000,8)+STR(Z22/1000,8)+" | " SET PRINT OFF DO LINE_2 * arrangements pour passer aux calculs de la seconde partie du tableau. STORE '2' TO Part STORE 1 TO Count STORE .F. TO Process ENDDO &&Process * fin de la première partie du tableau. ELSE * seconde partie du tableau. IF Part ="2' SET PRINT ON EJECT SET PRINT OFF * impression de l'entête. DO SET 2 UP DO LINE_2 STORE 1 TO Count STORE .T. TO Process * boucle principale de la seconde partie du tableau. DO WHILE Process * mise à zéro des variables de travail. STORE 0 TO T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35,T36,T37 STORE 0 TO T38,Z23,Z24,Z25,Z26,Z27,Z28,Z29,Z30,Z31,Z32,Z33,Z34 STORE 0 TO Z35,Z36,Z37,Z38 * boucle des faritany. DO WHILE Count < 7 * sélection des fichiers à chaque passage. DO CASE CASE Count = 1 USE C:ZANTA.DBF CASE Count = 2 USE C:ZANTS.DBF CASE Count = 3 USE C:ZFIAN.DBF CASE Count = 4 USE C:ZMAHA.DBF CASE Count = 5 USE C:ZTOAM.DBF CASE Count = 6 USE C:ZTULE.DBF ENDCASE * mise à zéro des variables de travail. STORE 0 TO Q23,Q24,Q25,Q26,Q27,Q28,Q29,Q30,Q31,Q32,Q33,Q34,Q35,Q36,Q37,Q38 STORE 0 TO V23,V24,V25,V26,V27,V28,V29,V30,V31,V32,V33,V34,V35,V36,V37,V38 * calcul des résultats de la seconde partie du tableau. SUM QUANTITE,VALEUR TO Q23,V23 FOR (CONSERV ="23') SUM QUANTITE,VALEUR TO Q24,V24 FOR (CONSERV ="24') SUM QUANTITE,VALEUR TO Q25,V25 FOR (CONSERV ="25') SUM QUANTITE,VALEUR TO Q26,V26 FOR (CONSERV ="26') SUM QUANTITE,VALEUR TO Q27,V27 FOR (CONSERV ="27') SUM QUANTITE,VALEUR TO Q28,V28 FOR (CONSERV ="28') SUM QUANTITE,VALEUR TO Q29,V29 FOR (CONSERV ="29') SUM QUANTITE,VALEUR TO Q30,V30 FOR (CONSERV ="30') SUM QUANTITE,VALEUR TO Q31,V31 FOR (CONSERV ="31') SUM QUANTITE,VALEUR TO Q32,V32 FOR (CONSERV ="32') SUM QUANTITE,VALEUR TO Q33,V33 FOR (CONSERV ="33') SUM QUANTITE,VALEUR TO Q34,V34 FOR (CONSERV ="34') SUM QUANTITE,VALEUR TO Q35,V35 FOR (CONSERV ="35') SUM QUANTITE,VALEUR TO Q36,V36 FOR (CONSERV ="36') SUM QUANTITE,VALEUR TO Q37,V37 FOR (CONSERV ="37') SUM QUANTITE,VALEUR TO Q38,V38 USE &&close * utilisation de variables pour une sommation plus rapide des totaux. STORE Q23 + T23 TO T23 STORE Q24 + T24 TO T24 STORE Q25 + T25 TO T25 STORE Q26 + T26 TO T26 STORE Q27 + T27 TO T27 STORE Q28 + T28 TO T28 STORE Q29 + T29 TO T29 STORE Q30 + T30 TO T30 STORE Q31 + T31 TO T31 STORE Q32 + T32 TO T32 STORE Q33 + T33 TO T33 STORE Q34 + T34 TO T34 STORE Q35 + T35 TO T35 STORE Q36 + T36 TO T36 STORE Q37 + T37 TO T37 STORE Q38 + T38 TO T38 STORE V23 + Z23 TO Z23 STORE V24 + Z24 TO Z24 STORE V25 + Z25 TO Z25 STORE V26 + Z26 TO Z26 STORE V27 + Z27 TO Z27 STORE V28 + Z28 TO Z28 STORE V29 + Z29 TO Z29 STORE V30 + Z30 TO Z30 STORE V31 + Z31 TO Z31 STORE V32 + Z32 TO Z32 STORE V33 + Z33 TO Z33 STORE V34 + Z34 TO Z34 STORE V35 + Z35 TO Z35 STORE V36 + Z36 TO Z36 STORE V37 + Z37 TO Z37 STORE V38 + Z38 TO Z38 * impression du nom du faritany. SET PRINT ON ?? CHR(15) DO CHX_FAR * impression des résultats par faritany pour la seconde partie du tableau. SET PRINT ON SET CONSOLE OFF ?? CHR(15) ?? " Q |"+STR(Q23,8)+STR(Q24,8)+STR(Q25,8)+STR(Q26,8)+" | "+STR(Q27,8); +STR(Q28,8)+STR(Q29,8)+" | "+STR(Q30,8)+" | "+STR(Q31,8)+" | "+STR(Q32,8); +" | "+STR(Q33,8)+STR(Q34,8)+" | "+STR(Q35,8)+" | " ?? STR(Q36,8)+" | "+STR(Q37,8)+" | "+STR(Q38,15)+" | " ? SPACE(10)+" | "+SPACE(14)+"V |"+STR(V23/1000,8)+STR(V24/1000,8); +STR(V25/1000,8)+STR(V26/1000,8)+" | "+STR(V27/1000,8)+STR(V28/1000,8); +STR(V29/1000,8)+" | "+STR(V30/1000,8)+" | "+STR(V31/1000,8)+" | " ?? STR(V32/1000,8)+" | "+STR(V33/1000,8)+STR(V34/1000,8)+" | "; +STR(V35/1000,8)+" | "+STR(V36/1000,8)+" | "+STR(V37/1000,8)+" | "; +STR(V38/1000,15)+" | " DO LINE 2 SET PRINT OFF STORE Count + 1 TO Count * arrangement pour terminer la routine. IF Count < 7 STORE .T. TO Process ELSE STORE .F. TO Process ENDIF ENDDO &&Count <7 * fin de la boucle des faritany. * impression des résultats totaux pour la seconde partie du tableau. DO LINE 2 SET PRINT ON ?? CHR(15) ? SPACE(10) ?? "| TOTAUX" ?? "Quantité|"+STR(T23,8)+STR(T24,8)+STR(T25,8)+STR(T26,8)+" | "+STR(T27,8); +STR(T28,8)+STR(T29,8)+" | "STR(T30,8)+" | "+STR(T31,8)+" | "+STR(T32,8); +" | "+STR(T33,8)+STR(T34,8)+" | "+STR(T35,8)+" | " ?? STR(T36,8)+" | "+STR(T37,8)+"||"+STR(T38,15)+" | " ? SPACE(10)+" | "+SPACE(10)+"Valeur|"+STR(Z23/1000,8)+STR(Z24/1000,8); +STR(Z25/1000,8)+STR(Z26/1000,8)+" | "+STR(Z27/1000,8)+STR(Z28/1000,8); +STR(Z29/1000,8)+" | "+STR(Z30/1000,8)+" | "+STR(Z31/1000,8)+" | " ?? STR(Z32/1000,8)+" | "+STR(Z33/1000,8)+STR(Z34/1000,8)+" | "; +STR(Z35/1000,8)+" | "+STR(Z36/1000,8)+" | "+STR(Z37/1000,8)+"||"; +STR(Z38/1000,15)+" | " SET PRINT OFF DO LINE_2 STORE Count + 15 TO Count ENDO &&Process * fin de la boucle principale de la seconde partie du tableau. ENDIF &&Part="2' ENDIF &&Part="1' ENDDO &&Count<16 * fin de la boucle principale. * remise en état et retour au menu. SET PRINT ON EJECT SET PRINT OFF USE RELEASE ALL RETURN * retour au menu.
*************************************************************************************************
Ce programme calcule par année les expéditions hors faritany par nature des
produits et présente la ventilation des produits par faritany d'origine
et de destination.
Les données ont été transférées sur disque dur pour raison de sécurité.
Les résultats sont présentés annuellement par faritany.
*************************************************************************************************
* initialisation du sous-programme. SET CONSOLE OFF SET TALK OFF CLEAR STORE '1' TO Part STORE 1 TO Teller, Comp, Count STORE .T. TO Process USE C: ZANTA.DBF COPY STRUCTURE TO C:ZTOTAL USE * boucle principale. DO WHILE Process * mise à zéro des variables de travail. STORE 0 TO T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 STORE 0 TO T19,T20,Z19,Z20 STORE 0 TO Z1,Z2,Z3,Z4,Z5,Z6,Z7,Z8,Z9,Z10,Z11,Z12,Z13,Z14,Z15,Z16,Z17,Z18 * boucle des faritany. DO WHILE Teller < 7 * impression de l'entête. DO SET_2 UP DO LINE_2 * sélection des fichiers à chaque passage. DO CASE CASE Count = 1 STORE "C:ZANTA" TO Base CASE Count = 2 STORE "C:ZANTS" TO Base CASE Count = 3 STORE "C:ZFIAN" TO Base CASE Count = 4 STORE "C:ZMAHA" TO Base CASE Count = 5 STORE "C:ZTOAM" TO Base CASE Count = 6 STORE "C:ZTULE" TO Base ENDCASE * boucle de faritany. DO WHILE COMP < 7 * sélection des fivondranana à chaque passage. DO CASE CASE Teller = 1 STORE '102' TO X STORE '120' TO Y CASE Teller = 2 STORE '201' TO X STORE '210' TO Y CASE Teller = 3 STORE '301' TO X STORE '323' TO Y CASE Teller = 4 STORE '401' TO X STORE '422' TO Y CASE Teller = 5 STORE '501' TO X STORE '519' TO Y CASE Teller = 6 STORE '601' TO X STORE '622' TO Y ENDCASE * calcul des résultats du tableau. USE C:ZTOTAL.DBF APPEND FROM &Base FOR (DESTIN > X .AND. DESTIN < Y) USE USE C: ZTOTAL STORE 0 TO Q1,Q2,Q3,Q4,Q5,Q6,Q7,Q8,Q9,Q10,Q11,Q12,Q13,Q14,Q15,Q16,Q17,Q18 STORE 0 TO Q19,Q20,V1,V2,V3,V4,V5,V6,V7,V8,V9,V10,V11,V12,V13,V14,V15,V16 STORE 0 TO V17,V18,V19,V20 SUM QUANTITE, VALEUR TO Q1, V1 FOR (NAT_PROD ="01') SUM QUANTITE, VALEUR TO Q2, V2 FOR (NAT_PROD ="02') SUM QUANTITE, VALEUR TO Q3, V3 FOR (NAT_PROD ="03') SUM QUANTITE, VALEUR TO Q4, V4 FOR (NAT_PROD ="04') SUM QUANTITE, VALEUR TO Q5, V5 FOR (NAT_PROD ="05') SUM QUANTITE, VALEUR TO Q6, V6 FOR (NAT_PROD ="06') SUM QUANTITE, VALEUR TO Q7, V7 FOR (NAT_PROD ="07') SUM QUANTITE, VALEUR TO Q8, V8 FOR (NAT_PROD ="08') SUM QUANTITE, VALEUR TO Q9, V9 FOR (NAT_PROD ="09') SUM QUANTITE, VALEUR TO Q10, V10 FOR (NAT_PROD ="10') SUM QUANTITE, VALEUR TO Q11, V11 FOR (NAT_PROD ="11') SUM QUANTITE, VALEUR TO Q12, V12 FOR (NAT_PROD ="12') SUM QUANTITE, VALEUR TO Q13, V13 FOR (NAT_PROD ="13') SUM QUANTITE, VALEUR TO Q14, V14 FOR (NAT_PROD ="14') SUM QUANTITE, VALEUR TO Q15, V15 FOR (NAT_PROD ="15') SUM QUANTITE, VALEUR TO Q16, V16 FOR (NAT_PROD ="16') SUM QUANTITE, VALEUR TO Q17, V17 FOR (NAT_PROD ="17') SUM QUANTITE, VALEUR TO Q18, V18 FOR (NAT_PROD ="18') SUM QUANTITE, VALEUR TO Q19, V19 FOR (NAT_PROD ="19') SUM QUANTITE, VALEUR TO Q20, V20 DELETE ALL PACK USE &&close * utilisation de variables pour sommation plus rapide des résultats totaux. STORE Q1 + T1 TO T1 STORE Q2 + T2 TO T2 STORE Q3 + T3 TO T3 STORE Q4 + T4 TO T4 STORE Q5 + T5 TO T5 STORE Q6 + T6 TO T6 STORE Q7 + T7 TO T7 STORE Q8 + T8 TO T8 STORE Q9 + T9 TO T9 STORE Q10 + T10 TO T10 STORE Q11 + T11 TO T11 STORE Q12 + T12 TO T12 STORE Q13 + T13 TO T13 STORE Q14 + T14 TO T14 STORE Q15 + T15 TO T15 STORE Q16 + T16 TO T16 STORE Q17 + T17 TO T17 STORE Q18 + T18 TO T18 STORE Q19 + T19 TO T19 STORE Q20 + T20 TO T20 STORE V1 + Z1 TO Z1 STORE V2 + Z2 TO Z2 STORE V3 + Z3 TO Z3 STORE V4 + Z4 TO Z4 STORE V5 + Z5 TO Z5 STORE V6 + Z6 TO Z6 STORE V7 + Z7 TO Z7 STORE V8 + Z8 TO Z8 STORE V9 + Z9 TO Z9 STORE V10 + Z10 TO Z10 STORE V11 + Z11 TO Z11 STORE V12 + Z12 TO Z12 STORE V13 + Z13 TO Z13 STORE V14 + Z14 TO Z14 STORE V15 + Z15 TO Z15 STORE V16 + Z16 TO Z16 STORE V17 + Z17 TO Z17 STORE V18 + Z18 TO Z18 STORE V19 + Z19 TO Z19 STORE V20 + Z20 TO Z20 * impression du nom du faritany. SET PRINT ON ?? CHR(15) DO CHX_FAR * impression des résultats par faritany. SET PRINT ON SET CONSOLE OFF ?? CHR(15) ?? " Quantité"+STR(Q1,8)+STR(Q2,8)+STR(Q3,8)+" | "+STR(Q4,8)+STR(Q5,8); +STR(Q6,8)+" | "+STR(Q7,8)+STR(Q8,8)+STR(Q9,8)+" | "+STR(Q10,8)+STR(Q11,8); +" | "+STR(Q12,8)+" | "+STR(Q13,8)+" | "+STR(Q14,8)+" | "+STR(Q15,8)+" | " ?? STR(Q16,8)+" | "+STR(Q17,8)+" | "+STR(Q18,8)+" | "+STR(Q19,8)+" | "; +STR(Q20,14)+" | " ? " | "+SPACE(16)+"Valeur|"+STR(V1/1000,8)+STR(V2/1000,8)+STR(V3/1000,8)+" | "; +STR(V4/1000,8)+STR(V5/1000,8)+STR(V6/1000,8)+" | "+STR(V7/1000,8); +STR(V8/1000,8)+STR(V9/1000,8)+" | "+STR(V10/1000,8)+STR(V11/1000,8)+" | "; ?? STR(V12/1000,8)+" | "+STR(V13/1000,8)+" | "+STR(V14/1000,8)+" | "; +STR(V15/1000,8)+" | "+STR(V16/1000,8)+" | "+STR(V17/1000,8)+" | "; +STR(V18/1000,8)+" | "+STR(V19/1000,8)+" | "+STR(V20/1000,14)+" | " SET PRINT OFF DO LINE_2 STORE Comp + 1 TO Comp STORE Teller + 1 TO Teller * arrangements pour terminer/reprendre la boucle des faritany. IF Teller = 7 STORE 0 TO Teller ENDIF ENDDO &&Comp<7 * impression des résultats totaux. DO LINE 2 SET PRINT ON ?? CHR(15) ? "| TOTAUX" ?? SPACE(6)+"Quantité|"+STR(T1,8)+STR(T2,8)+STR(T3,8)+" | "+STR(T4,8); +STR(T5,8)+STR(T6,8)+" | "+STR(T7,8)+STR(T8,8)+STR(T9,8)+" | "+STR(T10,8); +STR(T11,8)+" | "+STR(T12,8)+" | "+STR(T13,8)+" | "+STR(T14,8)+" | " ?? STR(T15,8)+" | "+STR(T16,8)+" | "+STR(T17,8)+" | "+STR(T18,8)+" | "; +STR(T19,8)+" | "+STR(T20,14)+" | " ? "|"+SPACE(16)+"Valeur |"+STR(Z1/1000,8)+STR(Z2/1000,8)+STR(Z3/1000,8)+" | "; +STR(Z4/1000,8)+STR(Z5/1000,8)+STR(Z6/1000,8)+" | "+STR(Z7/1000,8); +STR(Z8/1000,8)+STR(Z9/1000,8)+" | "+STR(Z10/1000,8)+STR(Z11/1000,8)+" | " ?? STR(Z12/1000,8)+" | "+STR(Z13/1000,8)+" | "+STR(Z14/1000,8)+" | "; +STR(Z15/1000,8)+" | "+STR(Z16/1000,8)+" | "+STR(Z17/1000,8)+" | "; +STR(Z18/1000,8)+" | "+STR(Z19/1000,8)+" | "+STR(Z20/1000,14)+" | " SET PRINT OFF DO LINE_2 SET PRINT ON EJECT SET PRINT OFF * mise à zéro des variables de travail. STORE 0 TO T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 STORE 0 TO T19,T20,Z19,Z20 STORE 0 TO Z1,Z2,Z3,Z4,Z5,Z6,Z7,Z8,Z9,Z10,Z11,Z12,Z13,Z14,Z15,Z16,Z17,Z18 STORE 1 TO Comp STORE Count + 1 TO Count * arrangements pour terminer/reprendre la boucle des faritany. IF Count > 6 STORE Teller + 12 TO Teller ELSE STORE Teller + 1 TO Teller ENDIF ENDDO &&Teller < 7 STORE 1 TO Teller,Comp STORE Count + 1 TO Count * arrangements pour terminer la routine principale. IF Count < 7 STORE .T. TO Process ELSE STORE .F. TO Process ENDIF ENDDO &&Process USE RELEASE ALL RETURN * retour au menu.
************************************************************************************************
Ce programme calcule par année les exportations hors faritany par nature des
produits et présente la ventilation des produits par faritany d'origine
et par pays de destination.
Les résultats sont présentés annuellement par faritany.
************************************************************************************************
* initialisation du programme. SET CONSOLE OFF SET TALK OFF CLEAR STORE '1' TO Part STORE 1 TO Teller STORE 1 TO Comp, Count STORE .T. TO Process USE C:ZANTA.DBF COPY STRUCTURE TO C:ZTOTAL USE * boucle principale. DO WHILE Process * initialisation des variables de travail à zéro. STORE 0 TO T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 STORE 0 TO T19,T20,Z19,Z20 STORE 0 TO Z1,Z2,Z3,Z4,Z5,Z6,Z7,Z8,Z9,Z10,Z11,Z12,Z13,Z14,Z15,Z16,Z17,Z18 * boucle des six faritany. DO WHILE Teller < 7 * impression de l'entête. DO SET_2 UP DO Line_2 * sélection des fichiers à utiliser. DO CASE CASE Count = 1 STORE "C:ZANTA" TO Base CASE Count = 2 STORE "C:ZANTS" TO Base CASE Count = 3 STORE "C:ZFIAN" TO Base CASE Count = 4 STORE "C:ZMAHA" TO Base CASE Count = 5 STORE "C:ZTOAM" TO Base CASE Count = 6 STORE "C:ZTULE" TO Base ENDCASE * boucle des pays d'exportation. DO WHILE COMP < 19 DO CASE CASE Comp = 1 STORE '702' TO X CASE Comp = 2 STORE '703' TO X CASE Comp = 3 STORE '704' TO X CASE Comp = 4 STORE '705' TO X CASE Comp = 5 STORE '706' TO X CASE Comp = 6 STORE '707' TO X CASE Comp = 7 STORE '708' TO X CASE Comp = 8 STORE '709' TO X CASE Comp = 9 STORE '710' TO X CASE Comp = 10 STORE '711' TO X CASE Comp = 12 STORE '713' TO X CASE Comp = 13 STORE '714' TO X CASE Comp = 14 STORE '715' TO X CASE Comp = 15 STORE '716' TO X CASE Comp = 16 STORE '717' TO X CASE Comp = 17 STORE '718' TO X CASE Comp = 18 STORE '719' TO X ENDCASE * calcul des résultats d'exportation. USE C:ZTOTAL.DBF APPEND FROM & Base FOR (DESTIN = X) USE USE C:ZTOTAL STORE 0 TO Q1,Q2,Q3,Q4,Q5,Q6,Q7,Q8,Q9,Q10,Q11,Q12,Q13,Q14,Q15,Q16,Q17,Q18 STORE 0 TO Q19,Q20,V1,V2,V3,V4,V5,V6,V7,V8,V9,V10,V11,V12,V13,V14,V15,V16 STORE 0 TO V17,V18,V19,V20 SUM QUANTITE,VALEUR TO Q1,V1 FOR (NAT_PROD ="01') SUM QUANTITE,VALEUR TO Q2,V2 FOR (NAT_PROD ="02') SUM QUANTITE,VALEUR TO Q3,V3 FOR (NAT_PROD ="03') SUM QUANTITE,VALEUR TO Q4,V4 FOR (NAT_PROD ="04') SUM QUANTITE,VALEUR TO Q5,V5 FOR (NAT_PROD ="05') SUM QUANTITE,VALEUR TO Q6,V6 FOR (NAT_PROD ="06') SUM QUANTITE,VALEUR TO Q7,V7 FOR (NAT_PROD ="07') SUM QUANTITE,VALEUR TO Q8,V8 FOR (NAT_PROD ="08') SUM QUANTITE,VALEUR TO Q9,V9 FOR (NAT_PROD ="09') SUM QUANTITE,VALEUR TO Q10,V10 FOR (NAT_PROD ="10') SUM QUANTITE,VALEUR TO Q11,V11 FOR (NAT_PROD ="11') SUM QUANTITE,VALEUR TO Q12,V12 FOR (NAT_PROD ="12') SUM QUANTITE,VALEUR TO Q13,V13 FOR (NAT_PROD ="13') SUM QUANTITE,VALEUR TO Q14,V14 FOR (NAT_PROD ="14') SUM QUANTITE,VALEUR TO Q15,V15 FOR (NAT_PROD ="15') SUM QUANTITE,VALEUR TO Q16,V16 FOR (NAT_PROD ="16') SUM QUANTITE,VALEUR TO Q17,V17 FOR (NAT_PROD ="17') SUM QUANTITE,VALEUR TO Q18,V18 FOR (NAT_PROD ="18') SUM QUANTITE,VALEUR TO Q19,V19 FOR (NAT_PROD ="19') SUM QUANTITE,VALEUR TO Q20,V20 DELETE ALL PACK USE &&close * utilisation de variables pour calcul de total plus rapide. STORE Q1 + T1 TO T1 STORE Q2 + T2 TO T2 STORE Q3 + T3 TO T3 STORE Q4 + T4 TO T4 STORE Q5 + T5 TO T5 STORE Q6 + T6 TO T6 STORE Q7 + T7 TO T7 STORE Q8 + T8 TO T8 STORE Q9 + T9 TO T9 STORE Q10 + T10 TO T10 STORE Q11 + T11 TO T11 STORE Q12 + T12 TO T12 STORE Q13 + T13 TO T13 STORE Q14 + T14 TO T14 STORE Q15 + T15 TO T15 STORE Q16 + T16 TO T16 STORE Q17 + T17 TO T17 STORE Q18 + T18 TO T18 STORE Q19 + T19 TO T19 STORE Q20 + T20 TO T20 STORE V1 + Z1 TO Z1 STORE V2 + Z2 TO Z2 STORE V3 + Z3 TO Z3 STORE V4 + Z4 TO Z4 STORE V5 + Z5 TO Z5 STORE V6 + Z6 TO Z6 STORE V7 + Z7 TO Z7 STORE V8 + Z8 TO Z8 STORE V9 + Z9 TO Z9 STORE V10 + Z10 TO Z10 STORE V11 + Z11 TO Z11 STORE V12 + Z12 TO Z12 STORE V13 + Z13 TO Z13 STORE V14 + Z14 TO Z14 STORE V15 + Z15 TO Z15 STORE V16 + Z16 TO Z16 STORE V17 + Z17 TO Z17 STORE V18 + Z18 TO Z18 STORE V19 + Z19 TO Z19 STORE V20 + Z20 TO Z20 * si valeurs sont positives, impression des résultats par pays. IF (Q20 > 0 .OR. V20 > 0) * impression du nom du pays d'exportation.. SET PRINT ON ?? CHR(15) DO CHX_PAYS * impression des résultats par pays d'exportation. SET PRINT ON SET CONSOLE OFF ?? CHR(15) ?? " Quantité|"+STR(Q1,8)+STR(Q2,8)+STR(Q3,8)+" | "+STR(Q4,8)+STR(Q5,9); +STR(Q6,8)+" | "+STR(Q7,8)+STR(Q8,8)+STR(Q9,8)+" | "+STR(Q10,8)+STR(Q11,8); +" | "+STR(Q12,8)+" | "+STR(Q13,8)+" | "+STR(Q14,8)+" | "+STR(Q15,8)+" | "; ?? STR(Q16,8)+" | "+STR(Q17,8)+" | "+STR(Q18,8)+" | "+STR(Q19,8)+" | "; +STR(Q20,14)+" | " ? " | "+SPACE(16)+"Valeur|"+STR(V1/1000,8)+STR(V2/1000,8)+STR(V3/1000,8)+" | "; +STR(V4/1000,8)+STR(V5/1000,8)+STR(V6/1000,8)+" | "+STR(V7/1000,8); +STR(V8/1000,8)+STR(V9/1000,8)+" | "+STR(V10/1000,8)+STR(V11/1000,8)+" | "; ?? STR(V12/1000,8)+" | "+STR(V13/1000,8)+" | "+STR(V14/1000,8)+" | "; +STR(V15/1000,8)+" | "+STR(V16/1000,8)+" | "+STR(V17/1000,8)+" | "; +STR(V18/1000,8)+" | "+STR(V19/1000,8)+" | "+STR(V20/1000,14)+" | " SET PRINT OFF DO LINE_2 ENDIF * passage au pays d'exportation suivant. STORE Comp + 1 TO Comp STORE Teller + 1 TO Teller IF Teller = 7 STORE 0 TO Teller ENDIF ENDDO &&Comp<19 * fin de boucle des pays d'exportation.
************************************************************************************************
Ce sous-programme change les valeurs zéro des produits halieutiques des cos
par des prix moyens au kilo comme disponible à partir des quelques cos
mentionant les prix au kilo par site de délivrance des cos.
Les prix moyens en FMG se réfèrent ainsi au prix pratiqué dans chaque site
de délivrance de cos.
************************************************************************************************
* initialisation et présentation d'un menu. STORE SPACE(1) TO Prix CLEAR @ 5,18 SAY "AJUSTEMENT DES VALEURS <0>" @ 6,18 SAY "**************************" @ 8,15 SAY "FARITANY → ANTANANARIVO -1-" @ 9,15 SAY " → ANTSIRANANA -2-" @ 10,15 SAY " → FIANARANTSOA -3-" @ 11,15 SAY " → MAHAJANGA -4-" @ 12,15 SAY " → TOAMASINA -5-" @ 13,15 SAY " → TULEAR -6-" @ 14,10 SAY "Pour quel FARITANY voulez-vous ajuster les PRIX ? " Get Prix @ 4,8 TO 16,65 DOUBLE READ CLEAR * sélection des fichiers en fonction du choix effectué. DO CASE CASE Prix ="1' USE A:COS ANTA CASE Prix ="2' USE A:COS ANTS CASE Prix ="3' USE A:COS FIAN CASE Prix ="4' USE A:COS MAHA CASE Prix ="5' USE A:COS TOAM CASE Prix ="6' USE A:COS_TULE OTHERWISE RELEASE ALL RETURN ENDCASE * transfert des données sur disque dur sur deux fichiers; l'un comprenant * les données avec valeurs, l'autre celles sans valeurs. COPY STRUCTURE TO C:PRX_1_AJU COPY STRUCTURE TO C:PRX_2_AJU USE * fichier avec données à valeurs = 0. USE C:PRX_1_AJU DO CASE CASE Prix ="1' APPEND FROM A:COS_ANTA FOR VALEUR =0 CASE Prix ="2' APPEND FROM A:COS_ANTS FOR VALEUR =0 CASE Prix ="3' APPEND FROM A:COS_FIAN FOR VALEUR =0 CASE Prix ="4' APPEND FROM A:COS_MAHA FOR VALEUR =0 CASE Prix ="5' APPEND FROM A:COS_TOAM FOR VALEUR =0 CASE Prix ="6' APPEND FROM A:COS_TULE FOR VALEUR =0 OTHERWISE * impression des totaux par faritany. DO LINE 2 SET PRINT ON ?? CHR(15) ? "| TOTAUX" ?? SPACE(6)+"Quantité|"+STR(T1,8)+STR(T2,8)+STR(T3,8)+" | "+STR(T4,8); +STR(T5,9)+STR(T6,8)+" | "+STR(T7,8)+STR(T8,8)+STR(T9,8)+" | "+STR(T10,8); +STR(T11,8)+" | "+STR(T12,8)+" | "+STR(T13,8)+" | "+STR(T14,8)+" | "; ?? STR(T15,8)+" | "+STR(T16,8)+" | "+STR(T17,8)+" | "+STR(T18,8)+" | "; +STR(T19,8)+" | "+STR(T20,14)+" | "; ? " | "+SPACE(16)+"Valeur|"+STR(Z1/1000,8)+STR(Z2/1000,8)+STR(Z3/1000,8)+" | "; +STR(Z4/1000,8)+STR(Z5/1000,9)+STR(Z6/1000,8)+" | "+STR(Z7/1000,8); +STR(Z8/1000,8)+STR(Z9/1000,8)+" | "+STR(Z10/1000,8)+STR(Z11/1000,8)+" | "; ?? STR(Z12/1000,8)+" | "+STR(Z13/1000,8)+" | "+STR(Z14/1000,8)+" | "; +STR(Z15/1000,8)+" | "+STR(Z16/1000,8)+" | "+STR(Z17/1000,8)+" | "; +STR(Z18/1000,8)+" | "+STR(Z19/1000,8)+" | "+STR(Z20/1000,14)+" | "; SET PRINT OFF DO LINE 2 SET PRINT ON EJECT SET PRINT OFF * remise à zéro des variables de travail. STORE 0 TO T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 STORE 0 TO T19,T20,Z19,Z20 STORE 0 TO Z1,Z2,Z3,Z4,Z5,Z6,Z7,Z8,Z9,Z10,Z11,Z12,Z13,Z14,Z15,Z16,Z17,Z18 * passage au faritany suivant avec remise à 1 du compteur des pays. STORE 1 TO Comp STORE Count + 1 TO Count IF Count > 6 STORE Teller + 12 TO Teller ELSE STORE Teller + 1 TO Teller ENDIF ENDDO &&Teller <7 * fin de boucle des six faritany. STORE 1 TO Teller, Comp STORE Count + 1 TO Count * arrangement pour terminer la routine. IF Count < 7 STORE .T. TO Process ELSE STORE .F. TO Process ENDIF ENDDO && Process * fin de la boucle principale. USE RELEASE ALL RETURN * retour au menu. RELEASE ALL USE RETURN ENDCASE USE * fichier avec données à valeurs positives. USE C:PRX_2_AJU DO CASE CASE Prix ="1' APPEND FROM A:COS_ANTA FOR VALEUR > 0 CASE Prix ="2' APPEND FROM A:COS_ANTS FOR VALEUR > 0 CASE Prix ="3' APPEND FROM A:COS_FIAN FOR VALEUR > 0 CASE Prix ="4' APPEND FROM A:COS_MAHA FOR VALEUR > 0 CASE Prix ="5' APPEND FROM A:COS_TOAM FOR VALEUR > 0 CASE Prix ="6' APPEND FROM A:COS_TULE FOR VALEUR > 0 OTHERWISE RELEASE ALL RETURN ENDCASE USE * pour le fichier contenant données à valeurs = 0, on remplace la valeur * zéro par le prix moyen au kilo pratiqué dans le faritany (calculé à partir * du programme AVRG COMMAND FILE. USE C:PRX_1_AJU GO TOP * boucle de transformation / remplacement des valeur zéro. DO WHILE .NOT. EOF() SET CONSOLE ON SET TALK ON * sélection des sous-routines d'ajustement des valeurs. DO CASE CASE Prix ="5' &&Toamasina DO AJU_5_PR CASE Prix ="1' &&Antananarivo DO AJU_1_PR CASE Prix ="2' &&Antsiranana DO AJU_2_PR CASE Prix ="3' &&Fianarantsoa DO AJU_3_PR CASE Prix ="4' &&Mahajanga DO AJU_4_PR CASE Prix ="6' &&Tulear DO AJU_6_PR OTHERWISE RELEASE ALL USE RETURN ENDCASE ENDDO USE * préparation au transfert des données valorisées vers une nouvelle disquette * allant recevoir les deux fichiers créés plus haut. SET BELL ON CLEAR ? CHR(7) ? CHR(7) @ 10,10 SAY "Insérrez la disquette devant recevoir le fichier avec valeurs" @ 11,10 SAY "ajustées …" ? CHR(7) ? CHR(7) WAIT CLEAR DO CASE CASE Prix ="1' USE A:COS_ANTA CASE Prix ="2' USE A:COS_ANTS CASE Prix ="3' USE A:COS_FIAN CASE Prix ="4' USE A:COS_MAHA CASE Prix ="5' USE A:COS_TOAM CASE Prix ="6' USE A:COS_TULE OTHERWISE RELEASE ALL RETURN ENDCASE * destruction des données se trouvant sur la disquette recevant les données * avec valeurs converties. SET SAFETY OFF ZAP * ajouts des données avec valeurs positives sur la nouvelle disquette. APPEND FROM C:PRX_1_AJU APPEND FROM C:PRX_2_AJU USE * remise à l'état d'origine. DELETE FILE C:PRX_1_AJU.DBF DELETE FILE C:PRX_2_AJU.DBF SET SAFETY ON RELEASE ALL RETURN * retour au menu des totaux globaux.
***********************************************************************************************
Ce sous-programme change les valeurs zéro des produits halieutiques des cos
par des prix moyens au kilo comme disponible à partir des quelques cos
mentionant les prix au kilo pour le faritany de TULEAR.
************************************************************************************************
DO CASE * poissons entiers. CASE NAT_PROD ="01' DO CASE CASE CONSERV ="01' REPLACE VALEUR WITH QUANTITE * 650 CASE CONSERV ="02' REPLACE VALEUR WITH QUANTITE * 700 CASE CONSERV ="03' REPLACE VALEUR WITH QUANTITE * 676 ENDCASE * poissons éviscérés. CASE NAT_PROD ="02' DO CASE CASE CONSERV ="04' REPLACE VALEUR WITH QUANTITE * 580 CASE CONSERV ="05' REPLACE VALEUR WITH QUANTITE * 750 CASE CONSERV ="06' REPLACE VALEUR WITH QUANTITE * 860 CASE CONSERV ="07' REPLACE VALEUR WITH QUANTITE * 860 ENDCASE * poissons filetés. CASE NAT_PROD ="03' DO CASE CASE CONSERV ="08' REPLACE VALEUR WITH QUANTITE * 2000 CASE CONSERV ="09' REPLACE VALEUR WITH QUANTITE * 938 CASE CONSERV ="10' REPLACE VALEUR WITH QUANTITE * 1350 ENDCASE * crevettes/camarons entiers. CASE NAT_PROD ="04' DO CASE CASE CONSERV ="11' REPLACE VALEUR WITH QUANTITE * 1250 CASE CONSERV ="12' REPLACE VALEUR WITH QUANTITE * 1000 CASE CONSERV ="13' REPLACE VALEUR WITH QUANTITE * 1500 ENDCASE * crevettes/camarons étêtés. CASE NAT_PROD ="05' DO CASE CASE CONSERV ="14' REPLACE VALEUR WITH QUANTITE * 1500 CASE CONSERV ="15' REPLACE VALEUR WITH QUANTITE * 2500 CASE CONSERV ="16' REPLACE VALEUR WITH QUANTITE * 2500 ENDCASE * crevettes/camarons décortiqués. CASE NAT_PROD ="06' DO CASE CASE CONSERV ="17' REPLACE VALEUR WITH QUANTITE * 2500 CASE CONSERV ="18' REPLACE VALEUR WITH QUANTITE * 2500 ENDCASE * crabes entiers. CASE NAT_PROD ="07' DO CASE CASE CONSERV ="19' REPLACE VALEUR WITH QUANTITE * 1650 CASE CONSERV ="20' REPLACE VALEUR WITH QUANTITE * 1000 ENDCASE * crabes morceaux. CASE NAT_PROD ="08' REPLACE VALEUR WITH QUANTITE * 1800 * crabes décortiqués. CASE NAT_PROD ="09' REPLACE VALEUR WITH QUANTITE * 1250 * langoustes entières. CASE NAT_PROD ="10' DO CASE CASE CONSERV ="23' REPLACE VALEUR WITH QUANTITE * 3517 CASE CONSERV ="24' REPLACE VALEUR WITH QUANTITE * 7816 CASE CONSERV ="25' REPLACE VALEUR WITH QUANTITE * 4350 ENDCASE * langoustes gueues. CASE NAT_PROD ="11' REPLACE VALEUR WITH QUANTITE * 7340 * céphalopdes entiers. CASE NAT_PROD ="12' DO CASE CASE CONSERV ="27' REPLACE VALEUR WITH QUANTITE * 850 CASE CONSERV ="28' REPLACE VALEUR WITH QUANTITE * 850 CASE CONSERV ="29' REPLACE VALEUR WITH QUANTITE * 850 ENDCASE * chevaquine. CASE NAT_PROD ="13' REPLACE VALEUR WITH QUANTITE * 1750 * algues. CASE NAT_PROD ="14' REPLACE VALEUR WITH QUANTITE * 679 * trépang. CASE NAT_PROD ="15' REPLACE VALEUR WITH QUANTITE * 7280 * bichique. CASE NAT_PROD ="16' DO CASE CASE CONSERV ="33' REPLACE VALEUR WITH QUANTITE * 2000 CASE CONSERV ="34' REPLACE VALEUR WITH QUANTITE * 800 ENDCASE * mollusques. CASE NAT_PROD ="17' REPLACE VALEUR WITH QUANTITE * 4150 * ailerons de requins. CASE NAT_PROD ="18' REPLACE VALEUR WITH QUANTITE * 14195 * autres. CASE NAT_PROD ="19' REPLACE VALEUR WITH QUANTITE * 6046 OTHERWISE * pour changer des codes ne correspondant pas aux codes ci-hauts. EDIT ENDCASE SKIP RETURN * retour au programme AJU_PRIX.
**********************************************************************************************
Ce sous-programme change les valeurs zéro des produits halieutiques des cos
par des prix moyens au kilo comme disponible à partir des quelques cos
mentionant les prix au kilo pour le faritany de MAHAJANGA.
***********************************************************************************************
DO CASE * poissons entiers. CASE NAT_PROD ="01' DO CASE CASE CONSERV ="01' REPLACE VALEUR WITH QUANTITE * 2619 CASE CONSERV ="02' REPLACE VALEUR WITH QUANTITE * 2100 CASE CONSERV ="03' REPLACE VALEUR WITH QUANTITE * 850 ENDCASE * poissons éviscérés. CASE NAT_PROD ="02' DO CASE CASE CONSERV ="04' REPLACE VALEUR WITH QUANTITE * 3358 CASE CONSERV ="05' REPLACE VALEUR WITH QUANTITE * 850 CASE CONSERV ="06' REPLACE VALEUR WITH QUANTITE * 950 CASE CONSERV ="07' REPLACE VALEUR WITH QUANTITE * 2290 ENDCASE * poissons filetés. CASE NAT_PROD ="03' DO CASE CASE CONSERV ="08' REPLACE VALEUR WITH QUANTITE * 4016 CASE CONSERV ="09' REPLACE VALEUR WITH QUANTITE * 4829 CASE CONSERV ="10' REPLACE VALEUR WITH QUANTITE * 1350 ENDCASE * crevettes/camarons entiers. CASE NAT_PROD ="04' DO CASE CASE CONSERV ="11' REPLACE VALEUR WITH QUANTITE * 7619 CASE CONSERV ="12' REPLACE VALEUR WITH QUANTITE * 1600 CASE CONSERV ="13' REPLACE VALEUR WITH QUANTITE * 1250 ENDCASE * crevettes/camarons étêtés. CASE NAT_PROD ="05' DO CASE CASE CONSERV ="14' REPLACE VALEUR WITH QUANTITE * 7813 CASE CONSERV ="15' REPLACE VALEUR WITH QUANTITE * 2500 CASE CONSERV ="16' REPLACE VALEUR WITH QUANTITE * 2500 ENDCASE * crevettes/camarons décortiqués. CASE NAT_PROD ="06' DO CASE CASE CONSERV ="17' REPLACE VALEUR WITH QUANTITE * 2500 CASE CONSERV ="18' REPLACE VALEUR WITH QUANTITE * 2500 ENDCASE * crabes entiers. CASE NAT_PROD ="07' DO CASE CASE CONSERV ="19' REPLACE VALEUR WITH QUANTITE * 4632 CASE CONSERV ="20' REPLACE VALEUR WITH QUANTITE * 850 ENDCASE * crabes morceaux. CASE NAT_PROD ="08' REPLACE VALEUR WITH QUANTITE * 4243 * crabes décortiqués. CASE NAT_PROD ="09' REPLACE VALEUR WITH QUANTITE * 10878 * langoustes entières. CASE NAT_PROD ="10' DO CASE CASE CONSERV ="23' REPLACE VALEUR WITH QUANTITE * 2350 CASE CONSERV ="24' REPLACE VALEUR WITH QUANTITE * 9800 CASE CONSERV ="25' REPLACE VALEUR WITH QUANTITE * 2350 ENDCASE * langoustes gueues. CASE NAT_PROD ="11' REPLACE VALEUR WITH QUANTITE * 17243 * céphalopodes entiers. CASE NAT_PROD ="12' DO CASE CASE CONSERV ="27' REPLACE VALEUR WITH QUANTITE * 850 CASE CONSERV ="28' REPLACE VALEUR WITH QUANTITE * 850 CASE CONSERV ="29' REPLACE VALEUR WITH QUANTITE * 850 ENDCASE * chevaquines. CASE NAT_PROD ="13' REPLACE VALEUR WITH QUANTITE * 2795 * algues. CASE NAT_PROD ="14' REPLACE VALEUR WITH QUANTITE * 679 * trépang. CASE NAT_PROD ="15' REPLACE VALEUR WITH QUANTITE * 3466 * bichique. CASE NAT_PROD ="16' DO CASE CASE CONSERV ="33' REPLACE VALEUR WITH QUANTITE * 1200 CASE CONSERV ="34' REPLACE VALEUR WITH QUANTITE * 1900 ENDCASE * mollusques. CASE NAT_PROD ="17' REPLACE VALEUR WITH QUANTITE * 650 * ailerons de requins. CASE NAT_PROD ="18' REPLACE VALEUR WITH QUANTITE * 1400 * autres. CASE NAT_PROD ="19' REPLACE VALEUR WITH QUANTITE * 1700 * pour changer des codes ne correspondant pas aux codes ci-hauts. OTHERWISE EDIT ENDCASE SKIP RETURN * retour au programme AJU_PRIX.
************************************************************************************************
Ce sous-programme change les valeurs zéro des produits halieutiques des cos
par des prix moyens au kilo comme disponible à partir des quelques cos
mentionant les prix au kilo pour le faritany de FIANARANTSOA.
************************************************************************************************
DO CASE * poissons entiers. CASE NAT_PROD ="01' DO CASE CASE CONSERV ="01' REPLACE VALEUR WITH QUANTITE * 600 CASE CONSERV ="02' REPLACE VALEUR WITH QUANTITE * 600 CASE CONSERV ="03' REPLACE VALEUR WITH QUANTITE * 650 ENDCASE * poissons éviscérés. CASE NAT_PROD ="02' DO CASE CASE CONSERV ="04' REPLACE VALEUR WITH QUANTITE * 600 CASE CONSERV ="05' REPLACE VALEUR WITH QUANTITE * 650 CASE CONSERV ="06' REPLACE VALEUR WITH QUANTITE * 700 CASE CONSERV ="07' REPLACE VALEUR WITH QUANTITE * 700 ENDCASE * poissons filetés. CASE NAT_PROD ="03' DO CASE CASE CONSERV ="08' REPLACE VALEUR WITH QUANTITE * 700 CASE CONSERV ="09' REPLACE VALEUR WITH QUANTITE * 700 CASE CONSERV ="10' REPLACE VALEUR WITH QUANTITE * 700 ENDCASE * crevettes/camarons entiers. CASE NAT_PROD ="04' DO CASE CASE CONSERV ="11' REPLACE VALEUR WITH QUANTITE * 1400 CASE CONSERV ="12' REPLACE VALEUR WITH QUANTITE * 1500 CASE CONSERV ="13' REPLACE VALEUR WITH QUANTITE * 1500 ENDCASE * crevettes/camarons étêtés. CASE NAT_PROD ="05' DO CASE CASE CONSERV ="14' REPLACE VALEUR WITH QUANTITE * 1850 CASE CONSERV ="15' REPLACE VALEUR WITH QUANTITE * 1500 CASE CONSERV ="16' REPLACE VALEUR WITH QUANTITE * 1500 ENDCASE * crevettes/camarons décotiqués. CASE NAT_PROD ="06' DO CASE CASE CONSERV ="17' REPLACE VALEUR WITH QUANTITE * 1500 CASE CONSERV ="18' REPLACE VALEUR WITH QUANTITE * 1500 ENDCASE * crabes entiers. CASE NAT_PROD ="07' DO CASE CASE CONSERV ="19' REPLACE VALEUR WITH QUANTITE * 480 CASE CONSERV ="20' REPLACE VALEUR WITH QUANTITE * 480 ENDCASE * crabes morceaux. CASE NAT_PROD ="08' REPLACE VALEUR WITH QUANTITE * 480 * crabes décotiqués. CASE NAT_PROD ="09' REPLACE VALEUR WITH QUANTITE * 480 * langoustes entiéres. CASE NAT_PROD ="10' DO CASE CASE CONSERV ="23' REPLACE VALEUR WITH QUANTITE * 1500 CASE CONSERV ="24' REPLACE VALEUR WITH QUANTITE * 1500 CASE CONSERV ="25' REPLACE VALEUR WITH QUANTITE * 1500 ENDCASE * langoustes gueues. CASE NAT_PROD ="11' REPLACE VALEUR WITH QUANTITE * 2000 * céphalopodes entiers. CASE NAT_PROD ="12' DO CASE CASE CONSERV ="27' REPLACE VALEUR WITH QUANTITE * 850 CASE CONSERV ="28' REPLACE VALEUR WITH QUANTITE * 850 CASE CONSERV ="29' REPLACE VALEUR WITH QUANTITE * 850 ENDCASE * chevaquines. CASE NAT_PROD ="13' REPLACE VALEUR WITH QUANTITE * 900 * algues. CASE NAT_PROD ="14' REPLACE VALEUR WITH QUANTITE * 650 * trépang. CASE NAT PROD ="15' REPLACE VALEUR WITH QUANTITE * 1850 * bichique. CASE NAT_PROD ="16' DO CASE CASE CONSERV ="33' REPLACE VALEUR WITH QUANTITE * 1200 CASE CONSERV ="34' REPLACE VALEUR WITH QUANTITE * 1200 ENDCASE * mollusques. CASE NAT PROD ="17' REPLACE VALEUR WITH QUANTITE * 450 * ailerons de requins. CASE NAT PROD ="18' REPLACE VALEUR WITH QUANTITE * 1850 * autres. CASE NAT PROD ="19' REPLACE VALEUR WITH QUANTITE * 1300 OTHERWISE * pour changer des codes ne correspondant pas aux codes ci-hauts. EDIT ENDCASE SKIP RETURN * retour au programme AJU_PRIX.
***********************************************************************************************
Ce sous-programme change les valeurs zéro des produits halieutiques des cos
par des prix moyens au kilo comme disponible à partir des quelques cos
mentionant les prix au kilo pour le faritany de ANTANANARIVO.
***********************************************************************************************
DO CASE * poissons entiers. CASE NAT_PROD ="01' DO CASE CASE CONSERV ="01' REPLACE VALEUR WITH QUANTITE * 1500 CASE CONSERV ="02' REPLACE VALEUR WITH QUANTITE * 1500 CASE CONSERV ="03' REPLACE VALEUR WITH QUANTITE * 2400 ENDCASE * poissons éviscérés. CASE NAT_PROD ="02' DO CASE CASE CONSERV ="04' REPLACE VALEUR WITH QUANTITE * 1600 CASE CONSERV ="05' REPLACE VALEUR WITH QUANTITE * 3000 CASE CONSERV ="06' REPLACE VALEUR WITH QUANTITE * 4500 CASE CONSERV ="07' REPLACE VALEUR WITH QUANTITE * 2400 ENDCASE * poissons filetés. CASE NAT_PROD ="03' DO CASE CASE CONSERV ="08' REPLACE VALEUR WITH QUANTITE * 4000 CASE CONSERV ="09' REPLACE VALEUR WITH QUANTITE * 4500 CASE CONSERV ="10' REPLACE VALEUR WITH QUANTITE * 3500 ENDCASE * crevettes/camarons entiers. CASE NAT_PROD ="04' DO CASE CASE CONSERV ="11' REPLACE VALEUR WITH QUANTITE * 10600 CASE CONSERV ="12' REPLACE VALEUR WITH QUANTITE * 2700 CASE CONSERV ="13' REPLACE VALEUR WITH QUANTITE * 3200 ENDCASE * crevettes/camarons étêtés. CASE NAT_PROD ="05' DO CASE CASE CONSERV ="14' REPLACE VALEUR WITH QUANTITE * 5950 CASE CONSERV ="15' REPLACE VALEUR WITH QUANTITE * 6000 CASE CONSERV ="16' REPLACE VALEUR WITH QUANTITE * 2500 ENDCASE * crevettes/camarons décortiqués. CASE NAT_PROD ="06' DO CASE CASE CONSERV ="17' REPLACE VALEUR WITH QUANTITE * 4500 CASE CONSERV ="18' REPLACE VALEUR WITH QUANTITE * 5500 ENDCASE * crabes entiers. CASE NAT_PROD ="07' DO CASE CASE CONSERV ="19' REPLACE VALEUR WITH QUANTITE * 1100 CASE CONSERV ="20' REPLACE VALEUR WITH QUANTITE * 1150 ENDCASE * crabes morceaux. CASE NAT_PROD ="08' REPLACE VALEUR WITH QUANTITE * 4857 * crabes décortiqués. CASE NAT_PROD ="09' REPLACE VALEUR WITH QUANTITE * 6900 * langoustes entières. CASE NAT_PROD ="10' DO CASE CASE CONSERV ="23' REPLACE VALEUR WITH QUANTITE * 7950 CASE CONSERV ="24' REPLACE VALEUR WITH QUANTITE * 14900 CASE CONSERV ="25' REPLACE VALEUR WITH QUANTITE * 4000 ENDCASE * langoustes queues. CASE NAT_PROD ="11' REPLACE VALEUR WITH QUANTITE * 15600 * céphalopodes entiers. CASE NAT_PROD ="12' DO CASE CASE CONSERV ="27' REPLACE VALEUR WITH QUANTITE * 1850 CASE CONSERV ="28' REPLACE VALEUR WITH QUANTITE * 1850 CASE CONSERV ="29' REPLACE VALEUR WITH QUANTITE * 1850 ENDCASE * chevaquine. CASE NAT_PROD ="13' REPLACE VALEUR WITH QUANTITE * 4800 * algues. CASE NAT_PROD ="14' REPLACE VALEUR WITH QUANTITE * 700 * trépang. CASE NAT_PROD ="15' REPLACE VALEUR WITH QUANTITE * 7280 * bichique. CASE NAT_PROD ="16' DO CASE CASE CONSERV ="33' REPLACE VALEUR WITH QUANTITE * 3200 CASE CONSERV ="34' REPLACE VALEUR WITH QUANTITE * 4000 ENDCASE * mollusques. CASE NAT_PROD ="17' REPLACE VALEUR WITH QUANTITE * 9500 * ailerons de requins. CASE NAT_PROD ="18' REPLACE VALEUR WITH QUANTITE * 4750 * autres. CASE NAT_PROD ="19' REPLACE VALEUR WITH QUANTITE * 4500 * permet de corriger les codes qui ne correspondent pas aux codes ci-hauts. OTHERWISE EDIT ENDCASE SKIP RETURN * retour au programme AJU_PRIX.
************************************************************************************************
Ce sous-programme change les valeurs zéro des produits halieutiques des cos
par des prix moyens au kilo comme disponible à partir des quelques cos
mentionant les prix au kilo pour le faritany d'ANTSIRANANA.
************************************************************************************************
* démarrage du sous-programme. DO CASE * poissons entiers. CASE NAT PROD ="01' DO CASE CASE CONSERV ="01' REPLACE VALEUR WITH QUANTITE * 600 CASE CONSERV ="02' REPLACE VALEUR WITH QUANTITE * 700 CASE CONSERV ="03' REPLACE VALEUR WITH QUANTITE * 1405 ENDCASE * poissons éviscérés. CASE NAT_PROD ="02' DO CASE CASE CONSERV ="04' REPLACE VALEUR WITH QUANTITE * 808 CASE CONSERV ="05' REPLACE VALEUR WITH QUANTITE * 560 CASE CONSERV ="06' REPLACE VALEUR WITH QUANTITE * 1375 CASE CONSERV ="07' REPLACE VALEUR WITH QUANTITE * 1474 ENDCASE * poissons filetés. CASE NAT_PROD ="03' DO CASE CASE CONSERV ="08' REPLACE VALEUR WITH QUANTITE * 1000 CASE CONSERV ="09' REPLACE VALEUR WITH QUANTITE * 1500 CASE CONSERV ="10' REPLACE VALEUR WITH QUANTITE * 1200 ENDCASE * crevettes/camarons entiers. CASE NAT_PROD ="04' DO CASE CASE CONSERV ="11' REPLACE VALEUR WITH QUANTITE * 2546 CASE CONSERV ="12' REPLACE VALEUR WITH QUANTITE * 1500 CASE CONSERV ="13' REPLACE VALEUR WITH QUANTITE * 1201 ENDCASE * crevettes/camarons étêtés.0 CASE NAT_PROD ="05' DO CASE CASE CONSERV ="14' REPLACE VALEUR WITH QUANTITE * 2544 CASE CONSERV ="15' REPLACE VALEUR WITH QUANTITE * 2500 CASE CONSERV ="16' REPLACE VALEUR WITH QUANTITE * 1472 ENDCASE * crevettes/camarons décortiqués. CASE NAT_PROD ="06' DO CASE CASE CONSERV ="17' REPLACE VALEUR WITH QUANTITE * 1500 CASE CONSERV ="18' REPLACE VALEUR WITH QUANTITE * 1500 ENDCASE * crabes entiers. CASE NAT_PROD ="07' DO CASE CASE CONSERV ="19' REPLACE VALEUR WITH QUANTITE * 483 CASE CONSERV ="20' REPLACE VALEUR WITH QUANTITE * 483 ENDCASE * crabes morceaux. CASE NAT_PROD ="08' REPLACE VALEUR WITH QUANTITE * 1399 * crabes décortiqués. CASE NAT_PROD ="09' REPLACE VALEUR WITH QUANTITE * 700 * langoustes entières. CASE NAT_PROD ="10' DO CASE CASE CONSERV ="23' REPLACE VALEUR WITH QUANTITE * 2350 CASE CONSERV ="24' REPLACE VALEUR WITH QUANTITE * 3000 CASE CONSERV ="25' REPLACE VALEUR WITH QUANTITE * 2350 ENDCASE * langoustes queues. CASE NAT_PROD ="11' REPLACE VALEUR WITH QUANTITE * 3400 * céphalopodes. CASE NAT_PROD ="12' DO CASE CASE CONSERV ="27' REPLACE VALEUR WITH QUANTITE * 850 CASE CONSERV ="28' REPLACE VALEUR WITH QUANTITE * 850 CASE CONSERV ="29' REPLACE VALEUR WITH QUANTITE * 3026 ENDCASE * chevaquine. CASE NAT_PROD ="13' REPLACE VALEUR WITH QUANTITE * 781 * algues. CASE NAT_PROD ="14' REPLACE VALEUR WITH QUANTITE * 679 * trépang. CASE NAT_PROD ="15' REPLACE VALEUR WITH QUANTITE * 2200 * bichique. CASE NAT_PROD ="16' DO CASE CASE CONSERV ="33' REPLACE VALEUR WITH QUANTITE * 1000 CASE CONSERV ="34' REPLACE VALEUR WITH QUANTITE * 1120 ENDCASE * mollusques. CASE NAT_PROD ="17' REPLACE VALEUR WITH QUANTITE * 1150 * ailerons de requins. CASE NAT_PROD ="18' REPLACE VALEUR WITH QUANTITE * 2850 * autres. CASE NAT_PROD ="19' REPLACE VALEUR WITH QUANTITE * 2000 * permet d'éditer l'enregistrement et de le modifier si ses codes ne * correspondent pas à l'un des codes ci-haut. OTHERWISE EDIT ENDCASE SKIP RETURN * retour au programme AJU_PRIX.
***********************************************************************************************
Ce sous-programme change les valeurs zéro des produits halieutiques des cos
par des prix moyens au kilo comme disponible à partir des quelques cos
mentionant les prix au kilo pour le faritany de TOAMASINA.
***********************************************************************************************
* démarrage du sous-programme. DO CASE * poissons entiers. CASE NAT_PROD ="01' DO CASE CASE CONSERV ="01' REPLACE VALEUR WITH QUANTITE * 981 CASE CONSERV ="02' REPLACE VALEUR WITH QUANTITE * 700 CASE CONSERV ="03' REPLACE VALEUR WITH QUANTITE * 200 ENDCASE * poissons éviscérés. CASE NAT_PROD ="02' DO CASE CASE CONSERV ="04' REPLACE VALEUR WITH QUANTITE * 1500 CASE CONSERV ="05' REPLACE VALEUR WITH QUANTITE * 1500 CASE CONSERV ="06' REPLACE VALEUR WITH QUANTITE * 3023 CASE CONSERV ="07' REPLACE VALEUR WITH QUANTITE * 1422 ENDCASE * poissons filetés. CASE NAT_PROD ="03' DO CASE CASE CONSERV ="08' REPLACE VALEUR WITH QUANTITE * 2004 CASE CONSERV ="09' REPLACE VALEUR WITH QUANTITE * 10000 CASE CONSERV ="10' REPLACE VALEUR WITH QUANTITE * 1750 ENDCASE * crevettes / camarons entiers. CASE NAT_PROD ="04' DO CASE CASE CONSERV ="11' REPLACE VALEUR WITH QUANTITE * 5301 CASE CONSERV ="12' REPLACE VALEUR WITH QUANTITE * 1350 CASE CONSERV ="13' REPLACE VALEUR WITH QUANTITE * 1595 ENDCASE * crevettes / camarons étêtés. CASE NAT_PROD ="05' DO CASE CASE CONSERV ="14' REPLACE VALEUR WITH QUANTITE * 4925 CASE CONSERV ="15' REPLACE VALEUR WITH QUANTITE * 4500 CASE CONSERV ="16' REPLACE VALEUR WITH QUANTITE * 1150 ENDCASE * crevettes / camarons décortiqués. CASE NAT_PROD ="06' DO CASE CASE CONSERV ="17' REPLACE VALEUR WITH QUANTITE * 4600 CASE CONSERV ="18' REPLACE VALEUR WITH QUANTITE * 3000 ENDCASE * crabes entiers. CASE NAT_PROD ="07' DO CASE CASE CONSERV ="19' REPLACE VALEUR WITH QUANTITE * 1100 CASE CONSERV ="20' REPLACE VALEUR WITH QUANTITE * 1000 ENDCASE * crabes morceaux. CASE NAT_PROD ="08' REPLACE VALEUR WITH QUANTITE * 1748 * crabes décortiqués. CASE NAT_PROD ="09' REPLACE VALEUR WITH QUANTITE * 3892 * langoustes entiéres. CASE NAT_PROD ="10' DO CASE CASE CONSERV ="23' REPLACE VALEUR WITH QUANTITE * 2350 CASE CONSERV ="24' REPLACE VALEUR WITH QUANTITE * 3011 CASE CONSERV ="25' REPLACE VALEUR WITH QUANTITE * 2000 ENDCASE * langoustes queues. CASE NAT_PROD ="11' REPLACE VALEUR WITH QUANTITE * 5575 * céphalopodes entiers. CASE NAT_PROD ="12' DO CASE CASE CONSERV ="27' REPLACE VALEUR WITH QUANTITE * 1233 CASE CONSERV ="28' REPLACE VALEUR WITH QUANTITE * 1250 CASE CONSERV ="29' REPLACE VALEUR WITH QUANTITE * 1167 ENDCASE * chevaquine. CASE NAT_PROD ="13' REPLACE VALEUR WITH QUANTITE * 3128 * algues. CASE NAT_PROD ="14' REPLACE VALEUR WITH QUANTITE * 679 * trépang. CASE NAT_PROD ="15' REPLACE VALEUR WITH QUANTITE * 3840 * bichique. CASE NAT_PROD ="16' DO CASE CASE CONSERV ="33' REPLACE VALEUR WITH QUANTITE * 1631 CASE CONSERV ="34' REPLACE VALEUR WITH QUANTITE * 1900 ENDCASE * mollusques. CASE NAT_PROD ="17' REPLACE VALEUR WITH QUANTITE * 2521 * ailerons de requin. CASE NAT_PROD ="18' REPLACE VALEUR WITH QUANTITE * 4667 * autres. CASE NAT_PROD ="19' REPLACE VALEUR WITH QUANTITE * 1700 * permet d'éditer l'enrégistrement fautif ne correspondant pas à l'une * des options ci-haut. OTHERWISE EDIT ENDCASE SKIP RETURN * retour au programme AJU-PRIX.
******************************************************************************
Ce programme imprime l'entête pour les estimations totales des expéditions
/ exportations hors Faritany.
******************************************************************************
* initialisation des paramètres de la routine. SET PRINT OFF STORE DATE() TO Mdate SET PRINT ON ?? CHR(27) + CHR(88) + CHR(2) + CHR(232) * initialisation de l'entête si le tableau ne comporte qu'une partie. IF Part <> '2' SET PRINT ON SET CONSOLE OFF SET MARGIN TO 0 ?? CHR(18) &&normal printing mode ?? CHR(27) + CHR(88) + CHR(2) + CHR(232) ? SPACE(37)+'MINISTERE DE LA PRODUCTION ANIMALE ET DES EAUX ET FORETS.' ? ? "REPUBLIQUE DEMOCRATIQUE"+SPACE(21)+"DIRECTION DE LA PECHE ET DE" ?? "L'AQUACULTURE." ? SPACE(6)+" DE MADAGASCAR " ? ? CHR(14) * sélection entre expéditions et exportations. IF Rep < '4' ?? SPACE(12)+"EXPEDITIONS ANNUELLES hors FARITANY - 1987 -" ELSE ?? SPACE(12)+"EXPORTATIONS ANNUELLES par FARITANY - 1987 -" ENDIF ?? CHR(15) ? ? ? ? SPACE(4)+"Date : "+DTOC(Mdate) ELSE * si le tableau comporte deux partie. IF Part ="2' ?? CHR(18) ? SPACE(10)+"Seconde Partie" ?? CHR(15) ? SPACE(10)+"Date : "+DTOC(Mdate) ? ? CHR(14) IF (Rep ="1' .OR. Rep ="2') ?? SPACE(12)+"EXPEDITIONS ANNUELLES hors FARITANY - 1987 -" ELSE ?? SPACE(12)+"EXPORTATIONS ANNUELLES par FARITANY - 1987 -" ENDIF ?? CHR(15) ? ENDIF &&Part="2' ENDIF &&Part<> '2' ?? CHR(15) * impression des unités. IF (Rep ="1' .OR. Rep ="3' .OR. Rep ="5'. OR. Rep ="7') ?? SPACE(153) ELSE IF (Rep ="2' .OR. Rep ="4' .OR. Rep ="6') ?? SPACE(136) ENDIF &&Rep=2 ENDIF &&Rep=1 ?? "UNITES Poids : Kgs UNITES Valeur : x 1000 FMG" SET PRINT OFF DO LINE 2 SET PRINT ON SET CONSOLE OFF * sélection des diverses options. DO CASE CASE Rep ="1' ? SPACE(9) ?? CHR(27) + CHR(69) ?? SPACE(24)+ ' N A T U R E DES P R O D U I T S' + ' ' ?? CHR(27) + CHR(70) ?? CHR(15) DO LINE 2 SET PRINT ON ?? CHR(15) ? "| FARITANY"+SPACE(12)+"| POISSONS"+SPACE(15)+"| CREVETTES"+SPACE(14); +"| CRABES"+" | LANGOUSTES | CEPHALOP. | CHEVAQUI.|"; +"ALGUES |"+"TREPANG | BICHIQUE | MOLLUSQU.| AIL.REQU.|" ?? +"AUTRES | TOTAL |" ? "|"+SPACE(22)+"| entier évisc. fileté | entier étêté décort |"; +"entier"+"morceau décorti | entière queue | entier | |"; +" | "+" | | | | " ?? "| FARITANY |" CASE Rep ="2' * première partie du tableau. IF Part <> '2' ?? CHR(27) + CHR(69) ?? SPACE(39)+' M O Y E N DE C O N S E R V A '; +'TION' ?? CHR(27) + CHR(70) ?? CHR(15) DO LINE 2 SET PRINT ON ?? CHR(18) ?? CHR(15) ? SPACE(10)+"| FARITANY"+SPACE(5)+"| POISSON"+SPACE(72)+"| CREVETTE"; +"/CAMARON"+SPACE(47)+"| CRABE"+SPACE(26)+" |" ? SPACE(10)+" | "+SPACE(15)+"| entier eviscére "; +"fileté | entier étêté" ?? "décortiqué | entier morcea décort |" ? SPACE(10)+" | "+SPACE(15)+"| congel cuit fumé congel cuit fumé"; +"séché congel fumé | congel bouill séché congel bouill"; +"cuit cuit séché | vivant cuit congel congel |" ELSE * seconde partie du tableau. IF Part ="2' SET CONSOLE OFF ?? CHR(27) + CHR(69) ? SPACE(28)+' M O Y E N DE C O N S E R V A T '; +'ION' ?? CHR(27) + CHR(70) ?? CHR(15) DO LINE 2 SET PRINT ON ?? CHR(15) ? SPACE(10) ?? "| FARITANY | LANGOUSTE"+SPACE(22)+"| CEPHALOPODE"+SPACE(12); +"| CHEVAQUI. | ALGUES | TREPANG | BICHIQUE |"; +"MOLLUSQU.| AIL.REQU.| AUTRES || TOTAL |" ? SPACE(10)+" | "+SPACE(16)+"| entier queues | entier"; +" "+" | | | | |"; +" | | | | FARITANY |" ? SPACE(10)+" | "+SPACE(16)+"| vivant congelé cuit congelé | vivant"; +"fumé séché | séché| séché | congelé séché |; séché | séché | || ?? CHR(18) SET CONSOLE ON ENDIF CASE Rep ="3' SET CONSOLE OFF SET PRINT ON ?? CHR(18) ?? CHR(27) + CHR(69) ? SPACE(9) ?? ' D I S T R I B U T I O N DES P R O D U I T S ; P A R F A R I T A N Y ' ?? CHR(27) + CHR(70) ?? CHR(15) DO Line 2 SET PRINT ON ?? CHR(15) ? "| FARITANY"+SPACE(12)+"| POISSONS"+SPACE(15)+"| CREVETTES"+SPACE(14); +"| CRABES"+"| LANGOUSTES | CEPHALOP.| CHEVAQUI.|"; +"ALGUES |"+"TREPANG | BICHIQUE | MOLLUSQU.| AIL.REQU.| AUTRES" ?? "| TOTAL |" DO CASE CASE Count = 1 ? "| ANTANANARIVO " CASE Count = 2 ? "| ANTSIRANANA " CASE Count = 3 ? "| FIANARANTSOA " CASE Count = 4 ? "| MAHAJANGA " CASE Count = 5 ? "| TOAMASINA " CASE Count = 6 ? "| TOLIARA " ENDCASE ?? SPACE(7)+"| entier évisc. fileté | entier étêté décort | entier"; +"morceau decorti | entiere queue | entier | | |"; +"| | | | | FARITANY |" DO LINE_2 CASE Rep ="5' ? SPACE(9) ?? CHR(27) + CHR(69) ?? SPACE(24)+ ' N A T U R E D E S P R O D U I '; +'T S' ?? CHR(27) + CHR(70) ?? CHR(15) DO LINE 2 SET PRINT ON ?? CHR(15) ? "| FARITANY"+SPACE(12)+"| POISSONS"+SPACE(15)+"| CREVETTES"+SPACE(15); +"| CRABES"+" | LANGOUSTES | CEPHALOP.| CHEVAQUI. |"; +"ALGUES |"+"TREPANG | BICHIQUE | MOLLUSQU. | AIL.REQU.|" ?? "AUTRES | TOTAL |" ? " | "+SPACE(22)+"| entier evisc. fileté | entier étêté décort |"; +"entier"+"morceau décorti | entière queue | entier | |"; +" | "+"| | | |" ?? "| FARITANY |" CASE Rep ="6' * première partie du tableu. IF Part <> '2' ?? CHR(27) + CHR(69) ?? SPACE(39)+' M O Y E N DE C O N S E R V A'; +' T I O N ' ?? CHR(27) + CHR(70) ?? CHR(15) DO LINE 2 SET PRINT ON ?? CHR(18) ?? CHR(15) ? SPACE(10)+"| FARITANY"+SPACE(5)+"| POISSON"+SPACE(72)+" | "; +"CREVETTE/CAMARON"+SPACE(48)+"| CRABE"+SPACE(26)+" | " ? SPACE(10)+" | "+SPACE(15)+"| entier éviscéré"; +" fileté | entier étêté" ?? " décortiqué | entier morcea décort |" ? SPACE(10)+" | "+SPACE(15)+"| congel cuit fumé congel cuit fumé"; +"séché congel fumé séché congel bouill"; +" cuit cuit séché | vivant cuit congel congel |" ELSE * seconde partie du tableau. IF Part ="2' SET CONSOLE OFF ?? CHR(27) + CHR(69) ? SPACE(28)+' M O Y E N DE C O N S E R V A T '; +' I O N ' ?? CHR(27) + CHR(70) ?? CHR(15) DO LINE 2 SET PRINT ON ?? CHR(15) ? SPACE(10) ?? "| FARITANY | LANGOUSTE"+SPACE(22)+"| CEPHALOPODE"+SPACE(12); +"| CHEVAQUI. | ALGUES | TREPANG | BICHIQUE |"; +"MOLLUSQU. | AIL.REQU. | AUTRES || TOTAL |" ? SPACE(10)+" | "+SPACE(16)+"| entier queues | entier "; +" | | | | |"; +" | | || FARITANY |" ? SPACE(10)+" | "+SPACE(16)+"| vivant congelé cuit congelé| vivant "; +"fumé séché | séché | séché | séché | congelé séché |"; séché | séché | || |" ?? CHR(18) SET CONSOLE ON ENDIF CASE Rep ="7' SET CONSOLE OFF SET PRINT ON ?? CHR(27) + CHR(69) ? SPACE(4) ?? " PAR N A T U R E DES P R O D U I T S ET PAR; P A Y S D' E X P O R T A T I O N " ?? CHR(27) + CHR(70) DO LINE 2 SET PRINT ON ?? CHR(15) ? "| FARITANY"+SPACE(12)+"| POISSONS"+SPACE(15)+"| CREVETTES"+SPACE(14); +"| CRABES"+" | LANGOUSTES | CEPHALOP.| CHEVAQUI.|"; +" ALGUES |"+"TREPANG | BICHIQUE | MOLLUSQU.| AIL.REQU.| AUTRES |" ?? " TOTAL|" DO CASE CASE Count = 1 ? "| ANTANANARIVO " CASE Count = 2 ? "| ANTSIRANANA " CASE Count = 3 ? "| FIANARANTSOA " CASE Count = 4 ? "| MAHAJANGA " CASE Count = 5 ? "| TOAMASINA " CASE Count = 6 ? "| TOLIARA " ENDCASE ?? CHR(15) ?? SPACE(7)+"| entier évisc. fileté | entier étêté décort | entier"; +"morceau décorti | entiére queue | entier | | |"; +" | | | | | FARITANY |" DO LINE 2 ?? CHR(18) ENDCASE * fin et retour au programme. SET PRINT OFF SET CONSOLE ON RETURN
**********************************************************
Ce programme crée une ligne pour le programme des TOTAUX (T_EXE_O).
**********************************************************
* initialisation de la routine. SET PRINT ON SET CONSOLE OFF ?? CHR(15) * sélection en fonction des options choisies. IF (Rep ="1' .OR. Rep ="3' .OR. Rep ="5' .OR. Rep ="7') ? " | " IF Rep ="5' ?? REPLICATE ("-", 227) ELSE ?? REPLICATE ("-", 226) ENDIF ?? " | " ELSE IF (Rep ="2' .OR. Rep ="4' .OR. Rep ="6') IF Part ="1' ? SPACE (10) ?? " | " IF Rep ="6' ?? REPLICATE("-",201) ELSE ?? REPLICATE("-",200) ENDIF ?? " | " ELSE ? SPACE(10) ?? " | " ?? REPLICATE("-",181) ?? " | " ENDIF &&Part="1' ENDIF &&Rep=2 ENDIF &&Rep=1 SET PRINT OFF RETURN * retour au programme apellant.
************************************************************************************************
Ce programme calcule la moyenne des prix par type de produit et par
Fivondronana ayant issu des cos comportants des valeurs.
*************************************************************************************************
* initialisation du sous-programme. CLEAR SET CONSOLE OFF SET TALK OFF SET SAFETY OFF STORE DATE() TO Mdate Myn ="103' Deel ="1' STORE .T. TO Draai * impression de l'entête. SET PRINT ON ? CHR(18) ? SPACE(45) +"PRIX MOYEN / KG. en FMG" ?? CHR(15) ?? "Date : "+DTOC(Mdate) ?? CHR(27) + CHR(88) + CHR(2) + CHR(232) ?? CHR(15) ? " | "+REPLICATE("-",200)+" | " ? "| FIVONDRONANA | POISSON"+SPACE (72)+"| CREVETTES / CAMARONS"; +SPACE(43)+"| CRABES"+SPACE(29)+" | " ? " | "+SPACE(14)+"| entiers"+SPACE(17)+"éviscérés"+SPACE(23)+"filetés"; +SPACE(16)+"| entières"+SPACE(16)+"étêtées"+SPACE(19)+"décortiquées |"; +"entiers morceau décorti. |" ? " | "+SPACE(14)+"| congel cuit fumé congel cuit fumé séché" ?? "congel fumé séché | congel bouill"; + "séché cuit séché" ?? "| vivants cuits congelé congelé |" ? " | "+REPLICATE("-", 200)+" | " SET PRINT OFF * boucle principale - en fonction selon les fivondronana ayant émis des * cos. DO WHILE Draai * initialisation des variables à zéro. STORE 0.0 TO T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 STORE 0.0 TO T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32 STORE 0.0 TO T33,T34,T35,T36,T37 * sélection succesive des divers fichiers pour chaque fivondronana dont * ont désire connaitre le prix moyen au kilo par type de produit. IF Deel ="1' DO CASE CASE Myn ="103' USE C:ZANTA CASE Myn ="202' USE C:ZANTS CASE Myn ="207' USE C:ZANTS CASE Myn ="209' USE C:ZANTS CASE Myn ="317' USE C:ZFIAN CASE Myn ="402' USE C:ZMAHA CASE Myn ="502' USE C:ZTOAM CASE Myn ="602' USE C:ZTULE CASE Myn ="618' USE C:ZTULE CASE Myn ="619' USE C:ZTULE CASE Myn ="614' USE C:ZTULE OTHERWISE RELEASE ALL USE RETURN ENDCASE * copie de la structure vers le fichier c:avrg. COPY STRUCTURE TO C:AVRG.DBF USE USE C:AVRG.DBF * ajout des données au fichier avrg selon le fivondronana désiré. DO CASE CASE Myn ="402' APPEND FROM C:ZMAHA FOR (FIVONDRON = Myn .AND. VALEUR > 0) CASE Myn ="103' APPEND FROM C:ZANTA FOR (FIVONDRON = Myn .AND. VALEUR > 0) CASE Myn ="202' APPEND FROM C:ZANTS FOR (FIVONDRON = Myn .AND. VALEUR > 0) CASE Myn ="207' APPEND FROM C:ZANTS FOR (FIVONDRON = Myn .AND. VALEUR > 0) CASE Myn ="209' APPEND FROM C:ZANTS FOR (FIVONDRON = Myn .AND. VALEUR > 0) CASE Myn ="317' APPEND FROM C:ZFIAN FOR (FIVONDRON = Myn .AND. VALEUR > 0) CASE Myn ="402' APPEND FROM C:ZMAHA FOR (FIVONDRON = Myn .AND. VALEUR > 0) CASE Myn ="502' APPEND FROM C:ZTOAM FOR (FIVONDRON = Myn .AND. VALEUR > 0) CASE Myn ="602' APPEND FROM C:ZTULE FOR (FIVONDRON = Myn .AND. VALEUR > 0) CASE Myn ="618' APPEND FROM C:ZTULE FOR (FIVONDRON = Myn .AND. VALEUR > 0) CASE Myn ="619' APPEND FROM C:ZTULE FOR (FIVONDRON = Myn .AND. VALEUR > 0) CASE Myn ="614' APPEND FROM C:ZTULE FOR (FIVONDRON = Myn .AND. VALEUR > 0) ENDCASE USE C:AVRG.DBF INDEX ON NAT_PROD+CONSERV TO C:AVRG.NDX * calcul des prix moyens des produits - première partie du tableau. USE C:AVRG INDEX C:AVRG.NDX AVERAGE VALEUR/QUANTITE TO T1 FOR(NAT_PROD ="01' .AND. CONSERV ="01') AVERAGE VALEUR/QUANTITE TO T2 FOR(NAT_PROD ="01' .AND. CONSERV ="02') AVERAGE VALEUR/QUANTITE TO T3 FOR(NAT_PROD ="01' .AND. CONSERV ="03') AVERAGE VALEUR/QUANTITE TO T4 FOR(NAT_PROD ="02' .AND. CONSERV ="04') AVERAGE VALEUR/QUANTITE TO T5 FOR(NAT_PROD ="02' .AND. CONSERV ="05') AVERAGE VALEUR/QUANTITE TO T6 FOR(NAT_PROD ="02' .AND. CONSERV ="06') AVERAGE VALEUR/QUANTITE TO T7 FOR(NAT_PROD ="02' .AND. CONSERV ="07') AVERAGE VALEUR/QUANTITE TO T8 FOR(NAT_PROD ="03' .AND. CONSERV ="08') AVERAGE VALEUR/QUANTITE TO T9 FOR(NAT_PROD ="03' .AND. CONSERV ="09') AVERAGE VALEUR/QUANTITE TO T10 FOR(NAT_PROD ="03' .AND. CONSERV ="10') AVERAGE VALEUR/QUANTITE TO T11 FOR(NAT_PROD ="04' .AND. CONSERV ="11') AVERAGE VALEUR/QUANTITE TO T12 FOR(NAT_PROD ="04' .AND. CONSERV ="12') AVERAGE VALEUR/QUANTITE TO T13 FOR(NAT_PROD ="04' .AND. CONSERV ="13') AVERAGE VALEUR/QUANTITE TO T14 FOR(NAT_PROD ="05' .AND. CONSERV ="14') AVERAGE VALEUR/QUANTITE TO T15 FOR(NAT_PROD ="05' .AND. CONSERV ="15') AVERAGE VALEUR/QUANTITE TO T16 FOR(NAT_PROD ="05' .AND. CONSERV ="16') AVERAGE VALEUR/QUANTITE TO T17 FOR(NAT_PROD ="06' .AND. CONSERV ="17') AVERAGE VALEUR/QUANTITE TO T18 FOR(NAT_PROD ="06' .AND. CONSERV ="18') AVERAGE VALEUR/QUANTITE TO T19 FOR(NAT_PROD ="07' .AND. CONSERV ="19') AVERAGE VALEUR/QUANTITE TO T20 FOR(NAT_PROD ="07' .AND. CONSERV ="20') AVERAGE VALEUR/QUANTITE TO T21 FOR(NAT_PROD ="08' .AND. CONSERV ="21') AVERAGE VALEUR/QUANTITE TO T22 FOR(NAT_PROD ="09' .AND. CONSERV ="22') * destruction du fichier c:avrg USE DELETE FILE C:AVRG.NDX DELETE FILE C:AVRG.DBF * impression des résultats - prix moyen au kilo pratiqué dans le fivondronana * du choix. SET PRINT ON ? " | " DO CASE CASE Myn ="103' ?? "Antananarivo " CASE Myn ="202' ?? "Antsiranana " CASE Myn ="207' ?? "Nosy - Be " CASE Myn ="209' ?? "Vohémar " CASE Myn ="317' ?? "Mananjary " CASE Myn ="402' ?? "Mahajanga " CASE Myn ="402' ?? "Mahajanga " CASE Myn ="502' ?? "Toamasina " CASE Myn ="602' ?? "Tulear " CASE Myn ="608' ?? "Belo/Tsiribi " CASE Myn ="614' ?? "Tolagnaro " CASE Myn ="618' ?? "Morombe " CASE Myn ="619' ?? "Morondava " ENDCASE ?? " | "+STR(T1,8,1)+STR(T2,8,1)+STR(T3,8,1)+STR(T4,8,1)+STR(T5,8,1); +STR(T6,8,1)+STR(T7,8,1)+STR(T8,8,1)+STR(T9,8,1)+STR(T10,8,1)+" | "; +STR(T11,8,1)+STR(T12,8,1)+STR(T13,8,1)+STR(T14,8,1)+STR(T15,8,1) ?? STR(T16,8,1)+STR(T17,8,1)+STR(T18,8,1)+" | "+STR(T19,8,1); +STR(T20,8,1)+STR(T21,9,1)+STR(T22,10,1)+" | " ? " | "+REPLICATE("-", 200)+" | " SET PRINT OFF * passage au fivondronana suivant. DO CASE CASE Myn ="103' STORE '202' TO Myn CASE Myn ="202' STORE '207' TO Myn CASE Myn ="207' STORE '209' TO Myn CASE Myn ="209' STORE '317' TO Myn CASE Myn ="317' STORE '402' TO Myn CASE Myn ="402' STORE '502' TO Myn CASE Myn ="502' STORE '602' TO Myn CASE Myn ="602' STORE '614' TO Myn CASE Myn ="614' STORE '618' TO Myn CASE Myn ="618' STORE '619' TO Myn CASE Myn ="619' STORE '650' TO Myn STORE '2' TO Deel ENDCASE * passage à la seconde partie du tableau ou passage à la première partie * du tableau mais au fivondronana suivant. IF Myn ="650' STORE '2' TO Deel STORE .T. TO Draai STORE '103' TO Myn ELSE STORE '1' TO Deel STORE .T. TO Draai ENDIF * fin de la première partie du tableau. ELSE &&Deel=1of2 * seconde partie du tableau. IF Deel ="2' * impression de l'entête. IF (Deel ="2' .AND. Myn ="103') SET PRINT ON ? ? SPACE(15) ?? CHR(15) ?? "seconde partie" ? SPACE(16)+"Date : "+DTOC(Mdate) ?? CHR(18) ?? SPACE(30)+"<<< PRIX MOYEN / KG. en FMG >>>" ?? CHR(27) + CHR(88) + CHR(2) + CHR(232) ?? CHR(15) ? SPACE(15)+" | "+REPLICATE("-",152)+" | " ? SPACE(15)+"| FIVONDRONANA | LANGOUSTES"+SPACE(21)+"| CEPHALOPODES"; +SPACE(11)+"| CHEVAOUI.| ALGUES | TREPANG | BICHIQUE | MOLLUSQ."; +"|AIL.REQU.| AUTRES |" ? SPACE(15)+" | "+SPACE(14)+"| entiers"+SPACE(17)+"queues | entiers"; +SPACE(16)+"lentières | | | entier | |"; +"| |" ? SPACE(15)+" | "+SPACE(14)+"| vivant congel cuit congel | congel"; +"fumé séché"+"| séchées | séchées | congelé séchés |"; +"| séché | |" ? SPACE(15)+" | "+REPLICATE("-",152)+" | " SET PRINT OFF ENDIF * selection des fivondronana successifs. DO CASE CASE Myn ="103' USE C:ZANTA CASE Myn ="202' USE C:ZANTS CASE Myn ="207' USE C:ZANTS CASE Myn ="209' USE C:ZANTS CASE Myn ="217' USE C:ZFIAN CASE Myn ="402' USE C:ZMAHA CASE Myn ="502' USE C:ZTOAM CASE Myn ="602' USE C:ZTULE CASE Myn ="618' USE C:ZTULE CASE Myn ="619' USE C:ZTULE CASE Myn ="614' USE C:ZTULE OTHERWISE RELEASE ALL USE RETURN ENDCASE * copie de la structure sur le fichier c:avrg. COPY STRUCTURE TO C:AVRG.DBF USE USE C:AVRG.DBF * transfert des données vers le fichier c:avrg selon le fivondronana * sélectioné. DO CASE CASE Myn ="402' APPEND FROM C:ZMAHA FOR(FIVONDRON = Myn .AND. VALEUR > 0) CASE Myn ="103' APPEND FROM C:ZANTA FOR(FIVONDRON = Myn .AND. VALEUR > 0) CASE Myn ="202' APPEND FROM C:ZANTS FOR(FIVONDRON = Myn .AND. VALEUR > 0) CASE Myn ="207' APPEND FROM C:ZANTS FOR(FIVONDRON = Myn .AND. VALEUR > 0) CASE Myn ="209' APPEND FROM C:ZANTS FOR(FIVONDRON = Myn .AND. VALEUR > 0) CASE Myn ="317' APPEND FROM C:ZFIAN FOR(FIVONDRON = Myn .AND. VALEUR > 0) CASE Myn ="402' APPEND FROM C:ZMAHA FOR(FIVONDRON = Myn .AND. VALEUR > 0) CASE Myn ="502' APPEND FROM C:ZTOAM FOR(FIVONDRON = Myn .AND. VALEUR > 0) CASE Myn ="602' APPEND FROM C:ZTULE FOR(FIVONDRON = Myn .AND. VALEUR > 0) CASE Myn ="618' APPEND FROM C:ZTULE FOR(FIVONDRON = Myn .AND. VALEUR > 0) CASE Myn ="619' APPEND FROM C:ZTULE FOR(FIVONDRON = Myn .AND. VALEUR > 0) CASE Myn ="614' APPEND FROM C:ZTULE FOR(FIVONDRON = Myn .AND. VALEUR > 0) ENDCASE USE C:AVRG.DBF INDEX ON NAT_PROD+CONSERV TO C:AVRG.NDX * calcul du prix moyen au kilo pratiqué par type de produit dans le * fivondronana sélectioné - seconde partie du tableau. USE C:AVRG INDEX C:AVRG.NDX AVERAGE VALEUR/QUANTITE TO T23 FOR(NAT_PROD ="10'.AND. CONSERV ="23') AVERAGE VALEUR/QUANTITE TO T24 FOR(NAT_PROD ="10'.AND. CONSERV ="24') AVERAGE VALEUR/QUANTITE TO T25 FOR(NAT_PROD ="10'.AND. CONSERV ="25') AVERAGE VALEUR/QUANTITE TO T26 FOR(NAT_PROD ="11'.AND. CONSERV ="26') AVERAGE VALEUR/QUANTITE TO T27 FOR(NAT_PROD ="12'.AND. CONSERV ="27') AVERAGE VALEUR/QUANTITE TO T28 FOR(NAT_PROD ="12'.AND. CONSERV ="28') AVERAGE VALEUR/QUANTITE TO T29 FOR(NAT_PROD ="12'.AND. CONSERV ="29') AVERAGE VALEUR/QUANTITE TO T30 FOR(NAT_PROD ="13'.AND. CONSERV ="30') AVERAGE VALEUR/QUANTITE TO T31 FOR(NAT_PROD ="14'.AND. CONSERV ="31') AVERAGE VALEUR/QUANTITE TO T32 FOR(NAT_PROD ="15'.AND. CONSERV ="32') AVERAGE VALEUR/QUANTITE TO T33 FOR(NAT_PROD ="16'.AND. CONSERV ="33') AVERAGE VALEUR/QUANTITE TO T34 FOR(NAT_PROD ="16'.AND. CONSERV ="34') AVERAGE VALEUR/QUANTITE TO T35 FOR(NAT_PROD ="17'.AND. CONSERV ="35') AVERAGE VALEUR/QUANTITE TO T36 FOR(NAT_PROD ="18'.AND. CONSERV ="36') AVERAGE VALEUR/QUANTITE TO T37 FOR(NAT_PROD ="19'.AND. CONSERV ="37') * destruction du fichier c:avrg USE DELETE FILE C:AVRG.NDX DELETE FILE C:AVRG.DBF * impression des résultats des prix moyens au kilo - seconde partie * du tableau. SET PRINT ON ? SPACE(15)+" | " DO CASE CASE Myn ="103' ?? "Antananarivo " CASE Myn ="202' ?? "Antsiranana " CASE Myn ="207' ?? "Nosy - Be " CASE Myn ="209' ?? "Vohémar " CASE Myn ="317' ?? "Mananjary " CASE Myn ="402' ?? "Mahajanga " CASE Myn ="402' ?? "Mahajanga " CASE Myn ="502' ?? "Toamasina " CASE Myn ="602' ?? "Tulear " CASE Myn ="608' ?? "Belo/Tsiribi " CASE Myn ="614' ?? "Tolagnaro " CASE Myn ="618' ?? "Morombe " CASE Myn ="619' ?? "Morondava " ENDCASE ?? " | "+STR(T23,8,1)+STR(T24,8,1)+STR(T25,8,1)+STR(T26,8,1)+" | "+STR(T27,8,1); +STR(T28,8,1)+STR(T29,8,1)+" | "+STR(T30,8,1)+" | "+STR(T31,8,1)+" | "; +STR(T32,8,1)+" | "+STR(T33,8,1)+STR(T34,8,1)+" | " ?? STR(T35,8,1)+" | "+STR(T36,8,1)+" | "+STR(T37,8,1)+" | " ?SPACE(15)+" | "+REPLICATE("-",152)+" | " SET PRINT OFF * passage au fivondronana suivant - seconde partie - ou finalisation de * la seconde partie du tableau. DO CASE CASE Myn ="103' STORE '202' TO Myn CASE Myn ="202' STORE '207' TO Myn CASE Myn ="207' STORE '209' TO Myn CASE Myn ="209' STORE '317' TO Myn CASE Myn ="317' STORE '402' TO Myn CASE Myn ="402' STORE '502' TO Myn CASE Myn ="502'