Vai al contenuto

Piano di documentazione Eurocoge

1. Analisi del menu applicativo (prog.txt)

Perimetro di lavoro

Sono in scope: 1. Programmi del menu (prog.txt): 1.888 programmi distinti 2. Catene di chiamata: tutti i programmi richiamati in cascata da quelli del menu 3. Aglancio: gestore di programmi schedulati (2.276 righe) 4. SWN*.cbl: 138 programmi schedulabili (anche richiamabili direttamente)

Fuori scope: versioni di test, utility non attualmente rilevanti, template, i ~5.800 .cbl senza voce menu (salvo quelli trovati nelle catene di chiamata).

Dimensioni della codebase

Metrica Valore
File .cbl in cbl/ (totali) 7.650
File .cpy in cpy/ 6.442
Programmi in scope (menu) 1.888
Programmi schedulabili (SWN*) 138
Scheduler (Aglancio) 1
Voci di menu totali 2.425
Programmi menu senza sorgente 43 (di cui 17 LDS/legacy)
Menu Sottomenu Programmi Peso In scope
Magazzino 17 568 Core business SI
Contabilita' 18 390 Core business SI
Sistema 5 258 Infrastruttura SI
Vendite 18 223 Core business SI
Lab.Odont. 7 152 Verticale di settore SI
Assist 2.0 3 139 Verticale assistenza SI
Statistiche 4 47 Reporting SI
Ordini 4 64 Operativo SI
CRM 6 54 Operativo SI
~~Assist~~ 2 56 Legacy (sostituito da 2.0) ESCLUSO
~~Clinica~~ 5 49 Verticale di settore ESCLUSO
~~Areapostel~~ 6 38 Verticale di settore ESCLUSO
~~Contanti~~ 12 40 Vendita al dettaglio ESCLUSO
~~Ordini Bar~~ 4 23 Verticale bar/ristorazione ESCLUSO

Aree funzionali principali

Magazzino (568 programmi) - Area piu' ampia

  • Produzione (148 prog): Cicli lavorazione, commesse, distinta base, stampaggio, taglio lamiere
  • Archivi & Tabelle (136 prog): Merci, listini, tabelle base
  • Uscite (75 prog): Bolle, fatture accompagnatorie, buoni prelievo, packing list
  • Entrate (42 prog): Bolle entrata, buoni prelievo, RMA
  • Giacenze & Sottoscorta (33 prog): Lotti, scorte, riordino, locazioni WMS
  • Controllo Magazzino (20 prog): LIFO, prezzo medio, indici rotazione
  • Gestione Veicoli (16 prog): Verticale autoveicoli
  • Colture (14 prog): Verticale agricoltura
  • Inventario (13 prog)
  • Trasferimenti (12 prog)

Contabilita' (390 programmi)

  • Archivi & Tabelle (89 prog): Clienti/fornitori, piano conti, tabelle IVA/pagamenti
  • Unione soci/clienti (67 prog): Modulo cooperative/associazioni
  • Bilancio (60 prog): Chiusura, dichiarazioni, spesometro
  • Documenti IVA (28 prog): Registri IVA, liquidazioni
  • Prima Nota (26 prog): Inserimento, contabilizzazione, stampe
  • Clienti a Partite Aperte (22 prog)
  • Fornitori a Partite Aperte (19 prog)
  • Clienti Potenziali (16 prog)
  • Cespiti (12 prog)
  • Coassicurazioni (11 prog): Verticale assicurazioni

Vendite (223 programmi)

  • Fatturazione (47 prog): Emissione, ristampa, cancellazione, contabilizzazione
  • Commesse (33 prog): Gestione commesse di vendita
  • Bolle Vendita (24 prog)
  • Ricevute Bancarie (17 prog): Emissione, distinte, stampe
  • Stampe (13 prog)
  • Mediatori (12 prog)
  • Ristorni (9 prog)
  • R.I.D. (8 prog)
  • Preventivi (7 prog)

Sistema (258 programmi)

  • Utility (120 prog): Import/export di massa, manutenzione archivi, backup
  • Archivi (83 prog): Operatori, configurazione aziendale, permessi
  • Configurazione (48 prog): Setup generale sistema

Programmi trasversali (riusati in piu' aree)

Programma Voci menu Aree Funzione
COGV63 13 Magazzino, Vendite, Lab.Odont. Stampa/ristampa fatture
COGE77W 9 Contabilita' Prima nota (insert/gestione)
COGV38 9 Magazzino, Vendite Cancellazione fatture/bolle
COSO30 8 Contabilita' > Soci Gestione tabelle soci
COGV50 7 Magazzino, Vendite Inserimento bolle/fatture accompagnatorie
COGF43 6 Statistiche Classifiche (agenti, clienti, articoli)
COGV06 5 Magazzino, Contanti, Lab, Assist, Clinica Gestione merci/prestazioni

Sorgenti non nel menu (~5.800 file) - FUORI SCOPE

Questi file sono fuori dal perimetro di documentazione, tranne quelli che emergono nelle catene di chiamata dei programmi in scope. Categorie principali:

Prefisso File Ruolo stimato Note
TEM* 850 Template/temporanei Fuori scope
WIN* 236 Interfacce Windows Fuori scope
YOG* 204 Modulo yogurt/alimentare Fuori scope
COGS* 204 Servizi/subroutine In scope se richiamati
COGZ* 171 Versioni speciali In scope se richiamate
COGU* 136 Utility In scope se richiamati
COGP* 101 Stampe In scope se richiamate
SWN* 138 Programmi schedulabili IN SCOPE

Programmi schedulati

Aglancio (cbl/aglancio.cbl, 2.276 righe): gestore di programmi schedulati. Orchestra l'esecuzione dei programmi SWN* secondo pianificazione.

SWN*.cbl (138 file): programmi eseguibili dallo scheduler. Molti possono anche essere richiamati direttamente. I piu' grandi:

Programma Righe Da analizzare
SWN037 11.664 Si (molto complesso)
SWN117 5.398 Si
SWN069 4.200 Si
SWN105 3.798 Si
SWN052 3.738 Si
SWN089 3.192 Si
SWN126 2.873 Si

Programmi senza sorgente (43)

  • 17 LDS*: Vecchi programmi di setup disco (legacy, irrilevanti)
  • RIPDISCO, RIPFLOPP, SALDISCO, SALFLOPP, SALTAPE: Backup legacy
  • STAMPA: Generico, probabilmente un wrapper
  • COGE20IP, COGE75IP, COGE77IP, COGE78IP: Versioni "IP" (interfaccia speciale?)
  • COGP46F, COGV13B, COGV46C, COGV60LA: Varianti mancanti
  • COGA82, COGB02, COGE37, COGQ87: Da verificare

2. Piano di azione — Stato avanzamento

Fase A: Documentazione strutturale — COMPLETATA

Deliverable: docs/dev/mappa-applicazione.md — generato da prog.txt tramite docs/dev/gen-mappa.py.

Risultato: Albero completo dei 14 menu con 1.889 programmi distinti.

Fase B: Flussi core — COMPLETATA

# Area Documento Stato
B1 Ciclo attivo ciclo-attivo.md Completato
B2 Ciclo passivo ciclo-passivo.md Completato
B3 Produzione ciclo-produzione.md Completato
B4 Magazzino base magazzino-base.md Completato
B5 Buoni di prelievo buoni-prelievo.md, inserimento-bdp-barcode.md Completato
B6 Contabilita' prima-nota.md, contabilizzazione-prima-nota.md, bilancio-verifica.md Completato
B7 Fatturazione cancellazione-fatture.md Completato
B8 Partite aperte partite-aperte.md Completato
B9 Documenti magazzino documenti-magazzino.md Completato
B10 Import/Export importazione-esportazione-merci.md Completato

Fase C: Servizi infrastrutturali e schedulati — COMPLETATA

# Area Documento Stato
C1 Moduli servizio moduli-servizio.md Completato
C2 Scheduler e SWN* scheduler-kpn.md Completato

Fase D: Censimento sistematico per area — COMPLETATA

# Area Documento Programmi Stato
D1 Documenti IVA documenti-iva.md 15 Completato
D2 Contabilita' complementare contabilita-complementare.md 7 Completato
D3 Bilancio e chiusura bilancio-chiusura.md 53 Completato
D4 Ordini ordini.md 46 Completato
D5 Vendite vendite.md + vendite-complementari.md + commesse-vendita.md 102 Completato
D6 Anagrafiche e Contabilita' contabilita-anagrafiche.md + cespiti.md + centri-costo.md + riconciliazione-bancaria.md + coassicurazioni.md + rid.md + rendiconti-finanziari.md + home-banking.md 52 Completato
D7 Magazzino operativo non-conformita.md + trasporti.md + documentazioni.md + centro-revisioni.md + visualizzazioni-vendite.md + posizioni-ca-rma.md + stampe-magazzino.md + modula.md 49 Completato
D8 Magazzino speciale colture.md + visualizzazioni-magazzino.md + gestione-veicoli.md + statistiche-vendite.md + bi-swing.md 123 Completato
D9 Sistema sistema-utility.md + sistema-import-export.md + sistema-archivi.md + sistema-configurazione.md 239 Completato
D10 Verticali crm.md + unione-soci.md + cicli-lavorazione.md + taglio-stampaggio.md + clienti-potenziali.md + laboratorio-odontotecnico.md + assistenza-tecnica.md ~600 Completato
D11 Magazzino e Contabilita' residui magazzino-archivi-tabelle.md + magazzino-giacenze-scorte.md + magazzino-movimenti.md + contabilita-tabelle-stampe.md ~399 Completato
D12 Produzione e Autoveicoli distinta-base-preventivi.md + produzione-avanzata.md + autoveicoli.md 72 Completato

Riepilogo documentazione

Elemento Quantita'
File documentazione in flussi/ 67
Programmi documentati/censiti ~1.690+
Menu in scope documentati 9/9
Fasi completate A, B (10), C (2), D (12)

Fase E: Ispezione per anomalie — DA FARE

Analisi trasversale della codebase alla ricerca di problemi strutturali, da eseguire sfruttando la base di conoscenza costruita nelle fasi precedenti.

  1. Codice morto: Programmi nel menu senza sorgente (43 identificati nella Fase A)
  2. Duplicazioni: Stesso programma su voci menu diverse con parametri diversi (es. COGV63 x13)
  3. Versioni parallele: COGE77W vs COGE77IP, Assist vs Assist 2.0
  4. Pattern sospetti:
  5. Paragraph commentati ma non rimossi
  6. Variabili dichiarate e mai usate
  7. GO TO fuori da range PERFORM...THRU
  8. File aperti mai chiusi
  9. Letture senza INITIALIZE preventivo
  10. Consistenza architetturale:
  11. Chiamate a COGS26 con parametri non standard
  12. Gestione errori mancante dopo CALL
  13. Configurazioni (RNEWCONF) non documentate

3. Menu esclusi dal perimetro (promemoria permanente)

I seguenti 5 menu sono stati esclusi dal perimetro di documentazione. Questa sezione serve come promemoria per non riconsiderarli in futuro.

3.1 Contanti (36 programmi) — Vendita al dettaglio

Motivo esclusione: Modulo specifico per vendita al banco/dettaglio, non rilevante per il core ERP.

Programmi esclusivi: - COGA03, COGA05, COGA05B, COGA06, COGA20, COGA21, COGA45, COGA46, COGA50, COGA51, COGA53, COGA54, COGA60, COGA62, COGA64 - COGA80, COGA81, COGA82, COGA90, COGA95 - NARDI03, COGY63 - COGK01, COGK03, COGK04

Programmi condivisi con menu in scope (gia' documentati altrove): - COGV06, COGV08, COGV09, COGV14, COGV15, COGV21, COGV35 - COGM90, COGO70, COGP24

3.2 Assist vecchio (56 programmi) — Legacy sostituito da Assist 2.0

Motivo esclusione: Modulo legacy completamente sostituito da Assist 2.0 (menu separato, 139 programmi ASN*, gia' documentato in assistenza-tecnica.md).

Programmi esclusivi: - AST005, AST006, AST010, AST015, AST020, AST025, AST030, AST035, AST040, AST045 - AST050, AST055, AST060, AST065, AST070, AST080, AST085, AST090, AST095, AST100 - AST105, AST110, AST115, AST120, AST125, AST130, AST135, AST140, AST145, AST150 - AST155, AST160, AST165, AST170, AST175, AST180, AST185, AST190, AST195, AST200 - AST205, AST210, AST215, AST220, AST225, AST230, AST250, AST300, AST310, AST350 - ASTV51, COG018, COG018S

Programmi condivisi con menu in scope: - COGF01, COGE11

3.3 Areapostel (38 programmi) — Agenzie assicurative

Motivo esclusione: Verticale specifico per agenzie assicurative Poste/Areapostel.

Programmi esclusivi: - COGI60, COGI61, COGI62, COGI63, COGI65, COGI66, COGI67, COGI68, COGI69 - COGI70, COGI73, COGI74, COGI75, COGI76, COGI78, COGI79, COGI80, COGI83 - COGI85, COGI86, COGI87, COGI88, COGI90, COGI93, COGI95, COGI96, COGI97, COGI98 - LDS230, LDS231, LDS232, LDS511, LDS512, LDS513 - CRMK28

Programmi condivisi con menu in scope: - SENDSMS, COGY31

3.4 Ordini Bar (24 programmi) — Bar/ristorazione

Motivo esclusione: Verticale specifico per gestione ordini bar e ristorazione.

Programmi esclusivi: - PST100, PST110, PST200, PST210, PST300, PST310, PST320, PST330, PST340, PST350 - PST400, PST410, PST500, PST510, PST520, PST521, PST550 - COGT60, COGT61, COGT62, COGT63, COGT64

Programmi condivisi con menu in scope (gia' documentati): - COGX03 (magazzino-base / visualizzazioni-magazzino) - COGE31 (ciclo-produzione) - COGP14 (distinta-base-preventivi)

3.5 Clinica (45 programmi) — Studi dentistici

Motivo esclusione: Verticale specifico per studi dentistici/odontoiatrici. NOTA: E' distinto da Lab.Odont. (laboratori odontotecnici, 285 programmi COGZ*) che e' invece in scope e documentato.

Programmi esclusivi: - APO050, APO051, APO052, APO053, APO054, APO055, APO056, APO060, APO062, APO064 - APO100, APO102, APO104, APO110, APO112, APO114, APO116, APO118, APO120, APO122 - APO124, APO150, APO152, APO154, APO156, APO200, APO202, APO204, APO210, APO212 - APO220, APO222, APO224, APO250, APO252, APO254 - GRP001, GRP002, GRP003, GRP004, GRP005, GRP010, GRP012

Programmi condivisi con menu in scope: - COGV06 (magazzino-base, lab-odontotecnico) - COGZ50 (laboratorio-odontotecnico)

Riepilogo menu esclusi

Menu escluso Programmi Esclusivi Condivisi Motivo
Contanti 36 25 11 Vendita al dettaglio
Assist vecchio 56 53 3 Legacy, sostituito da 2.0
Areapostel 38 36 2 Agenzie assicurative
Ordini Bar 24 22 2 Bar/ristorazione
Clinica 45 43 2 Studi dentistici
Totale 199 179 20

I 20 programmi condivisi sono gia' coperti dalla documentazione dei menu in scope. I 179 programmi esclusivi non necessitano documentazione.


4. Metodo di lavoro

Per ogni flusso:

  1. Identificare il programma entry-point (dal menu)
  2. Leggere il sorgente in sezioni (WORKING-STORAGE, PROCEDURE DIVISION)
  3. Tracciare le CALL a programmi esterni → costruire la catena di chiamata
  4. Seguire la cascata: per ogni programma chiamato, verificare se e' in scope
  5. Identificare le tabelle (file COBOL) lette/scritte
  6. Documentare in docs/dev/flussi/ con formato standardizzato
  7. Segnalare anomalie con tag **ANOMALIA** inline

Convenzioni di documentazione:

  • Un file .md per programma/flusso in docs/dev/flussi/
  • Un file .md per entita' trasversale in docs/dev/entita/
  • Aggiornare docs/dev/README.md come indice generale
  • Voci batch in docs/dev/registro-programmi.md per gruppi omogenei di programmi
  • Documentazione in italiano con apostrofi al posto degli accenti