wiki:divers:sigb

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
wiki:divers:sigb [2018/04/03 10:24] bquillerwiki:divers:sigb [2024/05/02 07:51] (Version actuelle) – supprimée bquiller
Ligne 1: Ligne 1:
-====== SGBM ====== 
-SGBM - Exports de dossiers personnels 
- 
-====== Vues créées ====== 
- 
-L’export se base sur plusieurs vues afin de gérer les relations multiples (mails et téléphones).  
- 
-Le préfixe est V_SGBMP_ afin de bien les identifier. 
- 
-La solution retenue dans cette première version est de gérer les relations uniques dans une vue unique. Nous avons donc rassemblé Information générale, Rôles et Identifiants. 
- 
-La jointure entre les vues est assurée par le code barre. 
- 
-===== Vue principale ===== 
- 
-V_SGBMP_INFO_GENE (CODE_BARRE, NOM, PRENOM, GROUPE, CAMPUS, LANGUE, STATUT, DATE_NAISSANCE, DATE_MODIF, DATE_EXPIRATION, DATE_ELIMINATION, EPPN) 
- 
-Exemple pour l’université de Nîmes :  
- 
-UN17678, QUILLERIE, Brice, Personnel, UN, fr, actif, d_modification, 31/12/2018, 31/12/2021, Lecteur, Actif, perimetre, 31/12/2018, [[mailto:bquiller@unimes.fr|bquiller@unimes.fr]] 
-<code sql> 
-CREATE OR REPLACE FORCE VIEW "GRHUM"."V_SGBMP_INFOGENE" ("CODE_BARRE", "NOM", "PRENOM", "GROUPE", "CAMPUS", "LANGUE", "STATUT", "DATE_NAISSANCE", "DATE_MODIF", "DATE_EXPIRATION", "DATE_ELIMINATION", "EPPN") AS  
- SELECT  'UN' || pers.NO_DOSSIER_PERS, INITCAP(nom_usuel) nom_usuel, INITCAP(prenom) prenom1, decode(ind.categorie_princ,3,'Personnel',1,'Enseignant'), 
-'UN','Français','Actif', ind.d_naissance, ind.d_modification, to_date('31/12/'||to_char(sysdate + interval '1' year, 'yyyy'),'dd/mm/yyyy'), to_date('31/12/'||to_char(sysdate + interval '4' year, 'yyyy'),'dd/mm/yyyy'),  c.cpt_login || '@unimes.fr' eppn 
-FROM grhum.INDIVIDU_ULR ind,  grhum.PERSONNEL_ULR pers,  grhum.CORPS c , mangue.element_carriere ec, mangue.carriere car, grhum.INDICE INDICE, 
- grhum.PASSAGE_ECHELON ech, 
- COMPTE c, REPART_COMPTE rc  
-WHERE ind.NO_INDIVIDU =  pers.NO_DOSSIER_PERS 
-AND rc.cpt_ordre = c.cpt_ordre 
- AND ind.pers_id = rc.pers_id 
- AND c.cpt_vlan NOT IN ('E') 
-AND pers.NO_DOSSIER_PERS = ec.NO_DOSSIER_PERS 
-AND car.NO_DOSSIER_PERS = ec.NO_DOSSIER_PERS 
-AND ec.c_corps = c.C_CORPS 
-AND car.tem_valide = 'O' 
-AND (( car.D_FIN_CARRIERE IS NULL  OR car.d_fin_carriere>= TO_DATE(TO_CHAR(SYSDATE,'dd/mm/YYYY'),'dd/mm/YYYY' 
-) 
-AND (ec.D_FIN_ELEMENT IS NULL OR ec.d_fin_element >= TO_DATE(TO_CHAR(SYSDATE,'dd/mm/YYYY'),'dd/mm/YYYY')) 
- AND (ec.tem_valide = 'O') 
- ) 
-AND ( ec.D_EFFET_ELEMENT  <=TO_DATE(TO_CHAR(SYSDATE,'dd/mm/YYYY'),'dd/mm/YYYY'))  
- AND (ec.c_grade = ech.C_GRADE AND ec.C_ECHELON = ech.C_ECHELON  ) 
- AND ech.D_FERMETURE IS NULL 
- AND INDICE.D_FERMETURE IS NULL 
- AND (ech.C_INDICE_BRUT = INDICE.C_INDICE_BRUT ) 
-; 
-</code> 
-===== Vue des adresses ===== 
- 
-V_SGBMP_ADRESSE (CODE_BARRE, TYPE, ADR1, ADR2, ADR3, ADR4, ADR5, VILLE, CP, PAYS, DEBUT) 
- 
-Exemple  pour l’université de Nîmes : 
- 
-UN17678workUniversite de Nimes - Site de VaubanRue du Docteur Georges SalanNIMES3002110031/08/09 
-<code sql> 
-CREATE OR REPLACE FORCE VIEW "GRHUM"."V_SGBMP_ADRESSE" ("CODE_BARRE", "TYPE", "ADR1", "ADR2", "ADR3", "ADR4", "ADR5", "VILLE", "CP", "PAYS", "DEBUT") AS  
- select 'UN'||ind.NO_INDIVIDU, case RPA.TADR_CODE when 'PRO' then 'work' else 'home' end, A.adr_adresse1,A.adr_adresse2, A.HABITANT_CHEZ , '', A.lieu_dit, 
-A.ville,A.code_postal,A.C_PAYS, A.D_CREATION 
-from INDIVIDU_ULR ind ,REPART_PERSONNE_ADRESSE RPA, ADRESSE A 
-where 'UN'||ind.NO_INDIVIDU in (select code_barre from V_SGBMP_INFOGENE) 
-AND RPA.pers_id = ind.pers_id 
-AND RPA.RPA_PRINCIPAL='O' AND RPA.rpa_valide = 'O' 
-and RPA.adr_ordre  = A.adr_ordre; 
-</code> 
-===== Vue des mèls ===== 
- 
-V_SGBMP_MAIL (CODE_BARRE, TYPE, MAIL, PREF) 
- 
-Exemple  pour l’université de Nîmes : 
- 
-UN17678workbrice.quillerie@unimes.frtrue 
-<code sql> 
-CREATE OR REPLACE FORCE VIEW "GRHUM"."V_SGBMP_MAIL" ("CODE_BARRE", "TYPE", "MAIL", "PREF") AS  
-select 'UN'||ind.NO_INDIVIDU, case RPA.TADR_CODE when 'PRO' then 'work' when 'PERSO' then 'personal' else 'alternative' end, RPA.E_MAIL, case RPA.RPA_PRINCIPAL when 'O' then 'true' else 'false' end 
-from INDIVIDU_ULR ind ,REPART_PERSONNE_ADRESSE RPA 
-where 'UN'||ind.NO_INDIVIDU in (select code_barre from V_SGBMP_INFOGENE) 
-AND RPA.pers_id = ind.pers_id and RPA.E_MAIL is not null 
-AND RPA.RPA_PRINCIPAL='O' AND RPA.rpa_valide = 'O'; 
-</code> 
- 
-===== Vue des numéros de téléphone ===== 
- 
-V_SGBMP_TELEPHONE (CODE_BARRE, TYPE, NUMERO, PREF, SMS_PREF) 
- 
-Exemple  pour l’université de Nîmes : 
- 
-UN17678office0466364532truefalse 
-<code sql> 
-CREATE OR REPLACE FORCE VIEW "GRHUM"."V_SGBMP_TELEPHONE" ("CODE_BARRE", "TYPE", "NUMERO", "PREF", "SMS_PREF") AS  
- SELECT 'UN'||ind.NO_INDIVIDU, case PT.type_no when 'MOB' then 'mobile' when 'FAX' then 'officeFax' else case PT.type_tel when 'PRF' then 'office' else 'home' end end,PT.no_telephone, 
- case PT.TEL_PRINCIPAL when 'O' then 'true' else 'false' end as principal,  
- case when PT.TYPE_NO = 'MOB' and PT.TEL_PRINCIPAL = 'O' then 'true' ELSE 'false' end  
-FROM INDIVIDU_ULR ind , PERSONNE_TELEPHONE PT 
-where 'UN'||ind.NO_INDIVIDU in (select code_barre from V_SGBMP_INFOGENE) 
-AND pt.pers_id = ind.pers_id; 
-</code> 
- 
- 
-===== Vue des éléments statistiques ===== 
- 
-V_SGBMP_STATISTIQUES (CODE_BARRE, TYPE, CATEGORIE)  
- 
-UN1AutreCENTRE DE RESSOURCES EN INFORMATIQUE 
-<code sql> 
-CREATE OR REPLACE FORCE VIEW "GRHUM"."V_SGBMP_STATISTIQUES"  
- ("CODE_BARRE", "TYPE", "CATEGORIE") AS 
-SELECT 'UN'||ind.NO_INDIVIDU, TS.L_TYPE_STRUCTURE, S.LL_STRUCTURE 
-FROM INDIVIDU_ULR ind , REPART_ASSOCIATION RA, STRUCTURE_ULR S, TYPE_STRUCTURE TS 
-where 'UN'||ind.NO_INDIVIDU in (select code_barre from V_SGBMP_INFOGENE) 
-AND RA.pers_id = ind.pers_id AND RA.C_STRUCTURE = S.C_STRUCTURE 
-AND ( RA.RAS_D_FERMETURE is null or RA.RAS_D_FERMETURE > sysdate) 
-AND RA.RAS_D_OUVERTURE < sysdate AND TS.C_TYPE_STRUCTURE = S.C_TYPE_STRUCTURE  
-</code> 
-====== Tâche talend ====== 
- 
-Le livrable {{ :wiki:divers:sigb:sgbm_export_1.6.zip |sgbm_export_1.6.zip}} peut être décompressé sur une machine linux ou windows. La machine doit avoir accès à la base de données et au serveur de la biu en ssh. 
-{{ :wiki:divers:sgbm_export_0.8.png?direct&400 |}} 
-===== Fichier de configuration ===== 
- 
-Une fois décompressé et avant de l’exécuter, il nous faut créer le fichier properties de paramétrage. Pour l’université de Nîmes, le fichier contient les lignes suivantes : 
-<code> 
-oracle_server=casimir.unimes.fr 
-oracle_port=1521 
-oracle_schema=grhum 
-oracle_login=sap_bo 
-oracle_password=xxx 
-oracle_sid=gest 
-sigb_user_group=31 
-sigb_user_group_desc=Personnel UNÎMES 
-sigb_files_dir=C:/Talend/Fichiers/ 
-sigb_file_name=UnimesImport 
-sigb_biu_dir=/home/unimes/Import/ 
-sigb_biu_host=tabim.biu-montpellier.fr 
-sigb_biu_port=22 
-sigb_biu_username=unimes 
-sigb_biu_password=xxx 
-sigb_biu_cle_publique=C:/Talend/Fichiers/id_rsa_gromit 
-</code> 
-===== Exécution ===== 
- 
-Pour l’exécution, il va falloir passer en paramètre le chemin complet du fichier de configuration : 
-<code> 
-sh sgbm_export/sgbm_export_run.sh --context_param sigb_param_file=/data/sigb/default.properties 
-</code> 
-====== Evolutions  ====== 
-Talend pour faire du XML, ce n'est pas le top : il ne gère pas les boucles multiples et encore moins les boucles imbriquées ... la tâche résultante est donc peu lisible, contenant du java et largement optimisable. 
- 
-Les catégories de statistiques doivent être listées (cf https://developers.exlibrisgroup.com/alma/apis/xsd/rest_user.xsd?tags=GET#user_statistic) ; sans catégorie, "OFC" s'applique (choix arbitraire). 
- 
-Les logs ne sont pas parlant et la doc est un peu légère… 
- 
-Vous pouvez télécharger {{ :wiki:divers:sgbm_export.zip |l'export du job}} pour le consulter, l'adapter ...  
- 
- 
  
  • wiki/divers/sigb.1522751056.txt.gz
  • Dernière modification : 2018/06/25 08:55
  • (modification externe)