COGE4A -- Elenco Clienti Morosi¶
Sorgente: cbl/coge4a.cbl | Program-ID: COGE4A | Tipo: Consultazione interattiva con griglia
Menu: Contabilita' > Clienti a Part.Aperte > Elenco clienti morosi
Scopo¶
Programma interattivo per la consultazione dei clienti morosi. Scansiona l'anagrafica generale (COGGEANA) filtrando i clienti con ana-extra-fido = 1 (flag blocco fido/morosita'), li carica in un file transito COGTRANS ordinato e li presenta in una griglia paginata. Supporta ordinamento per codice o nome, e permette di aprire l'estratto conto (COGE43) o la consultazione lavori (WINZ06) per il cliente selezionato.
Struttura della maschera¶
Nessun campo di input: la maschera presenta direttamente una griglia con i risultati.
Griglia¶
| Colonna | Variabile | Descrizione |
|---|---|---|
| Codice | grd-ana-cod |
Codice anagrafico cliente |
| Nome | grd-ana-nome |
Ragione sociale |
Logica di elaborazione¶
Flusso principale¶
apri: inizializzazione (z-99-init-program), controllo abilitazione, lettura azienda, apertura file, configurazione tasti funzione (F7 estratto conto, F6 lavori, SF4 personalizzazione griglia, SF5 export Excel), configurazione pulsanti custom (bitmap "consorzi" per F7, "labodonto2" per F6), display maschera, preparazione grigliaa4: reinizializzazione, svuotamento grigliaa-ricarica-grid: creazione/apertura file transito COGTRANS, caricamento dati tramitecarica-filea-grid-ini: caricamento griglia paginata (carica-tab), sen-m = 0mostra messaggio "Nessun record estratto!"a-grid: accept griglia con gestione eventi (invio, doppio click, tasti funzione, paginazione, menu contestuale)
Caricamento dati (carica-file -> tratta-chia1)¶
- Inizializza
ana-rec, posiziona su tipo"C"(clienti),st-coggeana-notmin - Loop
elabora-coggeana->tratta-coggeana: - Per ogni record con
ana-extra-fido = 1, scrive un record COGTRANS contrs-ana-tipo,trs-ana-cod,trs-ana-nome - L'ordinamento e' gestito nella
scrivi-cogtrans: w-ordinamento = 0: ordine di inserimento (nessun riordinamento)w-ordinamento = 1:filler-x = trs-chia1(ordine per codice)w-ordinamento = 2:filler-x = trs-ana-nome(ordine per nome)
Gestione tasti funzione¶
- F7: chiama
COGE43concoge43-tipo = "C",coge43-cod = tmr-ana-cod(i),coge43-prov = "S",coge43-tipo-divisa = "C",coge43-ordine = "D" - F6: chiama
WINZ06conwz06-tip-vis = "S",wz06-cli = tmr-ana-cod(i)(solo seaz-ges-lo = "S") - SF4: chiama
GRIDADMNper personalizzazione colonne - SF5: export Excel tramite
z-esporta-paged-grid - Menu contestuale (flag 151): ordinamento per colonna (codice o nome), ricarica la griglia
File utilizzati¶
| File | Accesso | Scopo |
|---|---|---|
| COGGEANA | Input | Anagrafica generale -- lettura sequenziale clienti |
| COGTRANS | I-O | File transito temporaneo per dati griglia (in ext-tmp-dir, nome #$trscoge4a.{caller}{operatore}) |
Struttura COGTRANS¶
trs-chia1:
trs-ana-tipo pic x(01) Tipo (C = cliente)
trs-ana-cod pic 9(05) Codice anagrafica
trs-chia2:
filler-x pic x(50) Campo di ordinamento
filler-y pic x(06) Riferimento chiave primaria
trs-dati:
trs-ana-nome pic x(40) Ragione sociale
Programmi chiamati¶
| Programma | Scopo |
|---|---|
| COGE43 | Estratto conto cliente (F7) |
| WINZ06 | Elenco lavori aperti per il cliente (F6, solo se az-ges-lo = "S") |
| GRIDADMN | Gestione griglia (prepara, svuota, add-record, personalizzazione SF4) |
Copybook principali¶
coge4a.wrk, coge4a.select, coge4a.fd, coge4a.decla, coge4a.prc, coge4a-01.scr, cogfiles.cpy, cogazien.cpy, wgrid.cpy, utilgdad.cpy, utilcoge43.cpy, utilwz06.cpy, utils52.cpy, utils65.cpy, utilu10.cpy, cogtrans.k01, cogtrans.k02, utilpggr.cpy, fscrol2.cpy
Note¶
- Il file COGTRANS e' temporaneo per operatore, creato in
ext-tmp-dir. Se richiamato da un caller esterno (w-dc-caller), il nome include anche il caller. - La griglia supporta massimo
k-max-ele-tab = 100elementi per pagina con spaginamento tramite Page Up/Page Down. - Il criterio di filtro per la morosita' e'
ana-extra-fido = 1nel record dell'anagrafica generale. - La visibilita' del pulsante F6 (lavori) dipende dalla configurazione aziendale
az-ges-lo = "S"(gestione laboratorio odontotecnico).