Vai al contenuto

COGD35 -- Preparazione Riordino

Sorgente: cbl/cogd35.cbl | Program-ID: COGD35 | Tipo: Elaborazione batch interattiva

Menu: Magazzino > Giacenze & Sottoscorta > Riordino > Preparazione riordino


Scopo

Prepara i dati per la proposta di riordino. Per ciascun articolo nel range selezionato, calcola giacenza, disponibilita', giorni di copertura attuali e proposti, quantita' di riordino, e scrive i risultati nella tabella COGRI2DT (dettaglio riordino). Questi dati vengono poi consumati da COGD36 (Analisi riordino).


Struttura della maschera

Screen gestita da Screen Designer: cogd35-01.scr.

Campo Variabile Tipo Validazione
Giorni Copertura tm-ggcop 9(04) Numerico
Magazzino tm-mag-cod X(01) Validato su COGMAGAZ (tipo "M")
Ordinamento tm-ord X(01) Via COGS60 / COGU16W
Da Merce tm-da-merce (gru/sot/cod) X(02)+X(02)+9(05) Via COGS68
A Merce tm-a-merce (gru/sot/cod) X(02)+X(02)+9(05) Via COGS68

Logica di elaborazione

Inizializzazione

  1. z-99-init-program, ctr-abil, rd-azi, open-files.
  2. Lettura configurazione RNEWCONF (paragrafo x99-confi):
  3. RIORDINO.gg-soglia-anticipo -> tm-cfg-gg-anticipo
  4. RIORDINO.gg-soglia-fine-stag -> tm-cfg-gg-fine-sta
  5. cogesys.cliente-corrispettivi -> tm-cfg-cli-corr
  6. Crea file temporaneo cogtrans per dati di lavoro.

Ciclo principale (carica-dati THRU ex-carica-dati)

Per ogni merce letta tramite COGU16W (ope = "Leggi"):

  1. Lettura anagrafica estesa (COGMERA2): fabbisogno giornaliero (ma2-fab-gio), stagionalita', confezione, ecc.
  2. Inizializzazione record r2d-rec (COGRI2DT).
  3. Ricerca fornitore preferenziale (cerca-for-prf): scansione COGMERFO + verifica su COGGEANA + condizione COGCNDCF tipo "FP".
  4. Giorni consegna: letti da anagrafica fornitore (ana-gg-cns).
  5. Calcolo data di riferimento: se tm-ggcop > 0, data sistema + giorni copertura (via DTPRG/PRGDT).
  6. Impegnato e ordinato: calcolati tramite COGU23 (sottoprogramma).
  7. Giacenza: letta da COGSLMAG (msal-qta).
  8. Disponibilita': w-qta-dis = giacenza + ordinato - impegnato.
  9. Giorni copertura attuali: r2d-gg-cop-att = w-qta-dis / ma2-fab-gio.

Filtri di esclusione

  • Merci con mer-val diverso da "M", " ", "N", "S" vengono scartate.
  • Merci con mer-fl-riord = "N" vengono scartate (ma il dato viene comunque scritto con qta-rio = disponibilita').
  • Merci stagionali ("S"): verificato che w-data-rif sia nel periodo di stagionalita', con margini tm-cfg-gg-anticipo e tm-cfg-gg-fine-sta.

Calcolo quantita' riordino

w-qta-rio = (tm-ggcop + w-gg-cns - r2d-gg-cop-att) * ma2-fab-gio

Poi: - Se w-qta-rio < 0 -> 0. - Se (w-qta-rio + w-qta-dis) < mer-sco-min -> w-qta-rio = mer-sco-min - w-qta-dis. - Arrotondamento a confezione (w-qta-conf da COGMERFO o mer-confezione). - Se U.M. = "CF", ignora il multiplo confezione. - Se (w-qta-rio + w-qta-dis) > mer-sco-max e mer-sco-max > 0: ricalcola per non superare scorta massima.

Calcolo giorni copertura proposti

r2d-gg-cop-pro = (w-qta-dis + w-qta-rio) / ma2-fab-gio

Calcolo venduto (calcola-venduto)

Scansione COGMOMAG per il periodo di riferimento (anno precedente per merci normali, periodo stagionalita' per stagionali, da data nuovo per nuove). Filtro su causali di tipo uscita per cliente.

Scrittura risultato

wr-cogri2dt (o rwr-cogri2dt se gia' esiste).


File utilizzati

File Copybook Accesso Utilizzo
FEURTAB cogfiles.cpy Random Tabella file generali
COGRI2TS via cogd35.fd/prc I-O Testata sessione riordino
COGRI2DT via cogd35.fd/prc I-O Dettaglio dati riordino
COGMERCI via cogd35.prc Random Anagrafica merci
COGMERA2 via cogd35.prc Random Anagrafica merci estesa (fabbisogno, stagionalita')
COGMAGAZ via cogd35.prc Random Magazzini
COGSLMAG via cogd35.prc Random Saldi magazzino
COGMERFO via cogd35.prc Dynamic Fornitori per merce
COGGEANA via cogd35.prc Random Anagrafica fornitori
COGCNDCF via cogd35.prc Random Condizioni commerciali
COGMOMAG via cogd35.prc Dynamic Movimenti di magazzino
COGTESBO via cogd35.prc Random Testate bolle
COGTABEL via cogd35.prc Random Tabelle di sistema (causali)
cogtrans Inline (trs-rec) I-O File temporaneo di lavoro

Programmi chiamati

Programma Scopo
COGU16W Gestione ordinamento e scansione range merci
COGU23 Calcolo impegnato e ordinato
COGU10W Formattazione importi/divisa
COGS68 (COGS68W) Ricerca merce avanzata
COGS60 (COGS60W) Combo box per selezione ordinamento
COGS01F Gestione interfaccia campo
COGL61 Logica prezzi/acquisto
RNEWCONF Lettura configurazioni (chiavi RIORDINO, cogesys)
DTPRG / PRGDT Conversione data <-> progressivo giorno

Copybook principali

  • cogd35.select, cogd35.fd, cogd35.wrk, cogd35.decla, cogd35.prc -- Generati da Screens
  • cogd35-01.scr -- Screen definition
  • k-u10.cpy -- Costanti COGU10
  • utilcogl61.cpy, utils68.cpy, utilu10.cpy, utilu16.cpy, utilu23.cpy
  • utilw36.cpy, utilncnf.cpy -- Interfaccia RNEWCONF
  • wstato.cpy, wgrave.cpy, wopenf.cpy, wnscr.cpy, cogazien.cpy
  • utils01f.cpy -- Linkage section