Vai al contenuto

COGF09 - Provincie

Intestazione

Campo Valore
Programma COGF09
Titolo Tabella Provincie
Modulo Contabilita'
Posizione menu Contabilita' > Archivi & Tabelle > Tabelle > Localizzazione > Provincie

Scopo e logica generale

Gestisce la tabella delle province su COGTABEL (tipo 26, condiviso con le regioni). La chiave euta-cod ha il primo byte pari a "P"; i restanti 9 caratteri contengono il codice provincia. Per ogni provincia memorizza descrizione (euta-lo-des) e la regione di appartenenza (euta-lo-app), la cui descrizione viene risolta leggendo il record regione (tipo 26, primo byte "R").

La griglia e' editabile in linea. Il programma supporta la modalita' CALLED tramite la linkage utilf09.cpy: se f09-called = COGF09 e f09-caller valorizzato, entra in modalita' selezione, e l'invio restituisce codice e descrizione (f09-out-cod, f09-out-des) al chiamante. Il numero di argomenti passati e' verificato con C$NARG.


Flusso principale

  1. apri: C$NARG per determinare se e' stata passata la linkage util-f09 (1 o 2 argomenti). Inizializzazione standard (ctr-abil, z-99-init-program, open-files, rd-azi). Determina modalita' A/S in base al richiamo CALLED. Imposta tasti funzione (invio, F3 selezione/modifica o F3 aggiorna, F8 aiuto, Shift+F4 griglia, Ctrl+A/Ctrl+E) e prepara la griglia.
  2. a4: reset griglia, x-trova-col-num-tm-tab, x-set-fl-mod. Caricamento da COGTABEL: st-cogtabel-notmin con euta-tipo = 26 e euta-cod(1:1) = "P", poi rdnxt-cogtabel; salta i record con codice vuoto. Carica euta-cod(2:9) in tm-cod/tm-cod-prec, euta-lo-des in tm-des, euta-lo-app in tm-reg-cod.
  3. a30: per ogni riga con regione valorizzata, x-carica-tm-reg-k legge la descrizione regione da COGTABEL (tipo 26, primo byte "R"). Costruisce la griglia.
  4. a-grid / a-accept-grid: loop di gestione griglia. test-wesc gestisce l'uscita. Shift+F4 apre GRIDADMN. F8 sulla colonna regione richiama COGF62 (selezione regione). F3 commuta modalita' o esegue l'aggiornamento; invio in modalita' selezione restituisce codice/descrizione.
  5. Ctrl+A: z-aggiungi-riga-tm-tab. Ctrl+E: c1-ctrl-canc + conferma, svuota la riga mantenendo tm-cod-prec per la cancellazione differita.
  6. a1-aggiorna / b-aggiorna: validazione (x-controlla-tm-tab-tutto) e aggiornamento massivo confrontando tm-cod vs tm-cod-prec (inserisci/modifica/cancella/cancella+inserisci).
  7. b1-inserisci / b2-modifica / b3-cancella: costruiscono la chiave (tipo 26, "P" + tm-cod), leggono COGTABEL, gestiscono i casi limite con conferma e scrivono con wr-cogtabel / rwr-cogtabel / del-cogtabel. In scrittura valorizzano euta-lo-des e euta-lo-app.
  8. fine / z-chiudi: z-close-files, chiusura finestra, ritorno linkage al chiamante (se 2 argomenti), z-99-exit-program, exit program.

File e tabelle acceduti

File Record Modalita' Uso
FEURTAB (COGTABEL) euta-rec I-O Tabella generica: tipo 26. Province con chiave "P" + codice (9); campi euta-lo-des (descrizione), euta-lo-app (regione). Regioni lette in sola lettura con chiave "R" + codice per la descrizione. Verbi: st-cogtabel-notmin, rdnxt-cogtabel, rd-cogtabel, rd-cogtabel-lk, wr-cogtabel, rwr-cogtabel, del-cogtabel.

Copybook principali

Strutture dati e framework:

  • cogfiles.cpy — record del file FEURTAB (include euta-rec e euta-localizzazione);
  • k-tipi-cogtabel.cpy — costanti dei tipi COGTABEL (k-euta-tipo-provincie, k-euta-tipo-regioni);
  • wgrave.cpy, wnscr.cpy, wopenf.cpy, wstato.cpy, wgrid.cpy — framework standard;
  • cogazien.cpy — dati azienda;
  • utilgdad.cpy — interfaccia GRIDADMN;
  • utile04.cpy — interfaccia COGE04 (nazioni, disponibile nel template);
  • utilf62.cpy — interfaccia COGF62 (selezione regione, F8);
  • utilf09.cpy — linkage CALLED, inclusa due volte: in working-storage con REPLACING (util-w-f09/w-f09-) come area di lavoro e in linkage come util-f09;
  • wcont.cpy, wcont1.cpy — linkage stringhe;
  • grave.cpy, mmmask.cpy, opengen.cpy, stato.cpy, stato1.cpy, winmsg.cpy — routine standard di fine procedure division.

Generati da Screen Designer: feurtab.fd, cogf09.select, cogf09.fd, cogf09.wrk, cogf09-01.scr, cogf09.decla, cogf09.prc. Il cogf09.prc fornisce le routine della griglia in linea e gli entry-point personalizzabili.


Programmi chiamati (CALL)

Programma Scopo
C$NARG Routine di sistema: conteggio argomenti passati (per gestire richiamo con/senza linkage)
COGF62 Selezione regione (F8 sulla colonna regione)
GRIDADMN Gestione e personalizzazione della griglia editabile in linea

Note

  • Province e regioni condividono il tipo COGTABEL 26, distinte dal primo byte della chiave ("P" province, "R" regioni).
  • La descrizione regione mostrata in griglia e' derivata (read-only); se la regione risulta cancellata viene mostrato "Cancellata".
  • Griglia editabile in linea: validazione sull'intera tabella alla conferma; distinzione insert/update/delete su tm-cod vs tm-cod-prec.
  • Numero massimo elementi in griglia: k-max-ele-tab = 500.
  • La utilf09.cpy e' inclusa con la tecnica del doppio COPY (working con REPLACING + linkage) per disporre di una copia di lavoro locale della struttura di interscambio.

Documentazione tecnica -- creata 2026-07-10