Vai al contenuto

COGM72 - Visualiz. Storico

Scopo

Visualizzazione delle versioni storiche di una distinta base. Mostra la composizione e la valorizzazione dei componenti per una specifica versione (corrente o storica), con griglia paginata, stampa e esportazione Excel.

Struttura

Programma standalone con maschera GUI e griglia paginata (mmmask.cpy). Flusso principale:

  1. Selezione: accept di codice distinta, versione e tipo prezzo
  2. Elaborazione: lettura componenti dalla distinta corrente (COGDBASE) o dallo storico (COGDBSTR), scrittura su file di transito temporaneo
  3. Visualizzazione: griglia paginata con componenti, prezzi e importi
  4. Funzioni accessorie: stampa (F9), export Excel (Shift+F5), personalizzazione griglia (Shift+F4)

Puo' essere chiamato da altri programmi (utilm72-called): in tal caso, il codice distinta viene passato in linkage e la selezione salta direttamente alla versione.

Tabelle/File utilizzati

Tabella Accesso Descrizione
COGMERCI Lettura Anagrafica merci - validazione distinta e recupero UM componenti
COGDBASE Lettura Distinta base corrente - lettura componenti se versione "Corrente"
COGDBSTR Lettura Storico distinte - lettura componenti per versioni storiche
COGDBSTT Lettura Testata storicizzazione - validazione versione, data e note
COGTRANS I-O (file transito) File temporaneo indicizzato per griglia paginata
COGPRMED Lettura Prezzi medi - per valorizzazione componenti (versione corrente)
FEURTAB Configurazione Tabella configurazioni standard

File di transito (COGTRANS)

File temporaneo indicizzato creato in ext-tmp-dir, con nome formato #$COGM72.{operatore}{parametro}. Record: - trs-merce-f (PK), trs-qta, trs-um, trs-curr, trs-prezzo, trs-importo, trs-perc-val

Logica di elaborazione

Versione "Corrente" (ela-dbase)

  1. Posizionamento su COGDBASE per distinta (dba-gru/sot/cod)
  2. Per ogni componente:
  3. Legge UM da COGMERCI
  4. Cerca prezzo medio (cerca-prmed)
  5. Calcola importo = prezzo * quantita'
  6. Scrive su COGTRANS
  7. Accumula totale distinta in tm-totale

Versione storica (elabora -> tratta-cogdbstr)

  1. Posizionamento su COGDBSTR per distinta + versione
  2. Per ogni record storico:
  3. Legge UM da COGMERCI
  4. Usa prezzo e percentuale valorizzazione dallo storico
  5. Calcola importo = dsr-prezzo * dsr-qta
  6. Scrive su COGTRANS

Griglia paginata

La griglia usa il pattern di spaginamento standard: - x-spaginamento-start -> rst-not-less -> lettura da COGTRANS - Navigazione con PagSu/PagGiu - Ogni record griglia mostra: codice, quantita', UM, prezzo, importo, valuta, % valorizzazione

Selezione versione

  • Digitazione diretta del nome versione
  • F8 chiama WIN158 per sfogliare le versioni disponibili della distinta

Tipo prezzo (tm-u-m)

Visibile solo per versione "Corrente". Determina il criterio di valorizzazione dei componenti (es. M = prezzo medio).

Chiamate a sottoprogrammi

Programma Scopo
WIN158 Sfoglia versioni disponibili della distinta (F8)
COGS54 Gestione stampante per stampa
COGS68W Gestione campo merce con ricerca avanzata
COGL61 Recupero prezzi componenti
COGU10W Gestione valute e formattazione importi
COGU09 Utilita'
GRIDADMN Gestione griglia paginata

COPY utilizzate

File/Select

  • feurtab.fd, cogm72.select, cogm72.fd, flsta.fd, flsta.cpy

Working storage

  • cogm72.wrk, k-u10.cpy
  • wgrave.cpy, wnscr.cpy, wopenf.cpy, wstato.cpy, cogazien.cpy
  • wgrid.cpy, utilgdad.cpy, utils52.cpy, utils54.cpy, utils68.cpy
  • utilu09.cpy, utilu10.cpy, utilcogl61.cpy

Linkage

  • wcont.cpy, utilm72.cpy, wcont1.cpy

Screen

  • cogm72-01.scr

Procedure

  • cogm72.prc, grave.cpy, mmmask.cpy, opengen.cpy, stato.cpy, stato1.cpy, winmsg.cpy
  • utilpggrid.cpy (griglia paginata)

Note

  • Il file di transito COGTRANS viene creato nella directory temporanea con nome univoco per operatore e cancellato alla chiusura (delete file cogtrans).
  • Se il file di transito e' gia' in uso (es. altra sessione), il programma mostra "Funzione gia' in uso dall'operatore" e termina.
  • Il campo w-prg-pers viene usato per le personalizzazioni griglia: il programma puo' usare personalizzazioni di un altro programma quando e' in modalita' called.
  • La validazione distinta controlla sia l'esistenza in anagrafica sia che mer-padre = "P".
  • Menu doppio: appare sia in Produzione > Distinta Base sia in Uscite > Tessere & Bollini > Gestione.