Vai al contenuto

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, rottura
  • b2-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

  1. a-5: codice stampa (con F8 -> GW05)
  2. a-15: flag appunti
  3. a-20: rottura pagina
  4. a-25: tipo selezione
  5. a-30..a-40: selezioni (loop su 4)
  6. a-50: ordinamento C/A/P
  7. a-53: provincia
  8. a-55: output S/T
  9. a-60..a-70: range clienti da/a (con lookup GW02)
  10. a-80..a-85: date appunti + flag precedente
  11. a-87-1..a-87-4: tipo stampa, agente, tipo preventivo, tipo visita (condizionali)
  12. a-90: richiesta stampante (COGS54)

Elaborazione (c-elabora)

Scansiona COGPOTCL, per ogni cliente potenziale:

  1. Verifica range codice cliente
  2. Per ogni selezione configurata, legge il valore da COGCLIPT e confronta con il valore atteso
  3. Se tipo selezione T: tutte devono essere soddisfatte; se U: almeno una
  4. Filtra per provincia se specificata
  5. Carica le informazioni del dettaglio riga da COGCLIPT
  6. Se appunti abilitati, cerca in COGDESPT nel periodo indicato
  7. Scrive il record nel file di transito COGTRANS

Stampa (d-stampa)

  1. Legge COGTRANS sulla chiave appropriata in base all'ordinamento
  2. Gestisce rottura di livello sull'informazione configurata
  3. Per ogni cliente: stampa le colonne del dettaglio riga
  4. Se appunti: stampa date e testi
  5. Se output TXT: scrive record delimitati da tabulazione
  6. Emette totali per le informazioni con flag totale

Note tecniche

  • Il file di transito COGTRANS viene creato in ext-tmp-dir con 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)