Vai al contenuto

Colture — Gestione costi agricoli e ore lavorate

Area funzionale: Magazzino / Colture Programmi documentati: 25 | Righe totali analizzate: ~14.720


Indice

  1. Configurazione e utility
  2. Sottoprogrammi di ricerca
  3. Anagrafiche di base
  4. Inserimento e consultazione movimenti
  5. Calcolo e report
  6. Flusso integrato
  7. File principali
  8. 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 tipo discriminante 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