ENVIRONMENT DIVISION. COMPREND 2 SECTIONS 1. CONFIGURATION SECTION. IDENTIFIE LE MATERIEL UTILISE. 2. INPUT-OUTPUT SECTION. IDENTIFIE LES FICHIERS UTILISÉS, L'UNITE D'ENTREE/SORTIE DE CES FICHIERS, L'ORGANISATION UTILISÉE POUR LE TRAITEMENT ET L'ACCES UTILISÉ. |
1. CONFIGURATION SECTION. 3 PARAGRAPHES 1. SOURCE-COMPUTER identifie le matériel pour la codification du source 2. OBJECT-COMPUTER identifie le matériel pour la compilation programme 3 SPECIAL-NAMES permet d'utiliser des particularités comme la marque décimale ou le symbole monétaire. |
FORMAT D'ECRITURE ____________________________________________________________ ! !ZONE! ZONE B ! ! ! A ! ! !7!8 !12 ! -----------------------------------------------------------! ! !ENVI!RONMENT DIVISION. ! ! !CONFIGURATION SECTION. ! ! !SOUR!CE-COMPUTER. nom du système. ! ! !OBJE!CT-COMPUTER. nom du système. ! ! !SPEC!IAL-NAMES. fonction1, ! ! ! !fonction2, ! ! ! !fonctionN. ! ! ! ! ! |
EXEMPLE ____________________________________________________________ ! !ZONE! ZONE B ! ! ! A ! ! !7!8 !12 ! -----------------------------------------------------------! ! !ENVI!RONMENT DIVISION. ! ! !CONFIGURATION SECTION. ! ! !SOUR!CE-COMPUTER. IBM-AS400. ! ! !OBJE!CT-COMPUTER. IBM-AS400. ! ! !SPEC!IAL-NAMES. DECIMAL-POINT IS COMMA. ! ! ! ! ^ ! ! ------------------------------- indique que l'on utilisera la "," comme séparateurs des entiers et décimales (par défaut c'est le point) |
2. INPUT-OUTPUT SECTION. 1 PARAGRAPHE QUI PERMET D'INDIQUER LES FICHIERS UTILISES ET DE LES RELIER A L'UNITE, ET D'INDIQUER L'ORGANISATION UTILISE ET L'ACCES UTILISE. FILE-CONTROL. UTILISE POUR CHAQUE FICHIER UNE PHRASE PERMETTANT DE CODIFIER TOUS LES RENSEIGNEMENTS NECESSAIRES. SELECT nom du fichier dans le programme ASSIGN TO nom de l'unité ORGANIZATION IS nom de l'organisation ACCESS MODE nom de l'accès |
SELECT nom du fichier dans le programme VOUS INDIQUEREZ ICI LE NOM DU FICHIER POUR LE PROGRAMMME IL PEUT être DIFFERENT DE CELUI DE LA BASE DE DONNEE ASSIGN TO nom de l'unité-nom du fichier VOUS INDIQUEREZ ICI LE NOM DE L'UNITE QUI SUPPORTE LE FICHIER ET LE NOM DU FICHIER SUR CETTE UNITE DIFFERENTES NOM D'UNITE: PRINTER fichiers d'impression (interne) FORMATFILE fichiers d'impression externe TAPEFILE fichier sur bande DISKETTE fichier sur disquette DISK fichier sur disque(interne) DATABASE fichier à description externe WORKSTATION fichier écran |
SI VOUS NE PRECISEZ PAS DE FICHIER UNITÉ, POUR CERTAINES UNITÉS, COBOL AFFECTERA DES NOMS DE FICHIERS PAR DEFAUT. !----------!---------------------! ! UNITE ! NOM DE FICHIER ! ! ! PAR DEFAUT ! !----------!---------------------! ! PRINTER ! QPRINT ! ! TAPEFILE ! QTAPE ! ! DISKETTE ! QDKT ! !----------!---------------------! |
ORGANIZATION nom de l'organisation DESIGNE LE TYPE D'ORGANISATION DU FICHIER. EN COBOL 3 ORGANISATIONS SONT POSSIBLES - SEQUENTIAL séquentielle - INDEXED séquentielle indexée - RELATIVE directe |
ACCESS type d'accès DESIGNE LE TYPE D'ACCES QUE L'ON SOUHAITE UTILISER EN COBOL 3 ACCES POSSIBLES - SEQUENTIAL séquentiel - RANDOM direct - DYNAMIC direct et séquentielle ATTENTION : ORGANIZATION SEQUENTIAL ET ACCESS SEQUENTIAL SONT LES VALEURS PAR DEFAUT. |
SI VOUS VOULEZ SPECIFIEZ UN ACCES SEQUENTIEL DANS L'ORDRE D'ARRIVEE OU DANS L'ORDRE DES CLES, C'EST PAR LA COMBINAISON DE L'ORGANISATION ET DE L'ACCES QUE VOUS LE FEREZ. PRENONS DES EXEMPLES QUI NOUS PERMETTRONS DE DETAILLER LES COMBINAISONS ET DE REVOIR LA PHRASE SELECT.... 1er exemple Je veux utiliser le fichier CLIENT qui est sur l'unité disque, en accès séquentiel dans l'ordre d'arrivée. J'indiquerais pour cela |
SI VOUS VOULEZ SPECIFIEZ UN ACCES SEQUENTIEL DANS L'ORDRE D'ARRIVEE OU DANS L'ORDRE DES CLES, C'EST PAR LA COMBINAISON DE L'ORGANISATION ET DE L'ACCES QUE VOUS LE FEREZ. PRENONS DES EXEMPLES QUI NOUS PERMETTRONS DE DETAILLER LES COMBINAISONS ET DE REVOIR LA PHRASE SELECT.... 2éme exemple Je veux utiliser le fichier ETAT qui est un fichier d'impression. ______________________________________________________ ! !ZONE! ZONE B ! ! ! A ! ! !7!8 !12 ! -----------------------------------------------------! ! ! !SELECT ETAT ASSIGN PRINTER. ! ! ! ! ! |
SI VOUS VOULEZ SPECIFIEZ UN ACCES SEQUENTIEL DANS L'ORDRE D'ARRIVEE OU DANS L'ORDRE DES CLES, C'EST PAR LA COMBINAISON DE L'ORGANISATION ET DE L'ACCES QUE VOUS LE FEREZ. PRENONS DES EXEMPLES QUI NOUS PERMETTRONS DE DETAILLER LES COMBINAISONS ET DE REVOIR LA PHRASE SELECT.... 3ème exemple je veux utiliser le fichier FOURNI qui est sur l'unité disque, en accès séquentiel dans l'ordre des clés. J'indiquerais pour cela |
SI VOUS VOULEZ SPECIFIEZ UN ACCES SEQUENTIEL DANS L'ORDRE D'ARRIVEE OU DANS L'ORDRE DES CLES, C'EST PAR LA COMBINAISON DE L'ORGANISATION ET DE L'ACCES QUE VOUS LE FEREZ. PRENONS DES EXEMPLES QUI NOUS PERMETTRONS DE DETAILLER LES COMBINAISONS ET DE REVOIR LA PHRASE SELECT.... 4ème exemple je veux utiliser le fichier ARTICL qui est sur l'unité disque, en accès direct sur clé. J'indiquerais pour cela |
SI VOUS VOULEZ SPECIFIEZ UN ACCES SEQUENTIEL DANS L'ORDRE D'ARRIVEE OU DANS L'ORDRE DES CLES, C'EST PAR LA COMBINAISON DE L'ORGANISATION ET DE L'ACCES QUE VOUS LE FEREZ. PRENONS DES EXEMPLES QUI NOUS PERMETTRONS DE DETAILLER LES COMBINAISONS ET DE REVOIR LA PHRASE SELECT.... 5ème exemple je veux utiliser le fichier COMPTA qui est sur l'unité disque, en accès direct ET séquentiel sur clé. J'indiquerais pour cela |
SI VOUS VOULEZ SPECIFIEZ UN ACCES SEQUENTIEL DANS L'ORDRE D'ARRIVEE OU DANS L'ORDRE DES CLES, C'EST PAR LA COMBINAISON DE L'ORGANISATION ET DE L'ACCES QUE VOUS LE FEREZ. PRENONS DES EXEMPLES QUI NOUS PERMETTRONS DE DETAILLER LES COMBINAISONS ET DE REVOIR LA PHRASE SELECT.... 6ème exemple je veux utiliser le fichier PERSO qui est sur l'unité disque, en accès direct sur le rang. J'indiquerais pour cela |
PRECISIONS SUR RECORD KEY ET RELATIVE KEY: - SI VOUS DEFINISSEZ VOTRE FICHIER EN ORGANIZATION INDEXED VOUS DEVEZ INDIQUER LE NOM DE LA ZONE CLE RECORD KEY IS nom de zone (appartient à l'enreg) - SI VOUS DEFINISSEZ VOTRE FICHIER EN ORGANIZATION RELATIVE VOUS DEVEZ INDIQUER LE NOM DE LA ZONE QUI CONTIENDRA LE RANG DE L'ENREGISTREMENT RELATIVE KEY IS nom de zone (défini en working) |
SYNTHESE DES POSSIBILITES DE LA PHRASE SELECT. - ORGANISATION SEQUENTIELLE SELECT nom fichier ASSIGN TO unite-nomFichier (ORGANIZATION SEQUENTIAL ACCESS SEQUENTIAL). |
SYNTHESE DES POSSIBILITES DE LA PHRASE SELECT. - ORGANISATION SEQUENTIELLE INDEXEE SELECT nom fichier ASSIGN TO unite-nomFichier ORGANIZATION ____ ! ! ACCESS SEQUENTIAL ! INDEXED ! ACCESS RANDOM RECORD KEY nom de zone. ! ! ACCESS DYNAMIC ! ---- |
SYNTHESE DES POSSIBILITES DE LA PHRASE SELECT. - ORGANISATION DIRECTE SELECT nom fichier ASSIGN TO unite-nomFichier ORGANIZATION ____ ! ! ACCESS SEQUENTIAL ! RELATIVE ! ACCESS RANDOM RELATIVE KEY nom de zone. ! ! ACCESS DYNAMIC ! ---- |