Commit 9ad79e75 authored by Laurent Lecluse's avatar Laurent Lecluse
Browse files

Connecteur Siham import V18

parent c693b10c
Loading
Loading
Loading
Loading
+2.6 KiB (19.7 KiB)

File changed and moved.

No diff preview for this file type.

+9 −0
Changes for doc/Connecteurs-Import/Siham/Partie_A_SIHAM_REF/A1_SIHAM_REF_MPD/A_1_T_OSE_alter_table_utf8.sql: 9 added lines, 0 removed lines.
Original line number Diff line number Diff line
@@ -10,9 +10,18 @@
	-- v1.8 - 02/12/19 MYP : aucune modif pour ces tables de referentiel
	-- v2.0 - 11/20-01/21 MYP : V15 ajout VOIRIE
	-- v2.1 - 28/05/21 MYP : retaillage zones adresse
	-- v2.2 - 20/07/22 MYP : param C_ORG_RATTACH passage de valeur unique à multiple codes UAI => variable + test avec in (v_org_rattach)
=====================================================================================================*/


/* === V2.2 20/07/2021  ================================================================================*/
-- !! update à passer si vous avez une seule valeur de code UAI
update OSE.UM_PARAM_ETABL set valeur = ''''||valeur||'''' where CODE = 'C_ORG_RATTACH';

-- sinon exemple d'insert multi valeurs :
--insert into OSE.UM_PARAM_ETABL (CODE, VALEUR, COMMENTAIRE) values ('C_ORG_RATTACH','''0342321N'',''0342490X''','Liste des codes UAI de l''établissement dans Siham - utilisé dans proc UM_SYNCHRO_STRUCTURE');  -- v2.2 - 20/07/22


/* === V2.1 16/07/2021  ================================================================================*/

-- UM_ADRESSE_STRUCTURE.localite  varchar2(26) =>  varchar2(40) -- le champs était tronqué par rapport à Siham
+7 −5
Changes for doc/Connecteurs-Import/Siham/Partie_A_SIHAM_REF/A1_SIHAM_REF_MPD/A_1_T_OSE_create_table_utf8.sql: 7 added lines, 5 removed lines.
Original line number Diff line number Diff line
/* ====================================================================================================
	A_1_T_OSE_create_table_utf8.sql
	# Detail du connecteur PARTIE A/ SIHAM_REF : des tables de référentiel - Avec user OSE
   
	PHASE1 : EXTRACTION_SIHAM CREATION SCHEMA TABLES INTERMEDIAIRES POUR OSE : nommage UM_<nom table>
@@ -16,8 +17,10 @@
	OSE.UM_PARAM_ETABL
	----------------------------
	
	-- v1.8 - 02/12/2019 - MYP - UM_STRUCTURE renommage tem_manu en eotp_DU_defaut + eotp_DN_defaut	
	-- v2.0 - 11/2020 à 01/2021 - MYP - V15 : + table UM_VOIRIE + UM_PARAM_ETABL + ajout champs ID dans adresses
	-- v1.8 - 02/12/19 MYP : UM_STRUCTURE renommage tem_manu en eotp_DU_defaut + eotp_DN_defaut	
	-- v2.0 - 11/20-01/21 - MYP - V15 : + table UM_VOIRIE + UM_PARAM_ETABL + ajout champs ID dans adresses
	-- v2.1 - 28/05/21 MYP : retaillage zones adresse
	-- v2.2 - 20/07/22 MYP : passage champs C_ORG_RATTACH de la table UM_PARAM_ETABL en valeurs muliples
=====================================================================================================*/

/*------------- UM_PAYS -------------------------------------*/
@@ -103,7 +106,7 @@ CREATE TABLE OSE.UM_ADRESSE_STRUCTURE
  TELEPHONE					VARCHAR2(20  CHAR),
  NO_VOIE					VARCHAR2(10  CHAR),
  NOM_VOIE					VARCHAR2(60  CHAR),
  LOCALITE					VARCHAR2(26  CHAR),
  LOCALITE					VARCHAR2(40  CHAR),			-- v2.1 - 28/05/21
  CODE_POSTAL				VARCHAR2(15  CHAR),
  VILLE						VARCHAR2(26  CHAR),
  PAYS_CODE_INSEE			VARCHAR2(3  CHAR),
@@ -209,9 +212,8 @@ END;

-- ##A_PERSONNALISER_CHOIX_SIHAM## ##A_PERSONNALISER_CHOIX_OSE##
insert into OSE.UM_PARAM_ETABL (CODE, VALEUR, COMMENTAIRE) values ('C_STRUCTURE_MERE','HU00000001','Code UO mère de l''établissement dans Siham - utilisé dans proc UM_SYNCHRO_STRUCTURE');
insert into OSE.UM_PARAM_ETABL (CODE, VALEUR, COMMENTAIRE) values ('C_ORG_RATTACH','0342321N','Code RNE de l''établissement dans Siham - utilisé dans proc UM_SYNCHRO_STRUCTURE');
insert into OSE.UM_PARAM_ETABL (CODE, VALEUR, COMMENTAIRE) values ('C_ORG_RATTACH','''0342321N'',''0342490X''','Liste des codes UAI de l''établissement dans Siham - utilisé dans proc UM_SYNCHRO_STRUCTURE');  -- v2.2 - 20/07/22
insert into OSE.UM_PARAM_ETABL (CODE, VALEUR, COMMENTAIRE) values ('C_UO_A_EXCLURE','''0000000000'',''UM1REP'',''UO_REP'',''UO_UM1'',''HZD0000003''','Liste des structures UO Siham à exclure des traitements : création structures et affectations agents - UO générique, UO de reprise des donnees Harpege, UO hors établissement');

insert into OSE.UM_PARAM_ETABL (CODE, VALEUR, COMMENTAIRE) values ('OSE_STATUT_DOC_MCE','DOC_MCE','Code statut dans OSE créé pour distinguer les doctorants avec mission d enseignement');
insert into OSE.UM_PARAM_ETABL (CODE, VALEUR, COMMENTAIRE) values ('PREFIXE_MATRICULE','UDM','Préfixe établissement utilisé pour les matricules SIHAM');
insert into OSE.UM_PARAM_ETABL (CODE, VALEUR, COMMENTAIRE) values ('GESTION_STATUT','UNIQUE_MANUEL','Multi-statuts sur une année: 4 choix :  UNIQUE_MANUEL/UNIQUE_AUTO/MULTI_MANUEL/MULTI_AUTO (UNIQUE_MANUEL : unique à valider manuellement (maj) dans UM_SYNCHRO_A_VALIDER - comme V14 
+94 −8
Changes for doc/Connecteurs-Import/Siham/Partie_A_SIHAM_REF/A1_SIHAM_REF_MPD/A_2_F_OSE_function.sql: 94 added lines, 8 removed lines.
Original line number Diff line number Diff line
@@ -27,9 +27,11 @@
	OSE.UM_EXISTE_ADR_NUM_COMPL
	----------------------------
	
	-- v2.0b- 24/01/2020 - MYP - var v_stat_transfert : augmentation taille variable
	-- v2.1 - 07/07/2020 - MYP - modif regle  affectation statut Mapping_STATUT_SIHAM-OSE_v12.xlsx
	-- v2.2 - 30/11/2020 - MYP - V15 + UM_EST_CTR_PERMANENT + UM_EST_CTR_PERM_OU_VAC + OSE.UM_EXISTE_VOIRIE
	-- v2.0b- 24/01/20 - MYP - var v_stat_transfert : augmentation taille variable
	-- v2.1 - 07/07/20 - MYP - modif regle  affectation statut Mapping_STATUT_SIHAM-OSE_v12.xlsx
	-- v2.2 - 30/11/20 - MYP - V15 + UM_EST_CTR_PERMANENT + UM_EST_CTR_PERM_OU_VAC + OSE.UM_EXISTE_VOIRIE
	-- v2.3 - 20/09/21 - MYP - V15 : pour Prose : besoin fonction  UM_AFFICH_UO_INF
	-- v2.3b- 04/02/22 - MYP - dblink .world
=====================================================================================================*/


@@ -78,7 +80,7 @@ create or replace FUNCTION OSE.UM_UO_TYPE_ENS(p_uo VARCHAR2) RETURN NUMBER IS
-- retourne 1 si uo avec une sous-uo de type ens
 CURSOR cu_uo_ens IS
	select distinct 1
    from hr.ze00@SIHAM_TEST
    from hr.ze00@SIHAM.WORLD
    where tyou00 = 'ENS' 
       and substr(trim(idou00),1,3) = substr(trim(p_uo),1,3);  --v1.9
v_type_ens	 NUMBER;
@@ -106,7 +108,7 @@ v_c_uo_niveau_hie varchar2(10);
-- Conseil : a appeler avec p_uo de l'affectation fine
CURSOR c_uo_niveau_hie IS
      select idou01
      from hr.ze2a@SIHAM_TEST
      from hr.ze2a@SIHAM.WORLD
      where trim(idou00) = trim(p_uo) --v1.9
		and trim(tytrst) = 'HIE'
		and nbordr = p_niveau_dessus;
@@ -154,7 +156,7 @@ create or replace FUNCTION OSE.UM_NIVEAU_UO(p_uo VARCHAR2) RETURN NUMBER IS
-- retourne pour une UO le niveau rel de l'UO dans l'arbre 
 CURSOR cu_str IS
            select max(nbordr)+1 as niveau
			from hr.ze2a@SIHAM_TEST
			from hr.ze2a@SIHAM.WORLD
			where tytrst = 'HIE'
			and trim(idou00) = trim(p_uo); --v1.9
v_c_uo	 NUMBER;
@@ -245,7 +247,7 @@ create or replace FUNCTION OSE.UM_UO_NUDOSS(p_uo VARCHAR2) RETURN NUMBER IS
-- retourne le nudoss de l'uo passe en param
 CURSOR cu_uo IS
		select trim(uo.nudoss)
		from hr.ze00@SIHAM_TEST uo
		from hr.ze00@SIHAM.WORLD uo
		where trim(uo.idou00) = trim(p_uo);  --v1.9
v_c_nudoss	 NUMBER;
   
@@ -434,7 +436,6 @@ END;
/



CREATE OR REPLACE FUNCTION OSE.UM_EXISTE_ADR_NUM_COMPL(p_lettre_num_compl IN VARCHAR2) RETURN NUMBER IS
/* =============================================================
	UM_EXISTE_ADR_NUM_COMPL -- v2.2
@@ -453,3 +454,88 @@ BEGIN
	return v_id_num_compl;
END;
/


CREATE OR REPLACE FUNCTION OSE.UM_AFFICH_UO_INF(p_uo IN varchar2) RETURN VARCHAR2 IS
/* =============================================================
	UM_AFFICH_UO_INF
===============================================================*/
v_c_uo 	         varchar2(10);
v_lc_uo          varchar2(25);
v_c_uo_ll_uo     varchar2(36);
v_temp_uo		 varchar2(10);

-- !! OSE : via DBLINK sur SIHAM
-- UM_AFFICH_UO_INF: pour remonter le dpartement quand HE% (dont IUT FDS)
-- Rcupere le code uo + '#' + ll_uo de la structure de x niveaux au dessus
-- conseil : a appeller avec p_uo de l'affectation fine

CURSOR cur_infos_uo_niveau_hie IS
	select 
	-- Renseigner ce select, se baser sur le niveau de hierarchie voulu suivant si recherche, direction, compo pda...
	-- pour cela se baser sur le tableau excel pour le choix du niveau d'UO /branches : choix_niveaux_UO_pour_OSE.xlsx
	
	case 
		-- ##A_PERSONNALISER_CHOIX_SIHAM## 
		when UM_EST_STRUCT_MANU(p_uo) = 'O' then trim(p_uo) -- v1.12 - 12/09/2019 - MYP - ajout structure EDTTSD - spciale OREC car n existe pas dans Siham
		-- recherchedepart scient
		when v_temp_uo like 'HR1%' then ''
		-- Recherche autres
		when v_temp_uo like 'HR%'  then ''
		-- directions
		when v_temp_uo like 'HD%'  then ''
		-- composantes pedagogisques
		when v_temp_uo like 'HE%'  then trim(UM_CODE_UO_NIVEAU_DESSUS(v_temp_uo, UM_NIVEAU_UO(v_temp_uo)-6))
		-- Autres - Fondations UM
		when v_temp_uo like 'HF%'  then ''
		-- Autres -PrsidenceUM
		when v_temp_uo like 'HG%'  then ''
		-- Autres -Services Communs UM
		when v_temp_uo like 'HS%'  then ''
		-- Autres - Partenaires exterieurs UM pour AMUE et CINES
		when v_temp_uo like 'HX%'  then ''
		else
			''
	end as c_uo_niveau_voulu
	from dual;	

BEGIN
	--- ##A_PERSONNALISER_CHOIX_SIHAM##   composantes ex-aes ou ex-isem qui ont fusionn en moma
	IF (p_uo like 'HER%' or p_uo like 'HEG%') then 
		v_temp_uo := '';  -- Pour MOMA pas de departement d'ens
	ELSE 
		v_temp_uo := p_uo;
	END IF;
			
	-- recup code uo niveau defini pour extraction badge principal vers ARD
   OPEN cur_infos_uo_niveau_hie;
    FETCH cur_infos_uo_niveau_hie  INTO v_c_uo;

	-- recup lib court correspondant au departement
	-- MYP corrig le 12/06/2018 : sortir de la boucle sinon up n'a pas le flag type ENS et pas renseign
	select trim(b.lboush) INTO v_lc_uo
	from 
		hr.ze00@SIHAM.WORLD a,
		hr.ze01@SIHAM.WORLD b
	where trim(a.idou00) = v_c_uo --v1.9
	and trim(a.idos00) = 'HIE'
	and a.nudoss = b.nudoss
	and a.tyou00 = 'ENS'   -- uo de type enseignement TYPE ENS
	and b.cdlang = 'F' 
	;
	
	IF v_lc_uo is null then 
		v_c_uo := '';  -- Pas de departement d'ens : tout  blanc
	END IF;
	
	
	IF v_lc_uo is null then 
		v_c_uo := '';  -- Pas de departement d'ens : tout  blanc
	END IF;
	
	-- retourne le code et le libelle court
	v_c_uo_ll_uo := v_c_uo||'#'||v_lc_uo;
	
    return trim(v_c_uo_ll_uo);

END;
 No newline at end of file
Loading