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¶
- apri:
C$NARGper determinare se e' stata passata la linkageutil-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. - a4: reset griglia,
x-trova-col-num-tm-tab,x-set-fl-mod. Caricamento da COGTABEL:st-cogtabel-notminconeuta-tipo = 26eeuta-cod(1:1) = "P", poirdnxt-cogtabel; salta i record con codice vuoto. Caricaeuta-cod(2:9)intm-cod/tm-cod-prec,euta-lo-desintm-des,euta-lo-appintm-reg-cod. - a30: per ogni riga con regione valorizzata,
x-carica-tm-reg-klegge la descrizione regione da COGTABEL (tipo26, primo byte"R"). Costruisce la griglia. - a-grid / a-accept-grid: loop di gestione griglia.
test-wescgestisce 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. - Ctrl+A:
z-aggiungi-riga-tm-tab. Ctrl+E:c1-ctrl-canc+ conferma, svuota la riga mantenendotm-cod-precper la cancellazione differita. - a1-aggiorna / b-aggiorna: validazione (
x-controlla-tm-tab-tutto) e aggiornamento massivo confrontandotm-codvstm-cod-prec(inserisci/modifica/cancella/cancella+inserisci). - b1-inserisci / b2-modifica / b3-cancella: costruiscono la chiave (tipo
26,"P"+tm-cod), leggono COGTABEL, gestiscono i casi limite con conferma e scrivono conwr-cogtabel/rwr-cogtabel/del-cogtabel. In scrittura valorizzanoeuta-lo-deseeuta-lo-app. - 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 (includeeuta-receeuta-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 comeutil-f09;wcont.cpy,wcont1.cpy— linkagestringhe;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-codvstm-cod-prec. - Numero massimo elementi in griglia:
k-max-ele-tab = 500. - La
utilf09.cpye' 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