COGG09 - Esecuzione Stampe Sintetiche/Commerciali (Clienti Potenziali)¶
Panoramica¶
Programma di esecuzione delle stampe per clienti potenziali, basate sui modelli definiti in COGG08. Carica la definizione dalla tabella 33, seleziona i clienti in base ai criteri configurati, li ordina e produce la stampa o il file TXT con delimitatori. Supporta filtri per agente, preventivi e visite.
Tipo: Report interattivo con selezione parametri, file di transito ordinato e stampa.
Posizioni nel menu¶
| Menu | Percorso |
|---|---|
| Contabilita' | Clienti Potenziali > Stampe > Esecuzione Stampe |
Struttura del programma¶
File e tabelle utilizzati¶
| File/Tabella | Tipo | Descrizione |
|---|---|---|
| FEURTAB (cogfiles) | Input | Tabella parametri generali |
| COGTABEL | Input | Tabella generica: tipo 33 per definizioni stampe |
| COGGEANA | Input | Anagrafica generale (lookup clienti) |
| COGPOTCL | Input | Clienti potenziali |
| COGDESPT | Input | Descrizioni/appunti clienti potenziali |
| COGINFPT | Input | Anagrafica informazioni clienti potenziali |
| COGCLIPT | Input | Informazioni compilate per ogni cliente potenziale |
| COGTRANS | Transito | File indicizzato temporaneo per ordinamento e dati |
| FLSTA | Output | File di stampa |
Record di transito (COGTRANS)¶
File indicizzato con 5 chiavi:
| Chiave | Composizione | Uso |
|---|---|---|
| trs-chia1 | codice cliente (6) | Accesso per codice |
| trs-chia2 | descrizione (40) + codice (6) | Ordine alfabetico |
| trs-chia3 | informazione (40) + chia1 | Ordine per informazione + codice |
| trs-chia4 | informazione (40) + chia2 | Ordine per informazione + alfabetico |
| trs-chia5 | informazione (40) + provincia (2) + chia1 | Ordine per informazione + provincia + codice |
Ogni record contiene anche un array di date (trs-ele, fino a 5000 occorrenze) per gestire i dati temporali.
Copybook principali¶
| Copybook | Descrizione |
|---|---|
| cogtabel.cpy | Record tabella generica |
| cogdefst.cpy | Record definizione stampa (tipo 33) |
| coggeana.cpy | Record anagrafica generale |
| cogpotcl.cpy | Record clienti potenziali |
| cogdespt.cpy | Record descrizioni/appunti |
| coginfpt.cpy | Record informazioni |
| cogclipt.cpy | Record informazioni compilate per cliente |
| cogazien.cpy | Dati azienda corrente |
| utils21.cpy | Utility COGS21 (selezione opzione) |
| utils52.cpy | Utility COGS52 (gestione date) |
| utils54.cpy | Utility COGS54 (gestione stampante) |
| utils60.cpy | Utility COGS60 (selezione da lista con descrizione) |
| utilg04.cpy | Utility COGG04 (gestione campo informazione) |
| utile35.cpy | Utility COGE35 (consulta agenti) |
| utilgw02.cpy | Utility GW02 (lookup anagrafica per nome) |
| utilgw04.cpy | Utility GW04 (lookup informazione) |
| utilgw05.cpy | Utility GW05 (lookup codice stampa) |
Chiamate a sottoprogrammi (CALL)¶
| Programma | Scopo |
|---|---|
| COGS21 | Selezione da lista opzioni |
| COGS52 | Gestione campo data |
| COGS54 | Gestione stampante |
| COGS60 | Selezione da lista con descrizione (tipo stampa, tipo preventivo, tipo visita) |
| COGG04 | Gestione campo informazione |
| COGE35 | Consulta agenti (F8 su campo agente) |
| GW02 | Lookup anagrafica per nome |
| GW04 | Lookup informazione |
| GW05 | Lookup codice stampa |
Logica di elaborazione¶
Maschera (mm-1)¶
Maschera DOS-style da 20 righe x 80 colonne. Parametri in tab-maschera:
| Campo | Tipo | Descrizione |
|---|---|---|
| tm_new | x(01) | Flag gestione nuovi campi (agente/preventivo/visita) |
| tm_age | 9(05) | Codice agente |
| tm-tipo-sta | x(01) | Tipo stampa: T=tutti, P=per agente (prev.), V=per agente (visite), E=entrambi |
| tm-tipo-pre | x(01) | Tipo preventivo: T=tutti, A=aperti, S=chiusi SI, N=chiusi NO |
| tm-tipo-vis | x(01) | Tipo visita: T=tutti, A=aperti, S=chiusi SI, N=chiusi NO |
| tm-tip-ana | x(01) | Tipo anagrafica (default 'C' = cliente) |
| tm-cod | 9(04) | Codice stampa |
| tm-ord | x(01) | Ordinamento: C=codice, A=alfabetico, P=provincia |
| tm-prov | x(02) | Filtro provincia |
| tm-out | x(01) | Output: S=stampa, T=file TXT |
| tm-cli-da/a | 9(06) | Range clienti da/a |
| tm-da-data/a-data | 9(08) | Periodo appunti da/a |
| tm-app-pre | x(01) | Flag cerca appunto precedente |
Caricamento definizione (b-visua)¶
Legge dalla tabella 33 di COGTABEL i record con prefisso del codice stampa:
b1-load: record tipo 1 -> titolo, tipo riga, flag appunti, tipo selezione, rotturab2-load: record tipo 2 -> selezioni (informazione + valore)b3-load: record tipo 3 -> dettaglio riga (tipo, informazione, titolo, posizioni)
Poi scansiona COGINFPT per individuare informazioni con flag totale attivo ma non incluse nel dettaglio stampa, memorizzandole in tab-inf-totali (max 10).
Flusso di input¶
- a-5: codice stampa (con F8 -> GW05)
- a-15: flag appunti
- a-20: rottura pagina
- a-25: tipo selezione
- a-30..a-40: selezioni (loop su 4)
- a-50: ordinamento C/A/P
- a-53: provincia
- a-55: output S/T
- a-60..a-70: range clienti da/a (con lookup GW02)
- a-80..a-85: date appunti + flag precedente
- a-87-1..a-87-4: tipo stampa, agente, tipo preventivo, tipo visita (condizionali)
- a-90: richiesta stampante (COGS54)
Elaborazione (c-elabora)¶
Scansiona COGPOTCL, per ogni cliente potenziale:
- Verifica range codice cliente
- Per ogni selezione configurata, legge il valore da COGCLIPT e confronta con il valore atteso
- Se tipo selezione T: tutte devono essere soddisfatte; se U: almeno una
- Filtra per provincia se specificata
- Carica le informazioni del dettaglio riga da COGCLIPT
- Se appunti abilitati, cerca in COGDESPT nel periodo indicato
- Scrive il record nel file di transito COGTRANS
Stampa (d-stampa)¶
- Legge COGTRANS sulla chiave appropriata in base all'ordinamento
- Gestisce rottura di livello sull'informazione configurata
- Per ogni cliente: stampa le colonne del dettaglio riga
- Se appunti: stampa date e testi
- Se output TXT: scrive record delimitati da tabulazione
- Emette totali per le informazioni con flag totale
Note tecniche¶
- Il file di transito COGTRANS viene creato in
ext-tmp-dircon nome#$COGG09.{operatore} - Dimensione massima array date per record: 5000 (td-size)
- 6 file aperti: COGTABEL (001), COGGEANA (003), COGPOTCL (114), COGDESPT (115), COGINFPT (116), COGCLIPT (117)
- Programma precedente alla migrazione Windows (maschera DOS con DISPLAY/ACCEPT diretto)
- Relazione stretta con COGG08 (definizione) e COGG04 (gestione campo informazione)