Vai al contenuto

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 massima tm-tab come buffer in memoria; la griglia vera e' su cogtrans paginato.
  • Il file cogtrans e' per-operatore (wo-oper nel 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.txt viene aperto in output e serve per tracciare l'elaborazione (utile in caso di anomalie).