Vai al contenuto

COG001 — Inizializzazione / Controllo Stato Archivi P.Nota contabilizzata

Intestazione

Campo Valore
Sorgente cbl/cog001.cbl
Program-ID cog001
Tipo Programma interattivo con maschera e griglia (Screen Designer)
Autore Andrea Parmeggiani - Eurosystem (conversione Win: Gianluca, 19/08/2004)

Posizione menu:

  • Contabilita' > Bilancio > Chiusura/Riapertura Esercizio > Apertura Nuovo Esercizio > Inizializzazione Archivi P.Nota
  • Sistema > Archivi > Inizializzazioni > Archivi P.nota
  • Sistema > Archivi > Controllo Stato > Archivi P.nota

Scopo

COG001 gestisce l'inizializzazione (creazione fisica) e il controllo stato dei due archivi di prima nota contabilizzata:

  • cogcopre — prima nota contabilizzata dell'anno precedente (file n. 900);
  • cogcoatt — prima nota contabilizzata dell'anno attuale (file n. 901).

Entrambi condividono il tracciato record cogpnonc.cpy (prima nota); i due file logici sono ottenuti dallo stesso copybook con replacing del prefisso (pno-pre- per il precedente, pno-att- per l'attuale). Il tipo tabella su FEURTAB e' "CO" (contabilita'/magazzino, k-tipo-tabella), e i due archivi sono i numeri 900 e 901 (fil-num = i + 899).

E' un programma "gemello" della famiglia inizializzazione/controllo archivi (*003), ma dedicato specificamente ai due archivi di p.nota contabilizzata usati nella chiusura/riapertura di esercizio: nel flusso di apertura nuovo esercizio serve a predisporre gli archivi p.nota del nuovo anno.


Modalita' d'uso

La modalita' e' determinata dal parametro di chiamata (wo-parametro, mappato su tm-ope in apri; se diverso da "I" viene forzato a "S"):

tm-ope Modalita' Voce di menu Comportamento
"I" Inizializzazione Sistema > Archivi > Inizializzazioni (e ramo Bilancio) Griglia per selezionare/creare gli archivi; F3 = inizializza. La colonna tm-stato e' nascosta. Help contestuale COGE03I.
"S" Controllo stato Sistema > Archivi > Controllo Stato Griglia con lo stato di ogni archivio; F7 = verifica, F3 = conferma. La colonna tm-stato e' visibile. Help contestuale COGE03S.

Tasti funzione attivati (w-presenza-*): Invio = seleziona (marca/smarca l'archivio per l'inizializzazione, flag tm-ini = "I"); Shift+F4 = amministrazione griglia (GRIDADMN); F3 = inizializza (modo "I") o conferma verifica (modo "S"); F7 = verifica (solo modo "S").


Struttura e flusso

  1. apri — determina la modalita' (tm-ope), imposta help contestuale, controllo abilitazione (ctr-abil, con w-abi-agg), z-99-init-program, apertura file (open-files), lettura azienda (rd-azi), caricamento lingua (x-carica-lingua). Apre GENFILES.ARC (percorso da ext-arc-dir, tabella FEURTAB): se stato "35" segnala tabella inesistente (m-tab-non-esistente), se stato diverso da "00" segnala tabella rovinata (m-tab-rovinata). Legge la data di sistema (datasis), prepara la maschera (titolo m-titolo-maschera-1/-2) e costruisce i controlli e la griglia (z-prepara-tm-grid, z-costruisci-controlli).
  2. a-inizio-dati — caricamento dati (carica-dati), costruzione griglia (z-costruisci-grid), attivazione tasti funzione.
  3. carica-dati — per ciascuno dei k-num-files (2) archivi: legge il percorso da FEURTAB (leggi-tab) e tenta l'apertura (opn-depending-a). Registra lo stato I/O in tm-stato (i); se l'apertura riesce richiude il file (close-depending-a), se restituisce stato "35" (file inesistente) marca tm-ini (i) = "I", cioe' archivio mancante da creare.
  4. leggi-tab — chiave FEURTAB: fil-tip = "CO", fil-num = i + 899 (900 e 901); il nome file letto (fil-nome) va in tm-file (i) e nf-name-2 (i).
  5. Ciclo maschera (a-accept-grid) — gestisce Invio (toggle flag tm-ini, aggiornamento riga griglia via GRIDADMN "Modify-Record"), Shift+F4 (GRIDADMN amministrazione), F3, F7, ed eventi mouse (x-test-mouse).
  6. inizial-file (F3 in modo "I") — conta gli archivi con tm-ini = "I", chiede conferma ("Richiesta l'inizializzazione di N tabelle, Confermi ?" via acc-conf-custom); se confermato, per ciascun archivio flaggato esegue la creazione fisica del file (ini-depending: open output + close). Richiede l'abilitazione all'aggiornamento (w-abi-agg).
  7. Verifica (F7 in modo "S") — l'operatore sceglie tipo verifica (tm-vut-ope: V=verifica, I=indicizzazione, R=ricostruzione) ed eventuale chiave (tm-vut-key, richiesta solo per R); verifica-dati costruisce ed esegue un file batch di manutenzione (vedi sotto).
  8. fine / z-chiudi — chiusura file (z-close-files), chiusura finestra, z-99-exit-program, exit program.

Verifica archivi (verifica-dati)

Solo in modalita' controllo stato. Il paragrafo:

  • chiude i file external tramite POPFILES (operazione "C");
  • costruisce, nella directory temporanea (ext-tmp-dir), il file di comando VUTIL.BAT (w-nome-bat) e il file di output VUT-OUT.TXT (w-nome-output);
  • in base a tm-vut-ope compone l'opzione per l'utility di manutenzione file VUTIL32.EXE (in ext-run-dir): "-ch " (verifica), "-in -x " (indicizzazione, con output rediretto su VUT-OUT.TXT), "-re -k <chiave> " (ricostruzione). La verifica "V" opera su tutti i file cog*.* in ext-arc-dir; le altre operazioni sui singoli archivi flaggati (tm-ini = "I");
  • esegue il batch con C$SYSTEM (a1-flags = 64);
  • se l'operazione era indicizzazione ("I") visualizza l'output con NOTEPAD;
  • riapre i file external tramite POPFILES (operazione "O").

File e tabelle principali

File logico Record Copybook Modalita' Uso
FEURTAB (feurtab) fil-rec cogfiles.cpy (chiave cogfiles.k01) Input Tabella nomi/percorsi archivi (GENFILES.ARC). Chiave fil-tip+fil-num; percorso in fil-nome.
cogcopre pre-rec cogpnonc.cpy (pno-pre-) Input / Output Prima nota contabilizzata anno precedente (file 900).
cogcoatt att-rec cogpnonc.cpy (pno-att-) Input / Output Prima nota contabilizzata anno attuale (file 901).
batfil bat-rec pic x(132) dichiarato nel sorgente Output (line sequential) File batch temporaneo VUTIL.BAT con i comandi di manutenzione.
cogtabel cogtabel.cpy / cogtabel.fd (Screen Designer) File tabelle codificate, incluso da cog001.select/.fd generati da Screens.

Chiavi principali del tracciato p.nota (cogpnonc.cpy): chiave 1 pno-chia (pno-anno, pno-docum, pno-pro); chiavi secondarie pno-chia2, pno-chia3, pno-valuta, pno-cc, pno-partita, pno-chia7 (split-key pno-data-econ + pno-chia). Sui file contabilizzati (cogcopre/cogcoatt) e' significativo anche pno-rif-giornale (riferimento giornale).

Working storage principale

  • tab-files / tf-ele (tf-desc) — descrizioni standard dei due archivi ("Archivio p.n. anno precedente" / "...anno attuale").
  • tab-maschera / tm-tab / tm-righe (fino a k-max-ele-tab = 900 elementi) — righe di griglia: tm-desc (descrizione), tm-file (percorso), tm-stato (stato I/O apertura), tm-ini (flag "I" = da inizializzare); campi di verifica tm-vut-ope, tm-vut-key.
  • grid-record (grd-desc, grd-file, grd-stato, grd-ini) — record di scambio con GRIDADMN.
  • util-popfiles (popfiles-operazione) — interfaccia POPFILES.
  • datasis — data di sistema.

Copybook principali

Screen Designer

Copybook Contenuto
cog001.select SELECT file Screens (include cogtabel.fd)
cog001.fd FD file Screens (cogtabel)
cog001.wrk Working storage maschera
cog001.decla Declaratives
cog001.prc Procedure I/O generate
cog001-01.scr Definizione screen

Strutture dati e utility

Copybook Contenuto
cogfiles.cpy / cogfiles.k01 Record e chiave FEURTAB (nomi/percorsi archivi)
cogpnonc.cpy / cogpnonc.fd Tracciato prima nota (usato con replacing per cogcopre/cogcoatt)
cogtabel.cpy / cogtabel.fd Tabelle codificate (da Screens)
cogazien.cpy Dati azienda
utilgdad.cpy Interfaccia GRIDADMN (util-gdad, gdad-*)
utilnpad.cpy Interfaccia NOTEPAD (util-npad, npad-file)
utilgrid.cpy Routine di gestione griglia
wgrid.cpy / wnscr.cpy / wgrave.cpy / wopenf.cpy / wstato.cpy Working storage comuni (griglia, schermo, errori gravi, apertura file, stato)
wcont.cpy / wcont1.cpy Aree in linkage (parametri contesto)
stato.cpy / stato1.cpy / winmsg.cpy / grave.cpy / mmmask.cpy / opengen.cpy Copybook di fine procedure (stato I/O, messaggi, errori gravi, maschera main, apertura generica)

Sottoprogrammi chiamati (CALL)

Programma Scopo
GRIDADMN Gestione/amministrazione griglia (Prepara, Svuota-Tutto, Add-Record, Modify-Record; Shift+F4)
POPFILES Chiusura ("C") / riapertura ("O") dei file external prima e dopo la manutenzione batch
NOTEPAD Visualizzazione dell'output dell'indicizzazione (VUT-OUT.TXT)
VUTIL32.EXE Utility esterna di manutenzione file (verifica -ch, indicizzazione -in -x, ricostruzione -re -k), lanciata via file batch
C$SYSTEM Esecuzione del file batch VUTIL.BAT (routine di sistema AcuCOBOL)
CBL_DELETE_FILE Cancellazione del file di output prima di una nuova verifica (routine di libreria)

Note

  • I due archivi p.nota condividono lo stesso tracciato cogpnonc.cpy: i file logici differiscono solo per il prefisso (pre-/att-) e per il nome fisico letto da FEURTAB (numeri 900 e 901).
  • La struttura I/O della griglia e la maschera provengono dai file Screen Designer (cog001.wrk/.decla/.prc/.scr); i file cog001.select/cog001.fd generati da Screens si trovano in cbl/screens/ e includono cogtabel.
  • Le operazioni di verifica/indicizzazione/ricostruzione non modificano il contenuto logico degli archivi p.nota: agiscono sulla struttura fisica dei file tramite l'utility esterna VUTIL32.
  • La modalita' "I" richiede l'abilitazione all'aggiornamento (w-abi-agg); in assenza viene mostrato il messaggio bloccante m-no-abi-modifica.