Vai al contenuto

COGV37 - Aggiornamento Semiautomatico Prezzo Vendita

Funzione

Aggiorna i prezzi di vendita delle merci in modalita' semi-automatica. Il programma estrae le merci da un listino di vendita, calcola i nuovi prezzi applicando ricarichi e arrotondamenti, e presenta la griglia all'operatore per la revisione. Supporta listini per fascia di quantita', export/import Excel per elaborazioni esterne, e puo' essere chiamato direttamente da una bolla di vendita.

E' piu' complesso di COGV36 (acquisto): gestisce listini con fasce quantita', divise multiple, prezzi particolari per cliente, e l'integrazione con Excel.

  • Magazzino > Controllo Prezzi > Agg. Semiaut. Vendita

Tabelle e file principali

Tabella Descrizione Accesso
FEURTAB Tabella file/directory R
COGRICLS Listini di vendita R/W - da cogv37.select e cogv37.fd
COGTRANS File di transito merci (#$COGV37.{operatore}) R/W - indicizzato, chia1
COGTRANS2 File di transito dati merce (#$BOGV37.{operatore}) R/W - indicizzato, chia1+chia2
COGASCII File ASCII per export Excel W - line sequential
COGMERCI Anagrafica merci R - da cogv37.select
COGGEANA Anagrafica fornitori/clienti R - da cogv37.select
COGTABEL Tabella parametri R - da cogv37.select
COGMAGAZ Anagrafica magazzini R - da cogv37.select

Struttura COGTRANS (transito prezzi)

Chiave trs-chia1: trs-merce (gru+sot+cod) + trs-tip-lis + trs-rif + trs-fascia. Campi: prezzo precedente (trs-precedente), nuovo (trs-pre), base (trs-pre-base), ricarico, arrotondamento, flag agg., importo aggiuntivo.

Struttura COGTRANS2 (transito dati merce)

Chiave trs2-chia2: trs2-seq + trs2-merce. Chiave alternativa trs2-chia1: trs2-merce. Campi: descrizione, peso, volume, giacenza, ordini, confezione, prezzo acquisto, prezzo medio acquisto, valuta, flag listino, data ini/fin, flag aggiornamento (trs2-fl-agg).

Logica principale

Parametri di maschera

tab-maschera comprende: data, tipo ricerca (tm-ricerca/tm-ricerca-lgds/tm-ricerca-gds), ordinamento merci (tm-ord-mer), range merci (da/a merce con campi estesi: gru, sot, cod, classif. merci aggiuntive), flag "prezzi da" (tm-pre-da), gruppo clienti, flag aggiornamento (tm-fl-agg), fornitore/cliente (tm-for), divisa, riferimento bolla origine, flag servizi, tabella prezzi per fascia (tm-tab con k-max-ele-tab = 100 righe x k-max-lis-x-fascie = 200 fasce).

Flusso di elaborazione

  1. Inizializzazione: lettura configurazione (x99-conf, RNEWCONF), divisione conto (COGU10W), file di transito COGTRANS e COGTRANS2 aperti in output poi i-o ogni ciclo.

  2. Modalita' "called" da bolla di vendita (linkage utilv37.cpy, V37-called = "COGV37"): imposta automaticamente il riferimento alla bolla (tm-w-mag/anno/tipob/bolla), la data e il tipo ricerca "D" (da bolla specifica). Per personalizzazione Idrolux, avvia direttamente la conferma automatica.

  3. Modalita' default: se configurata (tm-cfg-default = "S"), salta la selezione parametri e avvia con valori predefiniti (ricerca "G", data odierna, tutte le merci).

  4. Raccolta parametri (maschera cogv37-01.scr):

  5. a-tm-ricerca-lgds / a-tm-ricerca-gds: tipo di ricerca listino (F1 configurazione, F5 prezzi particolari, F7 ricarichi via COGF44)
  6. a-tm-data: data di validita' del listino (F8 calendario)
  7. a-tm-ord-mer: ordinamento merci
  8. a-tm-da-merce / a-tm-a-merce: range merci (util-s68, con classi merci multiple)
  9. a-tm-pre-da: sorgente prezzi
  10. a-tm-ana-cod: fornitore/cliente di riferimento (util-s65; visibile in base a configurazione)
  11. a-tm-gruppo: gruppo clienti (F8)
  12. a-tm-fl-agg: flag modalita' aggiornamento
  13. Campi bolla di riferimento (a-tm-w-*) se chiamato da bolla

  14. Caricamento prezzi: legge COGRICLS per le merci selezionate, popola COGTRANS e COGTRANS2. Per ogni merce con fasce di quantita', crea un record per fascia. Il prezzo nuovo viene calcolato applicando ricarico/arrotondamento al prezzo base.

  15. Griglia (a30, a-accept-grid): visualizza merci con colonne per prezzo base e prezzo per ogni fascia (dinamiche, fino a k-max-lis-x-fascie). Colonne identificate tramite tab-column (tm-column-ric, tm-column-lis).

  16. F7 "Excel" (k-f7-excel): export CSV per foglio di calcolo, poi import risultato
  17. F7 "Ricarichi" (k-f7-ricarichi): apre COGF44 per gestione ricarichi
  18. F5: prezzi particolari per cliente/gruppo (COGU05 con "Acc-Pre-Acq")
  19. Shift+F4: GRIDADMN

  20. Conferma e aggiornamento (a-richiesta-conferma, c-aggiorna): per ogni record in COGTRANS, aggiorna il prezzo corrispondente su COGRICLS. Gestisce flag trs2-fl-agg (solo i record confermati vengono aggiornati).

  21. Export Excel (d511-*): parsing del file ASCII prodotto da Excel per ricavare i nuovi prezzi per merce e fascia, con aggiornamento di COGTRANS prima del salvataggio definitivo.

Prezzi particolari (tab-prezzi-particolari, tpp-ele)

Array di max k-u05-ele (200) elementi per gestire prezzi speciali per singolo cliente o gruppo. Interagisce con COGU05.

Merci singole (tab-merci-singole, tms-ele)

Array per estrazione di merci specifiche, popolato da COGU05 in modalita' selezione singola.

Chiamate principali

Programma Scopo
COGU10W Lettura divisa di conto (GetDivisaConto)
COGU05 Selezione/visualizzazione prezzi particolari o merci singole
COGF44 Gestione ricarichi (F7 in griglia)
GRIDADMN Amministrazione layout griglia (Shift+F4)

Copybook working-storage significativi

utilcogs0c.cpy, wgrid.cpy, utilgdad.cpy, utilncnf.cpy, utils21/37/52/65/68.cpy, utilu05/10/20/26/28.cpy, utilw36/w113.cpy, utilxls.cpy, utilu16.cpy, utilcogl61.cpy.

Linkage

UTILS01.CPY e UTILS01F.CPY: parametri standard. utilv37.cpy: struttura V37-* per chiamata da bolla di vendita (mag, ann, tip, num, data).

Note tecniche

  • I file COGTRANS e COGTRANS2 sono temporanei nella directory temp. COGTRANS2 ha chiave alternativa su sequenza (trs2-seq) per ordinamento diverso da quello per merce.
  • Il flag trs2-fl-agg e' impostato a "N" prima dell'estrazione per Excel e a "S" dopo la reimportazione: i record non passati a Excel (es. merci con MER-VAL = "C") restano a "N" e non vengono aggiornati.
  • La struttura tab-listini-e-fascie (tlf-ele) contiene fino a k-max-lis-x-fascie (200) combinazioni listino+fascia, usata per costruire dinamicamente le colonne della griglia.
  • k-asc-rec-size = 2000 caratteri per riga del file ASCII Excel.
  • La personalizzazione Idrolux (k-personal-idrolux) attiva la conferma automatica al primo caricamento se chiamato da bolla.
  • Il codice d511-* gestisce il parsing riga per riga del CSV Excel, inclusa la gestione di listini e fasce multiple per ogni merce.