Date: Thu, 28 Mar 2024 23:36:40 +0100 (CET) Message-ID: <482986179.4468.1711665400969@atlassiancin01.private.cineca.it> Subject: Exported From Confluence MIME-Version: 1.0 Content-Type: multipart/related; boundary="----=_Part_4467_1077935792.1711665400965" ------=_Part_4467_1077935792.1711665400965 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Content-Location: file:///C:/exported.html
Sommario
Il presente documento descrive il DB di frontiera IRIS IE (IRIS = Import/Export) concentrandosi sugli aspetti che riguardano la proc= edura di sincronizzazione delle anagrafiche tra il modulo RM di IRIS e Sist= emi Informativi in uso presso il cliente.
Ricordiamo comunque il DB di frontiera pu=C3=B2 venire utilizzato non so= lo ai fini della sincronizzazione delle anagrafiche ma ogni qual volta ci s= ia la necessit=C3=A0 di condividere delle informazioni da moduli di IRIS ve= rso Sistemi Informativi del cliente e viceversa.
Questo DB di frontiera =C3=A8 disponibile nei vari ambienti di deploy di= IRIS. Il nome dello schema di frontiera segue questa naming convention:
IRISIE_<CUSTOMER>_<ENVIRONMENT>
dove con
Le tabelle presenti in questo schema seguono la seguente naming conventi= on:
<I|E>_<IRIS_MODULE>_<TABLE_NAME>
dove
Ad esempio la tabella I_RM_ADDRESS individua una tabell= a usata per importare indirizzi nel modulo IRIS RM.
Di seguito vengono elencate le tabelle utilizzate dalla procedura di sin= cronizzazione delle anagrafiche, dettagliando, dove necessario, le informaz= ioni contenute nelle varie colonne.
Questa tabella raccoglie le informazioni fondamentali (e OBBLIGATORIE) p=
er una persona.
Sono previste le seguenti colonne:
NOME CAMPO |
DESCRIZIONE |
CLASSIFICAZIONE |
OBBLIGATORIO |
VINCOLI |
ID |
Identificativo UNIVOCO della persona nei SI s= orgenti |
SI |
Questo =C3=A8 l=E2=80=99identificativo che ve= rr=C3=A0 utilizzato per effettuare le operazioni di mappatura tra SI sorgen= ti e IRIS. |
|
FIRST_NAME |
Nome |
SI |
||
LAST_NAME |
Cognome |
SI |
||
ERROR |
Codice di errore |
NO |
Usato per check di validit=C3=A0 |
Questa tabella raccoglie informazioni aggiuntive (NON OBBLIGATORIE) sull= e persone, di seguito elencate.
NOME CAMPO |
DESCRIZIONE |
CLASSIFICAZIONE O FORMATO |
NOTE |
birthDate |
Data di nascita |
XML DateTime |
Il format DateTime =C3=A8 specificato nella s= eguente forma: YYYY-MM-DDThh:mm:ss dove: YYYY indica l'anno Tutte le= componenti sono obbligatorie |
birthCountryId |
Identificativo nazione di nascita |
ISO_3166-1 Alpha-2 |
|
birthPlaceId |
Identificativo citt=C3=A0/paese di nascita |
CODICE CATASTALE |
Nel caso di citt=C3=A0/paesi italiani deve es=
sere utilizzato il Codice Catastale. |
birthPlaceString |
Nome del paese/citt=C3=A0 di nascita |
Questo campo, alternativo a birthPlaceId, dev= e essere usato quando non =C3=A8 utilizzabile un identificativo |
|
gender |
Sesso |
M/F |
Gli unici valori consentiti sono M o F |
codiceFiscale |
Codice fiscale |
Il codice fiscale DEVE essere valido |
|
idAb |
Identificativo UGOV (ID_AB) |
A SOLO USO CINECA |
La tabella prevede le seguenti colonne:
NOME CAMPO |
DESCRIZIONE |
CLASSIFICAZIONE |
OBBL |
VINCOLI |
FK_PERSON |
Chiave esterna verso I_RM_PERSON
|
SI |
Questo =C3=A8 l=E2=80=99identificativo che ve= rr=C3=A0 utilizzato per effettuare le operazioni di mappatura tra SI sorgen= ti e IRIS. |
|
DISCRIMINATOR |
Tipologia di informazione aggiuntiva |
I valori accettabili per questo campo sono un= o di quelli elencati lista precedente: - birthDate |
SI |
|
STRING_VALUE |
Valore |
SI |
||
ERROR |
Codice di errore |
NO |
Usato per check di validit=C3=A0 |
A titolo esemplificativo considerare il seguente esempio.
Supponiamo di avere gi=C3=A0 caricato la persona MARIO ROSSI di identifi= cativo XYZ nella tabella I_RM_PERSON.
ID |
FIRST_NAME |
LAST_NAME |
XYZ |
MARIO |
ROSSI |
Supponiamo anche di volere caricare il codice fiscale MRORSS70B25A691H e= la data di nascita 15/10/1970. Dovranno essere inseriti due record distint= i nella tabella I_RM_PERSON_DATA
FK_PERSON |
DISCRIMINATOR |
STRING_VALUE |
XYZ |
codiceFiscale |
MRORSS70B25A691H |
XYZ |
birthDate |
1970-10-15T00:00:00 |
Questa tabella raccoglie informazioni sugli utenti.
Sono previste le seguenti colonne:
NOME CAMPO |
DESCRIZIONE |
CLASSIFICAZIONE |
OBBLIGATORIO |
VINCOLI |
USERNAME |
Username utilizzato per autenticazione | SI |
UNIVOCITA=E2=80=99 dello username |
|
LDAP_DN |
LDAP Distinguished Name nel caso di utilizzo = di autenticazione LDAP |
NO |
||
FK_PERSON |
Chiave esterna verso I_RM_PERSON |
SI |
||
ERROR |
Codice di errore |
NO |
Usato per check di validit=C3=A0 |
Non viene conservata nessuna password perch=C3=A9 si considera prerequis= ito che il processo di autenticazione venga effettuata su sistemi del clien= te (LDAP, IDP, =E2=80=A6).
Questa tabella raccoglie informazioni sulle unit=C3=A0 organizzative fis=
iche (come uffici, dipartimenti) e logiche (come ruoli, qualifiche, SSD, Ar=
ee ministeriali, eccetera).
Sono previste le seguenti colonne:
NOME CAMPO |
DESCRIZIONE |
CLASSIFICAZIONE |
OBBL |
VINCOLI |
ID |
Identificativo UNIVOCO dell=E2=80=99unit=C3= =A0 organizzativa nei SI sorgenti. |
SI |
Questo =C3=A8 l=E2=80=99identificativo che ve= rr=C3=A0 utilizzato per effettuare le operazioni di mappatura tra SI sorgen= ti e IRIS |
|
DESCRIPTION |
Denominazione dell=E2=80=99unit=C3=A0 organiz= zativa |
SI |
||
START_DATE |
Data di attivazione dell=E2=80=99unit=C3=A0 o= rganizzativa |
SI |
||
END_DATE |
Data di cessazione dell=E2=80=99unit=C3=A0 or= ganizzativa |
NO |
||
FK_ORG_UNIT_TYPE |
Chiave esterna verso E_RM_ORG_UNIT_TYPE = td> | SI |
Ogni unit=C3=A0 organizzativa DEVE essere map= pata sulle tipologie di unit=C3=A0 di IRIS |
|
ERROR |
Codice di errore |
NO |
Usato per check di validit=C3=A0 |
Questa tabella viene fornita in sola lettura (notare il prefisso =E2=80= =9CE_=E2=80=9D) ed elenca le tipologie di unit=C3=A0 organizzative presenti= in IRIS. Sono previste le seguenti colonne:
NOME CAMPO |
DESCRIZIONE |
CLASSIFICAZIONE |
OBBL |
VINCOLI |
ID |
Identificativo UNIVOCO della tipologia di uni= t=C3=A0 organizzativa in IRIS |
SI |
||
DESCRIPTION |
Nome breve della tipologia di unit=C3=A0 orga= nizzativa |
SI |
Di tutte le tipologie di unit=C3=A0 organizzativa presenti nella tabella= , tipicamente vengono usate:
Di tutte le tipologie di strutture elencate quelle FONDAMENTALI<= /strong>, per il personale che si occupa di ricerca sono:
Nel caso in cui si vogliano usare strutture assimilabili alle tipologia =
subdepartment, =C3=A8 necessario che venga specificata la dipendenza da una=
struttura di tipo department.
Ad esempio supponiamo che in I_RM_ORG_UNIT venga caricata una struttura X m=
arcata come subdepartment. Per il corretto funzionamento di IRIS =C3=A8 nec=
essario che questa struttura abbia un link in I_RM_ORG_UNIT_LINK, verso una=
struttura Y di tipo department.
Lo stesso ragionamento vale per superdepartment e department.
Tenere presente, comunque, che non =C3=A8 necessario completare tutta la ge=
rarchia: in altre parole non =C3=A8 necessario avere strutture in tutte e t=
re le tipologie superdepartment, department, subdepartment.
Res=
ta fermo che la tipologia obbligatoria =C3=A8 department.
Nella tabella I_RM_POSITION (di seguito descritta) =C3=A8 necessario, pe=
r il personale di ricerca, specificare tra le posizioni (i=
ndividuate da ruoli di tipo researchRole), strutture di tipo subdepartment =
o department.
Per il personale di supporto (tecnici amministrativi) non =
ci sono particolari vincoli stringenti nella specifica delle afferenze. Ten=
ere presente, per=C3=B2, che qualora questo personale si occupi anche di ri=
cerca deve rispettare i vincoli sopra imposti.
In ambito prettamente universitario vengono utilizzate anche le seguenti= tipologie:
Per completezza, nel caso vengano caricate strutture di tipo academicAre= a, academicGroup, academicField, academicField2000, devono venire caricate = anche tutte le gerarchie.
Nella fase di setup della procedura di sincronizzazione =C3=A8 necessari=
o individuare, con il cliente, quali siano le strutture cardine nell=E2=80=
=99organigramma dell=E2=80=99ente ed eventualmente le strutture al livello =
gerarchico superiore ed inferiore.
Nel caso in cui la strutturazione dell=E2=80=99ente sia particolarmente com=
plessa, si deve procedere ad una semplificazione. Le strutture cardine (sup=
erdepartment, department, subdepartment), infatti, prevedono solo una gerar=
chia di tre livelli al massimo. Questa limitazione viene imposta dalle nece=
ssit=C3=A0 di elaborazione dati lato BI. Il limite imposto per i livelli ge=
rarchici delle altre tipologie di strutture =C3=A8 cinque.
All=E2=80=99interno di una gerarchia NON POSSONO essere presenti struttu=
re di una stessa tipologia: unica eccezione =C3=A8 la tipologia "other".
Ad esempio, supponendo che X e Y siano due strutture di tipologia A, la ger=
archia X>>Z non =C3=A8 contemplata.
Questa tabella raccoglie i legami tra unit=C3=A0 organizzative.
Al momento attuale sono gestiti solo i legami gerarchici.
Sono previste le seguenti colonne:
NOME CAMPO |
DESCRIZIONE |
CLASSIFICAZIONE |
OBBL |
VINCOLI |
FK_ORG_UNIT_1 |
Chiave esterna verso I_RM_ORG_UNIT
|
SI |
||
DISCRIMINATOR |
Tipo di relazione |
L=E2=80=99unico valore accettabile =C3=A8: |
SI |
|
ERROR |
Codice di errore |
NO |
Usato per check di validit=C3=A0 |
Considerare, a titolo di esempio, il seguente record.
FK_ORG_UNIT_1 |
DISCRIMINATOR |
FK_ORG_UNIT_2 |
XXX |
Parent |
YYY |
Questo significa che l=E2=80=99unit=C3=A0 organizzativa di ID XXX =C3=A8= gerarchicamente padre dell=E2=80=99unit=C3=A0 di ID YYY
Questa tabella raccoglie centralmente gli indirizzi di unit=C3=A0 organi=
zzative (I_RM_ORG_UNIT) e di persone (I_RM_PERSON).
Sono previste le seguenti colonne:
NOME CAMPO |
DESCRIZIONE |
CLASSIFICAZIONE |
OBBLIGATORIO |
VINCOLI |
ID |
Identificativo univoco |
SI |
||
DISCRIMINATOR |
Tipologia di indirizzo |
Gli unici valori accettabili sono: |
SI |
|
COUNTRY_ID |
Identificativo nazione |
ISO_3166-1 Alpha-2 |
SI |
|
PLACE_ID |
Identificativo del paese/citt=C3=A0 |
Codice catastale |
NO |
Deve essere popolato alternativamente a PLACE=
_STRING. |
PLACE_STRING |
Nome del paese/citt=C3=A0 |
NO |
Deve essere popolato alternativamente a PLACE= _ID. Da usare per i paesi/citt=C3=A0 non italiani |
|
DESCRIPTION |
Indirizzo completo di via/piazza e numero civ= ico |
SI |
||
POSTAL_CODE |
Codice postale |
NO |
||
PRINCIPAL |
Flag indirizzo principale per tipologia (disc= riminator) |
1 =3D indirizzo principale |
SI |
|
FK_ORG_UNIT |
Chiave esterna verso I_RM_ORG_UNIT |
NO |
Deve essere popolato alternativamente a FK_PE= RSON |
|
FK_PERSON |
Chiave esterna verso I_RM_PERSON |
NO |
Deve essere popolato alternativamente a FK_OR= G_UNIT |
|
ERROR |
Codice di errore |
NO |
Usato per check di validit=C3=A0 |
Si precisa che
Questa tabella raccoglie centralmente i contatti di unit=C3=A0 organizza= tive (I_RM_ORG_UNIT) e di persone (I_RM_PERSON).
Sono previste le seguenti colonne:
NOME CAMPO |
DESCRIZIONE |
CLASSIFICAZIONE |
OBBLIGATORIO |
VINCOLI |
ID |
Identificativo univoco |
SI |
||
DISCRIMINATOR |
Tipologia di contatto |
Gli unici valori accettabili sono: |
SI |
|
DESCRIPTION |
Contatto |
SI |
||
PRINCIPAL |
Flag contatto principale per tipologia (discr= iminator) |
1 =3D contatto principale |
SI |
|
FK_ORG_UNIT |
Chiave esterna verso I_RM_ORG_UNIT |
NO |
Deve essere popolato alternativamente a FK_PE= RSON |
|
FK_PERSON |
Chiave esterna verso I_RM_PERSON |
NO |
Deve essere popolato alternativamente a FK_OR= G_UNIT |
|
ERROR |
Codice di errore |
NO |
Usato per check di validit=C3=A0 |
Si precisa che uno ed uno solo tra FK_ORG_UNIT e FK_PERSON deve essere p= opolato
Questa tabella raccoglie tutte le informazioni di carriera delle persone=
.
Sono previste le seguenti colonne:
NOME CAMPO |
DESCRIZIONE |
CLASSIFICAZIONE |
OBBLIGATORIO |
VINCOLI |
FK_PERSON |
Chiave esterna verso I_RM_PERSON |
SI |
Cfr =C2=A72.9.1 |
|
FK_POSITION_TYPE |
Chiave esterna verso I_RM_ORG_UNIT |
SI |
Cfr =C2=A72.9.2 |
|
FK_ORG_UNIT |
Chiave esterna verso I_RM_ORG_UNIT |
SI |
Cfr =C2=A72.9.3 |
|
START_DATE |
Data inizio validit=C3=A0 |
SI |
Cfr =C2=A72.9.4 |
|
END_DATE |
Data fine validit=C3=A0 |
NO |
Cfr =C2=A72.9.5 |
|
PRIORITY |
Peso del rapporto di lavoro |
NO |
Cfr =C2=A72.9.6 |
|
ERROR |
Codice di errore |
NO |
Usato per check di validit=C3=A0 |
|
IRIS_GENERATED |
Flag |
NO |
Cfr =C2=A72.9.7 |
In questa colonna devono essere specificati ID di persone (presenti in I= _RM_PERSON).
In questa colonna devono essere specificati ID di unit=C3=A0 organizzati= ve (presenti in I_RM_ORG_UNIT) che semanticamente siano assimilabili a ruol= i come ad esempio:
Le unit=C3=A0 organizzative in questione devono specificare nella colonn= a FK_ORG_UNIT_TYPE (della tabella in I_RM_ORG_UNIT) il valore identificativ= o di una delle seguenti tipologie (presenti nella tabella E_RM_ORG_UNIT_TYP= E):
Le tipologie sopra elencate sono TUTTE E SOLE quelle utilizzabili per le= unit=C3=A0 organizzative usate come FK_POSITION_TYPE.
I ruoli che hanno delle ricadute sull=E2=80=99utilizzo della piattaforma= IRIS sono:
Gli altri due (functionRole e teachingRole) invece vengono previsti per = completezza e per eventuali sviluppi futuri.
In questa colonna deve essere specificato il riferimento ad un=E2=80=99u= nit=C3=A0 organizzativa come dipartimento, divisione, matricola=E2=80=A6 Le= tipologie di unit=C3=A0 organizzative consentite sono tutte quelle present= i nella tabella E_RM_ORG_UNIT_TYPE (cfr. Excel allegato org-unit-type.xls) = AD ECCEZIONE di:
Questo perch=C3=A9 le tipologie di cui sopra sono ad uso esclusivo della= colonna FK_POSITION_TYPE descritta in precedenza.
Tra le tipologie di unit=C3=A0 organizzative utilizzabili nella colonna = FK_ORG_UNIT abbiamo anche le seguenti:
Queste tipologie (denominate qualifiche, profili, titoli) sono strettame= nte legate ai ruoli: forniscono una classificazione pi=C3=B9 fine fatta a p= artire dai ruoli. Ad esempio per il ruolo =E2=80=9CRicercatore=E2=80=9D com= e qualifiche potrebbero essere associate =E2=80=9CRicercatore Confermato=E2= =80=9D, =E2=80=9CRicercatore a tempo determinato=E2=80=9D e cos=C3=AC via.<= /p>
Le qualifiche devono rispettare i seguenti vincoli di coerenza:
SE
FK_POSITION_TYPE specifica unit=C3=A0 organizzativa di tipo =E2=80=9Cres= earchRole=E2=80=9D
ALLORA
la qualifica (se prevista) DEVE RICADERE nella tipologia =E2=80=9Cresear= chTitle=E2=80=9D
Il vincolo sopra riportato deve essere replicato per gli altri ruoli (su= pportRole, functionRole, teachingRole).
In questa colonna DEVE essere specificata la data (non nulla) di inizio = validit=C3=A0 della tripla (FK_PERSON, FK_POSITION_TYPE, FK_ORG_UNIT).
In questa colonna pu=C3=B2 essere specificata la data di fine validit=C3=
=A0 della tripla (FK_PERSON, FK_POSITION_TYPE, FK_ORG_UNIT).
Se la colonna non =C3=A8 valorizzata allora si intendono correntemente vali=
de le informazioni fornite dalla tripla.
In questa colonna viene specificato il peso della tripla (FK_PERSON, FK_=
POSITION_TYPE, FK_ORG_UNIT).
Viene data priorit=C3=A0 a record con valore numerico maggiore.
Questo valore =C3=A8 obbligatorio SOLO in presenza di rapporti di lavoro co=
ntemporanei sulle tipologie di ruoli researchRole e supportRole. Viene util=
izzato per la selezione della tripla prioritaria da utilizzare.
A titolo di esempio considerare il seguente esempio riepilogativo per la= gestione delle posizioni di carriera.
Supporre di aver caricato in I_RM_PERSON la seguenti riga:
ID |
FIRST_NAME |
LAST_NAME |
XYZ |
MARIO |
ROSSI |
Supporre di aver caricato in I_RM_ORG_UNIT le seguenti righe:
ID |
DESCRIPTION |
FK_ORG_UNIT_TYPE |
1544 |
Dottorando |
1 |
1371 |
Tecnico Amministrativo |
101 |
5121 |
Area Tecnica |
102 |
5122 |
Area Amministrativa |
102 |
DIP22 |
Dipartimento di Fisica |
51 |
DIP23 |
Dipartimento di Matematica |
51 |
DOT-032888 |
032888 |
5 |
TA-A52454 |
A52454 |
5 |
Considerato che in E_ORG_UNIT_TYPE sono presenti le seguenti righe:
ID |
DESCRIPTION |
1 |
researchRole |
101 |
supportRole |
2 |
researchTitle |
102 |
supportTitle |
5 |
identificationNumber |
51 |
department |
Possiamo inserire i seguenti record in I_RM_POSITION:
FK_PERSON |
FK_POSITION_TYPE |
FK_ORG_UNIT |
START_DATE |
END_DATE |
PRIORITY |
XYZ |
1544 |
DIP22 |
15/01/2015 |
15/01/2016 |
5 |
XYZ |
1544 |
DOT-032888 |
15/01/2015 |
15/01/2016 |
5 |
XYZ |
1371 |
5121 |
01/01/2015 |
2 |
|
XYZ |
1371 |
DIP23 |
30/04/2015 |
2 |
|
XYZ |
1371 |
TA-A52454 |
01/01/2015 |
2 |
|
XYZ |
1371 |
5122 |
01/01/2014 |
31/12/2014 |
2 |
XYZ |
1371 |
DIP23 |
01/01/2014 |
31/12/2014 |
2 |
XYZ |
1371 |
TA-A52454 |
01/01/2014 |
31/12/2014 |
2 |
In linguaggio naturale, Mario Rossi ha:
Una posizione chiusa
Due posizioni attive
Notare che per la posizione aperta come Tecnico Amministrativo, la data =
di inizio afferenza al Dipartimento di Matematica (DIP23) =C3=A8 successiva=
alle altre informazioni per lo stesso ruolo di Tecnico Amministrativo.
Ovviamente questa =C3=A8 una situazione degenere ma viene fornito comunque =
esempio per chiarire l=E2=80=99indipendenza temporale delle varie informazi=
oni.
Siccome le due posizioni attive sono contemporanee, viene fornito anche =
il peso per potere individuare i record prioritari che sono quelli associat=
i al ruolo di Dottorando.
Quindi nel caso in cui sia necessario estrarre il dipartimento di afferenza=
attuale di Mario Rossi, utilizzando il peso, verr=C3=A0 fornito come risul=
tato il Dipartimento di Fisica (DIP22).
Questa colonna viene usata per marcare i record nella tabella I_RM_POSIT=
IION generati direttamente da IRIS inferendoli dalla gerarchia delle strutt=
ure.
Se ad esempio la struttura X risulta essere figlia di Y e una persona risul=
ta avere una posizione lavorativa sulla struttura X, IRIS inferisce anche l=
a posizione sulla struttura Y con stesso intervallo temporale di validit=C3=
=A0 della struttura X: questo solo nel caso in cui NON siano gi=C3=A0 prese=
nti posizioni sulla struttura Y.
La logica di inferenza delle posizioni NON VALE per le strutture della t= ipologia other.
Questa tabella =C3=A8 funzionale alla procedura di sincronizzazione: il =
suo utilizzo viene descritto in dettaglio nel paragrafo successivo.
Sono previste le seguenti colonne:
NOME CAMPO |
DESCRIZIONE |
OBBLIGATORIO |
NAME |
Nome univoco del lock |
SI |
LAST_ACQUIRE_ACTOR |
Stringa dell=E2=80=99ultimo =E2=80=9Dattore= =E2=80=9D che ha acquisito il lock |
SI |
LAST_ACQUIRE_TIMESTAMP |
Timestamp di ultima acquisizione del lock = |
SI |
LAST_RELEASE_TIMESTAMP |
Timestamp di ultimo rilascio del lock |
SI |
ACQUIRED |
Flag indicante lo stato di acquisizione = del lock (0/1) |
SI |
La procedura di sincronizzazione delle anagrafiche tramite DB di frontie= ra prevede di effettuare un reload di tutte le informazioni in IRIS RM con = cadenza configurabile (massimo 3 volte al giorno).
Tale job (laddove applicabile) sar=C3=A0 disponibile nella console JENKI= NS di Cineca sotto il nome
iris-ie-rm-sync-job-<CUSTOMER>-<ENVIRO= NMENT>
dove CUSTOMER indica il cliente e ENVIRONMENT indica l=E2=80=99ambiente = (prod, preprod, =E2=80=A6)
Lo schema del DB di frontiera descritto nel paragrafo precedente deve es= sere accessibile in lettura/scrittura sia da IRIS che dai SI del cliente ch= e possono essere visti come i due attori della sincronizzazione.
Per isolare gli accessi al DB da parte dei due attori deve essere utiliz= zata la tabella I_E_LOCK descritta in precedenza.
In dettaglio vengono elencati gli step da compiere PRIMA di effettuare qualsiasi operazione di scrittura sul DB di frontiera:
del record con NAME=3D=E2=80=99IRIS_RM_SYNC_LOCK=E2=80=99
Dopo avere ultimato le operazioni in scrittura sul DB di frontiera devon= o essere seguiti i seguenti step:
del record con NAME=3D=E2=80=99IRIS_RM_SYNC_LOCK=E2=80=99
La procedura effettua automaticamente l=E2=80=99associazione degli utent= i ai team:
L=E2=80=99eventuale disabilitazione di questa associazione deve essere f= atta da un altro job da eseguire successivamente all=E2=80=99allineamento a= nagrafiche.
Al termine dell=E2=80=99esecuzione della procedura di sincronizzazione d= eve essere lanciata la procedura di allineamento RM2ES. Accertarsi che ques= to job sia schedulato DOPO il job di allineamento anagrafiche.
Nel caso in cui JENKINS rilevi un errore viene inviata comunicazione via=
mail al team di assistenza tecnica.
Tra le condizioni che possono causare quest=E2=80=99errore c=E2=80=99=C3=A8=
anche il non ottenimento del lock, descritto al =C2=A73.1.
I job che insistono sul DB di frontiera (sia quello di IRIS che quello del =
cliente) dovrebbero essere schedulati in intervalli temporali disgiunti: ne=
l caso in cui ci sia una collisione temporale potrebbe venire generato un e=
rrore sul non ottenimento del lock. In questo caso baster=C3=A0 schedulare =
in maniera opportuna i due job.
Il job di sincronizzazione di IRIS prevede un meccanismo automatico di r= ecovery che prevede di acquisire il lock anche se risulta essere occu= pato da qualcun altro nel caso in cui il lock sia stato acquisito e non ril= asciato da pi=C3=B9 di 24 ore.
La procedura di sincronizzazione prevede di effettuare dei check di vali= dit=C3=A0 sui dati presenti sul DB di frontiera prima di procedere al caric= amento in IRIS RM.
Se un record di una tabella di frontiera non supera i check di validit= =C3=A0, il relativo campo ERROR verr=C3=A0 marcato con il codice di errore = descrittivo associato.
La procedura di sincronizzazione procede con il caricamento dei SOLI dat=
i che hanno superato i check di validit=C3=A0.
Al termine della procedura, qualora vengano rilevati dei record che non sup=
erano i check di validit=C3=A0, verr=C3=A0 inviata una mail ai referenti de=
i Sistemi Informativi del cliente con un file Excel che riporta il dettagli=
o dei record errati.
Di seguito vengono riportati i vari codici di errore che possono essere = restituiti dalla procedura di sincronizzazione.
Tutti i codici seguono il seguente formato:
<NOME_TABELLA>: <CODICE_ERRORE>:
I_RM_PERSON: NULL FIRST_NAME OR LAST_NAME
Individuata persona con FIRST_NAME o LAST_NAME nullo
I_RM_PERSON_DATA: INVALID DISCRIMINATOR
=C3=88 stato individuato un record con un DISCRIMINATOR NON VALIDO. Gli uni=
ci discriminator validi sono:
I_RM_PERSON_DATA: NULL VALUE
=C3=88 stato individuato un record con un STRING_VALUE nullo
I_RM_PERSON_DATA: INVALID BIRTH_DATE
=C3=88 stato individuato un record con una data che non rispetta il formato=
DateTime (YYYY-MM-DDThh:mm:ss)
I_RM_PERSON_DATA: INVALID BIRTH_COUNTRY_ID
=C3=88 stato individuato un record con una codice non recuperabile da ISO_3=
166-1 Alpha-2
I_RM_PERSON_DATA: INVALID BIRTH_PLACE_ID
=C3=88 stato individuato un record con una codice catastale non valido
I_RM_PERSON_DATA: INVALID GENDER
=C3=88 stato individuato un record con sesso non valido
I_RM_PERSON_DATA: INVALID CODICE_FISCALE
=C3=88 stato individuato un record con codice fiscale non valido
I_RM_PERSON_DATA: DUPLICATE INFO
Sono stati individuati record con informazione duplicata
I_RM_ORG_UNIT: NULL FK_ORG_UNIT_TYPE
=C3=88 stato individuato un record con FK_ORG_UNIT_TYPE nullo
I_RM_ORG_UNIT: NULL DESCRIPTION
=C3=88 stato individuato un record con DESCRIPTION nulla
I_RM_ORG_UNIT: NULL START_DATE
=C3=88 stato individuato un record con START_DATE nulla
I_RM_ORG_UNIT: INCOMPATIBLE DATE
=C3=88 stato individuato un record con START_DATE e END_DATE non consi=
stenti
I_RM_ORG_UNIT_LINK: INVALID DISCRIMINATOR
=C3=88 stato individuato un record con DISCRIMINATOR non valido. L'unico va=
lido =C3=A8 'parent'
I_RM_ADDRESS: INVALID DISCRIMINATOR
=C3=88 stato individuato un record con DISCRIMINATOR non valido. L'uni=
co valido =C3=A8 'office'
I_RM_ADDRESS: INVALID COUNTRY_ID
=C3=88 stato individuato un record con una codice non recuperabile da =
ISO_3166-1 Alpha-2
I_RM_ADDRESS: INVALID PLACE_ID OR PLACE_STRING
=C3=88 stato individuato un record che presenta entrambi popolati o entramb=
i nulli i campi PLACE_ID e PLACE_STRING
I_RM_ADDRESS: INVALID PLACE_ID
=C3=88 stato individuato un record con una codice catastale non valido=
I_RM_ADDRESS: NULL DESCRIPTION
=C3=88 stato individuato un record con DESCRIPTION nulla
I_RM_ADDRESS: INVALID PRINCIPAL
=C3=88 stato individuato un record con PRINCIPAL nullo o con valore di=
verso da 0 e 1
I_RM_ADDRESS: INVALID FK_ORG_UNIT OR FK_PERSON
=C3=88 stato individuato un record che presenta entrambi popolati o en=
trambi nulli i campi FK_ORG_UNIT e FK_PERSON
I_RM_CONTACT: INVALID DISCRIMINATOR
=C3=88 stato individuato un record con un DISCRIMINATOR NON VALIDO. Gl=
i unici discriminator validi sono:
I_RM_CONTACT: INVALID DESCRIPTION
=C3=88 stato individuato un record con DESCRIPTION nulla
I_RM_CONTACT: INVALID MAIL FORMAT
=C3=88 stato individuato un record con indirizzo mail non valido
I_RM_CONTACT: INVALID PRINCIPAL
=C3=88 stato individuato un record con PRINCIPAL nullo o con valore di=
verso da 0 e 1
I_RM_CONTACT: INVALID FK_ORG_UNIT OR FK_PERSON
=C3=88 stato individuato un record che presenta entrambi popolati o en=
trambi nulli i campi FK_ORG_UNIT e FK_PERSON
I_RM_POSITION: INVALID FK_POSITION_TYPE
=C3=88 stato individuato un record che presenta il campo FK_POSITION_T=
YPE che punta ad una ORG_UNIT non valida.
Le tipologie di ORG_UNIT valide per questo campo sono SOLO:
I_RM_POSITION: INVALID FK_ORG_UNIT
=C3=88 stato individuato un record che presenta il campo FK_ORG_UNIT che pu=
nta ad una ORG_UNIT non valida.
Le tipologie di ORG_UNIT valide per questo campo sono tutte quelle che
I_RM_POSITION: INVALID FK_ORG_UNIT_FOR_FK_POSITION_TYPE
=C3=88 stato individuato un record che presenta dati non validi per i campi=
FK_ORG_UNIT e FK_POSITION_TYPE
Per maggiori dettagli fare riferimento al =C2=A72.9.3
I_RM_POSITION: INVALID DATE
=C3=88 stato individuato un record che presenta START_DATE successiva alla =
END_DATE
I_RM_ORG_UNIT_LINK: TOO_MANY_LINKS
=C3=88 stata individuata una gerarchia troppo profonda. Il numero massimo d=
i livelli consentiti =C3=A8 5.
Il caricamento della gerarchia =C3=A8 completamente disabilitato.
I_RM_ORG_UNIT_LINK: VIOLATED HIERARCHICAL CONSTRAINT FOR department
Sono state individuate strutture di tipo department che hanno strutture pad=
re o figlie il cui tipo non ricade rispettivamente in superdepartment=
, subdepartment. Per maggiori dettagli fare riferimento al =C2=A72.5
Il caricamento della gerarchia =C3=A8 completamente disabilitato.
I_RM_ORG_UNIT_LINK: VIOLATED HIERARCHICAL CONSTRAINT FOR superdepartment=
Sono state individuate strutture di tipo superdepartment che hanno struttur=
e padre (di qualsiasi tipo) o che hanno strutture figlie il cui tipo non ri=
cade in department. Per maggiori dettagli fare riferimento al =C2=A72=
.5.
Il caricamento della gerarchia =C3=A8 completamente disabilitato.
I_RM_ORG_UNIT_LINK: VIOLATED HIERARCHICAL CONSTRAINT FOR subdepartment
Sono state individuate strutture di tipo subdepartment che hanno strutture =
figlie (di qualsiasi tipo) o che hanno strutture padre il cui tipo non rica=
de in department. Per maggiori dettagli fare riferimento al =C2=A72.5.
Il caricamento della gerarchia =C3=A8 completamente disabilitato.
I_RM_ORG_UNIT_LINK: ORG_UNIT_TYPE NOT UNIQUE DETECTED IN HIERARCHY
=C3=88 stata rilevata una gerarchia all=E2=80=99interno della quale ci sono=
pi=C3=B9 volte strutture della stessa tipologia.
Questo utilizzo =C3=A8 consentito SOLO per la tipologia other.
Il caricamento della gerarchia =C3=A8 completamente disabilitato.
I_RM_ADDRESS: DUPLICATED PRINCIPAL ADDRESS
Sono stati individuati pi=C3=B9 indirizzi marcati come principali.
I_RM_CONTACT: DUPLICATED PRINCIPAL CONTACT
Sono stati individuati pi=C3=B9 contatti marcati come principali.
I_RM_ADDRESS: ADDRESS PRINCIPAL NOT SPECIFIED
Non =C3=A8 stato trovato indirizzo principale
I_RM_CONTACT: CONTACT PRINCIPAL NOT SPECIFIED
Non =C3=A8 stato trovato contatto principale
I_RM_POSITION: OVERLAPPING WITHOUT PRIORITY OR EQUAL PRIORITY
Sono stati rilevati record con sovrapposizioni temporali senza priorit=C3=
=A0 specificata o priorit=C3=A0 uguale
I_RM_USER: USERNAME COLLISION BETWEEN SYSTEM MANAGED AND USER MANAGED
=C3=88 stato rilevato un tentativo di caricamento di uno username gi=C3=A0 =
presente in IRIS che =C3=A8 stato caricato manualmente da un operatore.
Procedere all'eliminazione in IRIS dello username in questione dopo avere e=
ventualmente salvato il profilo dell'utente.
I_RM_USER: USERNAME admin NOT ALLOWED
=C3=88 stato rilevato un tentativo di caricamento dello username admin: non=
=C3=A8 possibile caricare questo username.
I_RM_ADDRESS: ADDRESS BELONGING TO PERSON OR ORG_UNIT IN ERROR
I_RM_CONTACT: CONTACT BELONGING TO PERSON OR ORG_UNIT IN ERROR
I_RM_USER: USERNAME BELONGING TO PERSON IN ERROR
I_RM_ORG_UNIT_LINK: LINK BELONGING TO ORG_UNIT IN ERROR
I_RM_PERSON_DATA: DATA BELONGING TO PERSON IN ERROR
I_RM_POSITION: USE INVALID PERSON OR ORG_UNIT
Sono stati rilevati record relativi ad entit=C3=A0 che sono in uno stato= invalido a seguito di un precedente check di validit=C3=A0.