# Base de Données: SAMS

## Liste des tables

Nom | Description
--- | ---
F1 | Dossiers
F11 | Appels
F12 | Interventions
F13 | Demandes de corrections
F14 | Techniciens par intervention
F15 | Historique des événements du dossier
F16 | Liens inter-dossiers
F2 | Devis
F21 | Demandes d'évolution
F22 | Versions applicatives par évolution (évolution répartie sur plusieurs versions)
F23 | Compléments d'analyse de demande d'évolution
F3 | Commandes
F30 | Utilisateurs
F31 | Profils d'utilisateur
F32 | Droits par profil d'utilisateur
F33 | Livraisons
F34 | Reports de livraison
F4 | Applications
F41 | Versions
F5 | Sites
F51 | Correspondants locaux (des sites)
F6 | Diffusions des versions
F61 | Envois/installations de versions (correctifs, sites pilotes ou diffusion)
F7 | Fiches d'expression de besoin
F70 | Techniciens
F71 | Profils de technicien
F72 | Qualifications de dossier
F73 | Modes de résolution
F74 | Types de juridiction
F75 | Qualités de correspondant
F76 | Types d'action préventive
F77 | Logiciels de base
F78 | Niveaux de support
F79 | Etats d'avancement
F80 | Paramètres SAMS
F81 | Domaines fonctionnels
F82 | Domaine métiers
F83 | Environnements
F84 | Environnements techniques
F85 | Référentiel des qualifications
MENUS | Eléments du menu HTML de l'application
TAILLELISTE | Taille des différentes listes par utilisateur

##

## Table: F1

### Index:

Nom | Type
--- | ---
Index primaire | F1ID
FK_F1_F73 | F1NIVINC
FK_F1_F81 | F1DOMFONCT
FK_F1_F72 | F1QUALIF

### Champs:

Nom | Type | Nul | Par défaut | Extras | Commentaire
--- | --- | --- | --- | --- | ---
F1ID | int(11) | NULL | NULL | auto_increment |
F1NUM | varchar(9) | NULL | NULL |  | Automatique (égal au n° du 1er appel saisi pour le dossier)
F1DATE | datetime | NULL | NULL |  | Date et heure de l'appel initial - Automatique (égal à la date et heure du 1er appel saisi pour le dossier)
F1INCID | int(1) | NULL | NULL |  | 0 ou NULL (difficulté d'utilisation), 1 (incident)
F1BLOQ | int(1) | NULL | NULL |  | Bloquant (0 ou NULL = Non, 1 = Oui)
F1DTFIN | datetime | NULL | NULL |  | Date et heure de clôture du dossier
F1DESCR | text | NULL | NULL |  | Descriptif (PJ stockées dans le répertoire DESCR)
F1SOLUTION | text | NULL | NULL |  | Solution (PJ stockées dans le répertoire SOLUTION)
F1SITE | int(11) | NULL | NULL |  | Ville du site
F1VERSAPP | int(11) | NULL | NULL |  | Code de la version de l'application
F1NIVINC | int(11) | NULL | NULL |  | Code du mode de résolution
F1DOMFONCT | int(11) | NULL | NULL |  | Code du domaine fonctionnel
F1QUALIF | int(11) | NULL | NULL |  | Code de la qualification

### Clé secondaire:

Nom | Type
--- | ---
FK_F1_F72 | F1QUALIF -> f72.F72ID
FK_F1_F73 | F1NIVINC -> f73.F73ID
FK_F1_F81 | F1DOMFONCT -> f81.F81ID

top

## Table: F11

### Index:

Nom | Type
--- | ---
Index primaire | F11ID
FK_F11_F1 | F11DOS
FK_F11_F51 | F11CORRESP
FK_F11_F70A | F11TECH
FK_F11_F72 | F11QUALIF
FK_F11_F73 | F11NIVEAU
FK_F11_F70B | F11TRANSTECH
FK_F11_F79 | F11ETAT

### Champs:

Nom | Type | Nul | Par défaut | Extras | Commentaire
--- | --- | --- | --- | --- | ---
F11ID | int(11) | NULL | NULL | auto_increment |
F11NUM | varchar(9) | NULL | NULL |  | Automatique (format AAAANNNNN où AAAA = année de la date d'appel et NNNNN = n° d'ordre dans l'année)
F11DATE | datetime | NULL | NULL |  | Date et heure (par défaut date et heure système à la validation)
F11MOTIF | text | NULL | NULL |  | Motif de l'appel (PJ stockées dans le répertoire MOTIF)
F11TYPE | int(1) | NULL | NULL |  | Type d'appel (0 = appel complémentaire, 1 = appel initial)
F11REPONSE | text | NULL | NULL |  | Réponse du technicien qui a traité l'appel (PJ stockées dans le répertoire REPONSE)
F11DUREE | int(4) | NULL | NULL |  | Durée de l'appel en minutes
F11DURRES | int(4) | NULL | NULL |  | Durée de résolution en minutes
F11DTRECEP | datetime | NULL | NULL |  | Date de réception (saisissable par un utilisateur de profil Ministère)
F11FACT | int(1) | NULL | NULL |  | Appel facturable (0 ou NULL = facturable, 1= non facturable)
F11DTETAT | datetime | NULL | NULL |  | Date d'état d'avancement (depuis le)
F11DOS | int(11) | NULL | NULL |  | Code du dossier
F11CORRESP | int(11) | NULL | NULL |  | Auteur de l'appel
F11TECH | int(11) | NULL | NULL |  | Technicien qui traite l'appel
F11QUALIF | int(11) | NULL | NULL |  | Code qualification (inutilisé)
F11TRANSTECH | int(11) | NULL | NULL |  | Technicien à qui l'appel est transféré
F11ETAT | int(11) | NULL | NULL |  | Etat d'avancement de l'appel

### Clé secondaire:

Nom | Type
--- | ---
FK_F11_F1 | F11DOS -> f1.F1ID
FK_F11_F51 | F11CORRESP -> f51.F51ID
FK_F11_F70A | F11TECH -> f70.F70ID
FK_F11_F70B | F11TRANSTECH -> f70.F70ID
FK_F11_F72 | F11QUALIF -> f72.F72ID
FK_F11_F79 | F11ETAT -> f79.F79ID

top

## Table: F12

### Index:

Nom | Type
--- | ---
Index primaire | F12ID
FK_F12_F1 | F12DOS
FK_F12_F76 | F12TYPAP

### Champs:

Nom | Type | Nul | Par défaut | Extras | Commentaire
--- | --- | --- | --- | --- | ---
F12ID | int(11) | NULL | NULL | auto_increment |
F12NUM | varchar(9) | NULL | NULL |  | Automatique (format AAAANNNNN où AAAA = année de la date de début d'intervention et NNNNN = n° d'ordre dans l'année)
F12DTDEB | datetime | NULL | NULL |  | Date et heure de début de l'intervention
F12DTFIN | datetime | NULL | NULL |  | Date et heure de fin de l'intervention
F12DESCR | text | NULL | NULL |  | Descriptif (PJ stockées dans le répertoire DESCR)
F12NATURE | int(1) | NULL | NULL |  | Nature de l'intervention (1 = A distance, 2 : Sur site)
F12TYPE | varchar(8) | NULL | NULL |  | Nature de l'intervention (1 = Incident, 2 = Action préventive)
F12DTRECEP | datetime | NULL | NULL |  | Date de réception
F12SITE | int(11) | NULL | NULL |  | Ville du site
F12VERSAPP | int(11) | NULL | NULL |  | Code de la version de l'application
F12DOS | int(11) | NULL | NULL |  | Numéro de dossier
F12TYPAP | int(11) | NULL | NULL |  | Code de l'action préventive si F12TYPE = 2

### Clé secondaire:

Nom | Type
--- | ---
FK_F12_F1 | F12DOS -> f1.F1ID
FK_F12_F76 | F12TYPAP -> f76.F76ID

top

## Table: F13

### Index:

Nom | Type
--- | ---
Index primaire | F13ID
FK_F13_F1 | F13DOS
FK_F13_F21 | F13EVOL
FK_F13_F81 | F13DOMFONCT
FK_F13_F82 | F13DOMMETIER
FK_F13_F84 | F13ENVIR
FK_F13_F79 | F13ETAT
FK_F13_F13 | F13CORINI

### Champs:

Nom | Type | Nul | Par défaut | Extras | Commentaire
--- | --- | --- | --- | --- | ---
F13ID | int(11) | NULL | NULL | auto_increment |
F13NUM | varchar(9) | NULL | NULL |  | Automatique (format AAAANNNNN où AAAA = année de la date de demande de correction et NNNNN = n° d'ordre dans l'année)
F13DATE | datetime | NULL | NULL |  | Date de la demande
F13ORIGINE | int(1) | NULL | NULL |  | Origine (0 = Administrateur, 1 = Ministère, 2 = Site)
F13DESDEM | text | NULL | NULL |  | Descriptif de la demande (PJ stockées dans le répertoire DESDEM)
F13REPONSE | text | NULL | NULL |  | Réponse (PJ stockées dans le répertoire REPONSE)
F13DESCOR | text | NULL | NULL |  | Description de la correction (Pièces jointes stockées dans le répertoire DESCOR)
F13DTCOR | datetime | NULL | NULL |  | Date de la correction
F13DTRECEP | datetime | NULL | NULL |  | Date de réception
F13DTANNUL | datetime | NULL | NULL |  | Date d'annulation
F13PRIO | varchar(1) | NULL | NULL |  | Indicateur de priorité de correction
F13DTETAT | datetime | NULL | NULL |  | Date associée à l'état d'avancement (depuis le)
F13NBRET | int(2) | NULL | NULL |  | Nombre de retours au réalisateur
F13SITE | int(11) | NULL | NULL |  | Ville du site à l'origine de la demande si F13ORIGINE = 2
F13VERSAPP | int(11) | NULL | NULL |  | Code de la version de l'application concernée par la demande
F13CORRECTIF | int(11) | NULL | NULL |  |
F13DOS | int(11) | NULL | NULL |  | Numéro du dossier
F13EVOL | int(11) | NULL | NULL |  | N° de l'évolution objet de la présente demande de correction
F13DOMFONCT | int(11) | NULL | NULL |  | Code du domaine fonctionnel
F13DOMMETIER | int(11) | NULL | NULL |  | Code du domaine métier
F13ENVIR | int(11) | NULL | NULL |  | Code de l'environnement techniques
F13ETAT | int(11) | NULL | NULL |  | Code de l'état d'avancement
F13CORINI | int(11) | NULL | NULL |  | N° de la demande de correction initiale objet de la présente demande de correction

### Clé secondaire:

Nom | Type
--- | ---
FK_F13_F1 | F13DOS -> f1.F1ID
FK_F13_F13 | F13CORINI -> F13ID
FK_F13_F21 | F13EVOL -> f21.F21ID
FK_F13_F79 | F13ETAT -> f79.F79ID
FK_F13_F81 | F13DOMFONCT -> f81.F81ID
FK_F13_F82 | F13DOMMETIER -> f82.F82ID
FK_F13_F84 | F13ENVIR -> f84.F84ID

top

## Table: F14

### Index:

Nom | Type
--- | ---
FK_F14_F12 | F14INTERV
FK_F14_F70 | F14TECH

### Champs:

Nom | Type | Nul | Par défaut | Extras | Commentaire
--- | --- | --- | --- | --- | ---
F14DUREE | decimal(5,1) | NULL | NULL |  | Durée de l'intervention du technicien
F14INTERV | int(11) | NULL | NULL |  | Numéro de l'intervention
F14TECH | int(11) | NULL | NULL |  | Code du technicien

### Clé secondaire:

Nom | Type
--- | ---
FK_F14_F12 | F14INTERV -> f12.F12ID
FK_F14_F70 | F14TECH -> f70.F70ID

top

## Table: F15

### Index:

Nom | Type
--- | ---
Index primaire | F15ID
U_F15 | F15APPEL, F15ORDRE
FK_F15_F51 | F15DESTCORR
FK_F15_F70 | F15DESTTECH

### Champs:

Nom | Type | Nul | Par défaut | Extras | Commentaire
--- | --- | --- | --- | --- | ---
F15ID | int(11) | NULL | NULL | auto_increment |
F15ORDRE | tinyint(4) | NULL | '1' |  | N° d'ordre de la ligne d'historique pour l'appel
F15DATE | datetime | NULL | NULL |  | Date et heure
F15UTILISATEUR | int(11) | NULL | NULL |  | Code de l'utilisateur connecté (créateur de l'appel ou émetteur du message)
F15DESTCORR | int(11) | NULL | NULL |  | Code du correspondant destinataire du message (bouton Informer)
F15DESTTECH | int(11) | NULL | NULL |  | Code du technicien destinataire du message (bouton Transférer)
F15APPEL | int(11) | NULL | NULL |  | N° de l'appel

### Clé secondaire:

Nom | Type
--- | ---
FK_F15_F11 | F15APPEL -> f11.F11ID
FK_F15_F51 | F15DESTCORR -> f51.F51ID
FK_F15_F70 | F15DESTTECH -> f70.F70ID

top

## Table: F16

### Index:

Nom | Type
--- | ---
U_F16 | F16DOS, F16DOSLIE
FK_F16_F1B | F16DOSLIE

### Champs:

Nom | Type | Nul | Par défaut | Extras | Commentaire
--- | --- | --- | --- | --- | ---
F16DATE | datetime | NULL | NULL |  | Date du lien
F16COMMENT | text | NULL | NULL |  | Commentaires du lien
F16DOS | int(11) | NULL | NULL |  | N° du dossier
F16DOSLIE | int(11) | NULL | NULL |  | N° du dossier lié

### Clé secondaire:

Nom | Type
--- | ---
FK_F16_F1A | F16DOS->F1.F1ID
FK_F16_F1B | F16DOSLIE->F1.F1ID

top

## Table: F2

### Index:

Nom | Type
--- | ---
Index primaire | F2ID

### Champs:

Nom | Type | Nul | Par défaut | Extras | Commentaire
--- | --- | --- | --- | --- | ---
F2ID | int(11) | NULL | NULL | auto_increment |
F2NUM | varchar(9) | NULL | NULL |  | Automatique (format AAAANNNNN où AAAA = année de la date de demande de devis et NNNNN = n° d'ordre dans l'année)
F2DATE | datetime | NULL | NULL |  | Date de demande
F2REFDEM | varchar(60) | NULL | NULL |  | Référence du demandeur du devis
F2REFTITU | varchar(60) | NULL | NULL |  | Référence de l'émetteur du devis
F2DTREMIS | datetime | NULL | NULL |  | Date de remise
F2COMMENT | text | NULL | NULL |  | Commentaires (PJ stockées dans le répertoire COMMENT)

top

## Table: F21

### Index:

Nom | Type
--- | ---
Index primaire | F21ID
FK_F21_F2 | F21DEVIS
FK_F21_F3 | F21CMD
FK_F21_F4 | F21APPLI
FK_F21_F81 | F21DOMFONCT
FK_F21_F82 | F21DOMMETIER
FK_F21_F79 | F21ETAT

### Champs:

Nom | Type | Nul | Par défaut | Extras | Commentaire
--- | --- | --- | --- | --- | ---
F21ID | int(11) | NULL | NULL | auto_increment |
F21NUM | varchar(9) | NULL | NULL |  | Automatique (format AAAANNNNN où AAAA = année de la date de demande et NNNNN = n° d'ordre dans l'année)
F21DATE | datetime | NULL | NULL |  | Date de la demande
F21REF | varchar(60) | NULL | NULL |  | Référence de la demande (libellé succint)
F21DESCR | text | NULL | NULL |  | Descriptif de la demande (PJ stockées dans le répertoire DESCR)
F21REPMIN | text | NULL | NULL |  | Réponse du ministère (PJ stockées dans le répertoire REPMIN)
F21REPTITU | text | NULL | NULL |  | Réponse de l'administrateur (Pièces jointes stockées dans le répertoire REPTITU)
F21ORIG | int(1) | NULL | NULL |  | Origine (0 = Administrateur, 1 = Ministère, 2 = Site)
F21PRIO | varchar(1) | NULL | NULL |  | Indicateur de priorité de la demande d'évolution
F21DTETAT | datetime | NULL | NULL |  | Date associée à l'état d'avancement (depuis le)
F21MIN | int(1) | NULL | NULL |  | Evolution mineure (0 ou NULL = Non, 1 = Oui)
F21SITE | int(11) | NULL | NULL |  | Ville du site à l'origine de la demande (si F21ORIG = 2)
F21DEVIS | int(11) | NULL | NULL |  | Numéro de devis évaluant la demande
F21CMD | int(11) | NULL | NULL |  | Numéro de commande
F21APPLI | int(11) | NULL | NULL |  | Code de l'application concernée
F21DOMFONCT | int(11) | NULL | NULL |  | Code du domaine fonctionnel
F21DOMMETIER | int(11) | NULL | NULL |  | Code du domaine métier
F21ETAT | int(11) | NULL | NULL |  | Code de l'état d'avancement

### Clé secondaire:

Nom | Type
--- | ---
FK_F21_F2 | F21DEVIS -> f2.F2ID
FK_F21_F3 | F21CMD -> f3.F3ID
FK_F21_F4 | F21APPLI -> f4.F4ID
FK_F21_F79 | F21ETAT -> f79.F79ID
FK_F21_F81 | F21DOMFONCT -> f81.F81ID
FK_F21_F82 | F21DOMMETIER -> f82.F82ID

top

## Table: F22

### Index:

Nom | Type
--- | ---
U_F22 | F22EVOL, F22VERSAPP

### Champs:

Nom | Type | Nul | Par défaut | Extras | Commentaire
--- | --- | --- | --- | --- | ---
F22DTDEB | datetime | NULL | NULL |  | Date de début de réalisation
F22DTFIN | datetime | NULL | NULL |  | Date de fin de réalisation
F22COMMENT | text | NULL | NULL |  | Commentaire (PJ stockées dans le répertoire COMMENT)
F22VERSAPP | int(11) | NULL | NULL |  | Code de la version de l'application
F22EVOL | int(11) | NULL | NULL |  | Numéro d'évolution

### Clé secondaire:

Nom | Type
--- | ---
FK_22F_F21 | F22EVOL -> f21.F21ID

top

## Table: F23

### Index:

Nom | Type
--- | ---
Index primaire | F23ID
U_F23 | F23EVO, F23ORDRE

### Champs:

Nom | Type | Nul | Par défaut | Extras | Commentaire
--- | --- | --- | --- | --- | ---
F23ID | int(11) | NULL | NULL | auto_increment |
F23ORDRE | varchar(2) | NULL | NULL |  | N° ordre du complément (automatique)
F23DTQUES | datetime | NULL | NULL |  | Date de la question
F23QUES | text | NULL | NULL |  | Question (PJ stockées dans le répertoire QUES)
F23DTREP | datetime | NULL | NULL |  | Date de la réponse
F23REP | text | NULL | NULL |  | Réponse (PJ stockées dans le répertoire REPONSE)
F23EVO | int(11) | NULL | NULL |  | N° d'évolution

### Clé secondaire:

Nom | Type
--- | ---
FK_F23_F21 | F23EVO -> f21.F21ID

top

## Table: F3

### Index:

Nom | Type
--- | ---
Index primaire | F3ID
FK_F3_F2 | F3DEVIS
FK_F3_F83 | F3CATEG

### Champs:

Nom | Type | Nul | Par défaut | Extras | Commentaire
--- | --- | --- | --- | --- | ---
F3ID | int(11) | NULL | NULL | auto_increment |
F3NUM | varchar(9) | NULL | NULL |  | Automatique (format AAAANNNNN où AAAA = année de la date de commande et NNNNN = n° d'ordre dans l'année)
F3DATE | datetime | NULL | NULL |  | Date de la commande
F3NUMMIN | varchar(60) | NULL | NULL |  | Numéro de la commande pour le ministère
F3OBJET | varchar(60) | NULL | NULL |  | Objet
F3DTLIV | datetime | NULL | NULL |  | Date limite de livraison
F3DTDOCUT | datetime | NULL | NULL |  | Date limite de livraison de la documentation utilisateur
F3DTDOCMA | datetime | NULL | NULL |  | Date limite de livraison de la documentation de maintenance
F3DTRECEP | datetime | NULL | NULL |  | Date de réception définitive de la commande
F3COMMENT | text | NULL | NULL |  | Commentaire (PJ stockées dans le répertoire COMMENT)
F3CHARGE | decimal(6,2) | NULL | NULL |  | Charges en j*h
F3MONTANT | decimal(11,2) | NULL | NULL |  | Montant TTC
F3DEVIS | int(11) | NULL | NULL |  | Numéro du devis
F3CATEG | int(11) | NULL | NULL |  | Code de la catégorie

### Clé secondaire:

Nom | Type
--- | ---
FK_F3_F2 | F3DEVIS -> f2.F2ID
FK_F3_F83 | F3CATEG -> f83.F83ID

top

## Table: F30

### Index:

Nom | Type
--- | ---
Index primaire | F30ID
U_F30 | F30NOM, F30PRENOM, F30SITE
FK_F30_F70 | F30TECH

### Champs:

Nom | Type | Nul | Par défaut | Extras | Commentaire
--- | --- | --- | --- | --- | ---
F30ID | int(11) | NULL | NULL | auto_increment |
F30NOM | varchar(60) | NULL | NULL |  | Nom
F30PRENOM | varchar(60) | NULL | NULL |  | Prénom
F30MOTPASS | varchar(32) | NULL | NULL |  | Mot de passe
F30PROFIL | int(11) | NULL | NULL |  | Code du profil de l'utilisateur
F30TECH | int(11) | NULL | NULL |  | Code technicien (si l'utilisateur est aussi technicien)
F30SITE | int(11) | NULL | NULL |  | Ville du site de l'utilisateur

### Clé secondaire:

Nom | Type
--- | ---
FK_F30_F70 | F30TECH -> f70.F70ID

top

## Table: F31

### Index:

Nom | Type
--- | ---
Index primaire | F31ID
U_F31 | F31CODE

### Champs:

Nom | Type | Nul | Par défaut | Extras | Commentaire
--- | --- | --- | --- | --- | ---
F31ID | int(11) | NULL | NULL | auto_increment |
F31CODE | varchar(8) | NULL | NULL |  | Code du profil
F31TYPE | int(1) | NULL | NULL |  | Type de profil (Administrateur =1, Ministère = 2, site = 3)

top

## Table: F32

### Index:

Nom | Type
--- | ---
Index primaire | F32ID
U_F32 | F32PROFIL, F32DONNEE

### Champs:

Nom | Type | Nul | Par défaut | Extras | Commentaire
--- | --- | --- | --- | --- | ---
F32ID | int(11) | NULL | NULL | auto_increment |
F32DONNEE | varchar(60) | NULL | NULL |  | Adresse de la fonction, sous la forme /nomPackage/nomFonction/
F32CONSULT | int(1) | NULL | NULL |  | Consultation (1 = Oui (toujours))
F32MODIF | int(1) | NULL | NULL |  | Modification (0 = Non, 1 = Oui)
F32AJOUT | int(1) | NULL | NULL |  | Ajout (0 = Non, 1 = Oui)
F32SUPPR | int(1) | NULL | NULL |  | Suppression (0 = Non, 1 = Oui)
F32LIBEL | varchar(60) | NULL | NULL |  | Libellé
F32PROFIL | int(11) | NULL | NULL |  | Code du profil

### Clé secondaire:

Nom | Type
--- | ---
FK_F32_F31 | F32PROFIL -> f31.F31ID

top

## Table: F33

### Index:

Nom | Type
--- | ---
Index primaire | F33ID
FK_F33_F3 | F33CMD

### Champs:

Nom | Type | Nul | Par défaut | Extras | Commentaire
--- | --- | --- | --- | --- | ---
F33ID | int(11) | NULL | NULL | auto_increment |
F33NUM | varchar(9) | NULL | NULL |  | Automatique (format AAAANNNNN où AAAA = année de la date prévue de livraison et NNNNN = n° d'ordre dans l'année)
F33ORIGINE | int(1) | NULL | NULL |  | Origine ( 0 = Administrateur, 1 = Ministère)
F33REF | varchar(60) | NULL | NULL |  | Référence de livraison
F33DESCR | text | NULL | NULL |  | Descriptif ( PJ stockées dans le répertoire DESCR)
F33DTPREV | datetime | NULL | NULL |  | Date de livraison prévue
F33DTREEL | datetime | NULL | NULL |  | Date de livraison réelle
F33RESERVE | text | NULL | NULL |  | Réserves (PJ stockées dans le répertoire RES)
F33TRAITEE | int(1) | NULL | NULL |  | Traitée (0 ou NULL = Non, 1 = Oui)
F33VERSAPP | int(11) | NULL | NULL |  | Code de la version de l'application
F33CMD | int(11) | NULL | NULL |  | N° de commande

### Clé secondaire:

Nom | Type
--- | ---
FK_F33_F3 | F33CMD -> f3.F3ID

top

## Table: F34

### Index:

Nom | Type
--- | ---
Index primaire | F34ID
U_F34 | F34ORDRE, F34LIV
FK_F34_F33 | F34LIV

### Champs:

Nom | Type | Nul | Par défaut | Extras | Commentaire
--- | --- | --- | --- | --- | ---
F34ID | int(11) | NULL | NULL | auto_increment |
F34ORDRE | varchar(2) | NULL | NULL |  | N° d'ordre du report pour une livraison
F34DATE | datetime | NULL | NULL |  | Date à laquelle la livraison est reportée
F34MOTIF | text | NULL | NULL |  | Motif (PJ dans le répertoire MOT)
F34LIV | int(11) | NULL | NULL |  | N° de livraison

### Clé secondaire:

Nom | Type
--- | ---
FK_F34_F33 | F34LIV -> f33.F33ID

top

## Table: F4

### Index:

Nom | Type
--- | ---
Index primaire | F4ID
U_F4 | F4CODE
FK_F4_F4 | F4APPSEC

### Champs:

Nom | Type | Nul | Par défaut | Extras | Commentaire
--- | --- | --- | --- | --- | ---
F4ID | int(11) | NULL | NULL | auto_increment |
F4CODE | varchar(8) | NULL | NULL |  | Code de l'application
F4LIBEL | varchar(60) | NULL | NULL |  | Libellé de l'application
F4APPSEC | int(11) | NULL | NULL |  | Code de l'application secondaire (modifiable hors SAMS via SQL

### Clé secondaire:

Nom | Type
--- | ---
FK_F4_F4 | F4APPSEC -> F4ID

top

## Table: F41

### Index:

Nom | Type
--- | ---
Index primaire | F41ID
U_F41 | F41CODE, F41APPLI
FK_F41_F4 | F41APPLI

### Champs:

Nom | Type | Nul | Par défaut | Extras | Commentaire
--- | --- | --- | --- | --- | ---
F41ID | int(11) | NULL | NULL | auto_increment |
F41CODE | varchar(20) | NULL | NULL |  | Code de la version
F41DTVER | datetime | NULL | NULL |  | Date de validation de la version
F41DTNOTE | datetime | NULL | NULL |  | Date de validation de la note descriptive
F41DTPILOT | datetime | NULL | NULL |  | Date de demande d'installation des sites pilotes
F41INACTIF | int(1) | NULL | NULL |  | Inactivité (0 ou NULL = non, 1 = Oui)
F41APPLI | int(11) | NULL | NULL |  | Code de l'application

### Clé secondaire:

Nom | Type
--- | ---
FK_F41_F4 | F41APPLI->F4.F4ID

top

## Table: F5

### Index:

Nom | Type
--- | ---
Index primaire | F5ID
U_F5 | F5TYPJUR, F5VILLE, F5ORDRE
FK_F5_F77A | F5LOGOSSERV
FK_F5_F77B | F5LOGSGBD
FK_F5_F77C | F5LOGWIN
FK_F5_F77D | F5LOGTXT

### Champs:

Nom | Type | Nul | Par défaut | Extras | Commentaire
--- | --- | --- | --- | --- | ---
F5ID | int(11) | NULL | NULL | auto_increment |
F5REPRISE | int(1) | NULL | NULL |  | Reprise de données (0 ou NULL = Non, 1 = Oui)
F5ANCSYST | varchar(60) | NULL | NULL |  | Nom de l'ancien système (si F5REPRISE = 1)
F5DTMOM | datetime | NULL | NULL |  | Date de mise en ordre de marche
F5DTADMIS | datetime | NULL | NULL |  | Date d'admission par le responsable du site
F5NBFORME | int(4) | NULL | NULL |  | Nombre d'exploitants formés
F5NBFORMU | int(4) | NULL | NULL |  | Nombre d'utilisateurs formés
F5FORMA | varchar(60) | NULL | NULL |  | Dates de formation (saisie libre)
F5ADD3 | varchar(60) | NULL | NULL |  | Adresse
F5VILLE | varchar(60) | NULL | NULL |  | Ville du site
F5ORDRE | tinyint(4) | NULL | '1' |  | N°ordre du site
F5DTMAJ | datetime | NULL | NULL |  | Date de la dernière mise à jour des informations du site, automatique (remplie avec la date du jour à chaque validation)
F5ADD1 | varchar(60) | NULL | NULL |  | Adresse
F5ADD2 | varchar(60) | NULL | NULL |  | Adresse
F5CP | varchar(5) | NULL | NULL |  | Code postal
F5TEL | varchar(20) | NULL | NULL |  | N° de téléphone
F5FAX | varchar(20) | NULL | NULL |  | N° de fax
F5MAIL | varchar(60) | NULL | NULL |  | Adresse e-mail
F5PCHANC | int(1) | NULL | NULL |  | Priorité Chancellerie pour l'informatisation initiale (0 = Non, 1 = Oui)
F5PCA | int(1) | NULL | NULL |  | Priorité du site de rattachement pour l'informatisation intiale (0 = Non, 1 = Oui)
F5DTDEPCA | datetime | NULL | NULL |  | Date dépêche au site de rattachement
F5AUTOCAB | varchar(60) | NULL | NULL |  | Autorité pour le câblage
F5AUTOMAT | varchar(60) | NULL | NULL |  | Autorité pour le matériel
F5OSSERV | varchar(60) | NULL | NULL |  | OS serveur (inutilisé car remplacé depuis la version 2 par F5LOGOSSERV)
F5SGBD | varchar(60) | NULL | NULL |  | Système de gestion des données (inutilisé car remplacé depuis la version 2 par F5LOGSGBD)
F5NBPOSTE | int(4) | NULL | NULL |  | Nombre de postes de travail
F5VERWIN | varchar(20) | NULL | NULL |  | Version de Windows (inutilisé car remplacé depuis la version 2 par F5LOGWIN)
F5VERWP | varchar(20) | NULL | NULL |  | Version de WordPerfect (inutilisé car remplacé depuis la version 2 par F5LOGTXT)
F5NBPORRE | int(4) | NULL | NULL |  | Nombre de portables réseau
F5NBPORNC | int(4) | NULL | NULL |  | Nombre de portables non connectés
F5NBIMPRE | int(4) | NULL | NULL |  | Nombre d'imprimantes réseau
F5NBIMPLO | int(4) | NULL | NULL |  | Nombre d'imprimantes locales
F5AUTRMAT | varchar(60) | NULL | NULL |  | Autres matériels
F5TELEM | int(1) | NULL | NULL |  | Télémaintenance (0 = Non, 1 = Oui)
F5MODEM | varchar(20) | NULL | NULL |  | N° d'appel modem pour télémaintenance (si F5TELEM = 1
F5DTINMAT | datetime | NULL | NULL |  | Date d'installation initiale du matériel
F5DTDEBIM | datetime | NULL | NULL |  | Date prévue du début d'implantation
F5DTFINIM | datetime | NULL | NULL |  | Date prévue de fin d'implantation
F5COMMENT | text | NULL | NULL |  | Commentaire (PJ stockées dans le répertoire COMMENT)
F5UNITINST | varchar(20) | NULL | NULL |  | Unité d'installation de l'application (ex : C:)
F5CODEESSR | varchar(8) | NULL | NULL |  | Code national ESSR du site
F5SAR | varchar(60) | NULL | NULL |  | SAR de rattachement
F5CPR | varchar(60) | NULL | NULL |  | CPR de rattachement
F5NOMSERV | varchar(60) | NULL | NULL |  | Nom du serveur principal
F5CA | int(11) | NULL | NULL |  |
F5TYPJUR | int(11) | NULL | NULL |  | Code du type de site
F5LOGOSSERV | int(11) | NULL | NULL |  | Code du logiciel de base 'OS Serveur'
F5LOGSGBD | int(11) | NULL | NULL |  | Code du logiciel de base 'SGBD'
F5LOGWIN | int(11) | NULL | NULL |  | Code de la version du logiciel de base 'Windows'
F5LOGTXT | int(11) | NULL | NULL |  | Code de la version du logiciel de base 'WordPerfect'

### Clé secondaire:

Nom | Type
--- | ---
FK_F5_F74 | F5TYPJUR -> f74.F74ID
FK_F5_F77A | F5LOGOSSERV -> f77.F77ID
FK_F5_F77B | F5LOGSGBD -> f77.F77ID
FK_F5_F77C | F5LOGWIN -> f77.F77ID
FK_F5_F77D | F5LOGTXT -> f77.F77ID

top

## Table: F51

### Index:

Nom | Type
--- | ---
Index primaire | F51ID
FK_F51_F75 | F51QUALITE

### Champs:

Nom | Type | Nul | Par défaut | Extras | Commentaire
--- | --- | --- | --- | --- | ---
F51ID | int(11) | NULL | NULL | auto_increment |
F51NOM | varchar(60) | NULL | NULL |  | Nom
F51PRENOM | varchar(60) | NULL | NULL |  | Prénom
F51TEL | varchar(20) | NULL | NULL |  | N° de téléphone
F51TELMOB | varchar(20) | NULL | NULL |  | N° de téléphone portable
F51FAX | varchar(20) | NULL | NULL |  | N° de fax
F51MAIL | varchar(60) | NULL | NULL |  | Adresse e-mail
F51RESPON | int(1) | NULL | NULL |  | Responsable (0 = Non, 1 = Oui)
F51CIVIL | int(1) | NULL | NULL |  | Civilité (1 = Monsieur, 2 = Madame, 3 = Mademoiselle)
F51POSTE | varchar(5) | NULL | NULL |  | N° de poste (téléphonique)
F51NOMPDT | varchar(60) | NULL | NULL |  | Nom du poste de travail
F51IPPDT | varchar(39) | NULL | NULL |  | Adresse IP du poste de travail
F51SITE | int(11) | NULL | NULL |  | Ville du site du correspondant
F51QUALITE | int(11) | NULL | NULL |  | Code de la qualité du correspondant (cf. table de référence)

### Clé secondaire:

Nom | Type
--- | ---
FK_F51_F75 | F51QUALITE -> f75.F75ID

top

## Table: F6

### Index:

Nom | Type
--- | ---
Index primaire | F6ID

### Champs:

Nom | Type | Nul | Par défaut | Extras | Commentaire
--- | --- | --- | --- | --- | ---
F6ID | int(11) | NULL | NULL | auto_increment |
F6NUM | varchar(9) | NULL | NULL |  | Automatique (format AAAANNNNN où AAAA = année de référence de la diffusion générale et NNNNN = n° d'ordre dans l'année)
F6DTRECEP | datetime | NULL | NULL |  | Date de réception
F6TYPE | int(1) | NULL | NULL |  | Type de diffusion (1 : simple par envoi postal, 2 : simple par envoi d'e-mail, 3 : complexe par télémaintenance, 4 : complexe sur site
F6DESCR | text | NULL | NULL |  | Descriptif (PJ stockées dans le répertoire DESDIF)
F6VERSAPP | int(11) | NULL | NULL |  | Version de l'application

top

## Table: F61

### Index:

Nom | Type
--- | ---
U_F61 | F61SITE, F61VERSAPP
FK_F61_F6 | F61DIFFUS
FK_F61_F70 | F61TECH

### Champs:

Nom | Type | Nul | Par défaut | Extras | Commentaire
--- | --- | --- | --- | --- | ---
F61DTENV | datetime | NULL | NULL |  | Date de l'envoi (si F6TYPE = 1 ou F6TYPE = 2)
F61DTDEB | datetime | NULL | NULL |  | Date de début de l'installation (si F6TYPE = 3 ou F6TYPE = 4)
F61DTFIN | datetime | NULL | NULL |  | Date de fin de l'installation (si F6TYPE = 3 ou F6TYPE = 4)
F61DUREE | decimal(5,1) | NULL | NULL |  | Durée de l'installation effectuée par le technicien (si F6TYPE = 3 ou F6TYPE = 4)
F61DTMOM | datetime | NULL | NULL |  | Date de mise en ordre de marche
F61DTVAL | datetime | NULL | NULL |  | Date de validation de l'envoi/installation
F61PILOTE | int(1) | NULL | NULL |  | Site pilote (0 = Non, 1 = Oui)
F61COMMENT | text | NULL | NULL |  | Commentaire (PJ stockées dans le répertoire COMMENT)
F61SITE | int(11) | NULL | NULL |  | Ville du site
F61VERSAPP | int(11) | NULL | NULL |  | Version de l'application
F61DIFFUS | int(11) | NULL | NULL |  | N° de diffusion (envoi/installation)
F61TECH | int(11) | NULL | NULL |  | Code du technicien (si F6TYPE = 3 ou F6TYPE = 4)

### Clé secondaire:

Nom | Type
--- | ---
FK_F61_F6 | F61DIFFUS -> f6.F6ID
FK_F61_F70 | F61TECH -> f70.F70ID

top

## Table: F7

### Index:

Nom | Type
--- | ---
Index primaire | F7ID
FK_F7_F4 | F7APPLI
FK_F7_F81 | F7DOMFONCT
FK_F7_F82 | F7DOMMETIER
FK_F7_F79 | F7ETAT
FK_F7_F21 | F7EVOL

### Champs:

Nom | Type | Nul | Par défaut | Extras | Commentaire
--- | --- | --- | --- | --- | ---
F7ID | int(11) | NULL | NULL | auto_increment |
F7NUM | varchar(9) | NULL | NULL |  | Automatique (format AAAANNNNN où AAAA = année de la date de demande de la fiche d'expression de besoin et NNNNN = n° d'ordre dans l'année)
F7DATE | datetime | NULL | NULL |  | Date de la demande
F7REF | varchar(60) | NULL | NULL |  | Référence
F7DTETAT | datetime | NULL | NULL |  | Date associée à l'état d'avancement (depuis le)
F7DESCR | text | NULL | NULL |  | Descriptif de la demande ( PJ stockées dans le répertoire DESCR)
F7REPONSE | text | NULL | NULL |  | Réponse de la MOA (PJ stockées dans le répertoire REPONSE)
F7PRIO | varchar(1) | NULL | NULL |  | Indicateur de priorité
F7SITE | int(11) | NULL | NULL |  | Site à l'origine de la demande
F7APPLI | int(11) | NULL | NULL |  | Code de l'application
F7DOMFONCT | int(11) | NULL | NULL |  | Code du domaine fonctionnel
F7DOMMETIER | int(11) | NULL | NULL |  | Code du domaine métier
F7ETAT | int(11) | NULL | NULL |  | Code de l'état d'avancement
F7EVOL | int(11) | NULL | NULL |  | N° de la demande d'évolution (si la FEB donne lieu à une demande d'évolution)

### Clé secondaire:

Nom | Type
--- | ---
FK_F7_F21 | F7EVOL -> f21.F21ID
FK_F7_F4 | F7APPLI -> f4.F4ID
FK_F7_F79 | F7ETAT -> f79.F79ID
FK_F7_F81 | F7DOMFONCT -> f81.F81ID
FK_F7_F82 | F7DOMMETIER -> f82.F82ID

top

## Table: F70

### Index:

Nom | Type
--- | ---
Index primaire | F70ID
U_F70 | F70CODE
FK_F70_F71 | F70PROFIL
FK_F70_F78 | F70NIVSUP

### Champs:

Nom | Type | Nul | Par défaut | Extras | Commentaire
--- | --- | --- | --- | --- | ---
F70ID | int(11) | NULL | NULL | auto_increment |
F70CODE | varchar(8) | NULL | NULL |  | Code du technicien
F70NOM | varchar(60) | NULL | NULL |  | Nom
F70PRENOM | varchar(60) | NULL | NULL |  | Prénom
F70TEL | varchar(20) | NULL | NULL |  | N° de téléphone
F70FAX | varchar(20) | NULL | NULL |  | N° de fax
F70MAIL | varchar(60) | NULL | NULL |  | Adresse e-mail
F70INACTIF | int(1) | NULL | NULL |  | Inactivité (0 ou NULL = actif, 1 = Inactif)
F70NIVSUP | int(11) | NULL | NULL |  | Code du niveau de support dont relève le technicien
F70PROFIL | int(11) | NULL | NULL |  | Code du profil du technicien (fonction, expertise)

### Clé secondaire:

Nom | Type
--- | ---
FK_F70_F71 | F70PROFIL -> f71.F71ID
FK_F70_F78 | F70NIVSUP -> f78.F78ID

top

## Table: F71

### Index:

Nom | Type
--- | ---
Index primaire | F71ID
U_F71 | F71CODE

### Champs:

Nom | Type | Nul | Par défaut | Extras | Commentaire
--- | --- | --- | --- | --- | ---
F71ID | int(11) | NULL | NULL | auto_increment |
F71CODE | varchar(8) | NULL | NULL |  | Code
F71LIBEL | varchar(60) | NULL | NULL |  | Libellé

top

## Table: F72

### Index:

Nom | Type
--- | ---
Index primaire | F72ID
U_F72 | F72CODE

### Champs:

Nom | Type | Nul | Par défaut | Extras | Commentaire
--- | --- | --- | --- | --- | ---
F72ID | int(11) | NULL | NULL | auto_increment |
F72CODE | varchar(8) | NULL | NULL |  | Code
F72LIBEL | varchar(60) | NULL | NULL |  | Libellé
F72DIFUTIL | int(1) | NULL | NULL |  | Difficulté d'utilisation (0 ou NULL = Non, 1 = Oui)
F72INCID | int(1) | NULL | NULL |  | Incident (0 ou NULL = Non, 1 = Oui)
F72QUALR | varchar(5) | NULL | NULL |  | Code de la qualification correspondante du référentiel

top

## Table: F73

### Index:

Nom | Type
--- | ---
Index primaire | F73ID
U_F73 | F73CODE

### Champs:

Nom | Type | Nul | Par défaut | Extras | Commentaire
--- | --- | --- | --- | --- | ---
F73ID | int(11) | NULL | NULL | auto_increment |
F73CODE | varchar(8) | NULL | NULL |  | Code
F73LIBEL | varchar(60) | NULL | NULL |  | Libellé

top

## Table: F74

### Index:

Nom | Type
--- | ---
Index primaire | F74ID
U_F74 | F74CODE
FK_F74_F74 | F74TPSITRATT
FK_F74_F4 | F74APPLIPPALE

### Champs:

Nom | Type | Nul | Par défaut | Extras | Commentaire
--- | --- | --- | --- | --- | ---
F74ID | int(11) | NULL | NULL | auto_increment |
F74CODE | varchar(8) | NULL | NULL |  | Code
F74LIBEL | varchar(60) | NULL | NULL |  | Libellé
F74FIGE | int(1) | NULL | NULL |  | Figé (NULL = Non, 1 = Oui) (modifiable hors SAMS via SQL)
F74TPSITRATT | int(11) | NULL | NULL |  | Code du type de site de rattachement
F74APPLIPPALE | int(11) | NULL | NULL |  | Code de l'application principale

### Clé secondaire:

Nom | Type
--- | ---
FK_F74_F4 | F74APPLIPPALE -> f4.F4ID
FK_F74_F74 | F74TPSITRATT -> F74ID

top

## Table: F75

### Index:

Nom | Type
--- | ---
Index primaire | F75ID
U_F75 | F75CODE

### Champs:

Nom | Type | Nul | Par défaut | Extras | Commentaire
--- | --- | --- | --- | --- | ---
F75ID | int(11) | NULL | NULL | auto_increment |
F75CODE | varchar(8) | NULL | NULL |  | Code
F75LIBEL | varchar(60) | NULL | NULL |  | Libellé

top

## Table: F76

### Index:

Nom | Type
--- | ---
Index primaire | F76ID
U_F76 | F76CODE

### Champs:

Nom | Type | Nul | Par défaut | Extras | Commentaire
--- | --- | --- | --- | --- | ---
F76ID | int(11) | NULL | NULL | auto_increment |
F76CODE | varchar(8) | NULL | NULL |  | Code
F76LIBEL | varchar(60) | NULL | NULL |  | Libellé

top

## Table: F77

### Index:

Nom | Type
--- | ---
Index primaire | F77ID
U_F77 | F77CODE

### Champs:

Nom | Type | Nul | Par défaut | Extras | Commentaire
--- | --- | --- | --- | --- | ---
F77ID | int(11) | NULL | NULL | auto_increment |
F77CODE | varchar(10) | NULL | NULL |  | Code
F77LIBEL | varchar(60) | NULL | NULL |  | Libellé

top

## Table: F78

### Index:

Nom | Type
--- | ---
Index primaire | F78ID
U_F78 | F78CODE

### Champs:

Nom | Type | Nul | Par défaut | Extras | Commentaire
--- | --- | --- | --- | --- | ---
F78ID | int(11) | NULL | NULL | auto_increment |
F78CODE | varchar(10) | NULL | NULL |  | Code
F78LIBEL | varchar(30) | NULL | NULL |  | Libellé

top

## Table: F79

### Index:

Nom | Type
--- | ---
Index primaire | F79ID
U_F79 | F79CODE

### Champs:

Nom | Type | Nul | Par défaut | Extras | Commentaire
--- | --- | --- | --- | --- | ---
F79ID | int(11) | NULL | NULL | auto_increment |
F79CODE | varchar(10) | NULL | NULL |  | Code
F79LIBEL | varchar(30) | NULL | NULL |  | Libellé

top

## Table: F80

### Index:

Nom | Type
--- | ---
Index primaire | F80ID

### Champs:

Nom | Type | Nul | Par défaut | Extras | Commentaire
--- | --- | --- | --- | --- | ---
F80ID | int(11) | NULL | NULL | auto_increment |
F80NUM | varchar(9) | NULL | NULL |  | Numéro (cadré à droite avec des espaces) (1 : Terme "Ministère", 2 : Facturation, 3 : Saisie obligatoire "Techniciens", 4 : Saisie obligatoire "Profils de technicien", 5 : Saisie obligatoire "Qualifications", 6 : Saisie obligatoire "Modes de résolution", 7 : Saisie obligatoire "Types de site", 8 : Saisie obligatoire "Qualités de correspondant", 9 : Saisie obligatoire "Types d'action préventive", 10 : Saisie obligatoire "Logiciels de base", 11 : Saisie obligatoire "Niveaux de support", 12 : Saisie obligatoire "Etats d'avancement", 13 : Saisie obligatoire "Domaines fonctionnels", 14 : Saisie obligatoire "Domaines métiers", 15 : Saisie obligatoire "Catégories de commande", 16 : Saisie obligatoire "Environnements", 17 : Saisie obligatoire "Applications (types de site)", 18 : Site administrateur, 19 : Consultation par les utilisateurs finals)
F80NOM | varchar(60) | NULL | NULL |  | Intitulé (libellé du paramètre)
F80VALEUR | varchar(70) | NULL | NULL |  | Si F80NUM = ' 1' : Libellé remplacement terme "Ministère". Si F80NUM = ' 2' à '17' et '19' : 0 = Non, 1 = Oui. Si F80NUM = '18' : type, ville et n° ordre du site administrateur

top

## Table: F81

### Index:

Nom | Type
--- | ---
Index primaire | F81ID
U_F81 | F81CODE

### Champs:

Nom | Type | Nul | Par défaut | Extras | Commentaire
--- | --- | --- | --- | --- | ---
F81ID | int(11) | NULL | NULL | auto_increment |
F81CODE | varchar(10) | NULL | NULL |  | Code
F81LIBEL | varchar(60) | NULL | NULL |  | Libellé
F81DECOUPAGE | int(1) | NULL | NULL |  | Découpage (1 = Support, 2 = Maintenance, 3 = Support et maintenance)

top

## Table: F82

### Index:

Nom | Type
--- | ---
Index primaire | F82ID
U_F82 | F82CODE

### Champs:

Nom | Type | Nul | Par défaut | Extras | Commentaire
--- | --- | --- | --- | --- | ---
F82ID | int(11) | NULL | NULL | auto_increment |
F82CODE | varchar(10) | NULL | NULL |  | Code
F82LIBEL | varchar(60) | NULL | NULL |  | Libellé

top

## Table: F83

### Index:

Nom | Type
--- | ---
Index primaire | F83ID
U_F83 | F83CODE

### Champs:

Nom | Type | Nul | Par défaut | Extras | Commentaire
--- | --- | --- | --- | --- | ---
F83ID | int(11) | NULL | NULL | auto_increment |
F83CODE | varchar(10) | NULL | NULL |  | Code
F83LIBEL | varchar(60) | NULL | NULL |  | Libellé

top

## Table: F84

### Index:

Nom | Type
--- | ---
Index primaire | F84ID
U_F84 | F84CODE

### Champs:

Nom | Type | Nul | Par défaut | Extras | Commentaire
--- | --- | --- | --- | --- | ---
F84ID | int(11) | NULL | NULL | auto_increment |
F84CODE | varchar(10) | NULL | NULL |  | Code
F84LIBEL | varchar(60) | NULL | NULL |  | Libellé

top

## Table: F85

### Index:

Nom | Type
--- | ---
Index primaire | F85ID
U_F85 | F85CODE

### Champs:

Nom | Type | Nul | Par défaut | Extras | Commentaire
--- | --- | --- | --- | --- | ---
F85ID | int(11) | NULL | NULL | auto_increment |
F85CODE | varchar(5) | NULL | NULL |  | Code
F85LIBEL | varchar(80) | NULL | NULL |  | Libellé

top

## Table: MENUS

### Index:

Nom | Type
--- | ---
Index primaire | ID_MENU

### Champs:

Nom | Type | Nul | Par défaut | Extras | Commentaire
--- | --- | --- | --- | --- | ---
ID_MENU | int(10) unsigned | NULL | NULL |  |
ROOTNODE | int(10) unsigned |  | '0' |  | Racine (niveau 0 du menu)
IDX | int(10) unsigned |  | '0' |  | Sous-menu (niveau 1 du menu)
LIBELLE | varchar(80) |  | '' |  | Libellé
LIEN | varchar(250) |  | '' |  | Lien

top

## Table: TAILLELISTE

### Index:

Nom | Type
--- | ---
Index primaire | ID

### Champs:

Nom | Type | Nul | Par défaut | Extras | Commentaire
--- | --- | --- | --- | --- | ---
ID | int(11) | NULL | NULL | auto_increment |
IDUTILISATEUR | int(11) | NULL | NULL |  | Code de l'utilisateur
ALIAS | varchar(60) | NULL | NULL |  | Adresse de la liste dans l'application
PREMIERE | int(6) | NULL | NULL |  | Première valeur
DEUXIEME | int(6) | NULL | NULL |  | Seconde valeur
TROISIEME | int(6) | NULL | NULL |  | Troisième valeur
SELECTION | int(6) | NULL | NULL |  | Sélection par défaut (parmi les trois valeurs ci-dessus)

top

## Procédures stockées

    -- ----------------------------------------------------------------------
    -- SQL stored routines script generated by the PBO, SodiFrance.
    -- ----------------------------------------------------------------------
    -- Modified by PBO for v1 reliability

    -- -------------------------------------------------------------------
    -- Migration de procédure stockée.
    -- OK_Accessite
    -- version 1.0 par PBO.
    -- -------------------------------------------------------------------

    DELIMITER $$

    -- Destruction de la version précédente
    DROP FUNCTION IF EXISTS `ok_accessite` $$

    -- Définition de la fonction
    CREATE FUNCTION `ok_accessite` (siteUtil INTEGER(11), site INTEGER(11)) RETURNS INT
    BEGIN
      DECLARE ret INT DEFAULT 0 ;
      DECLARE rec INT(11) DEFAULT NULL ;
      DECLARE rat INT(11) DEFAULT NULL ;

      -- Si l'utilisateur est sur le site recherché, alors c'est bon
      IF siteUtil = site THEN
        SET ret = 1 ;

      -- Sinon, nous recherchons dans la hiérarchie des sites celui de l'utlisateur
      ELSE
        BEGIN
          SET rec = site ;
          WHILE ret = 0 AND rat IS NOT NULL DO
            -- Recherche du site associé
            SELECT F5CA INTO rat FROM F5 WHERE F5ID = rec ;
            IF rat = siteUtil THEN
              SET ret = 1 ;
            END IF ;
            SET rec = rat ;
          END WHILE ;
        END ;
      END IF ;

      RETURN ret ;
    END $$

    DELIMITER ;

    -- -------------------------------------------------------------------
    -- Migration de procédure stockée.
    -- Maj_descr_solution_f1
    -- version 1.0 par PBO.
    -- -------------------------------------------------------------------

    DELIMITER $$

    -- Suppression de l'ancienne version
    DROP PROCEDURE IF EXISTS `maj_descr_solution_f1` $$

    -- Définition de la procédure
    CREATE PROCEDURE `maj_descr_solution_f1` (dossier INT(11))
    BEGIN
      DECLARE libelle1 TEXT ;
      DECLARE libelle2 TEXT ;
      DECLARE libelle3 TEXT ;

      DECLARE rTxt TEXT ;
      DECLARE rNom VARCHAR(130) ;
      DECLARE rTyp INT ;
      DECLARE rDat VARCHAR(10) ;

      DECLARE done INT(1) DEFAULT 0 ;

      DECLARE motif_appels CURSOR FOR SELECT F11TYPE,
                                             CONCAT_WS(' ',ELT(F51CIVIL,'M.','Mme','Mlle'),F51NOM,F51PRENOM) AS NOM,
                                             DATE_FORMAT(F11DATE,'%d/%m/%Y') AS DTAPL,
                                             F11MOTIF
                                        FROM F11 RIGHT JOIN F51 ON (F51ID = F11CORRESP AND F11DOS = dossier)
                                       ORDER BY F11DATE ;

      DECLARE reponse_appels CURSOR FOR SELECT F11TYPE,
                                               CONCAT_WS(' ',F70NOM, F70PRENOM) AS NOM,
                                               DATE_FORMAT(F11DATE,'%d/%m/%Y') as DTAPL,
                                               F11REPONSE
                                          FROM F11 RIGHT JOIN F70 ON (F70ID = F11TECH AND F11DOS = dossier)
                                         ORDER BY F11DATE ;

      DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1 ;

      -- Nettoyage des informations du dossier
      UPDATE F1 SET F1DESCR = '', F1SOLUTION = '' WHERE F1ID = dossier ;

      -- Mise à jour de la description du dossier
      OPEN motif_appels ;
      FETCH motif_appels INTO rTyp, rNom, rDat, rTxt ;
      WHILE done = 0 DO
        IF TRIM(rNom) IS NULL OR TRIM(rNom) = '' THEN
          SET libelle2 = CONCAT('?, le ',rDat,' : ') ;
        ELSE
          SET libelle2 = CONCAT(rNom,', le ',rDat,' : ') ;
        END IF ;
        IF TRIM(rTxt) IS NULL OR TRIM(rTxt) = '' THEN
          SET libelle3 = CONCAT('absence de motif.',CHR(10),CHR(10)) ;
        ELSE
          SET libelle3 = CONCAT(rTxt,CHR(10),CHR(10)) ;
        END IF ;
        SET libelle1 = CONCAT(libelle2,libelle3) ;
        IF rTyp = 1 THEN
          UPDATE F1 SET F1DESCR = libelle1 WHERE F1ID = dossier ;
        ELSE
          UPDATE F1 SET F1DESCR = CONCAT(F1DESCR,' ',libelle1) WHERE F1ID = dossier ;
        END IF ;
        FETCH motif_appels INTO rTyp, rNom, rDat, rTxt ;
      END WHILE ;
      CLOSE motif_appels ;
      SET done = 0 ;

      -- Mise à jour de la solution du dossier
      OPEN reponse_appels ;
      FETCH reponse_appels INTO rTyp, rNom, rDat, rTxt ;
      WHILE done = 0 DO
        IF TRIM(rNom) IS NULL OR TRIM(rNom) = '' THEN
          SET libelle2 = CONCAT('?, le ',rDat,' : ') ;
        ELSE
          SET libelle2 = CONCAT(rNom,', le ',rDat,' : ') ;
        END IF ;
        IF TRIM(rTxt) IS NULL OR TRIM(rTxt) = '' THEN
          SET libelle3 = CONCAT('absence de réponse.',CHR(10),CHR(10)) ;
        ELSE
          SET libelle3 = CONCAT(rTxt,CHR(10),CHR(10)) ;
        END IF ;
        SET libelle1 = CONCAT(libelle2,libelle3) ;
        IF rTyp = 1 THEN
          UPDATE F1 SET F1SOLUTION = libelle1 WHERE F1ID = dossier ;
        ELSE
          UPDATE F1 SET F1SOLUTION = CONCAT(F1SOLUTION,' ',libelle1) WHERE F1ID = dossier ;
        END IF ;
        FETCH reponse_appels INTO rTyp, rNom, rDat, rTxt ;
      END WHILE ;
      CLOSE reponse_appels ;
    END $$

    DELIMITER ;

    -- -------------------------------------------------------------------
    -- Migration de procédure stockée.
    -- analysetxapl
    -- version 1.0 par PBO.
    -- -------------------------------------------------------------------

    DELIMITER $$

    DROP PROCEDURE IF EXISTS `analysetxapl` $$
    CREATE PROCEDURE `analysetxapl`(util INT(11), moisDeb INT(2), moisFin INT(2), anDeb INT(4), anFin INT(4), appli INT(11))
    BEGIN

      -- Création de la table de reception des données FTX
      creationTX: BEGIN
        DECLARE lookupExists INT(1) DEFAULT 1 ;
        DECLARE CONTINUE HANDLER FOR SQLEXCEPTION SET lookupExists = 0 ;

        SET @lookupTable = CONCAT('SELECT * FROM ftx',util) ;
        PREPARE goLookup FROM @lookupTable ;
        EXECUTE goLookup ;
        DEALLOCATE PREPARE goLookup ;
        IF lookupExists = 0 THEN
          SET @createTable = CONCAT('CREATE TABLE ftx',util,' (ftxannee INTEGER(4) NOT NULL, ftxmois INTEGER(2) NOT NULL, ftxnbdos INTEGER(5), ftxnbapl INTEGER(5), ftxnbpostes INTEGER(6), ftxprcaplut INTEGER(6), ftxprcaplin INTEGER(6), ftxtxaplm DECIMAL(5,3), ftxtxapla DECIMAL(5,3), ftxtxapla_1 DECIMAL(5,3), CONSTRAINT ftx',util,'_PK PRIMARY KEY (ftxannee,ftxmois))') ;
          PREPARE goCreateTable FROM @createTable ;
          EXECUTE goCreateTable ;
          DEALLOCATE PREPARE goCreateTable ;
        ELSE
          SET @truncateTable = CONCAT('TRUNCATE TABLE ftx',util) ;
          PREPARE goTruncateTable FROM @truncateTable ;
          EXECUTE goTruncateTable ;
          DEALLOCATE PREPARE goTruncateTable ;
        END IF ;
      END creationTX ;

      -- Création de la table de reception des données FTXDF
      creationDF: BEGIN
        DECLARE lookupExists INT(1) DEFAULT 1 ;
        DECLARE CONTINUE HANDLER FOR SQLEXCEPTION SET lookupExists = 0 ;

        SET @lookupTable = CONCAT('SELECT * FROM ftxdf',util) ;
        PREPARE goLookup FROM @lookupTable ;
        EXECUTE goLookup ;
        DEALLOCATE PREPARE goLookup ;
        IF lookupExists = 0 THEN
          SET @createTable = CONCAT('CREATE TABLE ftxdf',util,' (ftxdfannee INTEGER(4) NOT NULL, ftxdfmois INTEGER(2) NOT NULL, ftxdfcode INTEGER(11) NOT NULL, ftxdfnbapl INTEGER(5), CONSTRAINT ftxdf',util,'_PK PRIMARY KEY (ftxdfannee,ftxdfmois,ftxdfcode))') ;
          PREPARE goCreateTable FROM @createTable ;
          EXECUTE goCreateTable ;
          DEALLOCATE PREPARE goCreateTable ;
        ELSE
           SET @truncateTable = CONCAT('TRUNCATE TABLE ftxdf',util) ;
          PREPARE goTruncateTable FROM @truncateTable ;
          EXECUTE goTruncateTable ;
          DEALLOCATE PREPARE goTruncateTable ;
        END IF ;
       END creationDF ;

      -- Chargement de la période d'analyse dans la table
      loading: BEGIN
        DECLARE alreadyLoaded INT(1) DEFAULT 0 ;

        DECLARE dateDebut DATETIME ;
        DECLARE dateFin   DATETIME ;

        DECLARE CONTINUE HANDLER FOR SQLEXCEPTION SET alreadyLoaded = 1 ;

        -- Date de début du traitement
        SET dateDebut = CONCAT(anDeb,'-',moisDeb,'-01 00:00:00') ;
        -- Soustraction de 12 mois ! Voir code initial. Pas de commentaire.
        SET dateDebut = DATE_ADD(dateDebut,INTERVAL -12 MONTH) ;
        -- Date de fin du traitement
        SET dateFin = LAST_DAY(CONCAT(anFin,'-',moisFin,'-01 23:59:00')) ;

        SET @tableName = CONCAT('ftx',util) ;
        SET @loader = CONCAT('INSERT INTO ',@tableName,' (ftxannee, ftxmois) VALUES (?,?)') ;
        PREPARE goLoading FROM @loader ;
        inserting_dates: LOOP
          IF dateDebut > dateFin THEN
            LEAVE inserting_dates ;
          END IF ;
          SET @anCourant = DATE_FORMAT(dateDebut,'%Y') ;
          SET @moisCourant = DATE_FORMAT(dateDebut,'%m') ;
          EXECUTE goLoading USING @anCourant,@moisCourant ;
          SET dateDebut = DATE_ADD(dateDebut,INTERVAL 1 MONTH) ;
        END LOOP inserting_dates ;
        DEALLOCATE PREPARE goLoading ;
      END loading ;

      first_part: BEGIN
        DECLARE dateDebut DATETIME ;
        DECLARE dateFin   DATETIME ;
        -- Variables extraites du curseur
        DECLARE rSite INT(11) ;
        DECLARE rMois INT(2) ;
        DECLARE rAn   INT(4) ;
        DECLARE rDos  INT(11) ;
        DECLARE rDif  INT(1) ;
        DECLARE rInc1 INT(1) ;
        DECLARE rDom  INT(11) ;
        DECLARE rFin  DATETIME ;
        DECLARE rInc2 INT(1) ;
        DECLARE rDat DATETIME ;
        -- Booléen de fin de parcours des dossiers
        DECLARE parseEnd INT(1) DEFAULT 0 ;
        DECLARE no_row   INT(1) DEFAULT 0 ;
        -- Variables de travail
        DECLARE nbAppels INT(6) DEFAULT 0 ;
        DECLARE debutPeriode DATETIME ;
        DECLARE finPeriode   DATETIME ;
        DECLARE debut        DATETIME ;
        DECLARE fin          DATETIME ;
        -- Curseur de travail des dossiers à traiter.
        DECLARE dossiers CURSOR FOR SELECT F1SITE,
                                           DATE_FORMAT(F1DATE,'%m') moisDeb,
                                           DATE_FORMAT(F1DATE,'%Y') anneeDeb,
                                           F1ID,
                                           F72DIFUTIL,
                                           F1INCID,
                                           F1DOMFONCT,
                                           F1DTFIN,
                                           F72INCID,
                                           F1DATE
                                      FROM F72 RIGHT JOIN
                                              F1 RIGHT JOIN F41
                                              ON ((F41ID = F1VERSAPP AND F41APPLI = appli) OR F1VERSAPP IS NULL)
                                           ON (F1QUALIF = F72ID)
                                     WHERE F1DATE <= dateFin
                                       AND (F1DTFIN >= dateDebut OR F1DTFIN IS NULL)
                                     ORDER BY F1DATE,F1SITE ;
        DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET parseEnd = 1 ;
        DECLARE CONTINUE HANDLER FOR NOT FOUND SET no_row = 1 ;

        -- Préparation des requête de mise à jour des tables
        SET @store_call      = CONCAT("UPDATE ftx",util,"   SET ftxnbapl    = IFNULL(ftxnbapl,0)+?    WHERE ftxannee   = ? AND ftxmois   = ?") ;
        SET @store_case      = CONCAT("UPDATE ftx",util,"   SET ftxnbdos    = IFNULL(ftxnbdos,0)+1    WHERE ftxannee   = ? AND ftxmois   = ?") ;
        SET @store_in        = CONCAT("UPDATE ftx",util,"   SET ftxprcaplin = IFNULL(ftxprcaplin,0)+? WHERE ftxannee   = ? AND ftxmois   = ?") ;
        SET @store_out       = CONCAT("UPDATE ftx",util,"   SET ftxprcaplut = IFNULL(ftxprcaplut,0)+? WHERE ftxannee   = ? AND ftxmois   = ?") ;
        SET @store_dfcall_sl = CONCAT("SELECT IFNULL(COUNT(*),0) INTO @existe_ftx from ftxdf",util," WHERE ftxdfannee = ? AND ftxdfmois = ? AND ftxdfcode = ?") ;
        SET @store_dfcall_up = CONCAT("UPDATE ftxdf",util," SET ftxdfnbapl  = IFNULL(ftxdfnbapl,0)+?  WHERE ftxdfannee = ? AND ftxdfmois = ? AND ftxdfcode = ?") ;
        SET @store_dfcall_in = CONCAT("INSERT INTO ftxdf",util," (ftxdfannee,ftxdfmois,ftxdfnbapl,ftxdfcode) VALUES(?,?,?,?)") ;

        PREPARE goStoreCall     FROM @store_call ;
        PREPARE goStoreCase     FROM @store_case ;
        PREPARE goStoreIn       FROM @store_in ;
        PREPARE goStoreOut      FROM @store_out ;
        PREPARE goStoreDfCallSl FROM @store_dfcall_sl ;
        PREPARE goStoreDfCallUp FROM @store_dfcall_up ;
        PREPARE goStoreDfCallIn FROM @store_dfcall_in ;

       SET dateDebut = CONCAT(anDeb,'-',moisDeb,'-01 00:00:00') ;
       -- Soustraction de 12 mois ! Voir code initial. Pas de commentaire.
       SET dateDebut = DATE_ADD(dateDebut,INTERVAL -12 MONTH) ;
       -- Date de fin du traitement
       SET dateFin = LAST_DAY(CONCAT(anFin,'-',moisFin,'-01 23:59:00')) ;

        -- Début du parcours des dossiers
        OPEN dossiers ;

        -- Premier dossier
        FETCH dossiers INTO rSite, rMois, rAn, rDos, rDif, rInc1, rDom, rFin, rInc2, rDat ;
        boucle: WHILE parseEnd = 0 DO
          SET nbAppels = 0 ;
          SET debutPeriode = CONCAT(rAn,'-',rMois,'-01 00:00:00') ;
          IF debutPeriode < dateDebut THEN
            SET debutPeriode = dateDebut ;
          END IF ;
          IF rFin IS NULL THEN
            SET finPeriode = dateFin ;
          ELSE
            SET finPeriode = LAST_DAY(CONCAT(DATE_FORMAT(rFin,'%Y-%m'),'-01 23:59:59')) ;
          END IF ;
          IF finPeriode > dateFin THEN
            SET finPeriode = dateFin ;
          END IF ;
          SET debut = debutPeriode ;
          SET fin = LAST_DAY(CONCAT(DATE_FORMAT(debut,'%Y-%m'),'-01 23:59:59')) ;
          working: LOOP
            IF debut > finPeriode THEN
              LEAVE working ;
            END IF ;
            SET @currentM = DATE_FORMAT(debut,'%m') ;
            SET @currentY = DATE_FORMAT(debut,'%Y') ;
            IF rDat BETWEEN debut AND fin THEN
              EXECUTE goStoreCase USING @currentY, @currentM ;
            END IF ;
            SELECT count(*) INTO nbAppels FROM F11 WHERE F11DOS = rDos AND F11DATE BETWEEN debut AND fin ;
            SET @callCount = nbAppels ;
            IF nbAppels > 0 THEN
              EXECUTE goStoreCall USING @callCount, @currentY, @currentM ;
              IF rDif = 1 THEN
                EXECUTE goStoreOut USING @callCount, @currentY, @currentM ;
              END IF ;
              IF rInc1 = 1 THEN
                EXECUTE goStoreIn USING @callCount, @currentY, @currentM ;
              END IF ;
              IF rDom IS NOT NULL THEN
                SET @domId = rDom ;
                SET @existe_ftx = 0 ;
                EXECUTE goStoreDfCallSl USING @currentY, @currentM, @domId ;
                IF @existe_ftx = 0 THEN
                   EXECUTE goStoreDfCallIn USING @currentY, @currentM, @callCount, @domId ;
                ELSE
                   EXECUTE goStoreDfCallUp USING @callCount, @currentY, @currentM, @domId ;
                END IF;
              END IF;
            END IF;

            SET debut = DATE_ADD(debut,INTERVAL 1 MONTH) ;
            SET fin   = LAST_DAY(CONCAT(DATE_FORMAT(debut,'%Y-%m'),'-01 23:59:59')) ;
          END LOOP working ;
          -- Dossier suivant
          FETCH dossiers INTO rSite, rMois, rAn, rDos, rDif, rInc1, rDom, rFin, rInc2, rDat ;
        END WHILE boucle ;
        CLOSE dossiers ;
        DEALLOCATE PREPARE goStoreCall ;
        DEALLOCATE PREPARE goStoreCase ;
        DEALLOCATE PREPARE goStoreIn ;
        DEALLOCATE PREPARE goStoreOut ;
        DEALLOCATE PREPARE goStoreDfCallSl ;
        DEALLOCATE PREPARE goStoreDfCallUp ;
        DEALLOCATE PREPARE goStoreDfCallIn ;
      END first_part ;

      second_part: BEGIN
        -- DECLARE nbAppels INT(6) ;
        -- DECLARE nbAplsUt INT(6) ;
        -- DECLARE nbAplsIn INT(6) ;
        -- DECLARE nbPostes INT(6) ;
        -- DECLARE currentM INT(2) ;
        -- DECLARE currentY INT(4) ;
        -- DECLARE txAnnuel DECIMAL(5,3) ;
        DECLARE finMois  DATETIME ;
        DECLARE norow    INT(1) DEFAULT 0 ;
        DECLARE notFound INT(1) DEFAULT 0 ;
        DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET norow = 1 ;
        DECLARE CONTINUE HANDLER FOR NOT FOUND SET notFound = 1 ;
        SET @nbAppels = 0 ;
        SET @nbAplsUt = 0 ;
        SET @nbAplsIn = 0 ;
        SET @nbPostes = 0 ;
        SET @currentM = 0 ;
        SET @currentY = 0 ;
        SET @txAnnuel = 0 ;

        SET @txAplA_1 = 0 ;

        -- Requête simili curseur dynamique
        SET @tauxReq       = CONCAT("SELECT IFNULL(FTXNBAPL,0), IFNULL(FTXPRCAPLUT,0), IFNULL(FTXPRCAPLIN,0), IFNULL(FTXNBPOSTES,0), FTXMOIS, FTXANNEE INTO @nbAppels, @nbAplsUt, @nbAplsIn, @nbPostes, @currentM, @currentY FROM FTX",util," LIMIT ?,1") ;
        SET @storePostes   = CONCAT("UPDATE FTX",util," SET FTXNBPOSTES = IFNULL(FTXNBPOSTES,0)+? WHERE FTXANNEE = ? AND FTXMOIS = ?") ;
        SET @storeAplUtIn  = CONCAT("UPDATE FTX",util," SET FTXPRCAPLUT = ?, FTXPRCAPLIN = ? WHERE FTXANNEE = ? AND FTXMOIS = ?") ;
        SET @storeTxAplM   = CONCAT("UPDATE FTX",util," SET FTXTXAPLM = ? WHERE FTXANNEE = ? AND FTXMOIS = ?") ;
        SET @storeTxAplA   = CONCAT("UPDATE FTX",util," SET FTXTXAPLA = ? WHERE FTXANNEE = ? AND FTXMOIS = ?") ;
        SET @tauxAnnuel    = CONCAT("SELECT IFNULL(SUM(IFNULL(FTXTXAPLM,0)),0)  INTO @txAnnuel FROM FTX",util," WHERE STR_TO_DATE(CONCAT(FTXANNEE,'-',FTXMOIS,'-01'),'%Y-%m-%d') between ? AND ? ORDER BY FTXANNEE, FTXMOIS");
        SET @storeTxAnnuel = CONCAT("UPDATE FTX",util," SET FTXTXAPLA_1 = ? WHERE FTXANNEE = ? AND FTXMOIS = ?") ;
        PREPARE goTaux     FROM @tauxReq ;
        PREPARE goPostes   FROM @storePostes ;
        PREPARE goAplUtIn  FROM @storeAplUtIn ;
        PREPARE goTxAplM   FROM @storeTxAplM ;
        PREPARE goTxAplA   FROM @storeTxAplA ;
        PREPARE goTxAnnuel FROM @tauxAnnuel ;
        PREPARE goStoreTx  FROM @storeTxAnnuel ;

        -- Requête sur le premier enregistrement
        SET @idxLigne = 1 ;
        SET @txAplA = 0 ;

        EXECUTE goTaux USING @idxLigne ;
        travail: WHILE norow = 0 DO
          SET @txAplM = 0 ;
          SET finMois = LAST_DAY(CONCAT(@currentY,'-',@currentM,'-01 23:59:59')) ;
          SET notFound = 0 ;

          SET @nbPostes = 0 ;

          SELECT IFNULL(SUM(IFNULL(F5NBPOSTE,0))+SUM(IFNULL(F5NBPORRE,0))+SUM(IFNULL(F5NBPORNC,0)),0)
            INTO @nbPostes
            FROM F5
           WHERE F5DTFINIM <= finMois
             AND F5ID IN (
                 SELECT DISTINCT(F61SITE)
                   FROM F61 INNER JOIN F41
                        ON ((F41ID=F61VERSAPP AND F41APPLI = appli)
                            OR F61VERSAPP IS NULL)
                  WHERE F61DTENV <= finMois) ;
          IF notFound = 1 THEN
            SET notFound = 0 ;
            SET @nbPostes = 0 ;
          END IF ;
          IF @nbPostes > 0 THEN
              EXECUTE goPostes USING @nbPostes, @currentY, @currentM ;
          END IF;
          IF @nbAppels > 0 THEN
            SET @prcAplUt = ROUND((@nbAplsUt/@nbAppels)*100,0) ;
            SET @prcAplIn = ROUND((@nbAplsIn/@nbAppels)*100,0) ;
            EXECUTE goAplUtIn USING @prcAplUt, @prcAplIn, @currentY, @currentM ;
            IF @nbPostes > 0 THEN
              SET @txAplM = ROUND((@nbAppels/@nbPostes),3) ;
              EXECUTE goTxAplM USING @txAplM, @currentY, @currentM ;
             -- SET @nbPostes = 0 ;
            END IF ;
          END IF ;
          IF @currentM <> 12 THEN
            SET @txAplA = @txAplA + IFNULL(@txAplM,0) ;
            SET @txAplM = 0;
          ELSE
            EXECUTE goTxAplA USING @txAplA, @currentY, @currentM ;
            SET @txAplA = 0 ;
          END IF ;
          IF STR_TO_DATE(CONCAT(@currentY,'-',@currentM,'-01'),'%Y-%m-%d') >= STR_TO_DATE(CONCAT(anDeb,'-',moisDeb,'-01'),'%Y-%m-%d') THEN
            SET @moisPrec = DATE_FORMAT(DATE_ADD(CONCAT(@currentY,'-',@currentM,'-01 00:00:00'),INTERVAL -12 MONTH),'%m') ;
            SET @anPrec   = DATE_FORMAT(DATE_ADD(CONCAT(@currentY,'-',@currentM,'-01 00:00:00'),INTERVAL -12 MONTH),'%Y') ;

            SET @interval12mois =  STR_TO_DATE(CONCAT(@anPrec,'-',@moisPrec,'-01'),'%Y-%m-%d');
            SET @intervalCurrent = STR_TO_DATE(CONCAT(@currentY,'-',@currentM,'-01'),'%Y-%m-%d');

            EXECUTE goTxAnnuel USING @interval12mois,@intervalCurrent  ;
            IF @txAnnuel IS NOT NULL THEN
            SET @txAplA_1 = @txAnnuel ;
            END IF;
            EXECUTE goStoreTx USING @txAplA_1, @currentY, @currentM ;
            SET @txAplA_1 = 0 ;
          END IF ;

          SET @idxLigne = @idxLigne+1 ;
          EXECUTE goTaux USING @idxLigne ;
        END WHILE travail ;
        DEALLOCATE PREPARE goTaux ;
        DEALLOCATE PREPARE goPostes ;
        DEALLOCATE PREPARE goAplUtIn ;
        DEALLOCATE PREPARE goTxAplM ;
        DEALLOCATE PREPARE goTxAplA ;
        DEALLOCATE PREPARE goTxAnnuel ;
        DEALLOCATE PREPARE goStoreTx ;
      END second_part ;

    END $$

    DELIMITER ;

    -- -------------------------------------------------------------------
    -- Migration de procédure stockée.
    -- donne_dtMom
    -- version 1.0 par PBO.
    -- -------------------------------------------------------------------

    -- Destruction de la version précédente
    DELIMITER $$

    DROP FUNCTION IF EXISTS `donne_dtmom` $$
    CREATE FUNCTION `donne_dtmom`(appli INT(11), site INT(11)) RETURNS varchar(10)
    p1: BEGIN
        DECLARE final VARCHAR(10) ;
        DECLARE dordre DATE ;
        SELECT IFNULL(F61.F61DTENV,F61.F61DTDEB) DATEORDER,
               DATE_FORMAT(F61.F61DTMOM,'%d/%m/%Y') dtMOM INTO dordre, final
          FROM F61 INNER JOIN F41
               ON (F61.F61VERSAPP = F41.F41ID AND F41.F41APPLI = appli)
         WHERE F61.F61SITE = site
         ORDER BY dtMOM DESC LIMIT 1 ;
         RETURN final ;
    END p1 $$

    DELIMITER ;
    -- -------------------------------------------------------------------
    -- Migration de procédure stockée.
    -- donne_dtVal
    -- version 1.0 par PBO.
    -- -------------------------------------------------------------------

    -- Destruction de la version précédente
    DELIMITER $$

    DROP FUNCTION IF EXISTS `donne_dtval` $$
    CREATE FUNCTION `donne_dtval`(appli INT(11), site INT(11)) RETURNS varchar(10)
    p1: BEGIN
        DECLARE final VARCHAR(10) ;
        DECLARE dordre DATE ;
        SELECT IFNULL(F61.F61DTENV,F61.F61DTDEB) DATEORDER,
               DATE_FORMAT(F61.F61DTVAL,'%d/%m/%Y') dtVAL INTO dordre, final
          FROM F61 INNER JOIN F41
               ON (F61.F61VERSAPP = F41.F41ID AND F41.F41APPLI = appli)
         WHERE F61.F61SITE = site
         ORDER BY dtVAL DESC LIMIT 1 ;
         RETURN final ;
    END p1 $$

    DELIMITER ;

    -- -------------------------------------------------------------------
    -- Migration de procdure stocke.
    -- version
    -- version 1.0 par ABE.
    -- -------------------------------------------------------------------

    -- Destruction de la version prcdente
    DROP FUNCTION IF EXISTS donne_version ;

    -- Dfinition de la procdure
    DELIMITER //
    CREATE FUNCTION donne_version (appli INT(11), site INT(11)) RETURNS VARCHAR(20)
    LANGUAGE  SQL
    p1: BEGIN
         DECLARE result VARCHAR(20) ;
          SELECT MAX(F41.F41CODE) INTO result
          FROM F61 INNER JOIN F41
               ON (F61.F61VERSAPP = F41.F41ID AND F41.F41APPLI = appli)
         WHERE F61.F61SITE = site ;
         RETURN result ;
    END p1 ;
    //

    DELIMITER ;

    -- -------------------------------------------------------------------
    -- Migration de fonction stockee.
    -- version
    -- version 1.0 par ABE.
    -- -------------------------------------------------------------------

    -- Destruction de la version precedente
    DROP FUNCTION IF EXISTS donne_ecartDate ;

    -- Definition de la fonction
    DELIMITER $$

    CREATE FUNCTION donne_ecartDate (d1 DATETIME,d2 DATETIME) RETURNS DECIMAL(8,2)
    LANGUAGE  SQL
    BEGIN
           DECLARE delta DECIMAL(8,2) ;
           SELECT (
           (DATEDIFF(d1,d2)*1440)+
           (MINUTE(d1)-MINUTE(d2))+
           ((HOUR(d1)-HOUR(d2))*60)
           )/60 into delta ;
           return delta ;
    END ;
    $$

    DELIMITER ;