Vai al contenuto

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

  1. 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)
  2. Accept parametri (a4a-tm-maga-tm-da-dataa-tm-a-data):
  3. Magazzino (tm-mag): con aiuto WIN036 (F8), con configurazione (F1); vuoto = tutti i magazzini
  4. 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
  5. Data fine (tm-a-data): con calendario COGS52W (F8); validazione tm-a-data >= tm-da-data
  6. Conferma (a-fine-dati): validazione globale, dialog conferma, avvio ricerca (a-ricerca)
  7. 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 totali tot-tot-e/tot-tot-u
  8. Griglia (a-grid):
  9. Caricamento paginato da COGTRANS con spaginamento
  10. PgDown/PgUp: navigazione paginata
  11. SF4: personalizzazione griglia (GRIDADMN)
  12. SF5: esportazione Excel
  13. F3: apertura COGV11 (v11-called = "COGV11-CALLED", v11-bolla = tm-rif-bol(i))
  14. F5: stampa riepilogo (s-stampa con tipo-stampa = "S")
  15. F6: stampa dettaglio (s-stampa con tipo-stampa = "D")
  16. F8: apertura WIN064 (w64-b-tipo/mag/numero/anno)
  17. Stampa riepilogo (s-stampa, riepilogo): stampa prospetto per bolla con valore entrate/uscite; intestazione con periodo, data stampa, paginazione
  18. Stampa dettaglio (s-stampa, dettaglio): stampa per merce con codice, descrizione, UM, quantita', prezzo medio acquisto, ultimo prezzo acquisto, valore entrate, valore uscite
  19. 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.

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)