Vai al contenuto

Ciclo Passivo (B2)

Panoramica

Il ciclo passivo (acquisti) gestisce il flusso dalla ricezione merci all'accertamento fatture fornitori. I programmi principali sono:

Ordine fornitore → Entrata merci (COGV14W) → Accertamento fattura (COGE20)
                                            → Chiusura lavorazioni (COGO46)
Programma Righe Funzione
COGV14W 26.778 Inserimento bolle di entrata (versione GUI)
COGE20 ~6.000 Accertamento fatture fornitori
COGO46 809 Chiusura lavorazioni su ordini chiusi

COGE20 e' documentato separatamente in accertamento-fatture-fornitori.md.


COGV14W — Inserimento bolle di entrata

Identificazione

  • Programma: COGV14W (versione GUI di COGV14)
  • Wrapper: COGV14 (148 righe) seleziona COGV14W (grafica) o COGV14C (classica) in base a RNEWCONF versione-programmi-ent
  • Autore: Eurosystem (conv. GUI: Gianluca 12/12/2010)
  • Area: Ciclo passivo / Magazzino
  • Descrizione: Gestione entrata merci da fornitori con matching ordini, lotti, qualita', ASN
  • Righe: 26.778 (build 2026/0044, SCREENS 2.13.0)
  • Menu: Magazzino > Entrate

Funzionalita' principale

COGV14W e' il programma centrale di entrata merci nel ciclo passivo. Gestisce:

  • Inserimento/modifica/cancellazione bolle di entrata da fornitori
  • Matching automatico e manuale con ordini di acquisto
  • Tracciabilita' lotti (COGMERLT) e matricole/seriali (COGMATRI)
  • Integrazione controllo qualita' (Q3)
  • Integrazione ASN (Advanced Shipping Notice) per ambiente ASSIST
  • Resi da cliente con creazione NAC (Nota di Accredito)
  • Lavorazioni conto terzi con rientro merce
  • Import/export righe da Excel (COGPA9)
  • Interfaccia tablet per lettura barcode

Flusso operativo

1. Inizializzazione (apri, riga 1316)

  • Riconoscimento contesto: chiamato da COGU30 (portale) oppure diretto
  • Setup GUI: bitmaps, key functions, form multipage
  • Caricamento 59 parametri RNEWCONF (x99-confi)
  • Apertura file: ~50 file tra principali, ASN e transitori
  • Se ASSIST attivo (az-assist = "S"): apertura file ASN (ASNMATRI, ASNINTES, ASNINTE2, ASNINDMG, ASNCHTES, ASNCHDET, ASNCNMTF)

2. Interfaccia utente (4 pagine)

Pagina Contenuto
1 - Testata Magazzino, data, causale, fornitore, num. bolla, condizioni pagamento, divisa
2 - Dettagli Dati fornitore, magazzino secondario, trasporto, spese
3 - Varie Dati commerciali, agenti, destinazione, commessa
4 - Righe Griglia righe merce con popup menu contestuale

Tasti funzione:

  • F1: Configurazione
  • F3: Conferma/aggiorna
  • F4: Cancella
  • F5: Sconto su prezzo
  • S-F5: Descrizioni aggiuntive
  • F8: Calendario
  • F9: Ricerca prezzi
  • S-F4: Operazioni griglia (inserimento/cancellazione righe)

3. Validazione

Testata:

  • Data non retroattiva, formato GGMMAAAA
  • Causale validata su COGTABEL
  • Fornitore su COGDBASE (anagrafica)
  • Unicita' bolla per fornitore/data
  • Magazzino su COGMAGAZ con controllo autorizzazione

Righe:

  • Merce su COGMERCI (anagrafica articoli)
  • Quantita' con decimali, controllo vs. ordine
  • Prezzo controllato se abilitato da configurazione
  • Sconto fino a 2 livelli
  • Lotto/seriale obbligatorio se gestito
  • IVA determinata automaticamente da COGTABEL

4. Salvataggio (a-fine-agg-acc, riga ~5183)

Per ogni bolla confermata:
1. Scrittura COGTESBO (testata bolla)
2. Per ogni riga:
   a. Scrittura COGMOMAG (movimento magazzino)
   b. Se lotti: creazione COGMOVLT (movimento lotti)
   c. Se Q3 attivo: creazione record COGQS6 (controllo qualita')
   d. Se ASN attivo: creazione ASNMATRI + ASNINDMG + ASNINTE2
   e. Se matricole: insert in COGMATRI
3. Update COGCONOR (quantita' ricevuta su ordine)
4. Se causale contabilizzante: movimenti contabili
5. Se WMS attivo: invio a WMSW01
6. Se resi da cliente con fattura: lancio COGV40 (NAC)
7. Cancellazione file transitori

5. Chiusura (fine, riga 5524)

  • Close e DELETE file transitori (cogtrans, cogtrans2/3/4, tran-*)
  • Close file ASN se aperti
  • CANCEL moduli caricati
  • Exit program

Parametri RNEWCONF (59 parametri)

Configurazione causali (1-6)

# Gruppo Chiave Effetto
1 COGV17 resi da cliente con aggancio SN tm-cfg-autolink
2-6 MERCI V14/15:CAUSALE (x5) tm-cfg-causale (array 5 causali)

Configurazione operativa (7-40)

# Chiave Campo Effetto
7 USO DISTRIBUZIONE tm-cfg-distrib Abilita distribuzione
8 attiva-partite-magazzino tm-cfg-ges-cau-mag Partite cauzioni
9 scarico automatico lotti tm-cfg-sca-aut-lotti Auto-scarico lotti in conto terzi
10 gestione-odp tm-cfg-gestione-odp Ordini di pronuncia
12 lotti-entrata-completi tm-cfg-lt-entrata Lotti obbligatori in entrata
14 porto-con-codice tm-cfg-porto-cod Porto con codice
18 causale-ins-entrata-fornitore tm-cfg-cau-def Causale default entrata
21 euta-c016-vis-lfo tm-cfg-vis-lfo Visibilita' listino fornitore
22 euta-c016-agg-lfo tm-cfg-agg-lfo Aggiornamento LFO in entrata
23 euta-c016-qta-dec tm-cfg-qta-dec Quantita' con decimali
25 euta-c016-val-ord tm-cfg-val-ord Validazione ordine
26 euta-c016-pre-prop tm-cfg-pre-prop Proposta prezzo automatica
27 euta-c016-ctr-pre tm-cfg-ctr-pre Controllo prezzo
29 euta-c016-agg-pma tm-cfg-agg-pma Agg. prezzo medio acquisto
30 q3-ges-qualita tm-cfg-q3-ges Abilita controllo qualita' Q3
31 q3-mag-controlli tm-cfg-q3-mag Magazzino qualita'
38 lancio-nac-automat tm-cfg-crea-nac-automatica Creazione NAC automatica
39 cau-riparazione-assist tm-cfg-cau-riparazione-assist Causale riparazione ASSIST
40 tipi-doc-per-causale tm-cfg-doc-per-causale Tipi doc per causale

Configurazione ASSIST e matricole (41-59)

# Chiave Campo Effetto
41 TIPO-MATRICOLA-DA-RIPARARE tm-cfg-tip-mtr-gen Tipo matricola riparazioni
44 RIPARAZIONE-ASSIST-SOLO-SN tm-cfg-chiamate-solo-sn Solo con serial number
45 gestione-gruppo-aziende tm-cfg-gruppo-aziende Gruppo aziende ASSIST
49 attiva-prenotazioni tm-cfg-attiva-prenotazioni Prenotazioni
55 path-interscambio-dm tm-cfg-path-int-dm Path per import/export Excel
57 gestione-tablet tm-cfg-gestione-tablet Abilitazione tablet
58 prg-creazione-bdp tm-cfg-prg-creazione-bdp Programma creazione BdP

Integrazioni

Matching ordini di acquisto

  • Automatico (tm-cfg-autolink = "S"): ricerca ordine fornitore nel periodo, collegamento righe
  • Manuale: lookup COGU12 per selezione ordine
  • Controllo residuo: verifica quantita' residua vs. ordinata, ricevimento parziale ammesso
  • Update COGCONOR con quantita' ricevuta; chiusura riga se completata

Lotti e matricole

  • Lotti (COGMERLT): se tm-cfg-lt-entrata = "S", tracciamento obbligatorio; movimenti COGMOVLT
  • Matricole (COGMATRI): se merce ha gestione seriale, inserimento obbligatorio via COGU69

Controllo qualita' (Q3)

  • Attivazione: tm-cfg-q3-ges = "S"
  • Per ogni riga: creazione entry in COGQS6 con stato INCONTROLLO
  • Magazzino qualita' dedicato: tm-cfg-q3-mag
  • Blocco movimenti fino a collaudo

ASN (Advanced Shipping Notice) — ambiente ASSIST

  • Attivazione: az-assist = "S"
  • File: ASNMATRI, ASNINTES, ASNINTE2, ASNINDMG, ASNCHTES, ASNCHDET, ASNCNMTF
  • Creazione matricole magazzino con associazione a matricole ASSIST
  • Creazione chiamate laboratorio automatiche
  • Elaborazione con ASN510 e ASNS14

WMS

  • Se moduli WMSW01 disponibili: invio movimenti magazzino, segnalazione allocazioni

Resi da cliente

  • Causale specifica (COGV17): lancio COGV40 per NAC (Nota di Accredito Cliente)

Conto terzi (lavorazioni esterne)

  • Tracciamento ordini lavorazione (COGLAVLA)
  • Mapping merce terzi (COGMTUSC) vs. merce interna
  • Gestione rientro merce

Import/export Excel (COGPA9)

  • Da popup menu griglia: k-pmg-int-dm-esporta (151), k-pmg-int-dm-importa (152)
  • File interscambio: COGPA9-DATI

File principali

File Prefisso Operazioni Descrizione
COGTESBO tes- R/W/D Testata bolle di entrata
COGMERCI mer- R Anagrafica articoli
COGCONOR cor- R/W Righe ordini di acquisto
COGDBASE dba- R Anagrafica fornitori/clienti
COGMAGAZ mag- R Anagrafica magazzini
COGTABEL euta- R Tabelle di sistema
COGMOMAG mom- W Movimenti magazzino
COGMERFO mfo- R Prezzi fornitore
COGGENER gen- R Numeratori generali
COGRACCO rac- R Accordi commerciali (sconti)
COGMERLT mlt- R/W Tracciabilita' lotti
COGMATRI mtr- R/W Tracciabilita' matricole (SN)
COGMOVLT mvl- W Movimenti lotti
COGMERA2 m2- R Merci secondarie
COGMERSP msp- R Merci speciali
COGTESAP tap- R/W Testata allocazioni
COGCONTR cnt- R/W Contratti conto terzi
COGMTUSC mtu- R Mapping merce terzi
COGLAVLA lav- R Testata lavorazioni
COGDESAG dag- R/W Descrizioni aggiuntive
COGQS6 q3- W Controllo qualita' (Q3)
COGTRASP tra- R/W Dati trasporto
ASNMATRI asnm- R/W Matricole ASN
ASNINTE2 asn2- R/W Intestazione ASN documento
ASNINDMG asni- R/W Indici magazzino ASN

File transitori: cogtrans, cogtrans2, cogtrans3, cogtrans4, tran-d97, tran-s47, tran-v32, tran-u30, tran-v14w, trsmatri.

Catena di chiamata

Programmi di gestione core

Programma Funzione
COGV14UP Update bolla di entrata
COGV14R Report bolla di entrata
COGV14T Trasferimento dati
COGV32 Gestione ordini speciali
COGV37 Elaborazione causali contabili
COGV40 Creazione NAC (Nota di Accredito Cliente)
COGV52 Gestione allocazioni
COGV94 Gestione resi
COGV15 Guida per entrata merci (wizard)
COGV60 Ricerca ordini da cliente

Qualita' e ASN

Programma Funzione
COGQS6 Gestione controllo qualita' Q3
COGQB3 Controllo qualita' batch
ASN510 Elaborazione ASN principale
ASNS14 Elaborazione logistica ASN
ASN203 Gestione matricole ASN
ASN599 Gestione progressivi ASN

Lookup e ricerca

Programma Funzione
COGU10W Ricerca anagrafica articoli
COGU07 Ricerca multi-campo
COGU09 Ricerca anagrafica base
COGU11 Ricerca lotti
COGU12 Gestione ordini acquisto
COGU18 Ricerca dettagli articolo
COGU06 Calendario/date picker
COGU61 Gestione file serial/batch
COGU65 Ricerca documento
COGU69 Gestione matricole (CRUD)
COGU35W Gestione commesse
COGU38 Gestione magazzino

Servizi e utility

Programma Funzione
COGS01F Definizione colonne griglia
COGS25 Ricerca avanzata
COGS46W Scelta anagrafica
COGS47 Ricerca puntuale
COGS60W Combo box dinamiche
COGS65W Ricerca anagrafica secondaria
COGS72 Gestione allegati
COGS91 Gestione note
COGS0B Ricerca articoli base
COGSA0 Ricerca ordine/riga
COGSA7 Gestione disponibilita'
COGSA8 Calcolo logistica
COGSA9 Gestione note sistema
COGSAA Gestione modello documento
COGSW1 Gestione flusso lavoro
COGD02 Gestione movimenti
COGE18 Gestione errori
COGE22 Gestione allocazioni dettaglio
COGY68 Estrazione dati
COGM44 Cancellazione dati bulk
WMSW01 Interfaccia WMS
COGPA9 Import/export Excel
GRP002 Gestione gruppo aziende
RNEWCONF Configurazione runtime

Note tecniche

Copybook principali

  • cogv14w.wrk: Working storage (variabili form, flag, accumulatori)
  • cogv14w.fd: File descriptor
  • cogv14w.select: File control (66 file dichiarati)
  • cogv14w.prc: Procedure GUI standard (generato da SCREENS)
  • cogv14w.decla: Declaratives (gestione errori file)
  • cogv14w.version: Build 2026/0044

Paragrafi principali

Paragrafo Riga Funzione
apri 1316 Inizializzazione e apertura
a-pagina-ts1/ts2/rig ~1700+ Navigazione pagine
a-tm-* 2159-4044 Validazione campi testata
a-grid, a-accept-grid 4185-4533 Gestione griglia righe
a-richiesta-agg-acc ~5053 Richiesta aggiornamento
a-fine-agg-acc ~5183 Salvataggio
fine 5524 Chiusura e exit
x9-entrata-ripar ~5589 Entrata riparazione ASSIST
x99-confi ~24215 Caricamento RNEWCONF
z-99-init-program - Inizializzazione generale
z-99-event-form - Gestione eventi form

Modalita' di chiamata

  • Diretta da menu: autonomo
  • Da COGU30 (portale): fl-u30 = "S", ritorno con flag esito
  • Da COGV14-CALLED: parametri in linkage
  • Da COGV14-INSORD: inserimento con ordine precaricato
  • Operazioni speciali via w-dc-ope: ava-lav-est (avanzamento lavoro esterno), cls-lav-est (chiusura)

Chiavi di ricerca COGTESBO

  • Primary: mag + anno + tipob + bolla3
  • K05: data + mag + anno + causale (per data)
  • K06: anno + causale + data (per causale)

COGO46 — Chiusura lavorazioni su ordini chiusi

Identificazione

  • Programma: COGO46
  • Autore: Gianluca Tonti
  • Area: Gestione ordini / Produzione
  • Descrizione: Chiusura flag lavorazione su consegne di ordini chiusi manualmente
  • Righe: 809

Nota: nel piano era indicato come "Ordini fornitori", ma in realta' e' un programma di utility per la chiusura amministrativa di lavorazioni su ordini gia' chiusi.

Funzionalita' principale

COGO46 gestisce la chiusura amministrativa delle lavorazioni su ordini chiusi manualmente. Per ogni ordine nel range specificato:

  1. Verifica quali consegne hanno lavorazioni marcate come attive (cor-fl-lav)
  2. Controlla se esistono lavorazioni effettive in COGLAVOR
  3. Se non ci sono lavorazioni attive: propone la chiusura all'utente
  4. Esegue: aggiornamento flag, cancellazione impegni magazzino, ripristino giacenze

Flusso operativo

1. Inizializzazione (A000)

  • Apertura file: COGMAGAZ, COGTESOR, COGCONOR, COGLAVOR, COGMOVDB
  • Lettura configurazione RNEWCONF: parametro euta-c019-mag-stoc (magazzini stoccaggio)
  • Se o46-called = "COGO46-CALLED": elaborazione diretta su singolo ordine (senza maschera)

2. Maschera interattiva (A4)

Titolo: "Chiusura Lavorazione su Ordini Chiusi"

Campo Descrizione
tm-mag Magazzino (validato su COGMAGAZ)
tm-da-ordine Range inizio (tipo, anno, numero, progressivo)
tm-a-ordine Range fine

Conferma con F3 per lanciare l'elaborazione.

3. Ricerca ordini (TRATTA-DATI)

  • Scansione COGTESOR da tm-da-ordine a tm-a-ordine
  • Per ogni ordine: solo se chiuso (tor-chiu = 'C') e chiuso manualmente (tor-chiu-manuale = "S")
  • Visualizzazione in tabella scrollabile (13 righe)

4. Analisi lavorazioni (CICLO-CONOR)

Per ogni consegna dell'ordine (COGCONOR):

  • Se cor-fl-lav = "N": salta (gia' chiusa)
  • Cerca lavorazioni in COGLAVOR (chiave chia5: ordine + consegna)
  • Determina flag fl-conor:
  • spaces: nessuna riga da lavorare
  • "1": lavorazioni in corso (non chiudibili)
  • "2": lavorazioni chiudibili (nessuna in COGLAVOR)

Display stato per ogni ordine:

  • fl-conor = spaces → "Ordine senza righe da produrre"
  • fl-conor = "1" → "Ordine con lavorazioni in corso"
  • fl-conor = "2" → "Ordine con lavorazioni chiudibili" → propone elaborazione

5. Chiusura (TRATTA-CONOR)

Per ogni consegna chiudibile:

  1. Update COGCONOR: move "N" to cor-fl-lav + rwr-cogconor
  2. Cancellazione impegni (TRATTA-IMPEGNO):
  3. CALL "COGM96" con operazione "Canc-Consegna", tipo "O" (ordine)
  4. CALL "COGM96" con operazione "Canc-Consegna", tipo "C" (consegna)
  5. Ripristino giacenze (TRATTA-MOVDB):
  6. Loop su COGMOVDB con tipo 'CC' (Consegna Cliente)
  7. del-cogmovdb: cancellazione movimento
  8. CALL "COGU12": ripristino quantita' in magazzino (tipo "I" = impegno)

File utilizzati

File Prefisso Operazioni Descrizione
COGMAGAZ magz- R Anagrafica magazzini
COGTESOR tor- R Testata ordini (EXTERNAL)
COGCONOR cor- R/W Consegne ordini
COGLAVOR cla- R Conto lavorazione (commesse produzione)
COGMOVDB mdb- R/D Movimenti distinta base

Catena di chiamata

Programma Funzione
COGS52 Input/validazione anno con popup calendario
COGM96 Gestione impegni magazzino — operazione "Canc-Consegna"
COGU12 Aggiornamento giacenza magazzino — tipo "I" (impegno)
RNEWCONF Lettura configurazione runtime

Modalita' di chiamata

Modalita' Condizione Comportamento
Interattiva o46-called != "COGO46-CALLED" Maschera completa con selezione range
Diretta o46-called = "COGO46-CALLED" Elabora singolo ordine da o46-ordine e termina

Note tecniche

Posizioni chiave

  • Riga 233: A000 — inizializzazione
  • Riga 431: TRATTA-DATI — ricerca ordini
  • Riga 492: CICLO-CONOR — analisi lavorazioni
  • Riga 599: TRATTA-CONOR — chiusura lavorazioni
  • Riga 641: TRATTA-IMPEGNO — cancellazione impegni (COGM96)
  • Riga 661: TRATTA-MOVDB — ripristino giacenze (COGU12)

Configurazione RNEWCONF

Un solo parametro: euta-c019-mag-stoc — se "S", usa magazzino stoccaggio (mdb-mag-stoccaggio) nelle operazioni COGU12.


Flusso complessivo del ciclo passivo

                    ┌─────────────────────────────┐
                    │  Ordine fornitore (COGO14)   │
                    │  [non ancora documentato]     │
                    └─────────────┬───────────────┘
                                  │
                                  ▼
┌─────────────────────────────────────────────────────────────┐
│  COGV14W — Entrata merci (26.778 righe)                     │
│  ┌──────────────────────────────────────────────────────┐   │
│  │ Testata: mag, data, causale, fornitore, bolla        │   │
│  │ Righe: merce, qta, prezzo, sconto, lotto, IVA       │   │
│  └──────────────────────────────────────────────────────┘   │
│  Integrazioni:                                              │
│  ├─ Matching ordini → COGCONOR                              │
│  ├─ Lotti → COGMERLT, COGMOVLT                              │
│  ├─ Matricole → COGMATRI                                    │
│  ├─ Qualita' Q3 → COGQS6                                   │
│  ├─ ASN/ASSIST → ASNMATRI, ASNINTE2, ASNINDMG             │
│  ├─ WMS → WMSW01                                           │
│  └─ Resi → COGV40 (NAC)                                    │
│  Output: COGTESBO (testata) + COGMOMAG (movimenti)          │
└─────────────────────────────────────────────────────────────┘
                                  │
                    ┌─────────────┼─────────────┐
                    ▼                           ▼
┌───────────────────────────┐  ┌────────────────────────────┐
│  COGE20 — Accertamento    │  │  COGO46 — Chiusura lav.    │
│  fatture fornitori        │  │  su ordini chiusi           │
│  (doc. separata)          │  │                             │
│  ┌─────────────────────┐  │  │  ┌──────────────────────┐  │
│  │ Selezione bolle     │  │  │  │ Scan COGTESOR        │  │
│  │ Griglia IVA         │  │  │  │ Analisi COGCONOR     │  │
│  │ Scadenze pagamento  │  │  │  │ Verifica COGLAVOR    │  │
│  │ Ritenute             │  │  │  │ Chiusura fl-lav      │  │
│  │ Gestione intracom.  │  │  │  │ Ripristino giacenze  │  │
│  └─────────────────────┘  │  │  └──────────────────────┘  │
│  Output: COGFATTU + pco   │  │  Update: COGCONOR, COGMOVDB│
└───────────────────────────┘  └────────────────────────────┘

File nuovi rispetto a documenti precedenti

File Prefisso Descrizione
COGDBASE dba- Anagrafica base (fornitori/clienti)
COGMERFO mfo- Prezzi fornitore
COGGENER gen- Numeratori generali
COGMOVLT mvl- Movimenti lotti
COGMERSP msp- Merci speciali
COGTESAP tap- Testata allocazioni
COGCONTR cnt- Contratti conto terzi
COGMTUSC mtu- Mapping merce terzi
COGLAVLA lav- Testata lavorazioni
COGDESAG dag- Descrizioni aggiuntive
COGTRASP tra- Dati trasporto
COGLAVOR cla- Conto lavorazione (commesse produzione)
COGMOVDB mdb- Movimenti distinta base
ASNMATRI asnm- Matricole ASN
ASNINTE2 asn2- Intestazione ASN documento
ASNINDMG asni- Indici magazzino ASN