28
Apog Apog ée ée Partie 3 : conversion Apogée v 2.80 1 Partie 3 : conversion technique Apogée v 2.80

Apogée Partie 3 : conversion Apogée v 2.80 30 Partie 3 : conversion technique Apogée v 2.80

Embed Size (px)

Citation preview

Page 1: 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

Page 2: 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 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

Page 3: 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 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

Page 4: 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 4

Maîtriser l’application précédente

Connaître l’outil SQL*LOADER

Maîtriser le langage SQL

Pré-requis

Page 5: 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 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

Page 6: 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 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

Page 7: 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 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

Page 8: 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 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

Page 9: 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 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

Page 10: 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 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

Page 11: 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 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

Page 12: 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 12

Individu & Etudiants

Inscriptions Administratives

Inscriptions Pédagogiques

Résultats

Les domaines concernés

Page 13: 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 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

Page 14: 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 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

Page 15: 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 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

Page 16: 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 16

Manuel : convinet.doc Individus & Etudiants

Inscriptions Administratives Manuel : convia.doc

Résultats Manuel : convresu.doc

La méthodologie

Page 17: 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 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

Page 18: 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 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

Page 19: 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 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

Page 20: 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 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

Page 21: 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 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

Page 22: 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 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

Page 23: 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 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

Page 24: 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 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é

Page 25: 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 25

Ne pas chercher à convertir une S.E en entier et automatiquement

Bien renseigner le référentiel avant la conversion

Recommandations

Page 26: 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 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

Page 27: 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 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

Page 28: 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 28

Vos questions ???

Questions