Vai al contenuto

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.

Posizioni menu

  • 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

Parametri input (tab-maschera)

  • 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

  1. apri: apertura file + creazione e apertura cogtrans come file temporaneo (nome composto da ext-tmp-dir + ext-os-slash + cogp42 + . + wo-oper)
  2. Accept maschera, validazione + COGS54
  3. elabora (fase di rilascio al transito):
  4. Lettura listino vendita per ricavare divisa (tls-div -> w-divisa)
  5. st-cogmerfo-notmin-chia2 posizionato sul fornitore di partenza
  6. 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
  7. stampa: scansione di cogtrans con chiave 1 (codice merce interno), 3 (codice avanzato) o 2 (descrizione) in base ai parametri
  8. Rottura per fornitore -> nuova testata (testa)
  9. Edit prezzi tramite COGU10W; se non abilitato (w-abi-val-acq/w-abi-val) i campi prezzo vengono azzerati
  10. 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)