COGE0B - Migrazione anagrafiche clienti/fornitori su documenti¶
Intestazione¶
| Campo | Valore |
|---|---|
| Programma | COGE0B |
| Sorgente | cbl/coge0b.cbl (1.210 righe) |
| Titolo | Migrazione anagrafiche clienti/fornitori su documenti |
| Tipo | Interattivo (GUI, screen coge0b-01.scr) |
| Modulo | Sistema |
| Posizione menu | Sistema > Utility > Varie > Migrazione anagrafiche su documenti |
Scopo¶
Sposta i riferimenti di un'anagrafica cliente/fornitore di origine verso un'anagrafica di destinazione sui documenti che la citano, senza modificare i movimenti contabili/di magazzino gia' esistenti. Nasce per accorpare/consolidare due codici anagrafici che rappresentano lo stesso soggetto.
L'operazione ha due componenti:
- Spostamento (riscrittura in-place) dei documenti CRM e delle chiamate di assistenza dal codice origine al codice destinazione;
- Copia (opzionale) di contatti e destinazioni dall'origine alla destinazione.
Perche' lo spostamento sia consentito, l'anagrafica di origine non deve avere documenti di magazzino, fatture, documenti IVA o documenti contabili: in presenza di questi la migrazione viene bloccata in fase di validazione.
L'utente imposta:
- Tipo anagrafico (
tm-tip-ana:C=cliente /F=fornitore); - Codice origine (
tm-cod-da) e codice destinazione (tm-cod-a), con aiutoCOGS65W; - Copia contatti/destinazioni? (
tm-copia-c-dst,S/N).
Un'area log a video (tm-log-ela) riepiloga quanti record sono stati spostati/copiati per ciascuna categoria.
Tabelle e file usati¶
| File | Ruolo | Chiavi/campi rilevanti |
|---|---|---|
coggeana |
Validazione anagrafiche origine/destinazione | ana-tipo, ana-cod, ana-nome, ana-rifmas, ana-rifcon |
crmanagr |
Nominativo CRM collegato all'anagrafica | chiave 3 (cra-ana-tip, cra-ana-cod); cra-cod |
asnchtes |
Testate chiamate di assistenza (solo clienti) | chiave 3 (acht-cli-ass-tip/cod), chiave 4 (acht-cli-fat-tip/cod); acht-id |
asnintes / asninte2 |
Righe/dettaglio interventi delle chiamate | chiave 2 (acit-id-chiamata); acit-id |
crmattan |
Attivita' CRM del nominativo | chiave 2 (crn-ana, crn-data-ese) |
crmdosan |
Dossier CRM del nominativo | chiave 2 (dsn-nom) |
cogdesti / bogdesti |
Destinazioni diverse (origine / destinazione copia) | dst-ana-tip, dst-ana-cod, dst-id-tip, dst-id-idx |
cogdest2 / bogdest2 |
Estensione destinazioni | dst2-chia1 |
cogrifer / bogrifer |
Contatti/riferimenti anagrafica | chiave 2 (rif-ana-tip, rif-ana-cod); rif-cod, brif-cod |
cogrife2 / bogrife2 |
Estensione contatti | rif2-chia1 |
cogtesbo |
Controllo documenti di magazzino origine | chiave 4 (tes-tipocf, tes-nonno) |
cogfattu |
Controllo fatture origine | chiave 2 (fat-tip-ana, fat-cli) |
cogariva |
Controllo documenti IVA origine | chiave 2 (iva-cfo, iva-tipoana, iva-codana) |
cogpnonc |
Controllo documenti contabili origine | chiave 2 (pno-mastro, pno-conto, pno-sconto) |
Le tabelle bog*/b* sono gli alias della stessa tabella usati per scrivere sul codice di destinazione mentre si legge dall'origine.
Logica di elaborazione¶
Validazione dell'origine (controlli-ana-origine)¶
Eseguita in x-controlla-tm-cod-da. Se l'anagrafica di origine e' collegata a documenti di magazzino (cogtesbo), fatture (cogfattu), documenti IVA (cogariva) o documenti contabili (cogpnonc), imposta un messaggio d'errore e blocca la migrazione. La destinazione viene validata in x-controlla-tm-cod-a; se l'origine ha un nominativo CRM ma la destinazione no, avvisa l'operatore.
Esecuzione migrazione (esecuzione-migrazione, dopo conferma F3)¶
- Chiamate di assistenza (solo
tm-tip-ana = "C"): asnchtesper cliente assistito (chiave 3) e per cliente di fatturazione (chiave 4): per ogni testata sposta il codice (rwr-asnchtes) e aggiorna le righe intervento (aggiorna-chiamata->asnintes/asninte2).- Attivita' CRM (
crmattan, chiave 2): cancella dal nominativo origine, decrementa il contatore (CRMS07op.DECR-ATT), riscrive sul nominativo destinazione e incrementa (CRMS07op.INCR-ATT). Richiede che entrambe le anagrafiche abbiano un codice CRM (tm-cra-cod-da/tm-cra-cod-a). - Dossier CRM (
crmdosan, chiave 2): cancella dall'origine e riscrive sulla destinazione. - Copia contatti/destinazioni (se
tm-copia-c-dst = "S"): - Destinazioni (
cogdesti->bogdesti/bogdest2): calcola il nuovo progressivodst-id-idxsul codice destinazione e scrive; in caso di chiave gia' esistente incrementa e ritenta (wr-bogdesti-loop). - Contatti (
cogrifer->bogrifer/bogrife2): calcola un nuovo codice contatto libero (cerca-libero, scandendo dal fondo conrdprv-bogrifer) e scrive. - Per ogni categoria aggiorna il log a video (
tm-log-ela) con il conteggio dei record trattati.
Chiamate / COPY rilevanti¶
| Programma | Scopo |
|---|---|
COGS65W |
Aiuto/selezione anagrafica (F8) |
CRMS07 |
Incremento/decremento contatore attivita' CRM sul nominativo |
COPY notevoli: utils65.cpy, utilcrms07.cpy, e le chiavi secondarie caricate a fine procedure division: cogtesbo.k03, cogfattu.k02, cogariva.k02, cogpnonc.k02, cogrifer.k02, asnchtes.k03/k04, asnintes.k02, crmanagr.k03, crmdosan.k02, crmattan.k02.
Note¶
- Le chiamate di assistenza sono trattate solo per il tipo cliente (
C); per i fornitori la sezione viene saltata. - Attivita' e dossier CRM vengono spostati (delete + write) e presuppongono che origine e destinazione siano entrambe collegate a un nominativo CRM (
crmanagr), altrimenti la sezione CRM viene saltata. - Contatti e destinazioni vengono copiati (non spostati), con generazione di nuovi progressivi/codici sul codice destinazione per evitare collisioni di chiave.
- La sicurezza dell'operazione poggia interamente sui controlli di
controlli-ana-origine: se l'origine ha movimenti/documenti fiscalmente rilevanti, la migrazione non parte.
Documentazione tecnica -- creata 2026-08-07