COGV47 - Merci x Cliente / C.M.V.¶
Intestazione¶
| Campo | Valore |
|---|---|
| Programma | COGV47 |
| Titolo | Visualizzazione vendite per cliente |
| Posizione menu | Magazzino > Uscite > Visualizzazioni > Merci x Cliente/C.M.V.; Magazzino > Giacenze & Sottoscorta > Saldi Contrassegni |
Scopo e logica generale¶
COGV47 e' un programma di visualizzazione per le uscite di magazzino, con possibilita' di analisi del Costo della Merce Venduta. Presenta una maschera con parametri di filtro (merce, cliente, divisa, cliente consegna, tipo visualizzazione, range date, prezzo) e una griglia paginata con le bolle di uscita caricate in un file transito COGTRANS. Dalla griglia e' possibile aprire COGV11 per la gestione della prima nota collegata e WIN064 per il dettaglio bolla.
Puo' essere invocato da altri programmi tramite la linkage utilv11.cpy (campo v11-called e v11-doc).
Flusso principale¶
- Inizializzazione (
apri): controllo abilitazione, data sistema, caricamento lingua, lettura azienda, apertura file, recupero divisa conto (COGU10W), configurazione tasti funzione, preparazione COGS68 per campo merce, creazione file transito COGTRANS (in tmp con nome univoco per operatore) - Accept parametri (
a4→a-tm-cli→a-tm-divisa→a-tm-clicons→a-tm-tipo-vis→a-tm-mer→a-tm-da-data→a-tm-a-data→a-tm-prezzo): - Cliente (
tm-cli): con aiuto COGS65 (F8) - Divisa (
tm-divisa): combo COGS60 (default "C" = conto) - Cliente consegna (
tm-clicons): con aiuto COGS65 (F8); se vuoto, display "Tutti" - Tipo visualizzazione (
tm-tipo-vis): combo COGS60 (default "T") - Merce (
tm-mer): campo composito COGS68 (gruppo/sottogruppo/codice) - Data inizio (
tm-da-data): con calendario COGS52W (F8) - Data fine (
tm-a-data): con calendario COGS52W (F8) - Prezzo (
tm-prezzo): formattato con COGU10W - Conferma (
a-fine-dati): validazione globale, dialog conferma; avvio ricerca (a-ricerca) - Ricerca (
a-ricerca): scan su file bolle, filtraggio per merce/cliente/periodo, calcolo valori (CMV), caricamento in COGTRANS; totali quantita' e valore - Griglia (
a-grid-ini→a-grid): - Caricamento paginato da COGTRANS con
carica-tab - Visualizzazione totali (
tm-tot-qta,tm-tot-valo) - PgDown/PgUp: navigazione paginata
- SF4: personalizzazione griglia (GRIDADMN)
- SF5: esportazione Excel
- F3: apertura COGV11 con documento selezionato (
v11-called = "COGV11-CALLED",v11-doc = tm-rif-bol(i)) - F8: apertura WIN064 per dettaglio bolla (
w64-b-tipo/mag/numero/anno) - Chiusura (
fine): chiusura file, delete file COGTRANS,z-99-exit-program
File e tabelle acceduti¶
| File logico | Record | Modalita' | Uso |
|---|---|---|---|
| COGVOLBO | - | Input | Testate bolle di uscita magazzino |
| COGVOLRI | - | Input | Righe bolle di uscita magazzino |
| COGMERCI | - | Input | Anagrafica merci |
| COGGEANA | ana-rec | Input | Anagrafica clienti/fornitori |
| COGTRANS | trs-rec | I-O | File transito paginato (nome univoco in tmp 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(06) Numero bolla
trs-prog pic 9(04) Progressivo riga
trs-merce: gru(2)+sot(2)+cod(5) Merce riga
trs-merce-stp: gru(2)+sot(2)+cod(5) Merce di stampa
trs-qta pic 9(07)v999 Quantita'
trs-prezzo pic 9(12)v999999 Prezzo unitario
trs-valore pic 9(12)v999999 Valore (CMV o ricavo)
trs-currency pic x(02) Divisa
trs-tipo-dato pic x(01) Tipo dato
Tab-maschera principali¶
tm-cli pic 9(05) Codice cliente
tm-divisa pic x(01) Divisa (default "C")
tm-clicons pic 9(05) Cliente consegna
tm-tipo-vis pic x(01) Tipo visualizzazione (default "T")
tm-mer pic x(02+02+05) Merce filtro
tm-da-data pic 9(08) Data inizio
tm-a-data pic 9(08) Data fine
tm-prezzo pic 9(12)v999999 Prezzo di riferimento
tm-tot-qta pic 9(07)v999 Totale quantita'
tm-tot-val pic 9(12)v999999 Totale valore
Copybook inclusi¶
Screen Designer¶
| Copybook | Contenuto |
|---|---|
cogv47-01.scr |
Maschera principale (screen section) |
cogv47.select |
SELECT dei file |
cogv47.fd |
FD dei file |
cogv47.wrk |
Working storage maschera |
cogv47.decla |
Declaratives (gestione errori cogtrans) |
Strutture dati e utility¶
| Copybook | Contenuto |
|---|---|
cogfiles.cpy |
FD feurtab |
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 |
utilncnf.cpy |
Struttura parametri RNEWCONF |
utils52.cpy |
Interfaccia COGS52W (calendario) |
utils68.cpy |
Interfaccia COGS68 (merce composita) |
utilu10.cpy / utilu20.cpy |
Utility importi/divise |
utils65.cpy |
Interfaccia COGS65 (ricerca anagrafica) |
Linkage section¶
| Copybook | Contenuto |
|---|---|
wcont.cpy |
Linkage standard (user-area) |
utilv11.cpy |
Interfaccia chiamata: v11-called, v11-doc (redefines su user-area) |
wcont1.cpy |
Linkage section chiusura |
Programmi chiamati (CALL)¶
| Programma | Scopo |
|---|---|
| COGU10W | Recupero divisa conto e formattazione importi |
| COGS52W | Calendario per selezione date |
| COGS60 | Gestione combo/select (divisa, tipo vis) |
| COGS65 | Ricerca anagrafica cliente/cliente consegna (F8) |
| COGS68 | Gestione campo merce composita |
| WIN064 | Visualizzazione dettaglio bolla (F8 in griglia) |
| COGV11 | Inserimento/gestione prima nota magazzino (F3 in griglia) |
| GRIDADMN | Amministrazione griglia (personalizzazione SF4, add record, svuota) |
| RNEWCONF | Lettura configurazione |
Logica di business¶
File transito COGTRANS¶
Il file transito viene creato con nome univoco per operatore nella directory temporanea:
{ext-tmp-dir}/{ext-os-slash}#$COGV47.{wo-oper}. Viene ricreato a ogni nuova ricerca. Alla chiusura del programma il file viene eliminato (delete file cogtrans).
Ricerca (a-ricerca)¶
Scansione delle bolle di uscita magazzino per il periodo tm-da-data / tm-a-data, filtro su cliente (tm-cli), cliente consegna (tm-clicons), merce (tm-mer), divisa (tm-divisa) e tipo visualizzazione (tm-tipo-vis). Il valore calcolato per ogni riga dipende dal tipo visualizzazione: puo' essere il valore di ricavo o il CMV calcolato tramite prezzo medio o ultimo prezzo di acquisto (trs-prezzo, tm-prezzo).
Ogni riga di bolla che supera i filtri viene scritta nel transito COGTRANS. I totali tm-tot-qta e tm-tot-val vengono accumulati durante la scan.
Apertura COGV11 (F3)¶
Quando l'operatore preme F3 su una riga della griglia, il programma imposta nel linkage:
- v11-called = "COGV11-CALLED"
- v11-bolla = tm-rif-bol(i) (mag + ann + tip + num della bolla nella riga selezionata)
Poi invoca COGV11 tramite CALL e al ritorno rimane sulla griglia.
Gestione chiamata esterna (utilv11)¶
Se il programma viene invocato con v11-called <> spaces e v11-doc <> spaces nel linkage, precarica i filtri dal documento di chiamata (e.g., per navigare direttamente alla bolla collegata).
Variabili di stato principali¶
| Variabile | Descrizione |
|---|---|
tm-cli |
Codice cliente filtro |
tm-divisa |
Divisa (default "C" = conto) |
tm-tipo-vis |
Tipo visualizzazione ("T" = tutti) |
tm-da-data / tm-a-data |
Range date |
tm-tot-qta / tm-tot-val |
Totali quantita'/valore della ricerca |
n-m |
Righe nella pagina corrente |
fl-read |
Stato lettura paginata ("E" = fine) |
w-nome-trs |
Percorso file transito COGTRANS |