COGG4E - Inventario commesse¶
Panoramica¶
Programma GUI a filtri + griglia per la gestione dell'inventario dei magazzini di commessa (magazzini di tipo "S", identificati dal codice commessa). Ricostruisce le giacenze calcolate per una data di elaborazione partendo dalle giacenze di commessa estratte da COGR32, le confronta con le quantita' inventariate (rilevate manualmente), le espone in una griglia editabile e, su richiesta (F5), genera la prima nota di adeguamento giacenza per allineare la giacenza contabile a quella inventariata. E' pensato per il conteggio fisico periodico dei materiali presenti nelle commesse aperte.
Posizione nel menu¶
| Menu | Percorso |
|---|---|
| Magazzino | Inventario > Inventario commesse |
Struttura del programma¶
File e tabelle utilizzati¶
| File/Tabella | Tipo | Descrizione |
|---|---|---|
| FEURTAB | Input | Tabella di sistema (nomi file) |
| COGINVLV | I-O | Archivio inventario per commessa: lnv-data, lnv-mag-tip = "S", lnv-mag-cod (commessa), lnv-merce, lnv-qta-cal (giacenza calcolata) e lnv-qta-inv (giacenza inventariata) |
| COGTESCM | Input | Testate commessa: seleziona le commesse aperte (tsc-data-chi = 0, tsc-stato <> "C"); usata anche per la descrizione breve (chiave secondaria .k05) |
| COGMERCI | Input | Anagrafica articoli (unita' di misura, gruppo/sottogruppo/codice) |
| COGMOMAG | Output | Movimenti di magazzino generati in fase di adeguamento giacenza |
| COGTESBO | Output | Testate documento generate per la prima nota di adeguamento |
| COGMERAP | Input | Anagrafica articoli aggiuntiva (referenziata via .select) |
| COGTABEL | Input | Tabella generica (referenziata via .select) |
| t-cogr32 (COGTRANS) | Input | File di transito indicizzato con le giacenze di commessa prodotte da COGR32; nome temporaneo per operatore/data/ora |
| t-grid-det | I-O | File di transito indicizzato per la griglia di dettaglio |
Copybook principali¶
| Copybook | Descrizione |
|---|---|
| cogg4e.select / cogg4e.fd / cogg4e.wrk / cogg4e.decla / cogg4e.prc | SELECT, FD, working storage, declaratives e procedure di I/O (generati da Screens) |
| cogg4e-01.scr / cogg4e.tm | Screen section (filtri + griglia e-grid-det) e area dati modificabili |
| cogg4e.imppredf / cogg4e.imppredf-wrk | Gestione filtri predefiniti (salva/carica impostazioni) |
| t-cogr32-saldi.fd / .cpy | SELECT/FD e record del transito saldi commessa |
| wgrid.cpy / utilgdad.cpy | Gestione griglia e interfaccia GRIDADMN |
| utilr32.cpy (linkage) | Parametri di chiamata a COGR32 |
| utils25/s52/s68/s93/u10/u12/u18/u20/u35w/u38 | Aree di comunicazione con le rispettive subroutine |
| utilcogv33p.cpy / utilcogl61.cpy / utilncnf.cpy | Parametri COGV33P (valorizzazione), COGL61 (prezzi) e RNEWCONF |
| cogtescm.k05 | Chiave secondaria COGTESCM (data chiusura) |
| call-u35.cpy / getdcont.cpy | Routine di aiuto commessa e divisa conto |
| wgrave/wnscr/wopenf/wstato/cogazien | Working storage errori, video, apertura file, stato I/O, dati azienda |
| grave/mmmask/opengen/stato/stato1/winmsg | Errori gravi, maschera, apertura generica, stato verbi, messaggi |
Chiamate a sottoprogrammi (CALL)¶
| Programma | Scopo |
|---|---|
| COGR32 | Estrazione delle giacenze di commessa alla data richiesta; scrive il file di transito indicizzato letto dal programma |
| COGV33P | Selezione della modalita' di valorizzazione della prima nota di adeguamento (prezzo acquisto / PMA) |
| COGL61 | Ricerca del prezzo unitario (prezzo acquisto o prezzo medio acquisto) per la valorizzazione |
| COGU10W | Formattazione/arrotondamento importi e conversione divisa |
| COGU12 | Aggiornamento giacenza articolo in fase di scrittura del movimento di adeguamento |
| COGU18 | Creazione del legame movimento-commessa (raccordo "RD") |
| COGU38 | Aggiornamento del collegamento di commessa (operazione "update") |
| COGS25 | Numerazione automatica del documento di prima nota |
| GRIDADMN | Gestione e personalizzazione della griglia paginata (Shift-F4) |
Logica di elaborazione¶
1. Inizializzazione (apri)¶
Imposta nome programma per help/errori, verifica l'abilitazione (ctr-abil), legge la divisa conto e i dati azienda, apre i file. Legge le tre configurazioni RNEWCONF del gruppo commesse (cau-inv-uscita, cau-inv-entrata, magazzino-scarico, in x99-confi), abilita i tasti funzione (F1 configura, F3 conferma, F5 genera documento, F9 stampa, Sf4 griglia, Sf5 export Excel), compone il nome del file di transito COGR32-data-ora.operatore, crea il menu pop-up di griglia, carica le bitmap custom e prepara i pulsanti "Salva impostazione" (Ctrl-S) e "Cerca impostazione" (Ctrl-F). Imposta il titolo "Inventario commesse", prepara la griglia e i controlli.
2. Filtri (a4 e paragrafi a-tm-*)¶
L'operatore imposta i filtri di testata: commessa (tm-com-cod, con aiuto COGU35; vuoto = tutte le commesse aperte), data elaborazione (tm-data), "Ricreo archivio?" (tm-ini), "Trattamento dati precedenti" (tm-canc: I = mantieni inventariati, G = usa calcolato come inventario, altro = cancella) e "Valorizzazione inventario" (tm-valorizza: U = prezzo acquisto, M = PMA). Alla conferma (a-richiesta-conferma), se e' stata richiesta la ricreazione (tm-ini = "S" o tm-canc <> "I"), esegue a1-ricreo-archivio.
3. Ricreazione archivio inventario (a1-ricreo-archivio)¶
Scandisce COGINVLV per la data e il tipo "S": se tm-canc = "I" conserva i record con quantita' inventario azzerando la quantita' calcolata, altrimenti cancella. Poi ricrea l'inventario: per ciascuna commessa aperta (COGTESCM con tsc-data-chi = 0 e stato diverso da "C") chiama a1-estrai-commessa; se il filtro commessa e' valorizzato elabora solo quella.
4. Estrazione giacenze di commessa (a1-estrai-commessa)¶
Chiama COGR32 in modalita' silent (r32-tip-ela = "M", r32-crea-transito = "S") che scrive nel file di transito t-cogr32 le giacenze della commessa alla data. Riapre il transito in input e per ogni riga aggiorna COGINVLV: se il record non esiste lo crea (lnv-movim = "S"), somma la giacenza in lnv-qta-cal e, se tm-canc = "G", riporta il calcolato anche nella quantita' inventario.
5. Costruzione griglia (z-grid-det-crea-transito)¶
Ricarica il transito di griglia da COGINVLV per la data (e la commessa se filtrata): per ogni articolo valorizza descrizione commessa (da COGTESCM), articolo, unita' di misura (COGMERCI), quantita' inventario (lnv-qta-inv) e giacenza calcolata (lnv-qta-cal), il costo unitario (COGL61 secondo tm-valorizza) e il costo totale. Le righe sono ordinate per commessa e articolo.
6. Gestione griglia (a-grid)¶
Ciclo di accept sulla griglia con la quantita' inventario editabile: la modifica di tm-r-qta ricalcola il costo totale e aggiorna direttamente COGINVLV (lnv-qta-inv). Tasti disponibili: Sf4 (personalizzazione griglia GRIDADMN), Sf5 (export Excel), F5 (adeguamento giacenze), F9 (report Word), menu pop-up di griglia.
7. Adeguamento giacenze (b-adeguamento-giacenze)¶
Previa verifica che le causali di entrata/uscita e il magazzino di transito commesse siano configurati, chiede conferma e la modalita' di valorizzazione (COGV33P). Genera la prima nota di adeguamento eseguendo due passate su COGINVLV: prima le entrate (b1-segno = "E") poi le uscite (b1-segno = "U"). Per ogni riga in cui la quantita' inventario differisce dalla calcolata crea, ogni 200 righe o al cambio commessa, una testata documento (b11-testa, con numerazione COGS25) e un dettaglio movimento (b12-riga): scrive COGMOMAG con la differenza (in entrata qta-inv - qta-cal, in uscita qta-cal - qta-inv), valorizza il prezzo tramite COGL61/COGU10W, crea il legame commessa (COGU18) e aggiorna giacenza (COGU12) e collegamento (COGU38). Al termine mostra il range di documenti creati.
8. Chiusura (fine / z-chiudi)¶
Chiude i file, elimina i transiti t-grid-det e t-cogr32, distrugge il menu di griglia, chiude la finestra ed esegue z-99-exit-program.
Note tecniche¶
- Magazzino commessa = tipo "S": l'inventario e' memorizzato in COGINVLV con
lnv-mag-tip = "S"elnv-mag-cod= codice commessa; la chiave e' composta anche dalla data di elaborazione, quindi coesistono inventari a date diverse. - Due quantita' distinte:
lnv-qta-cale' la giacenza calcolata dal gestionale (ricostruita da COGR32),lnv-qta-inve' la quantita' rilevata in inventario ed editabile in griglia. L'adeguamento genera i movimenti per portare la giacenza contabile al valore inventariato. - Configurazioni RNEWCONF gruppo
commesse:cau-inv-entrataecau-inv-uscita(causali dei movimenti di adeguamento) emagazzino-scarico(magazzino di transito su cui vengono creati i documenti). Se non configurate, l'adeguamento e' bloccato con messaggio. - Transito COGR32: il file
t-cogr32e' il file COGTRANS ridefinito viareplacingnel copybookcogtrans.k01; il nome fisico e' univoco per operatore, data e ora. COGR32 e' chiamato per commessa in loop. - Valorizzazione: sia in griglia sia in adeguamento il costo unitario e' ricavato da COGL61 (U = prezzo acquisto, M = PMA) e formattato/convertito da COGU10W nella divisa conto.
- Programma generato da Screens (versione 2.13.1): filtri, griglia e routine di I/O provengono dai file
cogg4e.select/.fd/.wrk/.decla/.prc/.tme dalla screencogg4e-01.scr. La griglia usa il file di transito indicizzatot-grid-detcon doppia chiave (ordinamento) ed e' amministrata da GRIDADMN. Sono incluse le chiavi secondariecogtescm.k05(data chiusura commessa).