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¶
- Avvio (apri): apertura file, lettura dati azienda, caricamento maschera mm-1 (25 righe x 80 col.), chiamata a1-load-info.
- a1-load-info: scansione sequenziale COGINFPT per caricare tab-info (max 200 informazioni).
- a4: loop principale; inizializza tab-maschera e azzera ti-sel per tutti gli elementi.
- a-5: accept codice stampa. F8 -> GW05. Se trovato in COGTABEL, chiama b-visua per caricare la definizione esistente.
- a-7: accept titolo stampa (obbligatorio non blank).
- a-10: accept salto righe (obbligatorio > 0).
- a-15: selezione tipo T/U tramite COGS21.
- 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).
- a-90: richiesta conferma (F3). Poi chiama c-acc-inf.
- c-acc-inf: visualizzazione interattiva di tab-info con cursore. Invio alterna ti-sel S/N. F3 chiama d-aggiorna.
- 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.