Colture — Gestione costi agricoli e ore lavorate¶
Area funzionale: Magazzino / Colture Programmi documentati: 25 | Righe totali analizzate: ~14.720
Indice¶
- Configurazione e utility
- Sottoprogrammi di ricerca
- Anagrafiche di base
- Inserimento e consultazione movimenti
- Calcolo e report
- Flusso integrato
- File principali
- Tabella riepilogativa
1. Configurazione e utility¶
COGI01 — Gestione tabella archivi colture¶
File: /programmi/eurocoge/cbl/cogi01.cbl (567 righe)
Gestione della tabella che associa nomi logici dei file ai nomi fisici su disco. Definisce i 5 archivi del modulo: CICTABEL, CICLAVOR, CICBASTE, CICBASRI, CICGIORN. Possibilita' di inizializzare la tabella.
File: CICFILES (I-O). CALL: nessuno.
COGI03 — Inizializzazione selettiva archivi¶
File: /programmi/eurocoge/cbl/cogi03.cbl (780 righe)
Utility per l'inizializzazione selettiva degli archivi del modulo. Tenta l'apertura di ogni file, mostra lo stato (esistente/inesistente), l'operatore seleziona quelli da inizializzare. OPEN OUTPUT + CLOSE ricrea il file vuoto.
File: CICFILES (input), CICTABEL, CICLAVOR, CICBASTE, CICBASRI, CICGIORN (output per inizializzazione). CALL: nessuno.
COGI32 — Tabella numeratori¶
File: /programmi/eurocoge/cbl/cogi32.cbl (368 righe)
Gestione dei contatori progressivi in CICTABEL (tipo=11 per numerazione movimenti giornalieri). Visualizzazione e modifica dei numeratori.
File: CICTABEL (I-O). CALL: nessuno.
2. Sottoprogrammi di ricerca¶
COGI04 — Ricerca entita' per descrizione¶
File: /programmi/eurocoge/cbl/cogi04.cbl (382 righe)
Finestra pop-up per ricerca entita' in CICBASTE per chiave alternata (tipo+descrizione). Paginazione 10 record. Restituisce codice selezionato. Chiamato da COGI06.
File: CICBASTE (input, chiave chia2).
COGI05 — Ricerca entita' per codice¶
File: /programmi/eurocoge/cbl/cogi05.cbl (382 righe)
Finestra pop-up per ricerca entita' in CICBASTE per chiave primaria (tipo+codice). Chiamato da COGI06.
File: CICBASTE (input, chiave chia1).
COGI06 — Ricerca generalizzata entita' (orchestratore)¶
File: /programmi/eurocoge/cbl/cogi06.cbl (231 righe)
Orchestratore ricerca entita'. Gestisce input codice/descrizione, invoca COGI04/COGI05 come finestre di supporto. Parametri in linkage: i06-fun (C/D/E), i06-trec (tipo 1-7), verifica esistenza. Usato da quasi tutti i programmi del modulo.
File: CICBASTE (input). CALL: COGI04, COGI05.
COGI07 — Ricerca attivita' per descrizione¶
File: /programmi/eurocoge/cbl/cogi07.cbl (378 righe)
Finestra pop-up per ricerca attivita' in CICLAVOR per descrizione (chiave alternata). Chiamato da COGI10.
File: CICLAVOR (input, chiave chia2).
COGI08 — Ricerca attivita' per codice¶
File: /programmi/eurocoge/cbl/cogi08.cbl (376 righe)
Finestra pop-up per ricerca attivita' in CICLAVOR per codice (chiave primaria). Chiamato da COGI10, COGI20-22, COGI25, COGI30.
File: CICLAVOR (input, chiave chia1).
3. Anagrafiche di base¶
Nota: CICBASTE memorizza 7 tipi di entita' tramite il campo tipo (1=Lavorazioni, 2=Macchine, 3=Risorse, 4=Colture, 5=Dettaglio coltura, 7=Centri di costo). I programmi COGI20-23 hanno struttura quasi identica, differiscono solo per w-tipo.
COGI10 — Gruppi di attivita'/lavorazioni¶
File: /programmi/eurocoge/cbl/cogi10.cbl (352 righe)
CRUD dell'anagrafica gruppi attivita' (CICLAVOR). Codice numerico 3 cifre + descrizione. Ricerca tramite COGI07/COGI08.
File: CICTABEL (I-O), CICLAVOR (I-O), COGMAGAZ (input). CALL: COGI07, COGI08.
COGI20 — Anagrafiche base: Lavorazioni (tipo=1)¶
File: /programmi/eurocoge/cbl/cogi20.cbl (603 righe)
Gestione anagrafica Lavorazioni. Ogni lavorazione ha codice, descrizione, coefficiente e fino a 50 attivita' collegate (CICBASRI). CRUD su CICBASTE+CICBASRI.
Logica:
1. w-tipo = '1', ricerca tramite COGI06
2. Lettura CICBASTE + righe CICBASRI, risolve descrizioni da CICLAVOR
3. Tabella attivita' editabile (max 50 righe con scorrimento)
4. F3: WRITE/REWRITE CICBASTE, cancella+riscrive CICBASRI
5. F4: DELETE CICBASTE + tutte le righe CICBASRI
File: CICTABEL (I-O), CICLAVOR (input), CICBASTE (I-O), CICBASRI (I-O). CALL: COGI06, COGI08.
COGI21 — Anagrafiche base: Macchine (tipo=2)¶
File: /programmi/eurocoge/cbl/cogi21.cbl (593 righe)
Come COGI20 ma w-tipo = '2'. Il coefficiente macchina e' usato nel calcolo ore macchina (moltiplicazione).
File: CICTABEL (I-O), CICLAVOR (input), CICBASTE (I-O), CICBASRI (I-O). CALL: COGI06, COGI08.
COGI22 — Anagrafiche base: Risorse/Operai (tipo=3)¶
File: /programmi/eurocoge/cbl/cogi22.cbl (604 righe)
Come COGI20 ma w-tipo = '3'. Ogni risorsa (operaio) e' associata a gruppi attivita'.
File: CICTABEL (I-O), CICLAVOR (input), CICBASTE (I-O), CICBASRI (I-O). CALL: COGI06, COGI08.
COGI23 — Anagrafiche base: Colture (tipo=4)¶
File: /programmi/eurocoge/cbl/cogi23.cbl (533 righe)
Come COGI20 ma w-tipo = '4'. Campo aggiuntivo: codice magazzino collegato alla coltura (per i costi materiali). Usa COGMAGA2 e COGCCOPR per validazione.
File: CICTABEL (I-O), CICLAVOR (input), CICBASTE (I-O), CICBASRI (I-O), COGMAGA2, COGCCOPR. CALL: COGI06, COGI08.
COGI40 — Colture (alias di COGI23)¶
File: /programmi/eurocoge/cbl/cogi40.cbl (642 righe)
Variante/copia di COGI23 (program-id interno cogi23). Presente per compatibilita' con voci di menu diverse.
COGI30 — Legame coltura/voci di controllo costi-ricavi¶
File: /programmi/eurocoge/cbl/cogi30.cbl (641 righe)
Gestione del legame tra colture (tipo=4/5) e voci di controllo. Ogni coltura puo' avere fino a 90 voci, ciascuna con riferimento contabile (mastro/conto/sottoconto), valore e indicatore costo/ricavo (C/R).
Logica: 1. Accept codice coltura (tipo='4') tramite COGI06 2. Legge CICBASTE tipo='5' (dettaglio coltura) e righe CICBASRI 3. Per ogni riga: codice attivita', flag L/V, conto contabile (COGS67), valore, flag R/C 4. F3: scrive CICBASTE tipo='5', cancella+riscrive CICBASRI
File: CICTABEL (I-O), CICLAVOR (input), CICBASTE (I-O), CICBASRI (I-O). CALL: COGI06, COGI08, COGS67.
COGI35 — Anagrafica centri di costo (tipo=7)¶
File: /programmi/eurocoge/cbl/cogi35.cbl (658 righe)
Gestione dei centri di costo del modulo colture. Codici 1-3 predefiniti (1=Manodopera, 2=Officina, 3=Macchine); codici 4-9 sono centri per coltura. Ogni centro collegato a conti contabili tramite CICBASRI.
File: CICTABEL (I-O), CICLAVOR (input), CICBASTE (I-O), CICBASRI (I-O). CALL: COGI06, COGI08, COGS67.
4. Inserimento e consultazione movimenti¶
COGI25 — Inserimento ore lavorate (CORE)¶
File: /programmi/eurocoge/cbl/cogi25.cbl (782 righe)
Programma transazionale principale del modulo: registra chi ha lavorato, su quale coltura, con quale macchina e per quante ore. Scrittura su CICGIORN con numerazione progressiva.
Logica: 1. Accept anno/numero movimento (se esiste → visualizzazione/variazione) 2. Accept data (validata tramite COGS52) 3. Accept risorsa (tipo='3') tramite COGI06 4. Accept lavorazione (tipo='1') tramite COGI06; cerca attivita' collegate in CICBASRI 5. Accept ore uomo (con descrizione attivita' dal tipo ore) 6. Accept coltura (tipo='4') tramite COGI06 7. Accept macchina (tipo='2') tramite COGI06 (opzionale) 8. Accept ore macchina; se tipo manutenzione (ore-cod-2=3), moltiplica per coefficiente macchina 9. F3: incrementa numeratore CICTABEL tipo=11, WRITE/REWRITE CICGIORN 10. F4: DELETE movimento corrente 11. Dopo inserimento, mantiene anno/data/risorsa per inserimento rapido
File: CICTABEL (I-O), CICLAVOR (input), CICBASTE (input), CICBASRI (input), CICGIORN (I-O). CALL: COGI06, COGS52.
COGI26 — Giornale giornaliero ore lavorate¶
File: /programmi/eurocoge/cbl/cogi26.cbl (914 righe)
Visualizzazione e stampa del giornale giornaliero. Filtro per intervallo date. Risolve codici di risorsa/lavorazione/coltura/macchina da CICBASTE. F8 drill-down a COGI25 per dettaglio movimento. F9 stampa.
File: CICGIORN (input), CICBASTE (input), CICLAVOR (input), work-file (temporaneo). CALL: COGI25, COGS52, COGS54.
COGI27 — Riepilogo ore per lavorazione (tipo=1)¶
File: /programmi/eurocoge/cbl/cogi27.cbl (932 righe)
Riepilogo ore totalizzate per lavorazione con 4 colonne: Manodopera, Officina, Macchina, Manutenzione. Accumula da CICGIORN in base a ore-uomo-cod e ore-macc-cod. F9 stampa.
File: CICGIORN (input), CICBASTE (input), work-file (temporaneo). CALL: COGS52, COGS54.
COGI28 — Riepilogo ore per macchina (tipo=2)¶
File: /programmi/eurocoge/cbl/cogi28.cbl (944 righe)
Come COGI27 ma filtrato per tipo='2' (Macchine). Prima colonna mostra il coefficiente. Stesso pattern di accumulo e visualizzazione.
File: CICGIORN (input), CICBASTE (input), work-file (temporaneo). CALL: COGS52, COGS54.
COGI53 — Riepilogo ore per risorsa (tipo=3)¶
File: /programmi/eurocoge/cbl/cogi53.cbl (909 righe)
Come COGI27 ma filtrato per tipo='3' (Risorse). Riepilogo ore per operaio.
File: CICGIORN (input), CICBASTE (input), work-file (temporaneo). CALL: COGS52, COGS54.
COGI29 — Riepilogo ore per coltura/commessa (tipo=4)¶
File: /programmi/eurocoge/cbl/cogi29.cbl (1.012 righe)
Riepilogo ore per coltura con dettaglio per lavorazione. Struttura a due livelli: coltura → lavorazioni. Flag: 'C'=riga coltura, 'T'=riga totale, ' '=dettaglio. Tre livelli di evidenziazione. F9 stampa con subtotali.
File: CICGIORN (input), CICBASTE (input), work-file (temporaneo). CALL: COGS52, COGS54.
5. Calcolo e report¶
COGI50 — Calcolo centri di costo¶
File: /programmi/eurocoge/cbl/cogi50.cbl (551 righe)
Programma batch per il calcolo dei costi per centro di costo. Calcola il costo orario manodopera/officina/macchine, poi distribuisce i costi sulle colture in base alle ore lavorate. I centri hanno logica a cascata: officina include quota manodopera, macchine include quote officina+manodopera.
Logica: 1. Accept intervallo date 2. Per ogni centro di costo (tipo='7'): legge conti contabili da CICBASRI, somma saldi da COGSLPCO 3. Centro "1" (Manodopera): costo orario = saldi contabili / ore uomo cod=1 4. Centro "2" (Officina): saldi + quota manodopera (ore cod=2 × costo-ora-1) / ore cod=2 5. Centro "3" (Macchine): saldi + quota officina + quota manodopera / ore macchina cod=3 6. Centri "4"-"9" (per coltura): saldi + ore × costi orari + valore merci da magazzino (COGMEMOR × COGMERCI)
File: CICBASTE (I-O), CICBASRI, CICGIORN, COGSLPCO, COGMERCI, COGMEMOR, COGPNCON. CALL: COGI06, COGS52.
COGI51 — Stampa dettaglio centri di costo¶
File: /programmi/eurocoge/cbl/cogi51.cbl (773 righe)
Report dettagliato per centro di costo: conti contabili (Dare, Avere, Saldo), ore e costi orari calcolati. Per ogni centro, dettaglio dei conti + riepilogo.
File: CICBASTE, CICBASRI, CICGIORN, COGSLPCO, COGMERCI, COGMEMOR, COGPNCON. CALL: COGI06, COGS52, COGS54.
COGI52 — Report economico finale per coltura¶
File: /programmi/eurocoge/cbl/cogi52.cbl (993 righe)
Programma piu' complesso del modulo: produce il report economico finale per coltura. Integra ore lavorate, costi orari dei centri, valori magazzino e movimenti contabili per ottenere il risultato economico (Costi - Ricavi).
Logica: 1. Accept intervallo date, intervallo colture (Da/A), parametri stampante 2. Per ogni coltura: - Fase 1 — Ettari: da CICBASRI tipo='5', codici 206 (ettari) e 207 (coefficiente) - Fase 2 — Ore: da CICGIORN, totalizza ore uomo/macchina per tipo × costo orario centro - Fase 3 — Magazzino: da COGMEMOR × prezzi COGMERCI - Fase 4 — Quote CC 4-9: proporzionale in base agli ettari della coltura / totale - Fase 5 — Voci contabili: da CICBASRI tipo='5' codici ≥ 250, saldi da COGSLPCO - Fase 6 — Rettifiche: codice 230 3. Stampa: testata (codice, descrizione, ettari), sezione Costi, sezione Ricavi, Totale Costi, Totale Ricavi, Risultato
File: CICBASTE, CICBASRI, CICGIORN, COGSLPCO, COGMERCI, COGMEMOR, COGPNCON. CALL: COGI06, COGS52, COGS54.
6. Flusso integrato¶
CONFIGURAZIONE:
├── COGI01 (tabella archivi → nomi file fisici)
├── COGI03 (inizializzazione selettiva archivi)
└── COGI32 (tabella numeratori)
ANAGRAFICHE (tutte su CICBASTE + CICBASRI):
├── COGI10 (gruppi attivita' → CICLAVOR)
├── COGI20 (lavorazioni, tipo=1, fino a 50 attivita')
├── COGI21 (macchine, tipo=2, coefficiente)
├── COGI22 (risorse/operai, tipo=3)
├── COGI23/COGI40 (colture, tipo=4, +magazzino)
├── COGI30 (legame coltura/voci controllo, tipo=5, fino a 90 voci C/R)
└── COGI35 (centri di costo, tipo=7, cod. 1-3 predefiniti)
RICERCA (sottoprogrammi condivisi):
├── COGI06 (orchestratore ricerca entita')
│ ├── COGI04 (ricerca per descrizione)
│ └── COGI05 (ricerca per codice)
├── COGI07 (ricerca attivita' per descrizione)
└── COGI08 (ricerca attivita' per codice)
TRANSAZIONALE:
└── COGI25 (inserimento ore lavorate — CORE)
└── Registra: Risorsa + Lavorazione + Ore + Coltura + Macchina → CICGIORN
CONSULTAZIONE:
├── COGI26 (giornale giornaliero — drill-down a COGI25)
├── COGI27 (riepilogo per lavorazione)
├── COGI28 (riepilogo per macchina)
├── COGI53 (riepilogo per risorsa)
└── COGI29 (riepilogo per coltura → dettaglio per lavorazione)
CALCOLO E REPORT:
├── COGI50 (calcolo centri di costo — batch)
│ └── Cascata: Manodopera(1) → Officina(2) → Macchine(3) → Colture(4-9)
├── COGI51 (stampa dettaglio centri di costo)
└── COGI52 (report economico finale per coltura)
└── Integra: Ore×CostoOrario + Magazzino + QuoteCC + VociContabili = Risultato
7. File principali¶
| File | Prefisso | Descrizione |
|---|---|---|
| CICTABEL | cic-tab- | Tabelle generiche (numeratori, parametri) |
| CICLAVOR | cic-lav- | Anagrafica attivita'/lavorazioni |
| CICBASTE | cic-bas- | Archivio base testata — 7 tipi entita' (1=lav., 2=macch., 3=ris., 4=colt., 5=dett., 7=CC) |
| CICBASRI | cic-bri- | Archivio base righe (legami entita'-attivita', conti contabili) |
| CICGIORN | cic-gior- | Movimenti giornalieri ore lavorate |
| CICFILES | rfi- | Tabella nomi file fisici |
Note tecniche:
- CICBASTE usa un campo
tipodiscriminante per memorizzare 7 tipi di entita' nello stesso file - I centri di costo codici 1-3 hanno logica a cascata: officina include manodopera, macchine include officina+manodopera
- I programmi di riepilogo creano file ISAM temporanei (
#$cogiNN.operatore) nella directory temp - Pattern COGI20/21/22/23 condividono struttura quasi identica, differiscono solo per
w-tipo
8. Tabella riepilogativa¶
| # | Programma | Righe | Tipo | Funzione |
|---|---|---|---|---|
| 1 | COGI01 | 567 | Configurazione | Gestione tabella archivi (nomi file fisici) |
| 2 | COGI03 | 780 | Configurazione | Inizializzazione selettiva archivi |
| 3 | COGI04 | 382 | Sottoprogramma | Ricerca entita' per descrizione (CICBASTE) |
| 4 | COGI05 | 382 | Sottoprogramma | Ricerca entita' per codice (CICBASTE) |
| 5 | COGI06 | 231 | Sottoprogramma | Ricerca generalizzata entita' (orchestratore) |
| 6 | COGI07 | 378 | Sottoprogramma | Ricerca attivita' per descrizione (CICLAVOR) |
| 7 | COGI08 | 376 | Sottoprogramma | Ricerca attivita' per codice (CICLAVOR) |
| 8 | COGI10 | 352 | Anagrafica | Gruppi di attivita'/lavorazioni |
| 9 | COGI20 | 603 | Anagrafica | Dati base Lavorazioni (tipo=1) |
| 10 | COGI21 | 593 | Anagrafica | Dati base Macchine (tipo=2) |
| 11 | COGI22 | 604 | Anagrafica | Dati base Risorse/Operai (tipo=3) |
| 12 | COGI23 | 533 | Anagrafica | Dati base Colture (tipo=4) |
| 13 | COGI40 | 642 | Anagrafica | Colture (alias di COGI23) |
| 14 | COGI25 | 782 | Transazionale | Inserimento ore lavorate (CORE) |
| 15 | COGI26 | 914 | Consultazione | Giornale giornaliero ore lavorate |
| 16 | COGI27 | 932 | Consultazione | Riepilogo ore per lavorazione |
| 17 | COGI28 | 944 | Consultazione | Riepilogo ore per macchina |
| 18 | COGI53 | 909 | Consultazione | Riepilogo ore per risorsa |
| 19 | COGI29 | 1.012 | Consultazione | Riepilogo ore per coltura/commessa |
| 20 | COGI30 | 641 | Anagrafica | Legame coltura/voci controllo costi-ricavi |
| 21 | COGI32 | 368 | Configurazione | Tabella numeratori |
| 22 | COGI35 | 658 | Anagrafica | Anagrafica centri di costo (tipo=7) |
| 23 | COGI50 | 551 | Calcolo batch | Calcolo centri di costo (cascata 1→2→3→colture) |
| 24 | COGI51 | 773 | Stampa | Stampa dettaglio centri di costo |
| 25 | COGI52 | 993 | Stampa | Report economico finale per coltura |
| TOTALE | ~14.720 |