Vai al contenuto

COGEA2 - Orari Standard di Apertura

Sorgente: cbl/cogea2.cbl | Program-ID: COGEA2 | Tipo: gestione tabella a griglia

Menu: Contabilita' > Archivi & Tabelle > Varie > Orari standard di apertura


Scopo

COGEA2 gestisce gli orari di apertura settimanali associati a un cliente/destinazione. Per ogni combinazione cliente+destinazione (o solo cliente, o standard di azienda senza cliente), si definiscono fino a tre fasce orarie (INI1/FIN1, INI2/FIN2, INI3/FIN3) per ciascuno dei 7 giorni della settimana (Lunedi'...Domenica). Gli orari sono memorizzati su COGORARI. Il programma supporta la modalita' richiamata da altri moduli (cogea2-called = "COGEA2-CALLED") con cliente e destinazione passati in linkage. Al salvataggio, notifica la sincronizzazione con KPN tramite SWN122.

File e tabelle

File/Tabella Copybook Modalita' Uso
FEURTAB feurtab.fd, cogfiles.cpy input Tabella file environment
COGORARI cogea2.select, cogea2.fd (via Screens) i-o Orari di apertura per cliente/destinazione/giorno
COGGEANA (via x-controlla-tm-cli-cod) input Anagrafica cliente (verifica esistenza, nome)
COGDESTI (via x-controlla-tm-dst-idx) input Destinazioni cliente (descrizione)

Programmi chiamati

Programma Scopo
GRIDADMN Gestore griglia (prepare, add-record, modify-record, svuota-tutto)
COGS65W Ricerca/accettazione cliente (campo tm-cli-cod, con F8/F9 helper)
SWN122 Sincronizzazione dati con KPN (operazione ESPORTA-KEY)

Copybook principali

Screen Designer / gestione griglia: - cogea2.select, cogea2.fd, cogea2.wrk, cogea2.prc, cogea2.decla, cogea2-01.scr (generati da Screens) - wgrid.cpy, utilgdad.cpy, utilgrid.cpy

Linkage: - wcont.cpy, wcont1.cpy, utilcogea2.cpy (parametri: cogea2-called, cogea2-caller, cogea2-ana, cogea2-dst)

Utility: - utils93.cpy (input orario hh:mm via z-s93-tm-ini1 etc.) - utils65.cpy (ricerca cliente via COGS65W) - utilw92.cpy, sendw92.cpy (ricerca destinazione tramite F8, helper send-w92) - utilncnf.cpy (RNEWCONF, presente in working storage) - utilagprg.cpy (area util-agprg per chiamata SWN122)

Gestionale standard: - wstato.cpy, wgrave.cpy, wopenf.cpy, wnscr.cpy, cogazien.cpy - stato.cpy, stato1.cpy, winmsg.cpy, grave.cpy, opengen.cpy, mmmask.cpy - cogorari.k01 (chiave primaria COGORARI -- inclusa da cogea2.prc)

Logica di elaborazione

Avvio: z-99-init-program, apertura file, lettura azienda. Se richiamato, carica cliente e destinazione da linkage (w-dc-called = "S", w-dc-ana, w-dc-dst) e salta direttamente alla conferma (a-fine-conferma).

Selezione cliente/destinazione (a-tm-cli-cod / a-tm-dst-idx): in modalita' autonoma, l'operatore digita il codice cliente (accept via COGS65W con helper F8/F9). Il campo destinazione accetta un indice numerico; F8 apre il helper send-w92 (popup ricerca destinazioni per cliente). Entrambi i campi vengono convalidati (x-controlla-tm-cli-cod su COGGEANA, x-controlla-tm-dst-idx su COGDESTI). F3 richiede conferma (acc-conf) prima di procedere.

Caricamento orari (a-rd-tab): ricerca a cascata su COGORARI: 1. primo tentativo con cliente+destinazione; 2. secondo tentativo con solo cliente (destinazione azzerata); 3. terzo tentativo con cliente e destinazione azzerati (orari standard azienda). Il primo insieme di orari trovato viene caricato in tm-ini1/fin1/ini2/fin2/ini3/fin3 (per i=1..7, corrispondenti a LU/MA/ME/GI/VE/SA/DO).

Griglia (a-grid / a-accept-grid): 7 righe fisse (una per giorno della settimana), sola modifica (non inserimento/cancellazione singola riga). Invio apre il dettaglio della riga selezionata.

Dettaglio riga (a-riga-dettaglio): accept sequenziale di fino a 6 orari (INI1, FIN1, INI2, FIN2, INI3, FIN3) tramite z-s93-tm-* (COGS93). La convalida (x-controlla-tm-ini*/fin*) verifica che le ore siano <= 24 e i minuti siano multipli di 15 (0, 15, 30, 45). F3 conferma il dettaglio e aggiorna la riga in griglia (senza ancora scrivere su file).

Aggiornamento (F3 da griglia -- c-aggiorna): previo acc-conf generale, cancella tutti i record esistenti su COGORARI per il cliente/destinazione (c1-cancella), poi riscrive tutti e 7 i giorni con 3 progressivi ciascuno (per tot. 21 record wr-cogorari). Infine chiama x-sincronizza-kpn che invoca SWN122 con operazione ESPORTA-KEY passando la chiave orario.

Cancellazione (F4 da griglia -- c1-cancella standalone): cancella tutti i record COGORARI per il cliente/destinazione corrente, senza reinserire.

Configurazioni RNEWCONF

Il copybook utilncnf.cpy e' incluso nel working storage, ma nel sorgente letto non risultano chiamate esplicite a util-ncnf o letture di chiavi RNEWCONF. La sua presenza potrebbe essere residua o usata indirettamente da copybook inclusi.

Note

  • La griglia e' sempre a 7 righe fisse (k-max-ele-tab = 7), una per giorno; non e' possibile aggiungere o rimuovere righe.
  • I minuti accettati sono solo multipli di 15: il controllo e' esplicito in x-controlla-tm-ini1 e simili.
  • Il programma non distingue fra orari di tipo "apertura" e "chiusura": INI e FIN sono tre fasce per giorno, interpretate liberamente.
  • COGORARI usa la chiave primaria cogorari.k01 (inclusa tramite cogea2.prc); la chiave secondaria cogorari.k02 e' presente in cpy/ ma non inclusa esplicitamente nel sorgente.
  • SWN122 viene chiamato con on overflow continue (protezione se il modulo non e' presente) e con cancel dopo la chiamata.

Documentazione tecnica generata -- 2026-07-15