La Mise à Jour Directe Nous avons déjà abordé le principe de la mise à jour séq
La Mise à Jour Directe Nous avons déjà abordé le principe de la mise à jour séquentielle qui concerne les fichiers dont l’organisation est séquentielle ainsi que les différentes opérations à réaliser. ª insertion d’un nouvel article (CRÉATION D’UN ENREGISTREMENT) ª modification d’un ou plusieurs champs d’un enregistrement existant (MODIFICATION D’UN ENREGISTREMENT) ª SUPPRESSION D’UN ENREGISTREMENT Dans ce chapitre, nous aborderons LA MISE À JOUR DIRECTE à partir de fichiers ayant une organisation de type séquentiel indexé ou relatif1 permettant un accès direct. La mise à jour s’effectuant à partir d’un fichier (batch) ou à l’aide de transactions. FICHIER PERMANENT - FICHIER MOUVEMENT dans une mise à jour directe - Le Fichier Permanent est le fichier de base qui doit être modifié, il s’agit par exemple du fichier des employés d’une entreprise, des clients d’une société, des livres d’une bibliothèque ... - Le Fichier Mouvement est le fichier dans lequel seront enregistrées toutes les opérations à effectuer sur le fichier permanent. Ce type de fichier permet de grouper les différentes modifications et de les traiter globalement et permet également de conserver un historique des diverses mises à jour effectuées. - Dans le principe de base d’une mise à jour directe, il faut traiter tous les enregistrements du fichier mouvement, ce fichier mouvement sera donc en ORGANISATION SÉQUENTIELLE avec bien entendu un ACCÈS SÉQUENTIEL. Par contre, le fichier de base sera lui en ORGANISATION SÉQUENTIELLE INDEXÉE OU RELATIVE afin d’effectuer des ACCÈS DIRECTS pour traiter les différentes mises à jour. - Les différentes mises à jour s’effectueront directement sur le fichier permanent. POUR LA MISE A JOUR DIRECTE, IL N’EST PAS INDISPENSABLE QUE LE FICHIER PERMANENT ET LE FICHIER MOUVEMENT SOIENT TRIÉS SUR LE OU LES MÊMES CRITÈRES DE TRI EN ORDRE CROISSANT Le fait que le fichier permanent et le fichier mouvement soient triés sur les mêmes critères permet d’améliorer les performances du traitement. 1 L’Organisation Séquentielle Indexée et l’Organisation relative sont gérées par le langage COBOL faisant partie de votre préparation. I) Diagramme de Traitement de la Mise à Jour Directe F_PERMANENT Organisation Séquentielle Indexée MAJ_DIRECTE Support Disque magnétique F_MOUVEMENT Organisation Séquentielle Support Bande, Cassette magnétique Le Fichier F_PERMANENT est ouvert en Entrée- Sortie Le Fichier F_MOUVEMENT est ouvert en Entrée ACCES DIRECT Le Fichier F_PERMANENT est ouvert en Entrée-Sortie, on effectue tous les traitements de mise à jour directement sur ce fichier. Les différents traitements dans une mise à jour directe concernent : - La CRÉATION d’enregistrements afin de prendre en compte les nouveaux enregistrements du fichier Mouvement. - La MODIFICATION des enregistrements du fichier Permanent à partir des informations du fichier Mouvement. - La SUPPRESSION d’enregistrements du fichier Permanent à partir des informations contenues dans le fichier Mouvement. Nous allons décrire les différents opérations à effectuer lors des différents traitements pour une mise à jour.directe : La CRÉATION ELLE PERMET - D’INSÉRER (CREER) UN ARTICLE DU FICHIER MOUVEMENT SUR LE FICHIER PERMANENT ELLE NECESSITE - L’ABSENCE SUR LE FICHIER PERMANENT DE LA NOUVELLE CLÉ A INSERER ELLE IMPLIQUE - DE RENSEIGNER LA CLE ASSOCIEE DU FICHIER PERMANENT PAR LA VALEUR DE CETTE NOUVELLE CLE ISSUE D’UNE ZONE DE L’ENREGISTREMENT DU FICHIER MOUVEMENT - L’ECRITURE SUR LE FICHIER PERMANENT DE L’ENREGISTREMENT ISSU DU FICHIER MOUVEMENT - LA LECTURE DU FICHIER MOUVEMENT AFIN DE TRAITER L’ARTICLE SUIVANT La MODIFICATION ELLE PERMET - DE MODIFIER DES ARTICLES DU FICHIER PERMANENT A PARTIR D’INFORMATIONS FOURNIES DANS LE FICHIER MOUVEMENT. ELLE NECESSITE - L’EXISTENCE DANS LE FICHIER PERMANENT D’UN ENREGISTREMENT CORRESPONDANT A LA VALEUR DE LA CLE A MODIFIER. ELLE IMPLIQUE - DE RENSEIGNER LA CLE ASSOCIEE DU FICHIER PERMANENT PAR LA VALEUR DE CETTE CLE A MODIFIER - LA LECTURE SUR LE FICHIER PERMANENT DE L’ENREGISTREMENT CORRESPONDANT A CETTE CLE. - LA PRISE EN COMPTE DES MODIFICATIONS APPORTÉES PAR LE FICHIER MOUVEMENT. - LA REECRITURE DE L’ENREGISTREMENT MODIFIE SUR LE FICHIER PERMANENT. - LA LECTURE DU FICHIER MOUVEMENT AFIN DE TRAITER L’ARTICLE SUIVANT La SUPPRESSION ELLE PERMET - DE SUPPRIMER UN ENREGISTREMENT DU FICHIER PERMANENT À PARTIR DES INFORMATIONS FOURNIES PAR LE FICHIER MOUVEMENT ELLE NECESSITE - L’EXISTENCE DANS LE FICHIER PERMANENT D’UN ENREGISTREMENT CORRESPONDANT A LA VALEUR DE LA CLE A SUPPRIMER. ELLE IMPLIQUE - - DE RENSEIGNER LA CLE ASSOCIEE DU FICHIER PERMANENT PAR LA VALEUR DE CETTE CLE A SUPPRIMER. - LA SUPPRESSION SUR LE FICHIER PERMANENT DE L’ENREGISTREMENT CORRESPONDANT A CETTE CLE. - LA LECTURE DU FICHIER MOUVEMENT AFIN DE TRAITER L’ARTICLE SUIVANT Nous vous présentons dans ce dossier « Le Principe de Mise à Jour Directe ». Ce raisonnement s’applique pour une mise à jour basique, dans les exercices qui vous seront proposés par la suite nous pourrons faire intervenir la notion de rupture de groupe dans les différents fichiers (plusieurs enregistrements pour un même identifiant dans le fichier permanent et/ou dans le fichier mouvement), ou également des enregistrements de types différents et d’une manière plus générale tous les concepts abordés dans les précédents documents. Description succincte des données Fichier F_Permanent : zone de communication ES-Permanent Fichier F_Mouvement : zone de communication E-Mouvement avec un code de mise a jour E_CodMAJ E_CodMAJ = ‘C’ ==> Création E_CodMAJ = ‘M’ ==> Modification E_CodMAJ = ‘S’ ==> Suppression MAJ Directe Début MAJDIR Fin MAJDIR TANT QUE Fichier Mouvement non terminé Un_Mouvement SELON E_CODMAJ Le traitement Un_Mouvement s'effectuera TANT QUE le fichier Mouvement ne sera pas terminé PRINCIPE DE LA MISE A JOUR DIRECTE Ouvertures Init MAJDIR Lect Fichier Mouvement CREATION MODIFICATION Fermetures C S M SUPPRESSION Lect Fichier Mouvement Nous supposons que les fichiers sont valides, pas d'erreur de codification du code de mise à jour PRINCIPE DE LA MISE A JOUR DIRECTE CREATION Clé du fichier Permanent <== Identifiant fichier mouvement Ecriture Directe F_Permanent Trait_Ano_Creation Rens_Enr_Création SI ALORS SINON Clé Invalide Ecrire direct ES_F_Permanent On renseigne la clé du fichier permanent à partir du fichier mouvement. Puis on constitue le nouvel enregistement avant de l'écrire en direct sur le fichier permanent Lecture Fichier Mouvement Lire Fichier Mouvement T_Fin_F_Mouvement <== "Vrai" SI ALORS SINON Fin de Fichier Lecture Séquentielle du Fichier Mouvement PRINCIPE DE LA MISE A JOUR DIRECTE MODIFICATION Clé du fichier Permanent <== Identifiant fichier mouvement Réécriture F_Permanent Trait_Ano_Modif Rens_Enr_Modif SI ALORS SINON Clé Invalide Réécrire ES_F_Permanent On renseigne la clé du fichier permanent à partir du fichier mouvement. Lecture Directe F_Permanent On lit en direct l'enregistrement à modifier On effectue les modifications On réécrit l'enregistrement Lire Direct F_Permanent SI ALORS SINON Clé Invalide Trait_Ano_Lect PRINCIPE DE LA MISE A JOUR DIRECTE SUPPRESSION Clé du fichier Permanent <== Identifiant fichier mouvement Suppression sur F_Permanent Trait_Ano_Supp SI ALORS SINON Clé Invalide Supprimer F_Permanent On renseigne la clé du fichier permanent à partir du fichier mouvement. On supprime l'enregistrement identifié par la clé associée Apportons quelques explications sur le traitement de la mise à jour directe Le traitement sera effectué, tant qu’il reste des enregistrements dans le fichier mouvement. - Pour la création, il s‘agit de constituer le nouvel enregistrement dans la zone de communication du fichier permanent, la clé doit également être renseignée. Nous rappelons que pour un fichier en organisation séquentielle indexée, la clé appartient à l’enregistrement et pour un fichier en organisation relative, la clé est une zone de travail identifiée comme la clé d’accès à ce type de fichier (remarque liée au langage utilisé). Il suffit d’effectuer alors un ordre d’écriture en accès direct, si la clé n’existe pas dans le fichier après consultation et mise à jour des différentes tables d’index, l’enregistrement sera écrit physiquement sur le support. Si la clé est déjà présente dans les tables d’index, le traitement « Trait_Ano_Création » lié à la clause Clé Invalide sera exécuté. - Pour la modification, on renseigne la clé associée afin d’effectuer une lecture directe de l’enregistrement en mémoire centrale. Si l’enregistrement n’existe pas (« Clé Invalide ») on effectue le traitement « Trait_Ano_Lect » la mise à jour ne peut avoir lieu. Par contre, si l’enregistrement existe, à partir des informations fournies par le fichier mouvement, on peut mettre jour les diverses informations de l’enregistrement avant d’effectuer un ordre de réécriture de l’enregistrement logiquement toujours valide. - Dans le cas de la modification, si le fichier mouvement communique la nouvelle image de TOUTES les zones de l’enregistrement (y compris celles qui sont inchangées), il est alors inutile de lire au préalable l’enregistrement. Lors de la réécriture, la clause « Clé Invalide» sera activée si la clé n’existait pas dans la table des index. - Enfin, pour la suppression, comme pour tout ordre en accès direct, il faut au préalable renseigner la clé, puis exécuter un ordre de suppression la clause « Clé Invalide» correspond à la demande de suppression d’un enregistrement qui n’existe pas dans le fichier. La syntaxe « Supprimer nom du fichier » a été utilisée afin de se rapprocher de la syntaxe COBOL et éviter des erreurs de programmation dans ce langage. Cet algorithme repose sur la codification du code de mise à jour dans le fichier mouvement Ce code indiquant le type de mise à jour à effectuer. uploads/Management/ 4-5mise-a-jour-directe.pdf
Documents similaires
-
19
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Oct 07, 2021
- Catégorie Management
- Langue French
- Taille du fichier 0.1928MB