Vai al contenuto

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:

  1. Spostamento (riscrittura in-place) dei documenti CRM e delle chiamate di assistenza dal codice origine al codice destinazione;
  2. 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 aiuto COGS65W;
  • 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)

  1. Chiamate di assistenza (solo tm-tip-ana = "C"):
  2. asnchtes per 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).
  3. Attivita' CRM (crmattan, chiave 2): cancella dal nominativo origine, decrementa il contatore (CRMS07 op. DECR-ATT), riscrive sul nominativo destinazione e incrementa (CRMS07 op. INCR-ATT). Richiede che entrambe le anagrafiche abbiano un codice CRM (tm-cra-cod-da/tm-cra-cod-a).
  4. Dossier CRM (crmdosan, chiave 2): cancella dall'origine e riscrive sulla destinazione.
  5. Copia contatti/destinazioni (se tm-copia-c-dst = "S"):
  6. Destinazioni (cogdesti -> bogdesti/bogdest2): calcola il nuovo progressivo dst-id-idx sul codice destinazione e scrive; in caso di chiave gia' esistente incrementa e ritenta (wr-bogdesti-loop).
  7. Contatti (cogrifer -> bogrifer/bogrife2): calcola un nuovo codice contatto libero (cerca-libero, scandendo dal fondo con rdprv-bogrifer) e scrive.
  8. 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