COGP42 - Stampa Prodotti per Fornitore
Scopo
Stampa un catalogo dei prodotti raggruppati per fornitore con codice merce interno, codice merce fornitore, descrizione, prezzo di listino acquisto (da COGLISFO vigente alla data) e prezzo di listino vendita (selezionato dall'utente). Usa un file di transito (cogtrans) per costruire l'estrazione e poterla rileggere ordinata per codice o per descrizione merce.
- Magazzino > Archivi & Tabelle > Stampe > Merci > Catalogo x Fornitore
File e Tabelle
| File |
Copybook |
Utilizzo |
| FEURTAB |
cogfiles.cpy |
Tabella file di sistema |
| COGMERFO |
cogp42.fd |
Anagrafica merci-fornitore (file principale di estrazione, key 2 = fornitore) |
| COGGEANA |
cogp42.fd |
Anagrafica generale (denominazione fornitore) |
| COGMERCI |
cogp42.fd |
Anagrafica merci (descrizione merce, key 3) |
| COGRACMC |
cogp42.fd |
Codici merce alternativi/avanzati (key 2) |
| COGLISFO |
cogp42.fd |
Listini fornitore (acquisto) |
| COGTESLS |
cogp42.fd |
Testata listini di vendita (per validazione + divisa) |
| COGTRANS |
dichiarato in-line |
File di transito temporaneo (3 chiavi: key1=for+merce, key2=for+desc+merce, key3=for+codAva+merce) |
| FLSTA |
flsta.cpy |
File stampante |
Copybook
cogp42.select, cogp42.fd, cogp42.wrk, cogp42-01.scr, cogp42.decla, cogp42.prc
feurtab.fd, cogfiles.cpy, flsta.fd, flsta.cpy
wstato.cpy, wgrave.cpy, wopenf.cpy, wnscr.cpy, cogazien.cpy
utils54.cpy, utils65.cpy, utilf60.cpy, utilu10.cpy, k-u10.cpy
wcont.cpy, utils01.cpy, wcont1.cpy (linkage)
stato.cpy, stato1.cpy, grave.cpy, winmsg.cpy, mmmask.cpy, opengen.cpy, getdcont.cpy
cogracmc.k02, cogmerci.k03, cogmerfo.k02, cogtrans.k01/k02/k03
CALL
| Programma |
Scopo |
| COGS54 |
Gestione parametri stampante |
| COGS65W |
Ricerca anagrafica (fornitore) tipo F |
| COGF60 |
Ricerca/scelta listino di vendita (F8) |
| COGS01 |
Calcolo prezzo netto da listino di vendita per merce/data |
| COGU10W |
Edit/conversione importi listino acquisto e vendita |
Logica di elaborazione
tm-cod-for / tm-cod-for-a: range fornitori
tm-elab: ordinamento di stampa (C=codice merce, D=descrizione merce)
tm-cod-tip: tipo codice stampato (I=interno, A=avanzato; visibile se az-mer-ava = "S")
tm-list: numero listino di vendita
Flusso
apri: apertura file + creazione e apertura cogtrans come file temporaneo (nome composto da ext-tmp-dir + ext-os-slash + cogp42 + . + wo-oper)
- Accept maschera, validazione + COGS54
elabora (fase di rilascio al transito):
- Lettura listino vendita per ricavare divisa (
tls-div -> w-divisa)
st-cogmerfo-notmin-chia2 posizionato sul fornitore di partenza
- Loop
el-10-loop:
rdnxt-cogmerfo, break su ana-cod > com-cod-for
ric-for: lettura coggeana per nome fornitore
rd-cogmerci per descrizione merce
rd-cogracmc-chia2 (tipo 2 spaces) per codice merce avanzato
ric-lis-a: scansione coglisfo per ultimo prezzo acquisto vigente (lfo-data not > datasis)
ric-lis-v: COGS01 per prezzo netto del listino di vendita
wr-cogtrans
stampa: scansione di cogtrans con chiave 1 (codice merce interno), 3 (codice avanzato) o 2 (descrizione) in base ai parametri
- Rottura per fornitore -> nuova testata (
testa)
- Edit prezzi tramite COGU10W; se non abilitato (
w-abi-val-acq/w-abi-val) i campi prezzo vengono azzerati
- Chiusura:
delete file cogtrans
Note tecniche
- Programma GUI con screen section
- Larghezza stampa: 138 caratteri (
k-chr-stampa value 78 -> in realta' 78 colonne piu' due righe di importi)
- Il file di transito viene creato in temp dir, eliminato all'uscita
- Il listino acquisto e' ricavato dall'ultima occorrenza con data <= data sistema in
coglisfo per la chiave gru/sot/cod/for
- La divisa di stampa per importi acquisto e' la divisa del conto azienda; per vendita e' la divisa del listino selezionato (
tls-div)