Vai al contenuto

COGR39 - Aggiornamento Prezzi su Bolle

Sorgente: cbl/cogr39.cbl | Program-ID: COGR39 | Tipo: Interattivo batch (maschera grafica Windows + elaborazione)

Menu: Magazzino > Archivi & Tabelle > Varie > Modifica prezzi su bolle


Scopo

Ricalcola i prezzi sulle righe dei movimenti di magazzino (COGMOMAG) collegati a bolle (COGTESBO) in un periodo selezionato, utilizzando i prezzi del listino indicato. Aggiorna mag-prezzo, mag-pre-no-sco e mag-valore su ogni riga di movimento.


Tabelle/File utilizzati

Tabella Tipo Modalita' Descrizione
FEURTAB Tabella Input Tabella generale Eurosystem
COGTESBO Tabella Input Testata bolle. Scansione per chiave 2 (data: tes-data). Filtro: tes-mag = magazzino principale, tes-tipocf = "C", tes-flagfat = spazi
COGMOMAG Tabella I-O Movimenti magazzino. Scansione per chiave primaria (mag-testa). Aggiornati: mag-prezzo, mag-pre-no-sco, mag-valore
COGTABEL Tabella Input Tabelle di sistema (tipo 15 = causali; filtro euta-cb-fl-eu = "U" e euta-cb-con-fat = "SI")
COGMERCI Tabella Input Anagrafica merci (per validazione range merce)
COGGEANA Tabella Input Anagrafica generale (per verificare ana-riflistino)
COGTESLS Tabella Input Testata listini (per validazione listino)

Logica di elaborazione

Parametri di input (tab-maschera)

Campo Variabile Descrizione
Da data tm-da-data Data inizio periodo
A data tm-a-data Data fine periodo
Ordinamento merce tm-ord-mer Fisso "C" (per codice)
Da merce tm-da-merce Range merce iniziale
A merce tm-a-merce Range merce finale
Listino tm-lis Numero listino (1-99)
Cliente tm-ana-cod Codice cliente (0 = tutti)

Flusso di elaborazione

  1. Scansione COGTESBO (elabora): scandisce per data (tes-data) da tm-da-data a tm-a-data.

  2. Filtro testata (filtra-cogtesbo):

  3. tes-mag deve essere uguale al magazzino principale (az-main-mag)
  4. tes-tipocf deve essere "C" (cliente)
  5. Se specificato un cliente, tes-nonno deve corrispondere
  6. Il cliente deve avere ana-riflistino = tm-lis
  7. La causale (da COGTABEL tipo 15) deve avere euta-cb-fl-eu = "U" (uscita) e euta-cb-con-fat = "SI"
  8. La bolla non deve essere gia' fatturata (tes-flagfat = spazi)

  9. Aggiornamento righe (tratta-cogmomag): per ogni riga COGMOMAG della bolla:

  10. Filtra per range merce (tm-da-merce / tm-a-merce)
  11. Chiama COGS01 per ottenere il prezzo dal listino (s01-listino = tm-lis, s01-fl-sco = "R", s01-currency = mag-currency)
  12. Se s01-prezzo <> 0: aggiorna mag-prezzo e mag-pre-no-sco con s01-prezzo, ricalcola mag-valore = mag-qtamagaz * mag-prezzo, arrotonda tramite COGU10, esegue rwr-cogmomag

Chiamate a sottoprogrammi

Programma Funzione
COGS01 Ricerca prezzo da listino (con parametri: listino, merce, data, cliente, fascia, divisa)
COGU10 (via z-u10-*) Arrotondamento valori monetari
COGU16W (via z-u16) Gestione selezione ordinata merci con range e ordinamento
COGS52 (via z-s52-*) Accept date con calendario
COGS60 (via z-s60-*) Accept combo box
COGS65 (via z-s65-*) Accept anagrafica (clienti/fornitori)
COGS68W (via z-s68-*) Accept merce con aiuto
WIN096 (via send-w96) Finestra ricerca listini

COPY utilizzate

Working-storage

Copybook Descrizione
cogr39.wrk Working storage generata da Screens
k-u10.cpy Costanti divisa/arrotondamento
wrk-u10.cpy Working storage COGU10
k-personal.cpy Costanti personalizzazione
wstato.cpy, wgrave.cpy, wopenf.cpy, wnscr.cpy Working storage comuni
utilu05.cpy Utility generica
utilu10.cpy Interfaccia COGU10
utilu12.cpy Utility generica
utilu16.cpy Interfaccia COGU16W
utilu20.cpy Utility numerica
utilw96.cpy Interfaccia WIN096
utils68.cpy Interfaccia COGS68W
utils52.cpy Interfaccia COGS52
utils65.cpy Interfaccia COGS65
cogazien.cpy Dati azienda

Linkage

Copybook Descrizione
wcont.cpy Area di comunicazione principale
utils01.cpy Interfaccia COGS01
wcont1.cpy Area di comunicazione estesa

Note

  • L'ordinamento merci e' fisso per codice (tm-ord-mer = "C"); la combo-box e' predisposta ma la validazione accetta solo "C".
  • Il programma chiama COGS01 con s01-open = "O" e s01-penultimo = "N" per mantenere i file aperti durante l'elaborazione, e li chiude esplicitamente in z-chiudi.
  • La personalizzazione "FF" (Ferranti) contiene una logica speciale nel listino clienti (usata da COGP29, non da questo programma).