SWC030 - Scaricamento Tabelle CRM Dossier per SW-ING¶
Intestazione¶
| Campo | Valore |
|---|---|
| Programma | SWC030 |
| Titolo | Scaricamento Anagrafiche Dossier su SW-ING |
| Posizione menu | Statistiche > Estrazione dati vs B.I.Swing > Tabelle & Anagrafiche > Tabelle CRM dossier |
Scopo e logica generale¶
SWC030 esporta tabelle e anagrafiche del modulo CRM Dossier verso gli archivi BI utilizzati dal sistema di Business Intelligence SW-ING (8 tabelle BIC*).
Il programma funziona in due modalita':
- Interattiva: l'operatore avvia l'elaborazione dalla maschera; vengono visualizzati nome tabella in corso e contatori letti/scritti.
- Batch (chiamata da Aglancio): parametri Aglancio individuati tramite
C$NARG/C$PARAMSIZEsuutil-agprg; l'output e' rediretto al log di processo tramitegesdebug.
Prima dell'elaborazione il programma esegue cancella-bin-sub-tm-cfg-bin-tipo (TRUNCATE per Postgres, scan + DELETE per C-tree) su tutte le tabelle BI di destinazione, poi riesporta da zero.
Flusso principale¶
- Inizializzazione (
apri): controllo abilitazione, init programma, apertura file Eurocoge, lettura azienda, configurazione (x99-confi,x99-src-cfg,x99-src-cfg-agl), inizializzazione connessione BI (init-bin-sub-tm-cfg-bin-tipo). - Rilevamento modalita' Aglancio: se
agprg-id-processovalido, modalita' batch con id processo dal chiamante; altrimenti modalita' interattiva. - Maschera (solo interattivo): titolo "Scaricamento Anagrafiche Dossier su SW-ING", attesa F3.
- Elaborazione (
elabora): - Cancellazione tabelle BI esistenti.
fase1: tipi nominativo → BICTIPCL.fase2: tipologie dossier → BICDOSTP.fase3: codici operativi dossier → BICDOSCO.fase4: raggruppamenti statistici → BICDOSRS.fase5: mezzi provenienza → BICDOSMP.fase6: stati dossier (solo quelli senza tipologia) → BICSTATD.fase7: nominativi → BICANAGR.fase8: dossier completi → BICDOSSR.- Chiusura (
fine/z-chiudi): chiusura file e connessione BI, riapertura DB AreaGate per aggiornare stato processo ARPSTPRC (modalita' batch).
File e tabelle acceduti¶
| File logico | Record | Modalita' | Uso |
|---|---|---|---|
| BICTIPCL | bctc-rec | I-O | BI: tipi nominativo (output) |
| BICDOSTP | bcdt-rec | I-O | BI: tipologie dossier (output) |
| BICDOSCO | bcdco-rec | I-O | BI: codici operativi dossier (output) |
| BICDOSRS | bcdrs-rec | I-O | BI: raggruppamenti statistici dossier (output) |
| BICDOSMP | bcdmp-rec | I-O | BI: mezzi provenienza dossier (output) |
| BICSTATD | bcdds-rec | I-O | BI: stati dossier (output) |
| BICANAGR | bcan-rec | I-O | BI: anagrafica nominativi (output) |
| BICDOSSR | bcds-rec | I-O | BI: anagrafica dossier (output) |
| CRMTIPCL | tcl-rec | Input | Tipi nominativo CRM |
| CRMDOSTP | dtp-rec | Input | Tipologie dossier |
| CRMDOSCO | dco-rec | Input | Codici operativi dossier |
| CRMDOSRS | drs-rec | Input | Raggruppamenti statistici |
| CRMDOSMP | dmp-rec | Input | Mezzi provenienza |
| CRMDOSST | dds-rec | Input | Stati dossier |
| CRMANAGR | cra-rec | Input | Nominativi CRM |
| CRMDOSSR | dsa-rec | Input | Dossier (testata) |
| CRMDOSAN | dsn-rec | Input | Nominativi associati al dossier |
| CRMDOSAT | dsv-rec | Input | Attivita' associate al dossier |
| CRMATTIV | crt-rec | Input | Attivita' CRM (esecuzione, operatore) |
| CRMATTNT | cro-rec | Input | Note attivita' CRM |
| COGTABEL | euta-rec | Input | Tabelle sistema (tipo provincie per derivare regione) |
| ARPSTPRC | a-stpr-rec | I-O | Stato processi Aglancio (solo batch) |
Copybook inclusi¶
Screen Designer¶
| Copybook | Contenuto |
|---|---|
swc030-01.scr |
Maschera principale |
swc030.select |
SELECT dei file |
swc030.fd |
FD dei file |
swc030.wrk |
Working storage maschera |
swc030.decla |
Declaratives |
swc030.prc |
Procedure standard maschera |
Strutture dati¶
| Copybook | Contenuto |
|---|---|
cogfiles.cpy |
FD feurtab |
bictipcl.cpy / bicdostp.cpy / bicdosco.cpy / bicdosrs.cpy / bicdosmp.cpy / bicstatd.cpy / bicanagr.cpy / bicdossr.cpy |
Record tabelle BI |
arpstprc.cpy |
Record ARPSTPRC |
cogazien.cpy |
Dati azienda |
k-personal.cpy |
Costanti personalizzazione |
k-tipi-cogtabel.cpy |
Costanti tipi COGTABEL |
wgrave.cpy / wnscr.cpy / wopenf.cpy / wstato.cpy |
Working storage comuni |
sql-decla-ws.cpy |
Working storage connessione SQL/BI |
bictipcl-sql-ws.cpy / bicdostp-sql-ws.cpy / ... |
Interfaccia SQL tabelle BI |
arpstprc-sql-ws.cpy |
Interfaccia SQL ARPSTPRC |
Utility¶
| Copybook | Contenuto |
|---|---|
utilncnf.cpy |
Struttura parametri RNEWCONF |
utilgesdebug.cpy |
Gestione debug/log |
utilswgets.cpy |
Interfaccia SWGETS |
utilagprg.cpy |
Interfaccia Aglancio processo |
Programmi chiamati (CALL)¶
| Programma | Scopo |
|---|---|
| RNEWCONF | Lettura configurazione (2 chiamate: src-cfg, src-cfg-agl) |
| SWGETS | Recupero stringa di connessione SW-ING (modalita' batch) |
| C$NARG / C$PARAMSIZE | Verifica presenza parametro util-agprg |
Configurazione (RNEWCONF)¶
Chiamata x99-src-cfg (gruppo abilita):
| # | Gruppo | Chiave | Campo interno | Descrizione |
|---|---|---|---|---|
| 01 | abilita | bin-tipo | tm-cfg-bin-tipo |
Tipo connessione BI: "P" Postgres, "C" C-Tree, "D" DBmaker, "N" disabilitato |
| 02 | abilita | bin-db-path | tm-cfg-bin-path |
Percorso file C-Tree |
| 03-05 | abilita | bin-db-conn-string (1-3) | tm-cfg-bin-conn-string |
Stringhe di connessione Postgres |
| 06 | abilita | bin-db-log-level | tm-cfg-bin-log-level |
Log level connessione |
Chiamata x99-src-cfg-agl (modalita' Aglancio):
| # | Gruppo | Chiave | Campo interno | Descrizione |
|---|---|---|---|---|
| 01 | areaapp | cod-azienda | tm-cfg-cod-azienda |
Codice azienda AreaApp |
| 02 | areaapp | db-log-level | tm-cfg-bin-log-level-agl |
Log level connessione AreaGate |
| 03 | AREAAPP | AGLANCIO-ATTIVO | tm-cfg-aglancio-attivo |
"S" = nuova procedura Aglancio attiva |
La stringa di connessione AreaGate e' restituita da SWGETS.
Logica di business¶
Fase 6: stati dossier¶
La scan su CRMDOSST scarta i record con dds-tdo non vuoto: vengono esportati solo gli stati generici, non quelli specifici per tipologia (chiave secondaria k02).
Fase 7: anagrafica nominativi¶
Per ogni record CRMANAGR:
- Se cra-ana-tip = "C" (cliente), copia cra-ana-cod in bcan-cli.
- Se cra-ana-tip = "F" (fornitore), copia cra-ana-cod in bcan-for.
- Determina la regione (bcan-reg) cercando su COGTABEL tipo provincie (k-euta-tipo-provincie) con codice "P" + provincia.
Fase 8: anagrafica dossier¶
Per ogni dossier CRMDOSSR:
- Imposta bcds-data-ape da dsa-data-a, default dsa-di-data se zero.
- Se stato "C" (chiuso), usa dsa-data-c come data chiusura.
- Se stato "A" (aperto), chiama carica-attivita per cercare l'ultima attivita' (CRMDOSAT + CRMATTIV): valorizza data, operatore (w-att-ope) e note (w-att-note da CRMATTNT) della chiusura.
- Cerca il primo nominativo associato (CRMDOSAN posizione 1) tramite carica-nomi → bcds-nom-1.
Modalita' DBmaker (open-dbmaker)¶
Per ogni tabella imposta set environment con host "DCI" e nome esterno (es. td_dossier_tipcl), apre in OUTPUT, controlla stato via C$RERR, riapre in I-O. Path C-Tree analogo via set-filesystem-for-fname.
Note¶
- ID processo Aglancio: 50023.
- Le 8 tabelle BI sono cancellate tutte all'inizio dell'elaborazione e riscritte completamente: l'estrazione e' sempre full-refresh.