Vai al contenuto

COGE58 - Importazione anagrafica clienti (lanciatore personalizzato)

Intestazione

Campo Valore
Programma COGE58
Sorgente cbl/coge58.cbl
Tipo Interattivo (lanciatore/wrapper)
Modulo Sistema
Posizione menu Sistema > Utility > Importazioni > Anagrafica Clienti

Scopo

COGE58 e' un programma di lancio (dispatcher): non contiene la logica di importazione dell'anagrafica clienti, ma si limita a individuare ed eseguire il programma applicativo personalizzato dell'azienda corrente. L'intestazione del sorgente lo dichiara esplicitamente: "Utility per importare anagrafica clienti - Programma di lancio dei programmi personalizzati".

La scelta del programma da eseguire avviene tramite il campo az-personal dell'area azienda: la funzione e' eseguibile solo se per l'azienda esiste una personalizzazione (configurata in Sistema > Configurazione > Azienda) e se esiste il programma corrispondente. Non esiste un fallback standard: senza personalizzazione la funzione non fa nulla e mostra un messaggio.

Questo lo differenzia da altri wrapper import/export (es. COGD05, COGD09) che invece prevedono un modulo standard di ripiego (COGD05NO, COGD09NO).


Tabelle / file coinvolti

Nessun file dati aperto direttamente. Il programma opera unicamente sull'area azienda in memoria:

Elemento Copybook Campo chiave Uso
Area azienda cogazien.cpy (azien-areaaz-rec) az-personal Suffisso di personalizzazione che compone il nome del programma da lanciare

L'apertura e l'elaborazione dei file dell'anagrafica avvengono interamente nel programma delegato (COGE58<az-personal>).


Logica di elaborazione

  1. a000 (paragrafo main): imposta prog-err/w-nome-hlp a 'COGE58', esegue il controllo abilitazioni (ctr-abil) e copia azien-area in az-rec.
  2. Se az-personal = spaces: compone il messaggio "Funzione eseguibile solo se esiste una personalizzazione in Sistema->Configurazione->Azienda", lo mostra con vbx-msg e salta a st-90-ok (nessuna elaborazione).
  3. Altrimenti compone name-call = 'COGE58' + az-personal (via string ... delimited by size) ed esegue call name-call using stringhe. In on overflow (nome non componibile / programma non presente) va a st-80-no.
  4. st-80-no: mostra il messaggio "Funzione eseguibile solo se esiste il programma relativo alla personalizzazione in Azienda." con vbx-msg.
  5. st-90-ok: cancel name-call per liberare il programma chiamato.
  6. fine: perform z-99-exit-program e exit program.

L'area comune stringhe (linkage, da wcont.cpy) viene passata invariata al programma delegato.


Chiamate / COPY rilevanti

Elemento Tipo Scopo
COGE58<az-personal> CALL dinamica Variante personalizzata dell'importazione anagrafica clienti per la singola azienda/installazione
ctr-abil PERFORM Controllo abilitazioni utente sulla funzione
vbx-msg PERFORM Emissione box di messaggio (da winmsg.cpy)
z-99-exit-program PERFORM Chiusura standard programma

Copybook principali:

  • wstato.cpy, wgrave.cpy, wopenf.cpy, wnscr.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.
  • stato.cpy, winmsg.cpy, grave.cpy, util1.cpy — routine di fine procedure (stato file, messaggistica, errori gravi, utility).

Note

  • Programma wrapper/lanciatore multi-tenant: la logica di import vera e propria e' nel programma delegato COGE58<az-personal>. Vedi il pattern descritto nel flusso Sistema - Import/Export (sezione "Pattern multi-tenant").
  • A differenza di COGD05/COGD09, non ha un modulo standard di fallback: senza personalizzazione la funzione e' inibita.
  • Usa go to per il dispatch (schema tipico dei vecchi lanciatori). Nessuna configurazione RNEWCONF letta direttamente.

Documentazione tecnica -- creata 2026-08-07