Vai al contenuto

COGD05 - Esportazione anagrafica clienti/fornitori

Intestazione

Campo Valore
Programma COGD05
Titolo Esportazione anagrafica clienti/fornitori
Modulo Sistema
Posizione menu Sistema > Utility > Esportazioni > Anagrafica cli/for

Scopo e logica generale

COGD05 e' un programma di lancio (dispatcher): non contiene la logica di estrazione dell'anagrafica clienti/fornitori, ma si limita a scegliere ed eseguire il programma applicativo corretto in base alla personalizzazione dell'azienda corrente.

L'intestazione del sorgente lo dichiara esplicitamente: "Estrazione anagrafica clienti - Programma di lancio dei programmi personalizzati".

La scelta avviene leggendo il campo az-personal dell'area azienda (az-rec, popolata da azien-area):

  • Ambiente personalizzato (az-personal diverso da spazi): compone il nome COGD05 + az-personal + .cob e prova a eseguirlo (call name-call ... using stringhe). In on overflow (nome non componibile) ricade sullo standard.
  • Ambiente standard (az-personal = spaces) o personalizzazione non eseguibile: esegue COGD05NO.COB.

Se anche lo standard va in overflow (programma non trovato/non eseguibile), recupera lo stato di errore con C$CALLERR e mostra un box di messaggio all'utente.

Il programma effettivo (COGD05NO o la variante personalizzata) e' quello che produce materialmente il file di esportazione dell'anagrafica; COGD05 gli passa l'area comune stringhe.


Flusso principale

  1. a000 (main): copia azien-area in az-rec.
  2. Se az-personal = spaces salta a st-80-standard.
  3. Altrimenti compone name-call = 'COGD05' + az-personal + '.cob' e lo esegue con call ... using stringhe; su overflow va a st-80-standard, altrimenti a st-90-ok.
  4. st-80-standard: imposta name-call = 'COGD05NO.COB' e lo esegue; su overflow recupera lo stato tramite C$CALLERR (w-ce-status, w-ce-descr), compone il messaggio (wb-1/wb-2/wb-3) e chiama box-msg.
  5. st-90-ok: cancel name-call per liberare il programma chiamato.
  6. fine: exit program.

File e tabelle acceduti

Nessun file dati aperto direttamente. Il programma opera solo sull'area azienda in memoria (azien-area / az-rec, da cogazien.cpy). L'apertura ed elaborazione dei file avviene nel programma delegato (COGD05NO o personalizzato).


Copybook principali

  • wstato.cpy, wgrave.cpy, wopenf.cpy, wscree.cpy, cogazien.cpy - working-storage standard (l'area azienda arriva da cogazien.cpy).
  • wcont.cpy (stringhe), wcont1.cpy - linkage; stringhe e' l'area comune passata a valle.
  • msend.cpy, grave.cpy - routine finali (messaggistica/box e gestione errori gravi).

Programmi chiamati (CALL)

Programma Scopo
COGD05<personal>.cob Variante personalizzata dell'esportazione anagrafica (se az-personal valorizzato)
COGD05NO.COB Esportazione anagrafica clienti/fornitori standard (fallback)
C$CALLERR Routine di sistema AcuCOBOL: recupera stato e descrizione dell'ultimo errore di CALL

Note

  • Programma wrapper/lanciatore: la logica di esportazione vera e propria e' nel programma delegato (standard COGD05NO o variante COGD05<personal>).
  • Il meccanismo az-personal e' lo standard Eurocoge per instradare verso programmi personalizzati per singola azienda/installazione (pattern multi-tenant descritto nel flusso Sistema - Import/Export).
  • Usa go to per il dispatch (schema tipico dei vecchi lanciatori); non e' un programma GUI.
  • Nessuna configurazione RNEWCONF letta direttamente.

Documentazione tecnica -- creata 2026-08-06