Skip to content
Snippets Groups Projects
Commit aa59ea87 authored by Laurent Lecluse's avatar Laurent Lecluse
Browse files

Ajout des connecteurs dans le dépôt

parent 195302c6
Branches
Tags 6.0.4
No related merge requests found
File added
--
-- CREATION ET INITIALISATION DES TABLES POUR IMPORTATION DANS OSE
-- Auteur : Bruno Bernard bruno.bernard@unicaen.fr
--
--
-- Groupes de types de formations a distinguer dans OSE
-- Ce sont ces regroupements de types de formations qui serviront de filtres dans les interfaces utilisateurs
--
create table ose_groupe_type_formation (
libelle_long varchar2(60) not null,
libelle_court varchar2(20) not null,
ordre number(2) default 99 not null, -- Ordre de classement des groupes de types de formation dans les interfaces utilisateurs
pertinence_niveau number(1) default 0 not null, -- Est-il pertinent de suffixer le libelle court par le niveau relatif de la VET dans le diplome?
source_code varchar2(20) not null,
check (pertinence_niveau in (0, 1)),
primary key (source_code)
)
;
grant select on ose_groupe_type_formation to ose
;
create public synonym ose_groupe_type_formation for apogee.ose_groupe_type_formation
;
--
-- Types de formations
-- Table de correspondance entre les types de formations Apogee et les groupes de types de formations dans OSE
--
create table ose_type_formation (
libelle_long varchar2(40) not null,
libelle_court varchar2(20) not null,
z_groupe_id varchar2(20) not null,
source_code varchar2(2) not null,
primary key (source_code),
constraint ose_tyf_fk_groupe_type_form foreign key (z_groupe_id) references ose_groupe_type_formation (source_code),
constraint ose_tyf_fk_typ_diplome foreign key (source_code) references typ_diplome (cod_tpd_etb)
)
;
grant select on ose_type_formation to ose
;
create public synonym ose_type_formation for apogee.ose_type_formation
;
--
-- Etapes
-- Une etape OSE est assimilable a une VET Apogee
--
create table ose_etape (
annee_id varchar2(4) not null,
libelle varchar2(120) not null,
libelle_court varchar2(25) not null,
z_type_formation_id varchar2(20) not null,
niveau number(2),
z_structure_id varchar2(20) not null,
source_code varchar2(20) not null,
specifique_echanges number(1) default 0 not null, -- Cette etape est-elle dediee aux echanges?
domaine_fonctionnel varchar2(20) not null,
FI number(1) default 1 not null,
FA number(1) default 0 not null,
FC number(1) default 0 not null,
cod_etp varchar2(6) not null,
cod_vrs_vet number(3) not null,
id varchar2(20) not null,
check (specifique_echanges in (0, 1)),
check (FI + FA + FC > 0),
primary key (id),
constraint ose_etp_fk_annee foreign key (annee_id) references annee_uni (cod_anu),
constraint ose_etp_fk_type_formation foreign key (z_type_formation_id) references ose_type_formation (source_code)
)
;
grant select on ose_etape to ose
;
create public synonym ose_etape for apogee.ose_etape
;
--
-- Chemins pedagogiques
-- Relations entre les etapes et les elements pedagogiques les plus fins
--
create table ose_chemin_pedagogique (
annee_id varchar2(4) not null,
z_element_pedagogique_id varchar2(20) not null,
z_etape_id varchar2(20) not null,
source_code varchar2(40) not null,
z_periode_id varchar2(20),
taux_foad number(1) default 0 not null,
id varchar2(40) not null,
check (z_periode_id in ('S1', 'S2')),
check (taux_foad in (0, 1)),
primary key (id),
constraint ose_chp_fk_annee foreign key (annee_id) references annee_uni (cod_anu)
)
;
grant select on ose_chemin_pedagogique to ose
;
create public synonym ose_chemin_pedagogique for apogee.ose_chemin_pedagogique
;
--
-- Elements pedagogiques
-- Un element pedagogique OSE est assimilable a un element pedagogique feuille d une structure d enseignements Apogee
--
create table ose_element_pedagogique (
annee_id varchar2(4) not null,
libelle varchar2(60) not null,
z_etape_id varchar2(20) not null,
z_structure_id varchar2(20) not null,
z_periode_id varchar2(20),
taux_foad number(1) default 0 not null,
source_code varchar2(20) not null,
z_discipline_id varchar2(4),
FI number(1) default 0 not null,
FA number(1) default 0 not null,
FC number(1) default 0 not null,
id varchar2(20) not null,
check (z_periode_id in ('S1', 'S2')),
check (taux_foad in (0, 1)),
check (FI in (0, 1)),
check (FA in (0, 1)),
check (FC in (0, 1)),
primary key (id),
constraint ose_elp_fk_annee foreign key (annee_id) references annee_uni (cod_anu)
)
;
grant select on ose_element_pedagogique to ose
;
create public synonym ose_element_pedagogique for apogee.ose_element_pedagogique
;
--
-- Effectifs par annee par element pedagogique et par regime d inscription
--
create table ose_element_effectifs (
z_element_pedagogique_id varchar2(20) not null,
annee_id varchar2(4) not null,
effectif_FI number(5) default 0 not null,
effectif_FA number(5) default 0 not null,
effectif_FC number(5) default 0 not null,
primary key (z_element_pedagogique_id, annee_id),
constraint ose_eff_fk_annee foreign key (annee_id) references annee_uni (cod_anu)
)
;
grant select on ose_element_effectifs to ose
;
create public synonym ose_element_effectifs for apogee.ose_element_effectifs
;
--
-- Table recursive de l offre de formation
--
create table ose_offre_de_formation (
annee_id varchar2(4) not null,
noeud_sup_id varchar2(20),
structure_sup_id varchar2(20),
choix_minimum number(2),
choix_maximum number(2),
liste_id varchar2(20),
libelle_liste varchar2(120),
libelle_court_liste varchar2(25),
noeud_inf_id varchar2(20) not null,
structure_inf_id varchar2(20),
libelle varchar2(120) not null,
libelle_court varchar2(25) not null,
nature varchar2(20) not null,
periode varchar2(20),
taux_foad number(1) default 0 not null,
check (periode in ('S1', 'S2')),
check (taux_foad in (0, 1)),
constraint ose_odf_uk unique (annee_id, noeud_inf_id, liste_id, noeud_sup_id),
constraint ose_odf_fk_annee foreign key (annee_id) references annee_uni (cod_anu)
)
;
grant select on ose_offre_de_formation to ose
;
create public synonym ose_offre_de_formation for apogee.ose_offre_de_formation
;
--
-- Noeuds de l arbre offre de formation
--
create view ose_noeud as
select
annee_id,
libelle,
libelle_court,
noeud_inf_id as code,
0 as liste,
case when nature = 'etape' then noeud_inf_id else null end as z_etape_id,
case when nature = 'etape' then null else noeud_inf_id end as z_element_pedagogique_id,
annee_id || '_' || noeud_inf_id as z_source_code,
structure_inf_id as z_structure_id
from ose_offre_de_formation
union
select
annee_id,
libelle_liste as libelle,
libelle_court_liste as libelle_court,
liste_id as code,
1 as liste,
null as z_etape_id,
null as z_element_pedagogique_id,
annee_id || '_' || liste_id as z_source_code,
min ( structure_sup_id ) as z_structure_id
from ose_offre_de_formation
where liste_id is not null
group by
annee_id,
libelle_liste,
libelle_court_liste,
liste_id
;
grant select on ose_noeud to ose
;
create public synonym ose_noeud for apogee.ose_noeud
;
--
-- Liens entre les noeuds de l arbre offre de formation
--
create view ose_lien as
select
annee_id,
annee_id || '_' || noeud_sup_id as noeud_sup_id,
annee_id || '_' || liste_id as noeud_inf_id,
choix_minimum,
choix_maximum,
annee_id || '_' || noeud_sup_id || '_' || liste_id as z_source_code,
structure_sup_id as z_structure_id
from ose_offre_de_formation
where liste_id is not null
union
select
annee_id,
annee_id || '_' || liste_id as noeud_sup_id,
annee_id || '_' || noeud_inf_id as noeud_inf_id,
null as choix_minimum,
null as choix_maximum,
annee_id || '_' || liste_id || '_' || noeud_inf_id as z_source_code,
min ( structure_sup_id ) as z_structure_id
from ose_offre_de_formation
where liste_id is not null
group by
annee_id,
liste_id,
noeud_inf_id
;
grant select on ose_lien to ose
;
create public synonym ose_lien for apogee.ose_lien
;
--
-- Volumes horaires et nombre de groupes ouverts pour enseignement, par type de groupe
--
create table ose_volume_horaire_ens (
annee_id varchar2(4) not null,
z_element_pedagogique_id varchar2(20) not null,
z_type_intervention_id varchar2(20) not null,
heures number(6,2),
source_code varchar2(20) not null,
id varchar2(20) not null,
groupes number(6),
primary key (id),
constraint ose_ovh_fk_annee foreign key (annee_id) references annee_uni (cod_anu)
)
;
grant select on ose_volume_horaire_ens to ose
;
create public synonym ose_volume_horaire_ens for apogee.ose_volume_horaire_ens
;
This diff is collapsed.
INTERFACAGE ENTRE APOGEE ET OSE
Auteur : Bruno Bernard bruno.bernard@unicaen.fr
-------------------------------
L'importation de données d'Apogée vers OSE s'effectue via un dblink entre les deux bases Oracle.
OSE va lire des tables et vues créées dans la base Apogée.
Ces tables dans la base Apogée sont rafraîchies régulièrement, par exemple midi et soir pour permettre que les modifications effectuées dans Apogée soient répercutées la demi-journée suivante dans OSE.
Le script Apogee-OSE-createTables.sql crée les 7 tables et les 3 vues OSE_****** dans la base Apogée :
create table ose_groupe_type_formation : Regroupements des types de formations
create table ose_type_formation : Correspondance entre les types de formations Apogee et les groupes de types de formations
create table ose_etape : Une etape OSE est assimilable a une VET Apogee
create table ose_offre_de_formation : L'offre de formation est reconstituee sous forme d'arbre
create view ose_noeud : Noeuds de l'arbre offre de formation = VET, listes et éléments pédagogiques
create view ose_lien : Liens entre les noeuds de l'arbre offre de formation
create table ose_chemin_pedagogique : Relations entre les etapes (racines) et les elements pedagogiques les plus fins (feuilles)
create table ose_element_pedagogique : Les feuilles de l'arbre sont les elements pedagogiques les plus fins (feuilles)
create table ose_element_effectifs : Effectifs par annee par element pedagogique et par regime d'inscription
create table ose_volume_horaire_ens : Volumes horaires et nombre de groupes ouverts pour enseignement, par type de groupe
Le script Apogee-OSE-export.sql alimente les tables OSE_****** dans la base Apogée.
Il doit être adapté à chaque établissement.
La table ose_groupe_type_formation permet :
- de regrouper les types de formation pour rendre cette liste plus synthétique et plus lisible (A ADAPTER)
- d'ordonner cette liste (A ADAPTER)
- de préciser si le niveau de la VET dans le diplôme doit apparaître dans le filtre "Niveau" (exemples L1 L2 L3 LPro ...) (A ADAPTER)
La table ose_type_formation permet :
- d'associer les types de formation Apogée aux groupes de types de formations OSE (A ADAPTER)
- d'exclure certains types ou natures de formations sur lesquels des services d'enseignement ne devront pas pouvoir être saisis (exemples : auditeurs libres, thèses...) (A ADAPTER)
La table ose_etape permet :
- de définir les étapes visibles dans OSE et celles à exclure éventuellement (A ADAPTER)
- d'associer chaque étape à un code structure du référentiel des structures de l'établissement (A ADAPTER)
- de repérer si une étape est dédiée aux échanges (A ADAPTER)
- de déterminer le domaine fonctionnel qui sera associé aux enseignements de l'étape (A ADAPTER)
- de spécifier si l'étape est ouverte en FI, en FC et/ou en apprentissage (A ADAPTER)
La table récursive ose_offre_de_formation permet :
- de reconstituer l'offre de formation d'une année sous forme d'arbre
- d'ignorer les elements feuilles de nature technique (elements miroirs, elements utiles uniquement pour le calcul de notes...) (A ADAPTER)
- de substituer les éléments porteurs aux éventuels éléments portés
- d'associer une période (S1, S2, ou Année) à chaque élément en recherchant l'information dans la branche (A ADAPTER)
- de déterminer si un enseignement est proposé à distance en recherchant l'information dans la branche
- d'associer chaque élément à un code structure du référentiel des structures de l'établissement (A ADAPTER)
La table ose_chemin_pedagogique permet :
- de mettre en relation les etapes (racines) et les elements pedagogiques les plus fins (feuilles) de l'arbre offre de formation
La table ose_element_pedagogique permet :
- d'associer à chaque élément pédagogique l'étape la plus pertinente dans laquelle il est présent (par exemple en écartant a priori les étapes dédiées aux échanges internationaux) (A ADAPTER)
La table ose_element_effectifs permet :
- de définir quels régimes d'inscription correspondent à la FI, à la FC, ou à l'apprentissage (FA) (A ADAPTER)
- de calculer les effectifs par année, par élément pédagogique et par régime d'inscription
La table ose_volume_horaire_ens permet :
- d'associer à chaque enseignement ses volumes horaires par type d'intervention enregistrés dans le module Charges, la saisie de services dans OSE n'étant possible que si une charge existe pour l'enseignement
- si l'année est en cours ou terminée, d'observer la charge réelle en dénombrant le nombre de groupes ouverts dans lesquels des étudiants sont inscrits, le type de groupe étant assimilé au type d'heure défini dans le module Charges ; en l'absence de groupes modélisés, un groupe unique sera pris en compte pour l'enseignement.
Cf tableau Apogee-OSE-calculCharges.xls
-- Quelques requêtes por faire quelques légers contrôles sur les vues fournies pour OSE
-- Trouver les élements qui font référence à des étapes inconnues dans ose_etape (= formations diplômantes émanents de FCA Manager)
select * from OSE_ELEMENT_PEDAGOGIQUE WHERE Z_ETAPE_ID not in (select SOURCE_CODE from OSE_ETAPE);
-- Trouver les volumes horaires reliés à un élément inexistant
select * from OSE_VOLUME_HORAIRE_ENS WHERE Z_ELEMENT_PEDAGOGIQUE_ID NOT IN (select SOURCE_CODE FROM OSE_ELEMENT_PEDAGOGIQUE);
-- Trouver les éléments pédagogiques dans le chemin pédagogique qui sont absent de la vue étape fournie (= formations diplômantes émanents de FCA Manager)
select * from OSE_CHEMIN_PEDAGOGIQUE WHERE Z_ETAPE_ID NOT IN (select SOURCE_CODE FROM OSE_ETAPE);
-- Requêtes de déversmeent des informations de FCA Manager dans OSE
-- Auteur : Jérôme Gallot (jerome.gallot@unicaen.fr)
-- Pour les DBLINK, penser à modifier l'utilisateur qui peut lire les vues (ucbn_ose pour l'UNICAEN)
-- ##################################
-- Vue ETAPE
-- ##################################
-- MAJ 20/11/2017 : Utilisation de l'année universitaire de FCA Manager
-- MAJ 22/11/2017 : Commentaires pour mise à disposition
-- MAJ 24/11/2017 : Déversement de toutes les formations valides des années > 2017
-- MAJ 29/11/2017 : Correction domaine fonctionnel (manque un 'D' dans le code)
-- : Changement type formation -> forcer à null avant refonte tyoe_formation
-- ##################################
-- TODO : utiliser le domaine fonctionnel SIFAC indiqué sur une action au lieu d'un switch dans la requête SQL
-- Améliorer la remontée des niveaux/type formation
-- ##################################
DROP VIEW OSE_ETAPE;
CREATE VIEW OSE_ETAPE AS
(
SELECT
-- Libellé de l'action
acn.LIB_ACN AS Libelle,
-- Le type de formation est par défaut à 82 = formation non diplômante
'82' AS Z_TYPE_FORMATION_ID,
-- Code Harpege de la structure
ucl.COD_STR AS Z_STRUCTURE_ID,
-- Niveau : correspond au type de formation/groupe_type_formation dans OSE
-- Le type de formation est défini dans le champ 'Validé par' dans FCA
CASE
-- WHEN acv.COD_NIF_SOR_ACV=7 THEN 1 -- Niveau 1 = BAC+5
-- WHEN acv.COD_NIF_SOR_ACV=8 THEN 2 -- Niveau 2 = BAC+3
-- WHEN acv.COD_NIF_SOR_ACV=9 THEN 3 -- Niveau 3 = Bac+2
-- Licence Pro
WHEN 1=1 THEN NULL
-- NULL permet d'afficher 'Autres'
ELSE NULL
END AS NIVEAU,
-- Domaine fonctionnel
CASE
WHEN acv.COD_NIF_SOR_ACV=7 THEN 'D101' -- Form init et cont licence
WHEN acv.COD_NIF_SOR_ACV=8 THEN 'D102' -- Form init et cont master
WHEN acv.COD_NIF_SOR_ACV=9 THEN 'D103' -- Form init et cont doct
ELSE 'D1132'
END AS Z_DOMAINE_FONCTIONNEL_ID,
-- Code source de l'action (ne doit pas changer)
'FCA-ACN-' ||ACN.ID AS SOURCE_CODE,
-- Anné Universitaire de l'action
auv.COD_ANU AS ANNEE_ID,
-- Référence de l'action dans FCA Manager
acn.COD_REF_COM_ACN AS CODE
FROM ACTION acn
LEFT JOIN ACTIVITE acv ON (acv.ID=acn.COD_ACV)
LEFT JOIN ucbn_composante_ldap@apoprod ucl ON (ucl.COD_CMP=acv.COD_CGE)
LEFT JOIN ANNEE_UNI auv on (acn.COD_ANU_ACN = auv.COD_ANU)
WHERE
-- Les formations ne sont prise en compte qu'à partir de l'année universitaire 2017
auv.COD_ANU >= 2017
-- La source doit être FCA MANAGER
AND acn.COD_LOG_SRC = 4
-- Le format du nom de la formation doit être correct
AND acn.COD_REF_COM_ACN like 'FCA-%'||auv.COD_ANU||'%'
-- L'action est en service dans FCA Manager;
AND acn.TEM_EN_SVE_ACN = 1
);
grant select on OSE_ETAPE to ucbn_ose;
-- ##################################
-- Vue Element_pedagogique
-- ##################################
-- MAJ 20/11/2017 : Utilisation de l'année universitaire de FCA Manager
-- MAJ 22/11/2017 : Commentaires pour mise à disposition
-- MAJ 24/11/2017 : Déversement de toutes les formations valides des années > 2017
-- ##################################
DROP VIEW OSE_ELEMENT_PEDAGOGIQUE;
CREATE VIEW OSE_ELEMENT_PEDAGOGIQUE AS
(
SELECT ens.LIB_ENS AS LIBELLE,
CASE
-- Si le code de l'élement commence par APO et finie par une année ---> suppression pour retrouver l'étape et la VET d'origine
WHEN acn.COD_LOG_SRC=2 THEN REGEXP_REPLACE(REGEXP_REPLACE(REGEXP_REPLACE(acn.COD_REF_COM_ACN,'^APO-',''),'-'||acn.COD_ANU_ACN||'$',''),'-','_')
WHEN acn.COD_LOG_SRC=4 THEN 'FCA-ACN-'||ACN.ID
END AS Z_ETAPE_ID,
-- Code Harpege de la structure
ucl.COD_STR AS Z_STRUCTURE_ID,
-- Pour l'instant on ne renvoie pas de période (semestre 1, semestre 2)
NULL AS Z_PERIODE_ID,
-- Le taux FOAD est défini par le mode d'action
CASE
WHEN (acn.COD_MOD_ACN=3 OR acn.COD_MOD_ACN=4) THEN 1
ELSE 0
END AS TAUX_FOAD,
-- Enseignement sans FI par défaut
0 AS FI,
-- Enseignement en FC par défaut
1 AS FC,
-- Pas d'apprentissage géré par FCA
0 AS FA,
-- Le code source contient l'identifiant unique de l'enseignement
'FCA-ENS-'||ens.COD_ENS AS SOURCE_CODE,
-- 0% d'apprentissage
0 AS TAUX_FA,
-- 100% en formation continue
1 AS TAUX_FC,
-- 0% en formation initiale
0 AS TAUX_FI,
-- Année universitaire de l'action
auv.COD_ANU AS ANNEE_ID,
-- Pas de correspondance de discipline entre FCA et OSE par défaut
'' AS Z_DISCPLINE_ID,
ens.COD_REF_COM_ENS AS CODE
FROM ENSEIGNEMENT ens
LEFT JOIN ACTION acn ON acn.ID=ens.COD_ACN_REF
LEFT JOIN ACTIVITE acv ON (acv.ID=acn.COD_ACV)
LEFT JOIN ucbn_composante_ldap@apoprod ucl ON (ucl.COD_CMP=acv.COD_CGE)
LEFT JOIN ANNEE_UNI auv on (acn.COD_ANU_ACN = auv.COD_ANU)
WHERE
-- Les formations ne sont prise en compte qu'à partir de l'année universitaire 2017
auv.COD_ANU >= 2017
-- La source doit être uniquement FCA MANAGER pour les actions
AND ens.COD_LOG_SRC = 4
-- on filtre sur la bonne année
AND acn.COD_ANU_ACN=auv.COD_ANU
-- on s'applique à conserver que les noms d'enseignements au bon format
AND ens.COD_REF_COM_ENS like 'FCA-%'||auv.COD_ANU||'%'
-- On ne conserve que les noms d'enseignement qui sont corrects (zèle ?)
AND ens.COD_ACN_REF IS NOT NULL
-- La source doit être FCA MANAGER pour les actions OU Apogee pour certains enseignements en pur qualifiant qui sont adossés à du diplômant
AND (acn.COD_LOG_SRC = 4 OR acn.COD_LOG_SRC=2)
-- L'enseignement est en service
AND ens.TEM_EN_SVE_ENS = 1
-- L'action est en service
AND acn.TEM_EN_SVE_ACN = 1
-- quelques restrictions UNICAEN sur le nom de l'action
AND (acn.COD_REF_COM_ACN like 'FCA-%'||auv.COD_ANU or acn.COD_REF_COM_ACN like 'APO-%-'||auv.COD_ANU)
);
GRANT SELECT ON OSE_ELEMENT_PEDAGOGIQUE TO ucbn_ose;
-- ##################################
-- Vue CHEMIN Pédagogique
-- ##################################
-- MAJ 20/11/2017 : Utilisation de l'année universitaire de FCA Manager
-- MAJ 22/11/2017 : Commentaires pour mise à disposition
-- MAJ 24/11/2017 : Déversement de toutes les formations valides des années > 2017
-- ##################################
DROP VIEW OSE_CHEMIN_PEDAGOGIQUE;
CREATE VIEW OSE_CHEMIN_PEDAGOGIQUE AS
(
SELECT
CASE
-- Si le code de l'élement commence par APO et finie par une année ---> suppression pour retrouver l'étape et la VET d'origine
WHEN acn.COD_LOG_SRC=2 THEN REGEXP_REPLACE(REGEXP_REPLACE(REGEXP_REPLACE(acn.COD_REF_COM_ACN,'^APO-',''),'-'||acn.COD_ANU_ACN||'$',''),'-','_')
WHEN acn.COD_LOG_SRC=4 THEN 'FCA-ACN-'||ACN.ID
END AS Z_ETAPE_ID,
'FCA-ENS-'||ens.COD_ENS AS Z_ELEMENT_PEDAGOGIQUE_ID,
'FCA-ACN-ENS-'||acn_ens.COD_ACN||'-'||acn_ens.COD_ENS AS SOURCE_CODE,
auv.COD_ANU AS ANNEE_ID
FROM ACTION_ENSEIGNEMENT acn_ens, ACTION acn, ENSEIGNEMENT ens, ANNEE_UNI auv
WHERE
acn.COD_ANU_ACN = auv.COD_ANU
-- Les formations ne sont prise en compte qu'à partir de l'année universitaire 2017
AND auv.COD_ANU >= 2017
AND acn_ens.COD_ACN=acn.ID
AND acn_ens.COD_ENS=ens.COD_ENS
-- Filtrage sur le nom de l'enseignement (format unicaen)
AND ens.COD_REF_COM_ENS LIKE 'FCA%'||acn.COD_ANU_ACN||'%'
-- Filtrage sur le nom de l'action (format unicaen)
AND (acn.COD_REF_COM_ACN LIKE 'FCA%'||acn.COD_ANU_ACN||'%' OR acn.COD_REF_COM_ACN LIKE 'APO-%'||acn.COD_ANU_ACN )
-- La source doit être FCA MANAGER pour les actions OU Apogee pour certains enseignements en pur qualifiant qui sont adossés à du diplômant
AND (acn.COD_LOG_SRC = 4 OR acn.COD_LOG_SRC=2)
-- La source doit être uniquement FCA Manager pour les enseignements
AND ens.COD_LOG_SRC = 4
-- L'enseignement est en service
AND ens.TEM_EN_SVE_ENS = 1
-- L'action est en service
AND acn.TEM_EN_SVE_ACN = 1
);
GRANT SELECT ON OSE_CHEMIN_PEDAGOGIQUE TO ucbn_ose;
-- ##################################
-- Volume Horaire Horaire ens(seignement)
-- ##################################
-- MAJ 30/10/2017 : Changement du code source pour différencier TD/CM/TP
-- MAJ 31/10/2017 : Cumul des temps si plusieurs intervenants et enseignements affectés à plusieurs actions
-- MAJ 20/11/2017 : Utilisation de l'année universitaire de FCA Manager
-- MAJ 22/11/2017 : Commentaires pour mise à disposition
-- MAJ 28/11/2017 : Arrondi sur conversion des minutes en heures
-- ##################################
DROP VIEW OSE_VOLUME_HORAIRE_ENS;
CREATE VIEW OSE_VOLUME_HORAIRE_ENS AS (
SELECT Z_TYPE_INTERVENTION_ID, ANNEE_ID, sum(HEURES_TMP) AS HEURES, SOURCE_CODE, Z_ELEMENT_PEDAGOGIQUE_ID FROM (
SELECT
-- Définition du taux de rémunération : TD/TP/CM
CASE
-- s'il n'y a pas d'intervenant encore défini, seules des heures de TD pourront être saisie dans OSE
WHEN tx_rem.lic_trm IS NULL THEN 'TD'
-- sinon le type d'heures de cours (TP/TD/CM) est issu de FCA
ELSE tx_rem.lic_trm
END AS Z_TYPE_INTERVENTION_ID,
-- Année universitaire 'courante' de FCA Manager
acn.COD_ANU_ACN AS ANNEE_ID,
-- Heures d'enseignements
CASE
-- Sans volume horaire défini --> on met 1 heure de saisie autorisée
WHEN ens_act.NB_MIN_PREVUES IS NULL THEN 1
-- Sinon transformation des minutes en heures
ELSE round((ens_act.NB_MIN_PREVUES/60),2)
END AS HEURES_TMP,
-- Créations des codes uniques des infos pour OSE
CASE
WHEN tx_rem.lic_trm IS NULL THEN 'FCA-ENS-'||acn.COD_ANU_ACN||'-'||ens.COD_ENS||'-TD'
ELSE 'FCA-ENS-'||acn.COD_ANU_ACN||'-'||ens.COD_ENS||'-'||tx_rem.lic_trm
END AS SOURCE_CODE,
'FCA-ENS-'||ens.COD_ENS AS Z_ELEMENT_PEDAGOGIQUE_ID
FROM ENSEIGNEMENT ens
LEFT JOIN ACTION acn ON acn.ID=ens.COD_ACN_REF
LEFT JOIN ACTIVITE acv ON (acv.ID=acn.COD_ACV)
LEFT JOIN ucbn_composante_ldap@apoprod ucl ON (ucl.COD_CMP=acv.COD_CGE)
LEFT JOIN ENSEIGNEMENT_ACTEUR_INTER ens_act ON (ens_act.COD_ENS=ens.COD_ENS)
LEFT JOIN TAUX_REMUNERATION tx_rem ON (tx_rem.id=ens_act.COD_TRM)
JOIN ANNEE_UNI auv on (acn.COD_ANU_ACN = auv.COD_ANU)
WHERE
-- Les formations ne sont prise en compte qu'à partir de l'année universitaire 2017
auv.COD_ANU >= 2017
-- La source doit être FCA MANAGER pour les enseignements
AND ens.COD_LOG_SRC = 4
-- Filtrage sur l'année universitaire en cours dans FCA Manager
AND acn.COD_ANU_ACN=auv.COD_ANU
-- Filtrage sur le nom de l'enseignement
AND ens.COD_REF_COM_ENS like 'FCA-%'||acn.COD_ANU_ACN||'%'
-- L'enseignement est en service
AND ens.TEM_EN_SVE_ENS = 1
-- L'action est en service
AND acn.TEM_EN_SVE_ACN = 1)
GROUP BY Z_TYPE_INTERVENTION_ID,ANNEE_ID,SOURCE_CODE,Z_ELEMENT_PEDAGOGIQUE_ID
-- S'il n'y a pas d'intervenant, on ne remonte pas le volume horaire (ancien choix avant de forcer un nombre d'heures)
-- AND lic_trm IS NOT NULL
);
GRANT SELECT ON OSE_VOLUME_HORAIRE_ENS TO ucbn_ose;
INTERFACAGE ENTRE FCA MANAGER et OSE
-------------------------------------------------
Auteur : Jérôme Gallot (jerome.gallot@unicaen.fr)
L'importation de données de FCA Manager vers OSE s'effectue via un dblink entre les deux bases Oracle.
Les vues décrites plus bas utilisent aussi un dblink vers la base Apogee : @apoprod. Cette liaison ne sert qu'à trouver le numéro de composante Hapege depuis le numéro de composante de FCA (= N° composante Apogee)
OSE va lire des vues créées dans la base FCA Manager.
Préambule :
------------
La nomenclature des noms de formation dans FCA Manager répond à des choix propres à l'UNICAEN :
- Les actions et enseignements qualifiants sont gérés uniquement par FCA Manager et définis de la manière suivante :
- le nom d'une action est représenté ainsi : FCA-XXXXXX-ANNEE_UNIV
- le nom d'un enseignement suit la nomenclature : FCA-XXXXXX-ANNEE_UNIV-YY (Y variant de 0 à 20)
- le code source du logiciel est alors FCA Manager
- Les actions et enseignements diplômants sont intégrés depuis Apogee vers FCA:
- le nom de l'action et les enseignements sont au format APO-ETAPE-VET-ANNEE_UNIV
ANNEE_UNIV correspond par exemple à 2017 pour 2017/2018
Fca Manager peut aussi contenir des enseignements de type qualifiant qui sont rattachés à des actions diplômantes.
Les scripts SQL permettent de déverser uniquement les données des formations qualifiantes mais prennent en compte cette subtilité (notamment dans la vue OSE_CHEMIN_PEDAGOGIQUE)
Ils ont été testés avec les versions 1.10.XXX et 1.11.004 de FCA Manager
Le déversement dans OSE :
-------------------------
Il est possible si :
- des actions et des enseignements dits qualifiants ont été créés dans FCA Manager
- au moins un intervenant doit être attaché à chaque enseignement de l'action
- il n'y a pas d'obligation que les séances d'un enseignement soient déjà créées (cette contrainte sera éventuellement mise en place ultérieurement)
- s'il n'y a pas d'intervenant de défini sur un enseignement -> les heures déclarées pour OSE sont fixées à 0H (à adapter)
La vue OSE_ETAPE :
--------------------------------
Cette vue permet de déverser seulement les actions qualifiantes gérées via FCA Manager. Les actions diplômantes sont gérées par la connecteur APOGEE->OSE
les étapes créées sont uniquement en Formation continue (FC) dans OSE
La vue OSE_ELEMENT_PEDAGOGIQUE :
--------------------------------
Cette vue permet de déverser les enseignements qualifiants gérés via FCA Manager
La vue OSE_CHEMIN_PEDAGOGIQUE :
--------------------------------
Cette vue définit les relations entre les actions (étapes) et élements pédagogiques (enseignements FCA)
La vue OSE_VOLUME_HORAIRE_ENS :
--------------------------------
Cette vue permet d'associer à chaque enseignement ses volumes horaires par type d'intervention, la saisie de services dans OSE n'étant possible que si une charge existe pour l'enseignement.
ATTENTION : les volumes horaires envoyés correspondent au cumul des horaires des intervenants d'un enseignement de FCA Manager. Ce n'est donc pas le volume horaire défini sur l'enseignement qui est utilisé. (cf cours avec plusieurs intervenants pendant la même séance)
Le script FCAManager-OSE.sql crée les vues dédiées à l'outil OSE dans la base FCA Manager.
Le script FCAManager-controles.sql contient quelques requêtes notamment pour déceler des incohérences entre les vues lors des associations étapes/élèments
File added
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment