Vai al contenuto

COGG11 - Definizione Stampe Clienti Potenziali

Panoramica

Programma interattivo per la definizione dei modelli di stampa schede clienti potenziali. Le definizioni vengono salvate nella tabella generica COGTABEL con tipo 34. Supporta configurazione di titolo, criteri di selezione clienti (fino a 4) e selezione delle informazioni da includere nel dettaglio.

Tipo: Manutenzione tabella interattiva (maschera DOS-style DISPLAY/ACCEPT).

Posizioni nel menu

Menu Percorso
Contabilita' Clienti Potenziali > Stampe > Stampe Analitiche > Definizione
Contabilita' Clienti Potenziali > Stampe > Stampe Commerciali > Definizione

Struttura del programma

File e tabelle utilizzati

File/Tabella Modalita' Descrizione
FEURTAB (cogfiles) Input Tabella parametri generali e file aziendali
COGTABEL I-O Tabella generica: tipo 34 per definizioni stampe schede
COGINFPT Input Anagrafica informazioni clienti potenziali

Struttura record COGTABEL (tipo 34)

La chiave e' composta da: tipo (34) + codice stampa (4) + tipo record (1) + progressivo (4).

wec-tip Descrizione
1 Testata: titolo (euta-ds1-tit), salto righe (euta-ds1-jmp), tipo selezione (euta-ds1-tip-sel)
2 Selezione: codice informazione (euta-ds2-inf-sel) + valore filtro (euta-ds2-inf-val); il progressivo (wec-pro) indica la posizione 1-4
3 Dettaglio: informazione selezionata; il progressivo (wec-pro) e' il codice dell'informazione (ti-cod)

Copybook principali

Copybook Descrizione
cogtabel.cpy Record tabella generica
cogdefst.cpy Overlay su cogtabel: struttura campi definizione stampa (euta-ds1-, euta-ds2-)
cogfiles.cpy Record FEURTAB
coginfpt.cpy Record informazioni clienti potenziali (ipt-num, ipt-des, ipt-tip, ipt-lun, ipt-lun-dec, ipt-tab)
cogazien.cpy Dati azienda corrente
utils21.cpy Utility COGS21 (selezione opzione da stringa)
utilg04.cpy Utility COGG04 (gestione e display campo informazione)
utilgw04.cpy Utility GW04 (lookup informazione)
utilgw05.cpy Utility GW05 (lookup codice stampa)
wstato.cpy / wgrave.cpy / wopenf.cpy / wnscr.cpy Working storage standard
mmmask.cpy Init/exit programma standalone (z-99-init-program / z-99-exit-program)
WCONT.CPY / WCONT1.CPY Linkage section (interfaccia chiamante)

Chiamate a sottoprogrammi (CALL)

Programma Scopo
COGS21 Selezione opzione da lista (tipo selezione T/U)
COGG04 Display e accettazione campo informazione tipizzato
GW04 Lookup informazione (F8 sui campi selezione)
GW05 Lookup codice stampa (F8 sul codice scheda)

Logica di elaborazione

Strutture dati principali

tab-maschera: dati del modello corrente in memoria.

Campo Descrizione
tm-cod Codice stampa (4 cifre)
tm-tit Titolo stampa (40 car.)
tm-jmp Salto righe tra clienti
tm-tip-sel Tipo selezione: T (AND) o U (OR)
tm-sel (1..4) Criteri di selezione: codice informazione + valore + tipo/lunghezza/tabella

tab-info: array fino a 200 elementi caricato da COGINFPT all'avvio. Per ogni elemento: codice, descrizione, tipo, lunghezza, lunghezza decimali, tabella, flag di selezione (ti-sel: S/N).

name-files: mappa dei nomi file aziendali (numero file 001 per COGCLIPT, 116 per COGINFPT).

Flusso principale

  1. Avvio (apri): apertura file, lettura dati azienda, caricamento maschera mm-1 (25 righe x 80 col.), chiamata a1-load-info.
  2. a1-load-info: scansione sequenziale COGINFPT per caricare tab-info (max 200 informazioni).
  3. a4: loop principale; inizializza tab-maschera e azzera ti-sel per tutti gli elementi.
  4. a-5: accept codice stampa. F8 -> GW05. Se trovato in COGTABEL, chiama b-visua per caricare la definizione esistente.
  5. a-7: accept titolo stampa (obbligatorio non blank).
  6. a-10: accept salto righe (obbligatorio > 0).
  7. a-15: selezione tipo T/U tramite COGS21.
  8. a-30..a-40: loop su 4 selezioni. Per ciascuna: accept codice informazione (F8 -> GW04), lettura COGINFPT, poi accept valore tramite COGG04 in modalita' 'A' (accettazione).
  9. a-90: richiesta conferma (F3). Poi chiama c-acc-inf.
  10. c-acc-inf: visualizzazione interattiva di tab-info con cursore. Invio alterna ti-sel S/N. F3 chiama d-aggiorna.
  11. d-aggiorna: chiama d1-cancella (elimina tutti i record tipo 34/tm-cod da COGTABEL), poi riscrive record tipo 1 (testata), record tipo 2 per ogni selezione non nulla (d2-wr-sel x4), record tipo 3 per ogni informazione con ti-sel='S' (d3-wr-det x n-i).

Caricamento definizione esistente (b-visua)

Scansiona COGTABEL con START not < euta-key sul tipo 34 + codice stampa corrente:

  • b1-load (wec-tip=1): carica testata (titolo, salto, tipo selezione) e visualizza.
  • b2-load (wec-tip=2): carica selezioni; richiama COGG04 in modalita' 'V' (solo visualizzazione) per mostrare il valore formattato.
  • b3-src-sel (eseguito n-i volte): per ogni elemento di tab-info, verifica se esiste il record tipo 3 in COGTABEL e imposta ti-sel='S' se presente.

Visualizzazione interattiva tab-info (c-acc-inf)

Il paragrafo visualizza tab-info come lista scorrevole nell'area dettaglio della maschera (righe da t-start). Gestisce:

  • Navigazione: su/giu'/PgUp/PgDn/F-ini/F-fin tramite tst-fun (copybook tstfun2.cpy).
  • Selezione toggle: Invio alterna ti-sel tra 'S' e 'N'.
  • Ogni riga mostra: codice, descrizione, tipo (Descrizione/Numerica/Data/Valori fissi/Tabella), lunghezza, flag "Selezionato".

Note tecniche

  • Maschera mm-1 da 25 righe x 80 colonne (formato DOS); posizionata in popup (rd-msk-pop).
  • Area dettaglio tab-info: righe 11-22 della maschera (t-start=11, t-length=12).
  • Il programma usa PERFORM THRU in piu' punti (b-visua thru ex-b, c-acc-inf thru ex-c, ecc.): convenzione legacy del modulo.
  • Relazione diretta con COGG12 (esecuzione) e COGG04 (gestione campo informazione).
  • I file vengono aperti tramite la copybook open1.cpy (apertura con feurtab) e chiusi esplicitamente prima dell'uscita.
  • COGTABEL viene aperto in I-O; COGINFPT in input.