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 principali¶
| 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.
- Codice morto: Programmi nel menu senza sorgente (43 identificati nella Fase A)
- Duplicazioni: Stesso programma su voci menu diverse con parametri diversi (es. COGV63 x13)
- Versioni parallele: COGE77W vs COGE77IP, Assist vs Assist 2.0
- Pattern sospetti:
- Paragraph commentati ma non rimossi
- Variabili dichiarate e mai usate
GO TOfuori da rangePERFORM...THRU- File aperti mai chiusi
- Letture senza
INITIALIZEpreventivo - Consistenza architetturale:
- Chiamate a COGS26 con parametri non standard
- Gestione errori mancante dopo CALL
- 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:¶
- Identificare il programma entry-point (dal menu)
- Leggere il sorgente in sezioni (WORKING-STORAGE, PROCEDURE DIVISION)
- Tracciare le CALL a programmi esterni → costruire la catena di chiamata
- Seguire la cascata: per ogni programma chiamato, verificare se e' in scope
- Identificare le tabelle (file COBOL) lette/scritte
- Documentare in
docs/dev/flussi/con formato standardizzato - 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.mdcome indice generale - Voci batch in
docs/dev/registro-programmi.mdper gruppi omogenei di programmi - Documentazione in italiano con apostrofi al posto degli accenti