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¶
z-99-init-program,ctr-abil,rd-azi,open-files.- Lettura configurazione RNEWCONF (paragrafo
x99-confi): RIORDINO.gg-soglia-anticipo->tm-cfg-gg-anticipoRIORDINO.gg-soglia-fine-stag->tm-cfg-gg-fine-stacogesys.cliente-corrispettivi->tm-cfg-cli-corr- Crea file temporaneo
cogtransper dati di lavoro.
Ciclo principale (carica-dati THRU ex-carica-dati)¶
Per ogni merce letta tramite COGU16W (ope = "Leggi"):
- Lettura anagrafica estesa (
COGMERA2): fabbisogno giornaliero (ma2-fab-gio), stagionalita', confezione, ecc. - Inizializzazione record
r2d-rec(COGRI2DT). - Ricerca fornitore preferenziale (
cerca-for-prf): scansioneCOGMERFO+ verifica suCOGGEANA+ condizioneCOGCNDCFtipo "FP". - Giorni consegna: letti da anagrafica fornitore (
ana-gg-cns). - Calcolo data di riferimento: se
tm-ggcop> 0, data sistema + giorni copertura (viaDTPRG/PRGDT). - Impegnato e ordinato: calcolati tramite
COGU23(sottoprogramma). - Giacenza: letta da
COGSLMAG(msal-qta). - Disponibilita':
w-qta-dis = giacenza + ordinato - impegnato. - Giorni copertura attuali:
r2d-gg-cop-att = w-qta-dis / ma2-fab-gio.
Filtri di esclusione¶
- Merci con
mer-valdiverso 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-rifsia nel periodo di stagionalita', con marginitm-cfg-gg-anticipoetm-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 Screenscogd35-01.scr-- Screen definitionk-u10.cpy-- Costanti COGU10utilcogl61.cpy,utils68.cpy,utilu10.cpy,utilu16.cpy,utilu23.cpyutilw36.cpy,utilncnf.cpy-- Interfaccia RNEWCONFwstato.cpy,wgrave.cpy,wopenf.cpy,wnscr.cpy,cogazien.cpyutils01f.cpy-- Linkage section