Download - Apogée Partie 3 : conversion Apogée v 2.80 30 Partie 3 : conversion technique Apogée v 2.80
ApogApogéeée
Partie 3 : conversion Apogée v 2.80 1
Partie 3 : conversion technique Apogée v 2.80
ApogApogéeée
Partie 3 : conversion Apogée v 2.80 2
Objectif du séminaire
Aborder la méthodologie de conversion recommandée d’un point de vue technique et opérationnel.
Prendre connaissance des tables impactées
ApogApogéeée
Partie 3 : conversion Apogée v 2.80 3
Le déroulement
Pré-requis Diagnostic de l’existant Les outils de la conversion Les domaines concernés La méthodologie proposée Un exemple : INDIVIDU Mise en place Recommandations
ApogApogéeée
Partie 3 : conversion Apogée v 2.80 4
Maîtriser l’application précédente
Connaître l’outil SQL*LOADER
Maîtriser le langage SQL
Pré-requis
ApogApogéeée
Partie 3 : conversion Apogée v 2.80 5
Source(s) de données SCOLAR : COBOL Autres systèmes … Dossier papier
Les outils du diagnostic modèles de données locaux modèles de données APOGEE manuels de conversion
Diagnostic de l’existant
ApogApogéeée
Partie 3 : conversion Apogée v 2.80 6
Application existante SCOLAR : COBOL Autres systèmes ...
La migration SQL*LOADER
Base de données Apogée règles de cohérence contraintes Oracle
Les outils de la conversion
ApogApogéeée
Partie 3 : conversion Apogée v 2.80 7
Fichier DATA (.dat)Enregistrements
Lecture (.ctl)SQL*LOADER
When clauseSQL*LOADER
RDBMS
Enregistrementsincorrects
Enregistrementsnon sélectionnés
Base de tests
APOGEE
Discard File (.dsc)
Compte rendu (.log)
Bad File (.bad)
Correction
Les outils de la conversion : SQL*LOADER
ApogApogéeée
Partie 3 : conversion Apogée v 2.80 8
Le fichier de contrôle (.ctl)
LOAD DATA INFILE ‘ indetu.dat ’ DISCARDMAX 1200 INSERT INTO TABLE individu (cod_ind POSITION(1:8) INTEGER EXTERNAL cod_thpPOSITION(10:11) CHAR, cod_fam POSITION(13:13) CHAR, cod_sim POSITION(15:15) CHAR, cod_pay_nat POSITION(17:19) CHAR, cod_thpPOSITION(21:27) CHAR, ... )
Les outils de la conversion : SQL*LOADER
ApogApogéeée
Partie 3 : conversion Apogée v 2.80 9
Le fichier de contrôle (.ctl) - exemples de variantes
INSERT INTO TABLE individu REPLACE INTO TABLE individu INTO individu TRUNCATE
cod_ind POSITION(1:8) INTEGER EXTERNAL cod_ind POSITION(*) INTEGER EXTERNAL(8) FIELDS TERMINATED BY ‘ | ’
Les outils de la conversion : SQL*LOADER
ApogApogéeée
Partie 3 : conversion Apogée v 2.80 10
Les fichiers DISCARD et BAD
DISCARD file (.dsc)
Uniquement alimenté par la clause ‘WHEN’ Indiquer un nombre maxi d’enregistrements Ecrit dans le même format que le fichier DATA
BAD file (.bad) Alimenté par SQL*LOADER le moteur de la base Egalement écrit dans le même format que le fichier DATA
Les outils de la conversion : SQL*LOADER
ApogApogéeée
Partie 3 : conversion Apogée v 2.80 11
Des explications sur la nature des problèmes
Nombre d’enregistrements à insérer Nombre d’enregistrements à ignorer Nombre d’enregistrements en erreurs Nombre d’enregistrements rejetés
Le fichier LOG
Une synthèse des opérations
Les outils de la conversion : SQL*LOADER
ApogApogéeée
Partie 3 : conversion Apogée v 2.80 12
Individu & Etudiants
Inscriptions Administratives
Inscriptions Pédagogiques
Résultats
Les domaines concernés
ApogApogéeée
Partie 3 : conversion Apogée v 2.80 13
Individu & Etudiants
Données personnelles des individus table INDIVIDU
Adresses
tables ADRESSE, INS_INFO_ANU
Baccalauréats
table IND_BAC
Autres diplômes
table IND_DAC
Les domaines concernés
ApogApogéeée
Partie 3 : conversion Apogée v 2.80 14
Inscriptions administratives
Inscriptions administratives annuelles table INS_ADM_ANU
Inscriptions administratives aux étapes
tables INS_ADM_ETP
Inscriptions pédagogiques
Pas conseillée
Les domaines concernés
ApogApogéeée
Partie 3 : conversion Apogée v 2.80 15
Résultats
Résultats aux versions de diplômes tables GRP_RESULTAT_VDI et RESULTAT_VDI
Résultats aux versions d’étapes
table GRP_RESULTAT VET et RESULTAT_VET
Résultats aux éléments pédagogiques
table GRP_RESULTAT_ELP et RESULTAT_ELP
Les domaines concernés
ApogApogéeée
Partie 3 : conversion Apogée v 2.80 16
Manuel : convinet.doc Individus & Etudiants
Inscriptions Administratives Manuel : convia.doc
Résultats Manuel : convresu.doc
La méthodologie
ApogApogéeée
Partie 3 : conversion Apogée v 2.80 17
Semblable pour les trois domaines
Pour chaque table à remplir Préparer le fichier plat
Renseigner les tables connexes
Importer par SQL*LOADER
Vérifications de cohérence
La méthodologie
ApogApogéeée
Partie 3 : conversion Apogée v 2.80 18
Domaine : Individu & Etudiant
Méthode
Structure de la table
Tables connexes
Valeurs de conversion
Contrôles de cohérence
La méthodologie par l ’exemple
ApogApogéeée
Partie 3 : conversion Apogée v 2.80 19
Domaine : Individu & Etudiant
Méthodes
ETAPE 2 : Compléter éventuellement la table ANNEE_UNI avec les nouvelles années présentes dans les données à convertir (COD_ANU). Ceci peut être fait sous Apogée ou en insérant dans la table par SQL*Loader.
ETAPE 1 : Consulter la structure de la table INDIVIDU et inventorier les données dont dispose l’établissement, ainsi que celles qui lui manquent. Consulter le schéma des tables connexes à INDIVIDU afin de connaître les tables de référence à nourrir.
ETAPE 4 : Compléter éventuellement la table SIT_FAM avec les nouvelles situations de famille présentes dans les données à convertir (COD_FAM). Ceci peut être fait sous Apogée ou en insérant dans la table par SQL*Loader.
ETAPE 5 :...
ETAPE 3 : Compléter éventuellement la table ETABLISSEMENT avec les nouveaux établissements présents dans les données à convertir (COD_ETB). Ceci peut être fait sous Apogée ou en insérant dans la table par SQL*Loader.
La méthodologie par l ’exemple
ApogApogéeée
Partie 3 : conversion Apogée v 2.80 20
Domaine : Individu & Etudiant
Structure commentée de la table Individu (vue partielle)Champs Type Longueur Obligatoire1
/Facultatif
Libellé
COD_IND NUMBER 8 O Code étudiant au sein de l’établissement
COD_UTI VARCHAR2 30 F Code de l’utilisateur ayant réalisé la création de l’individu
DAT_CRE_IND DATE F Date de création de l’individu
DATE_NAI_IND DATE F Date de naissance de l’individu
ETA_PRS_ETU VARCHAR2 1 F Code de présence étudiant
LIB_NOM_PAT_IND VARCHAR2 30 F Nom patronymique de l’étudiant
LIB_PR1_IND VARCHAR2 20 F Prénom n°1 de l’étudiant
TEM_AID_IND VARCHAR2 1 F Témoin besoin d’aide
TEM_CRT_SSO_ETU VARCHAR2 1 F Témoin de possession d’une carte de SS
TEM_DATE_NAI_REL VARCHAR2 1 F La date de naissance est-elle estimée ?
TEM_FAU_IND VARCHAR2 1 F Témoin fauteuil roulant
TEM_SAN_OJ_MER_IND VARCHAR2 1 F Témoin sans objet pour le nom de la mère
TEM_SAN_OJ_PER_IND VARCHAR2 1 F Témoin sans objet pour le nom du père
TEM_TIER_IND VARCHAR2 1 F Témoin besoin tiers temps
1 Ces champs sont Obligatoires ou Facultatifs au sens de la base de données
La méthodologie par l ’exemple
ApogApogéeée
Partie 3 : conversion Apogée v 2.80 21
Domaine : Individu & Etudiant tables connexes
DEPARTEMENT
COD_DEPCOD_ACD
ANNEE_UNI
COD_ANU
ETABLISSEMENT
COD_ETB
SIT_FAM
COD_FAM
PAYS
COD_PAY
SIT_MIL
COD_SIM
TYP_HANDICAP
COD_THP
UTILISATEUR
COD_UTI
ACADEMIE
COD_ACD
INDIVIDU
COD_ANU_SRT_INDCOD_ETBCOD_FAM
COD_PAY_NATCOD_SIMCOD_THPCOD_UTI
COD_UTI_MODCOD_UTI_BLO
COD_DEP_PAY_NAI
PAYS
COD_PAY
La méthodologie par l ’exemple
ApogApogéeée
Partie 3 : conversion Apogée v 2.80 22
Domaine : Individu & Etudiant Valeurs de conversion de la table Individu
La notion Obligatoire/Facultative des champs décrits ici est la valeur logique et non physique de cet aspect. Certains champs peuvent être physiquement facultatifs en base mais obligatoires dans l'application.
Champs Obl/Fac Coh Dom.Val Valeur à donner lors de la conversion Objet Apogée UtiliséTable Champ Séquence
COD_IND O A engendrer en compatibilité avec la séquence SEQ_COD_IND SEQ_COD_INDCOD_UTI O 1 Insérer le code de l’utilisateur chargé des conversions UTILISATEUR COD_UTIDAT_CRE_IND O Insérer la date couranteDATE_NAI_IND O 2,16 Insérer la donnée en provenance de l’ancien systèmeETA_PRS_ETU O ‘O’, ‘N’ Insérer la valeur par défaut qui est ‘O’LIB_NOM_PAT_IND O Insérer la donnée en provenance de l’ancien systèmeLIB_PR1_IND O Insérer la donnée en provenance de l’ancien systèmeTEM_AID_IND O ‘O’, ‘N’ Insérer la valeur adéquate en la récupérant dans l'ancien systèmeTEM_CRT_SSO_ETU O ‘O’, ‘N’ Insérer la valeur par défaut qui est ‘N’TEM_DATE_NAI_REL O ‘O’, ‘N’ Le domaine est ‘O’, ‘N’TEM_FAU_IND O ‘O’, ‘N’ Insérer la valeur adéquate en la récupérant dans l'ancien systèmeTEM_SAN_OJ_MER_IND O ‘O’, ‘N’ Insérer la valeur par défaut qui est ‘N’TEM_SAN_OJ_PER_IND O ‘O’, ‘N’ Insérer la valeur par défaut qui est ‘N’TEM_TIER_IND O ‘O’, ‘N’ Insérer la valeur adéquate en la récupérant dans l'ancien systèmeCOD_ANU_SRT_IND F 3 Insérer la donnée en provenance de l’ancien système si elle existe ANNEE_UNI COD_ANUCOD_CIV O 4,16,14 ‘1’ ou ‘2’ Insérer le premier caractère du code INSEE
La méthodologie par l ’exemple
ApogApogéeée
Partie 3 : conversion Apogée v 2.80 23
Domaine : Individu & Etudiant
Règles de cohérence sur la table individu
Règle n°1 : Le champ COD_UTI de la table INDIVIDU doit contenir le COD_UTI d’un utilisateur défini dans la table UTILISATEUR. Il est conseillé de créer un utilisateur nommé CONVERSION.
Règle n°2 : Le champ DAT_NAI_IND doit être renseigné car il est obligatoire pour le client Apogée.
Règle n°3 : Si le champ COD_ANU_SRT_IND est renseigné, il doit contenir un COD_ANU existant dans la table ANNEE_UNI.
Règle n°4 : Le champ COD_CIV doit être renseigné car il est obligatoire pour le client Apogée.
Règle n°5 : Le champ COD_PAY_NAT doit être renseigné car il est obligatoire pour le client Apogée.
Règle n°6 : Le champ COD_TYP_DEP_PAY_NAI doit être renseigné car il est obligatoire pour le client Apogée.
La méthodologie par l ’exemple
ApogApogéeée
Partie 3 : conversion Apogée v 2.80 24
Bien réfléchir avant de commencer à la démarche de conversion dans l’établissement Formaliser la démarche adoptée (penser aux besoins ultérieurs en matière de pilotage et de statistiques) Etudier la documentation SQL*LOADER Copier la base de production dans la base de test Travailler sur la base de test (voire sur une base spécifique migration) Vérifier qu’on dispose :
du temps CPU de la place disque
Mise en place - Résumé
ApogApogéeée
Partie 3 : conversion Apogée v 2.80 25
Ne pas chercher à convertir une S.E en entier et automatiquement
Bien renseigner le référentiel avant la conversion
Recommandations
ApogApogéeée
Partie 3 : conversion Apogée v 2.80 26
Créer un utilisateur conversion
Attention à la codification (% - _ ,) Attention au minuscule / majuscule
Veiller à recréer les index suite à la conversion (notamment si on importe par ordre alphabétique par exemple)
Mise à jour des séquences (cod_ind, cod_etu, cod_adr)
$APOGEE_HOME/admin/maj_sequence.sh
Recommandations
ApogApogéeée
Partie 3 : conversion Apogée v 2.80 27
Conversion IA - IP et batch babajou1 - babanui1
La conversion des IA et éventuellement des IP doit se faire alors qu’aucune action d’inscription n’est en cours via Apogée Trav_ini_res doit être vide Arrêter babajou1 et babanui1 (arrêt architecture batch) conversion truncate de trav_ini_res relancer l ’architecture batch
Recommandations
ApogApogéeée
Partie 3 : conversion Apogée v 2.80 28
Vos questions ???
Questions