COGY15 - Statistica per Tipologia Cliente¶
Sorgente: cbl/cogy15.cbl | Program-ID: COGY15 | Tipo: Programma interattivo (estrazione con griglia + export Excel)
Menu: Statistiche > Statistiche 2 > Statistica per tipologia cliente
Scopo¶
Estrae una statistica di vendita raggruppata per tipologia cliente, periodo e quindicina, con dettaglio per cliente, agente e zona. Lavora sull'archivio statistiche di vendita popolato da COGY12 (via COGS96 di selezione/elaborazione). Produce una griglia su file di transito cogtrans e supporta l'esportazione Excel.
File e tabelle¶
| File/Tabella | Tipo | Modalita' | Descrizione |
|---|---|---|---|
| COGTRANS | ISAM (temp.) | Output / I-O | File di transito per la griglia; chiave trs-chia1 (cliente + tipologia + agente + zona) |
| TRAN-COGS96 | ISAM (temp.) | I-O | File di transito popolato dall'utility statistica COGS96 |
| FILELOG | Binary seq. | Output | Log testuale dell'elaborazione (#$cogy15.txt) |
| COGTABEL | ISAM | Input | Codifica province/regioni (tipo 26) e stati (tipo 54) |
| FEURTAB | ISAM | Input | Tabella features/abilitazioni utente |
Copybook utilizzate¶
| Copybook | Descrizione |
|---|---|
cogy15.select, cogy15.fd, cogy15.wrk |
SELECT, FD, working storage (Screens) |
cogy15-01.scr, cogy15.tm, cogy15.prc, cogy15.decla |
Schermata, tab maschera, procedure I/O, declaratives |
tran-cogs96.fd, tran-cogs96.cpy, tran-cogs96.k01 |
FD/record/chiave file di transito statistiche |
cogtrans.k01 |
Chiave file di transito griglia |
k-u10.cpy |
Costanti utility valuta |
wstato.cpy, wgrave.cpy, wopenf.cpy, wnscr.cpy, wgrid.cpy |
Working storage standard + griglia |
cogazien.cpy |
Dati azienda |
utilgdad.cpy |
Supporto griglia (GRIDADMN) |
utils52.cpy |
Utility selezione data |
utilf10.cpy |
Utility COGF10 (selezione tipologia/categoria) |
utilu05.cpy |
Utility COGU05 (validazione agente/operatore) |
utilu10.cpy |
Utility COGU10 (divisa, conversione) |
utilcogs96.cpy |
Utility COGS96 (estrazione statistiche di vendita) |
wcont.cpy, wcont1.cpy |
Linkage standard |
stato, stato1, winmsg, grave, mmmask, opengen |
Infrastruttura standard |
Logica di elaborazione¶
Inizializzazione (apri): Apre filelog (nome #$cogy15.txt nella dir di lavoro). Abilita F3 conferma, F5 selezione multipla, F8 aiuto/calendario, Shift+F4 griglia, Shift+F5 esporta Excel. Compone il nome del file di transito cogtrans come <tmp-dir>/#$COGY15.<operatore>. Carica gli agenti dell'operatore corrente (carica-agenti).
Fase parametri (a4): Chiude e riapre cogtrans in output (se aperto da altro operatore segnala "Funzione gia' in uso"). Accept dei campi:
- tm-tipo — tipo elaborazione
- tm-tip-cod — codice tipologia cliente (F8 -> COGF10)
- tm-tutti-art / tm-includi-art / tm-escludi-art — filtro articolo
- tm-da-data + tm-da-quindicina, tm-a-data + tm-a-quindicina — periodo con quindicina
Elaborazione (a F3):
- Chiama COGS96 (util-cogs96) per costruire tran-cogs96 con le righe statistiche del periodo applicando i filtri.
- Legge tran-cogs96 e per ogni riga aggrega su cogtrans (chiave cliente+tipologia+agente+zona) sommando trs-qta e trs-imp. Conversione valuta tramite COGU10W (util-u10).
- Decodifica tipologia, cliente, agente, zona via COGTABEL (tipi 26 province/regioni, 54 stati) e tabelle anagrafiche.
Griglia (a-grid): Visualizza cogtrans paginato. Selezione multipla (F5) attivabile per operazioni cumulative. Export Excel via Shift+F5. Personalizzazione colonne (Shift+F4).
Chiamate a sottoprogrammi¶
| Programma | Utilizzo |
|---|---|
COGS96 |
Estrazione statistiche di vendita (popola tran-cogs96) |
COGU10W |
Conversione valuta / arrotondamento |
COGF10 |
Selezione tipologia cliente (F8 su tm-tip-cod) |
COGU05 |
Validazione agente/operatore |
GRIDADMN |
Gestione griglia, personalizzazione, export Excel |
COGS52/utils52 |
Selezione data (F8 calendario) |
Note implementative¶
- Autore: Claudio Chiossi.
k-max-ele-tab = 100: dimensione massimatm-tabcome buffer in memoria; la griglia vera e' sucogtranspaginato.- Il file
cogtranse' per-operatore (wo-opernel nome) per evitare conflitti. - Costanti rilevanti:
k-euta-tipo-prov-regio = 26,k-euta-tipo-stato = 54,k-euta-cod-prov-1-1 = "P",k-euta-cod-regio-1-1 = "R". - Il file di log
#$cogy15.txtviene aperto in output e serve per tracciare l'elaborazione (utile in caso di anomalie).