COGV54 - Bolle P.Nota Magazzino¶
Intestazione¶
| Campo | Valore |
|---|---|
| Programma | COGV54 |
| Titolo | Visualizzazione prima nota di magazzino |
| Posizione menu | Magazzino > Uscite > Visualizzazioni > Bolle p.nota magazzino; Magazzino > P.N. Magazzino > Visualizzazione |
Scopo e logica generale¶
COGV54 e' un programma di consultazione e stampa per le bolle di prima nota di magazzino. Presenta una maschera con filtro per magazzino e periodo date, una griglia paginata con i risultati da COGTRANS, e due modalita' di stampa (riepilogo e dettaglio). Il programma accede a COGL61 per la valorizzazione al prezzo medio/ultimo di acquisto. Dalla griglia e' possibile aprire COGV11 per la gestione della prima nota e WIN064 per il dettaglio.
Puo' essere invocato con linkage utilv11.cpy (campo v11-called, v11-bolla).
Flusso principale¶
- Inizializzazione (
apri): controllo abilitazione, lettura azienda, configurazione RNEWCONF (x99-confi,x99-confi1), apertura file, tasti funzione, creazione pulsanti custom (F5=Stampa Riepilogo, F6=Stampa Dettaglio con bitmap "stampe"), data sistema, recupero divisa conto (COGL61 o utility), creazione file transito COGTRANS (nome univoco per operatore) - Accept parametri (
a4→a-tm-mag→a-tm-da-data→a-tm-a-data): - Magazzino (
tm-mag): con aiuto WIN036 (F8), con configurazione (F1); vuoto = tutti i magazzini - Data inizio (
tm-da-data): con calendario COGS52W (F8); se configurato limite data (tm-cfg-data-limite = k-yes), legge COGTABEL tipo 57 e forza la data minima consentita - Data fine (
tm-a-data): con calendario COGS52W (F8); validazionetm-a-data >= tm-da-data - Conferma (
a-fine-dati): validazione globale, dialog conferma, avvio ricerca (a-ricerca) - Ricerca (
a-ricerca): scan delle bolle di prima nota per magazzino e periodo, valorizzazione al prezzo medio/ultimo di acquisto tramite COGL61, caricamento in COGTRANS; calcolo totalitot-tot-e/tot-tot-u - Griglia (
a-grid): - Caricamento paginato da COGTRANS con spaginamento
- PgDown/PgUp: navigazione paginata
- SF4: personalizzazione griglia (GRIDADMN)
- SF5: esportazione Excel
- F3: apertura COGV11 (
v11-called = "COGV11-CALLED",v11-bolla = tm-rif-bol(i)) - F5: stampa riepilogo (
s-stampacontipo-stampa = "S") - F6: stampa dettaglio (
s-stampacontipo-stampa = "D") - F8: apertura WIN064 (
w64-b-tipo/mag/numero/anno) - Stampa riepilogo (
s-stampa,riepilogo): stampa prospetto per bolla con valore entrate/uscite; intestazione con periodo, data stampa, paginazione - Stampa dettaglio (
s-stampa,dettaglio): stampa per merce con codice, descrizione, UM, quantita', prezzo medio acquisto, ultimo prezzo acquisto, valore entrate, valore uscite - Chiusura (
fine): chiusura file, cancel COGS15, delete COGTRANS,z-99-exit-program
File e tabelle acceduti¶
| File logico | Record | Modalita' | Uso |
|---|---|---|---|
| COGVOLBO | - | Input | Testate bolle prima nota magazzino (tipo "P") |
| COGVOLRI | - | Input | Righe bolle prima nota magazzino |
| COGMERCI | - | Input | Anagrafica merci (stampa dettaglio) |
| COGTABEL | euta-rec | Input | Tabelle sistema (tipo 57: data limite accesso) |
| COGMAGAZ | magz-rec | Input | Anagrafica magazzini (validazione tm-mag) |
| FLSTA | flsta-rec | Input | File stato (integrazione COGS15) |
| COGTRANS | trs-rec | I-O | File transito paginato (nome univoco per operatore) |
| FEURTAB | feurtab | Input | Tabella generica Eurosystem |
Struttura COGTRANS (transito)¶
trs-chia1:
trs-data pic 9(08) Data bolla (AAAAMMGG)
trs-chia:
trs-mag pic x(01) Magazzino
trs-ann pic 9(04) Anno
trs-tip pic x(01) Tipo bolla
trs-num pic 9(05) Numero bolla
trs-tip-ana pic x(01) Tipo anagrafico
trs-cau pic 9(02) Causale
trs-to pic 9(03) (uso interno)
trs-fl-ord pic x(01) Flag ordine
trs-val-e pic 9(12)v9(06) Valore entrate
trs-val-u pic 9(12)v9(06) Valore uscite
Struttura record griglia¶
grd-rif-bol: mag/ann/tip/num (identificativo bolla)
grd-data-bol: gg/mm/aaaa
grd-cau: codice causale (2 cifre)
grd-cau-des: descrizione causale (20 caratteri)
grd-val-e: valore entrate (13 caratteri)
grd-val-u: valore uscite (13 caratteri)
Copybook inclusi¶
Screen Designer¶
| Copybook | Contenuto |
|---|---|
cogv54-01.scr |
Maschera principale (screen section) |
cogv54.select |
SELECT dei file |
cogv54.fd |
FD dei file |
cogv54.wrk |
Working storage maschera |
cogv54.decla |
Declaratives (gestione errori cogtrans e flsta) |
Strutture dati e utility¶
| Copybook | Contenuto |
|---|---|
cogfiles.cpy |
FD feurtab |
flsta.cpy |
FD e record FLSTA |
k-u10.cpy |
Costanti COGU10 |
wgrave.cpy / wnscr.cpy / wopenf.cpy / wstato.cpy |
Working storage comuni |
cogazien.cpy |
Dati azienda |
wgrid.cpy / utilgdad.cpy |
Gestione griglie |
utilcogl61.cpy |
Interfaccia COGL61 (valorizzazione prezzo medio) |
utils52.cpy |
Interfaccia COGS52W (calendario) |
utils54.cpy |
Interfaccia COGS54 |
utilu10.cpy |
Utility importi/divise |
utilw36.cpy |
Interfaccia WIN036 (selezione magazzino) |
utilw64.cpy |
Interfaccia WIN064 (dettaglio bolla) |
utilncnf.cpy |
Struttura parametri RNEWCONF |
Linkage section¶
| Copybook | Contenuto |
|---|---|
wcont.cpy |
Linkage standard (user-area) |
utilv11.cpy |
Interfaccia chiamata: v11-called, v11-bolla |
wcont1.cpy |
Linkage section chiusura |
Programmi chiamati (CALL)¶
| Programma | Scopo |
|---|---|
| COGL61 | Valorizzazione prezzo medio/ultimo acquisto per merce |
| COGS15 | Gestione stampa (cancel alla chiusura) |
| COGS52W | Calendario per selezione date |
| COGS54 | Utility varie |
| WIN036 | Selezione magazzino (F8 su tm-mag) |
| WIN064 | Visualizzazione dettaglio bolla (F8 in griglia) |
| COGV11 | Inserimento/gestione prima nota magazzino (F3 in griglia) |
| GRIDADMN | Amministrazione griglia |
| RNEWCONF | Lettura configurazione |
Configurazione (RNEWCONF)¶
Il programma legge due blocchi di configurazione distinti (x99-confi e x99-confi1):
| Parametro | Campo | Utilizzo |
|---|---|---|
| Data limite | tm-cfg-data-limite |
Se "S": forza data inizio non inferiore alla data limite ricavata da COGTABEL tipo 57 (anno+mese+1 successivo) |
| Criterio valorizzazione | tm-cfg-criterio-valorizz |
Criterio di calcolo del prezzo medio/ultimo per la valorizzazione |
Logica di business¶
Limite data (tm-cfg-data-limite)¶
Se configurato il controllo data limite, all'accept di tm-da-data il programma legge COGTABEL tipo 57, record 1, per ricavare la data di accesso contabile (euta-dc-data-acc): estrae anno e mese, calcola il mese successivo (con wrap dicembre→gennaio) e impone tale data come minimo per tm-da-data. Se la data inserita e' inferiore, viene sostituita automaticamente e l'operatore e' rediretto al campo.
Valorizzazione al prezzo medio¶
Durante la ricerca (a-ricerca), per ogni riga di prima nota trovata, il valore viene calcolato tramite COGL61 usando il criterio configurato (tm-cfg-criterio-valorizz). I totali tot-tot-e e tot-tot-u (entrate/uscite) vengono accumulati su tutte le bolle nel periodo.
Stampa riepilogo (riepilogo)¶
Struttura stampa:
- testa0: intestazione "Riepilogo P.Nota di Magazzino dal ... al ... Stampato il ..."
- testa1: nome azienda, divisa, pagina
- testa2: intestazione colonne (N.bolla, Data, Valore Entrate, Valore Uscite)
- rigel: riga per bolla con numero, data, valore entrate, valore uscite
- Nota: "(N.B.: Valori stimati al Prezzo Medio di acquisto)"
Stampa dettaglio (dettaglio)¶
Struttura stampa:
- Intestazione con colonne: Merce, Descrizione, UM, Quantita', Prz.med.Acq., Prz.ult.Acq., Valore Entrate, Valore Uscite
- brg-dati: riga per merce con tutti i campi valorizzati
- Dati calcolati tramite COGL61 per prezzo medio e ultimo prezzo di acquisto
File transito COGTRANS¶
Nome univoco per operatore nella directory temporanea: {ext-tmp-dir}/{ext-os-slash}#{k-program-id}.{wo-oper}. Ricreato a ogni nuova ricerca. Eliminato alla chiusura.
Variabili di stato principali¶
| Variabile | Descrizione |
|---|---|
tm-mag |
Codice magazzino filtro (spaces = tutti) |
tm-da-data / tm-a-data |
Range date |
tm-cfg-data-limite |
Abilita controllo data limite da COGTABEL |
tm-cfg-criterio-valorizz |
Criterio valorizzazione (prezzo medio / ultimo) |
tipo-stampa |
"S" = riepilogo, "D" = dettaglio |
tot-tot-e / tot-tot-u |
Totali valore entrate/uscite |
n-m |
Righe nella pagina corrente |
fl-read |
Stato lettura paginata ("E" = fine) |
prz-med |
Prezzo medio corrente (calcolato per stampa) |
w-data-limite |
Data limite calcolata da COGTABEL (se configurata) |