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-area → az-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¶
a000(paragrafo main): impostaprog-err/w-nome-hlpa'COGE58', esegue il controllo abilitazioni (ctr-abil) e copiaazien-areainaz-rec.- Se
az-personal = spaces: compone il messaggio "Funzione eseguibile solo se esiste una personalizzazione in Sistema->Configurazione->Azienda", lo mostra convbx-msge salta ast-90-ok(nessuna elaborazione). - Altrimenti compone
name-call='COGE58' + az-personal(viastring ... delimited by size) ed eseguecall name-call using stringhe. Inon overflow(nome non componibile / programma non presente) va ast-80-no. st-80-no: mostra il messaggio "Funzione eseguibile solo se esiste il programma relativo alla personalizzazione in Azienda." convbx-msg.st-90-ok:cancel name-callper liberare il programma chiamato.fine:perform z-99-exit-programeexit 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 dacogazien.cpy).wcont.cpy(stringhe),wcont1.cpy— linkage;stringhee' 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 toper il dispatch (schema tipico dei vecchi lanciatori). Nessuna configurazione RNEWCONF letta direttamente.
Documentazione tecnica -- creata 2026-08-07