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¶
apri— determina la modalita' (tm-ope), imposta help contestuale, controllo abilitazione (ctr-abil, conw-abi-agg),z-99-init-program, apertura file (open-files), lettura azienda (rd-azi), caricamento lingua (x-carica-lingua). ApreGENFILES.ARC(percorso daext-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 (titolom-titolo-maschera-1/-2) e costruisce i controlli e la griglia (z-prepara-tm-grid,z-costruisci-controlli).a-inizio-dati— caricamento dati (carica-dati), costruzione griglia (z-costruisci-grid), attivazione tasti funzione.carica-dati— per ciascuno deik-num-files(2) archivi: legge il percorso da FEURTAB (leggi-tab) e tenta l'apertura (opn-depending-a). Registra lo stato I/O intm-stato (i); se l'apertura riesce richiude il file (close-depending-a), se restituisce stato"35"(file inesistente) marcatm-ini (i) = "I", cioe' archivio mancante da creare.leggi-tab— chiave FEURTAB:fil-tip = "CO",fil-num = i + 899(900 e 901); il nome file letto (fil-nome) va intm-file (i)enf-name-2 (i).- Ciclo maschera (
a-accept-grid) — gestisce Invio (toggle flagtm-ini, aggiornamento riga griglia via GRIDADMN "Modify-Record"), Shift+F4 (GRIDADMN amministrazione), F3, F7, ed eventi mouse (x-test-mouse). inizial-file(F3 in modo "I") — conta gli archivi contm-ini = "I", chiede conferma ("Richiesta l'inizializzazione di N tabelle, Confermi ?" viaacc-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).- 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 perR);verifica-daticostruisce ed esegue un file batch di manutenzione (vedi sotto). 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 comandoVUTIL.BAT(w-nome-bat) e il file di outputVUT-OUT.TXT(w-nome-output); - in base a
tm-vut-opecompone l'opzione per l'utility di manutenzione fileVUTIL32.EXE(inext-run-dir):"-ch "(verifica),"-in -x "(indicizzazione, con output rediretto suVUT-OUT.TXT),"-re -k <chiave> "(ricostruzione). La verifica"V"opera su tutti i filecog*.*inext-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 conNOTEPAD; - 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 ak-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 verificatm-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 filecog001.select/cog001.fdgenerati da Screens si trovano incbl/screens/e includonocogtabel. - 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 bloccantem-no-abi-modifica.