Vai al contenuto

COGV36 - Aggiornamento Semiautomatico Prezzo Acquisto

Funzione

Aggiorna i prezzi di acquisto delle merci in modalita' semi-automatica. Il programma carica in una griglia le merci di un fornitore con i prezzi di acquisto attuali e i nuovi prezzi calcolati (applicando ricarico, arrotondamento e conversione di divisa); l'operatore puo' modificare i prezzi proposti riga per riga prima di confermare l'aggiornamento definitivo sui listini di acquisto (COGRICLS).

Puo' essere chiamato anche da altri programmi (es. da una bolla di acquisto) per aggiornare il listino contestualmente al ricevimento merce.

  • Magazzino > Controllo Prezzi > Agg. Semiaut. Acquisto

Tabelle e file principali

Tabella Descrizione Accesso
FEURTAB Tabella file/directory R
COGRICLS Listini di acquisto R/W - da cogv36.select e cogv36.fd
COGTRANS File di transito temporaneo (COGTRANS.{operatore}) R/W
COGMERCI Anagrafica merci R - da cogv36.select
COGGEANA Anagrafica fornitori/clienti R - da cogv36.select
COGTABEL Tabella parametri e configurazioni R - da cogv36.select
COGMAGAZ Anagrafica magazzini R - da cogv36.select

Struttura COGTRANS (file di transito)

Campi chiave (trs-chia): trs-merce (gru+sot+cod), trs-pre (prezzo), trs-currency (divisa).

Logica principale

Flusso di elaborazione

  1. Inizializzazione: lettura configurazione tramite x99-confi (RNEWCONF), divisione conto (COGU10W/GetDivisaConto), impostazione titolo "Aggiornamento Listino Acquisto". File COGTRANS aperto in output (svuotato) poi riaperto in i-o ogni ciclo.

  2. Raccolta parametri (maschera cogv36-01.scr):

  3. a-tm-forn: fornitore (util-s65)
  4. a-tm-data: data di aggiornamento (F8 calendario, util-s52)
  5. a-tm-ord: tipo di estrazione (util-s60): "G" = da gestionale, "E" = da elenco merci COGU05
  6. a-tm-ord-mer: ordinamento merci (util-s60; abilitabile)
  7. a-tm-da-merce / a-tm-a-merce: range merci (util-s68)
  8. a-tm-agg: campo "Aggiorno da" (util-s60)
  9. a-tm-lis: riferimento listino (F8 ricerca tramite send-w96, RNEWCONF)
  10. a-tm-segno: segno della variazione +/- (util-s60)
  11. a-tm-ricarico: percentuale di ricarico (util-u20)
  12. a-tm-arrot: valore di arrotondamento (util-u20)
  13. a-tm-type-arr: tipo arrotondamento (util-s60; visibile in base a configurazione)

  14. Caricamento prodotti (dopo conferma a-richiesta-conferma):

  15. Se tm-ord = "E": carica da tabella COGU05 (a1-carica)
  16. Altrimenti: legge l'anagrafica merci dal listino fornitore (a2-leggo)
  17. Calcola per ogni merce il nuovo prezzo applicando ricarico, arrotondamento e conversione di divisa
  18. Popola COGTRANS con i record di transito (prezzo precedente e nuovo)

  19. Griglia (a30, a-grid, a-accept-grid): visualizza le merci con prezzi calcolati. La colonna "prezzo nuovo" (tm-column-pnew) e' modificabile dall'operatore. Colore modificabile tramite tm-cfg-colore-mod.

  20. Shift+F4: amministrazione layout griglia (GRIDADMN)
  21. F3: richiede conferma e chiama c-aggiorna per aggiornare COGRICLS

  22. Aggiornamento (c-aggiorna): scorri COGTRANS e per ogni record aggiorna il prezzo corrispondente su COGRICLS (listini di acquisto).

Modalita' "called"

Se il programma e' chiamato da un altro programma (es. bolla di acquisto), riceve in linkage UTILS01.CPY con dati del documento; il flusso puo' saltare la selezione del fornitore e impostare direttamente i parametri.

Configurazione (RNEWCONF)

  • tm-cfg-colore-mod: colore delle celle modificabili in griglia
  • Configurazione listini di acquisto

Chiamate principali

Programma Scopo
COGU10W Lettura divisa di conto (GetDivisaConto)
COGU05 Selezione elenco merci da elaborare (tipo estrazione "E")
COGF44 Gestione ricarichi (tasto F7 in griglia)
GRIDADMN Amministrazione layout griglia (Shift+F4)

Copybook working-storage significativi

utils38.cpy, utils39.cpy, utils52.cpy, utils65.cpy, utils68.cpy, utilu05.cpy, utilu10.cpy, utilu16.cpy, utilu20.cpy, utilw96.cpy, utilncnf.cpy, wgrid.cpy, utilgdad.cpy, utildlg.cpy.

Linkage

UTILS01.CPY: parametri ricevuti dal chiamante (documento origine).

Note tecniche

  • Il file COGTRANS e' temporaneo, creato nella directory temp (ext-tmp-dir) con nome COGTRANS.{wo-oper}. Viene svuotato (open output) a ogni nuovo ciclo di elaborazione.
  • Il calcolo del nuovo prezzo include: conversione di divisa se il listino fornitore e' in valuta diversa da quella di conto, applicazione del ricarico percentuale con segno, arrotondamento secondo la regola selezionata.
  • La griglia supporta al massimo k-max-ele-tab elementi (definito in cogv36.wrk).
  • Il campo a-modalita / w-modalita e' impostato a "A" (aggiornamento) e non e' esposto all'utente.
  • La funzionalita' F9 (ricerca avanzata) e' dichiarata ma il comportamento specifico dipende dalla configurazione.