Bonifiche Anagrafiche CCIIAA

Introduzione  Nodo superiore  Pagina precedente  Pagina successiva

Moduli intertematici > Repertorio soggetti > Bonifiche Anagrafiche CCIIAA

L'associazione dei dati di InfoCamere (CCIAA) con quelli del SIRA rende necessaria una bonifica e l'aggiornamento periodico di questi ultimi.

Per il caricamento dei dati CCIAA, è stato definito uno schema Oracle REGISTRO_IMPRESE, in cui sono definite le tabelle/viste:

1.CCIAA, destinata a contenere i dati caricati, la cui struttura è conforme al tracciato fornito
2.RI, che rappresenta una vista logica sui dati CCIAA implementata, per ragioni di prestazioni, con una tabella
3.COMUNI_ITALIA, che rappresenta una vista alla tabella omonima nello schema SIRA
4.MAPPATURA_CODICI_COMUNI, che mappa le vecchie codifiche ISTAT dei comuni presenti nei dati CCIAA sui codici aggiornati a Gennaio 2010 dell’anagrafica comuni del SIRA

Esiste, in particolare, una procedura batch di caricamento dati CCIAA, adeguata al formato scheda complessa, a partire da una tabella in formato MsAccess, in grado di preservare i caricamenti precedenti (ogni caricamento non produce un aggiornamento della tabella ma una nuova tabella), ed esiste inoltre una vista predisposta per pubblicare i dati del caricamento più recente (vista dati correnti CCIAA).

 

Per la normalizzazione dei dati di InfoCamere (dati CCIAA) con quelli del SIRA è rilevante essere in grado, in primo luogo, di distinguere quali caratterizzazioni delle Sedi legali sono allineate con i più recenti dati CCIAA e quali non ancora, in modo da poter effettuare su queste ultime dei confronti per similitudine di PIVA/Codice fiscale, ragione sociale e indirizzo; è necessario, inoltre, poter verificare quali caratterizzazioni abbiano la stessa PIVA/Codice fiscale, ma siano differenti per ragione sociale e indirizzo, indipendentemente da allineamento o meno.

A tale scopo

1.è stata estesa la caratterizzazione sedi legali, aggiungendo un flag che indica se la caratterizzazione è stata allineata ad un corrispondente record della vista dati correnti CCIAA;
2.sono state realizzate query finalizzate alla produzione un report Oracle (vista), in cui siano presenti le anagrafiche delle sedi legali della C-BDA del SIRA (caratterizzazioni di sedi legali) non marcate come allineate alla CCIAA (attraverso i flag precedenti) e i record corrispondenti nella vista sui dati correnti CCIAA; la corrispondenza viene cercata per similitudine di PIVA/Codice fiscale, ragione sociale e indirizzo. Per ciascun elemento del report sono presenti gli identificatori dell'anagrafica lato SIRA e lato CCIAA.
3.sono state realizzate query finalizzate alla produzione un report Oracle (vista) in cui siano presenti le anagrafiche delle sedi legali della C-BDA del SIRA (caratterizzazioni di sedi legali), indipendentemente dallo stato di allineamento rispetto al flag precedente, tali per cui i dati anagrafici di base, ovvero ragione sociale ed indirizzo, risultino diversi. Anche in questo caso, per ciascun elemento del report sono presenti gli identificatori dell'anagrafica lato SIRA e lato CCIAA.
4.è presente una stored procedure Oracle per l'allineamento di un’anagrafica SIRA (Caratterizzazione Sede Legale) a partire da un’anagrafica CCIAA, producendo un apposito log delle modifiche effettuate. Questa stored procedure può essere invocata manualmente dall’utente, tramite un client SQL, a partire dagli identificatori presenti nel report;

 

Interfaccia utente

 

Per rendere più semplice la fruizione delle funzionalità di aggiornamento e bonifica gestite dalle query citate, è stata realizzata una interfaccia utente, integrata nel WebInsediamenti, accessibile ad un utente preventivamente loggato e in possesso dei permessi opportuni.

L'utente ha la possibilità di

selezionare una delle viste predisposte per il confronto delle anagrafiche SIRA/CCIIAA
ovisualizzare l'elenco dei record della vista, in forma di tabella paginata
oper ogni record, per ciascuna caratterizzazione di sede legale SIRA da aggiornare, viene visualizzato il corrispondente record CCIAA da usare per allineare i dati
visualizzare il log delle modifiche effettuate

 

Selezione della vista desiderata di confronto anagrafiche SIRA/CCIIAA oppure dei file log allineamento

Selezione della vista desiderata di confronto anagrafiche SIRA/CCIIAA oppure dei file log allineamento

 

Dopo aver selezionato la vista desiderata, premere il pulsante Vai; l'applicazione mostra la pagina contenente in forma tabellare i record corrispondenti alla vista prescelta.

 

Visualizzazione dei record della vista di confronto, come tabella paginata

Visualizzazione dei record della vista di confronto, come tabella paginata

 

Per ciascun record visualizzato è presente un pulsante Allinea per attivare l’allineamento di un record che l’utente riconosce come match; l'allineamento viene effettuato tramite una procedura PLSQL di allineamento, passando come parametri l'ID della caratterizzazione e l'ID del record in VIEW_CCIAA (presenti come link alle corrispondenti caratterizzazioni nella prima colonna). Viene quindi ricaricata la pagina corrente, in cui viene presentato il log dell’allineamento effettuato, leggendo dalle tabelle di log i record corrispondenti agli ID passati come parametri alla stored procedure di allineamento; infine, nella scheda di visualizzazione del log degli allineamenti effettuati è presente il link per tornare all'elenco di record nella tabella iniziale, che dovrà essere ricaricata, in modo da non mostrare più i record relativi alle caratterizzazioni che sono state allineate.

 

L'utente può anche, dall'entry point dell'applicativo, scegliere di accedere direttamente alla visualizzazione delle tabelle di log; in questo caso, l'utente ha la possibilità di

selezionare la tabella di log da visualizzare
visualizzare i record della tabella di log, in modo paginato ed ordinati per data e ora decrescenti (mostrando cioé prima i log più recenti)

 

logSL_bonifica_anag_regimp

 

Approfondimento sulle strutture dati

 

Alla base delle funzionalità fornite dall'interfaccia risiedono la struttura dati degli schema REGISTRO_IMPRESE e SIRA, e le query e le stored procedure definite su di essi.

Nello schema REGISTRO_IMPRESE c'è la vista RI, costruita a partire dalla vista CCIAA in cui vengono caricati i dati della Camera di Commercio tramite SQLLOADER; tutte le altre struttura dati di appoggio sono definite nello schema SIRA.

La tabella di collegamento con i dati CCIAA è la vista VIEW_CCIAA costruita su REGISTRO_IMPRESE.RI, con l'aggiunta di alcune decodifiche di campi.

In particolare, la tabella VIEW_SL_CCIAA_NONALLINEATE gestisce le anagrafiche delle sedi legali della C-BDA del SIRA (caratterizzazioni di sedi legali) non marcate come allineate alla CCIAA, mentre la tabella VIEW_SL_CCIAA_ANAG_DIVERSE gestisce le anagrafiche delle sedi legali della C-BDA del SIRA (caratterizzazioni di sedi legali), indipendentemente dallo stato di allineamento rispetto al flag precedente, tali per cui i dati anagrafici di base, ovvero ragione sociale ed indirizzo, risultino diversi

Entrambe le tabelle hanno analoga struttura:

dati anagrafici SL da CCOST_SEDI_LEGALI
dati anagrafici SL da VIEW_CCIAA
distanza Levenstein tra ragione sociale e ubicazione.

In entrambe le tabelle sono presenti i campi

ID_COST (identificatore caratterizzazione nel SIRA)
ID_CCIAA (identificatore record in VIEW_CCIAA)

 

Per quanto riguarda il log specifico delle modifiche dovute agli allineamenti, sono definite le tabelle:

ALLINEAMENTO_CCIAA_LOG
ALLINEAMENTO_CCIAA_LOG_SL (1:1 con ALLINEAMENTO_CCIAA_LOG)
ALLINEAMENTO_CCIAA_LOG_UL (1:1 con ALLINEAMENTO_CCIAA_LOG)

che contengono gli identificatori della sede legale o unità locale  nel SIRA (campo ID_COST) e nel registro imprese VIEW_CCIAA (ID_RI).

Queste tabelle contengono anche tutti i campi, sia dal lato SIRA che registro imprese, oggetto di allineamento per una SL o una UL; ALLINEAMENTO_CCIAA_LOG contiene i campi a comune, la dataora e l'utente preso da TMP_LOGGED_USER, mentre le altre contengono i campi specifici.

 

Registrazione nuove viste

 

L'utente può inserire nuove viste, utilizzabili direttamente dall'applicativo, creandole tramite un client SQL standard.

La tabella contenente le viste visualizzate nel menu selezione della applicazione front-end è viste_allineamento_cciaa; la struttura della tabella è la seguente:

 

campo

tipo

note

id

integer

primary key

view_name

varchar2(255)

(nome della vista)

view_label

varchar2(255)

(etichetta della vista nel menu scelta)

cost_nost

varchar2(255)

(natura e categoria OST)

log_table

varchar2(255)

(nome tabella log)

 

Un esempio del popolamento della tabella con le viste presenti di defualt è il seguente:

 

insert into viste_allineamento_cciaa (id, view_name, view_label, cost_nost, log_table) values (seq_log_modifiche.nextval, 'view_sl_cciaa_nonallineate', 'Vista_SL_CCIAA_Non_Allineate', '1-2', 'allineamento_cciaa_log_sl');

insert into viste_allineamento_cciaa (id, view_name, view_label, cost_nost, log_table) values (seq_log_modifiche.nextval, 'view_sl_cciaa_anag_diverse', 'Vista_SL_CCIAA_Anag_Diverse', '1-2', 'allineamento_cciaa_log_sl');

insert into viste_allineamento_cciaa (id, view_name, view_label, cost_nost, log_table) values (seq_log_modifiche.nextval, 'view_ul_cciaa_anag_diverse', 'Vista_UL_CCIAA_Anag_Diverse', '1-1', 'allineamento_cciaa_log_ul');

 

I campi di una vista registrabile devono essere i seguenti:

ID_OST
ID_COST
RAGIONE_SOCIALE_COST_SL
CF_PIVA_COST_SL
UBICAZIONE_COST
ID_CCIAA
RAGIONE_SOCIALE_CCIAA_SL
CF_PIVA_CCIAA_SL
UBICAZIONE_CCIAA
LEVENSTEIN_DISTANCE_RAGSOC
LEVENSTEIN_DISTANCE_UBIC

 

Per una vista relativa alle UL i campi devono essere i seguenti:

ID_OST
ID_COST
DENO_COST_UL
RAGIONE_SOCIALE_COST_SL
CF_PIVA_COST_SL
UBICAZIONE_COST
ID_CCIAA
DENO_CCIAA_UL
RAGIONE_SOCIALE_CCIAA_SL
CF_PIVA_CCIAA_SL
UBICAZIONE_CCIAA