ho un cliente che si è dimenticato di far girare il batch tutti i giorni ed ha accumulato un ritardo di 4/5 mesi. Lavora sulla 3.70 nativo.
Ho provato a lanciarlo di massa, ma non riesce a finire neanche in un fine settimana…è del settore alimentare e non va chiude mai…
Ho pertanto modificato il report per essere lanciato con un filtro articolo, e ho fatto un altro report che mostra (vedi sotto) per gli articoli presenti nella tabella 5804 (ossia quelli che elabora i lbatch) i record dell’item ledger entry e quelli della value entry (con valuation date> data lancio del batch), per poi andare a lanciare il batch a campione e vedere che tempi mi dava sui singoli articoli.
Nr. Articolo
Cod. Ubicazione
Data di Valutazione
Num. Record Item Ledger
Num. Record Value Entry
Tempo elaborazione
ADDI001
31/12/9999
20
0
2m
BURR001
31/12/9999
2221
0
40m
CAPP004
22/05/2008
212
407
2m
CIPO002
08/05/2008
1067
2582
9m
OLIV001
31/12/9999
1072
0
6m
ZUCH001
31/12/9999
26
0
2m
Da queste prove non sono riuscito a trovare regole precise…
di sicuro, anche come vedete dallo specchietto, quando il batch parte, sta comunque circa 2 minuti sia che si elabori 1 articolo con pochi movimenti pittosto che uno con molti.
-non capisco poi come mai articoli con 1000 movimenti sono elaborati in 6 minuti, e altri con il doppio di moviemnti (BURR001 ne ha 2221) ci mette 40 minuti!!!
Tenedo conto che ci sono articoli con 8000 movimenti…si fa presto a capire perchè gli ci vuole così tanto tempo.
Riassumendo:
Che tempi impiegano i vostri clienti???
Secondo voi è normale che Il mio cliente che ad oggi ha
204 articoli da elaborare
per un totale di 190.000 item ledger entry
290.000 mov. di value entry
non riesca ad elaborarli in 2,5 gg? E’ un problema di codice o di HW …
sapete se esiste qualche documento in rete che spiega cosa fa il batch? io so ha cosa serve e cosa fa alla fine, ma non sono mai riuscito a convincere un programmatore ad andare a vedere passo passo cosa fa e pertanto non so neanche dove andare a cercare la possibile causa di lentezza della elaborazione…
Per i numeri che riporti direi che non dovrebbe metterci così tanto. Può darsi che vada in loop … se non ricordo male in alcune situazioni può succedere, mi pare sui movimenti di trasferimento.
In attesa che qualcuno con esperienze simili ti dica qual è la causa, direi che per capire dove il batch impiega così tanto tempo ti consiglio di fare il test di un articolo monitarndolo con il Client Monitor + Code Coverage e leggendone poi i risultati con tabelle pivot di excel per sapere quali operazioni impiegano più tempo e/o quali vengono ripetute troppe volte - magari si possono ottimizzare i loop, usare temp table o altro.
Per riuscire a leggere i risultati del client monitor, dovresti installare i fob disponibili nel sql resources kit, va bene anche per il nativo.
le istruzioni su come usare gli oggetti e come leggere i risultati in excel le trovi nel manuale Database Resource Kit (o nella verisone precedente w1w1PerfTFuide).
Perché nel conteggio dei record hai considerato solo i value entry con valuation date > data di calcolo, non dovrebbe essere il contrario?
ho aperto anche un incident alla MBS, e anche loro mi stan dicendo che i tempi gli sembrano un pò lunghi per la mole di dati… e che potrebbe esserci qualche articolo che va in loop.
In tal modo dovrebbe essere più facile accorgersi se c’è un articolo su cui il batch non va avanti e entra in loop.
Se non entra in loop mi sa che mi tocca ad andare come dici te con il client monitor.
Per quanto riguarda il conteggio che ho fatto, non essendo un programmatore spinto, ma un consulente che sbircia ogni tanto nel codice, non sono riuscito ancora a convincere un programmatore a farmi spiegare da cosa fa sto batch in maniera puntuale…tutte le volte che gli sviluppatori sentono parlare di sto batch, iniziano a dire che è lungo, complicato, che non finisce mai…che porta sfiga…che l’ultimo programmatore ci ha rimesso gli occhi…e via di seguito…
Quindi so a cosa serve, so la logica del costo medio di navision, ma mi sfugge il tipo di ricalcolo che fa.
nel senso:
dopo che ho girato il batch, la tabella 5804 è vuota.
Appena movimento una articolo nav inserisce nella 5804 l’articolo con una data di valutazione.
io da ignorante pensavo che il batch mi prendesse in considerazione i movimenti di valorizzazione da quella data di valutazione in poi, essendo i movimenti precedenti già passati sotto il batch…
te per caso sai la logica di massima con cui fa l’elaborazione batch…te ne sarei veramente grato!!!
Per la data valutazione, probabilmente hai ragione, considera tutti i movimenti in uscita con data valutazione superiore a quella in tabella 5804, tutti quelli precedenti dovrebbero essere già stati valorizzanti dai run precedenti.
Cmq, non sono abbastanza aggiornata in materia per riuscire a spiegare il funzionamento del batch. Ma in ogni caso io un bel giretto con il client monitor glielo farei fare.
p.s. Ci sono movimenti di trasferimento?
Ci sono movimenti di produzione (consumo e output)?
questi in genere sono quelli che danno più problemi.
Se hai un articolo critico con non troppi movimenti potresti provare ad esportarli i movimenti a valore in excel ed ordinarli per data valutazione - magari dando anche una controllata a questa, credo che possa succedere che questa sia assegnata male e nel costo medio è determinante.
Avete fatto aggiornamenti manuali sui dati nelle tabelle 32, 5802 o 339?
and last but not least: Perché il costo medio??? [:(] … normalmente il cliente lo chiede, ma questo costo medio non è esattamente quello che si aspettano …
—Si, il mio cliente è un’azienda di produzione alimentare: i PF e SL sono settati a costo standard (e quindi non sono toccati direttamente dal batch) mentre gli articoli di acquisto puro sono settati a medio. quindi ho un sacco di movimenti di consumo di MP…di trasferimento non ne ce ne sono molti…
-----nessun aggiornamento che io sappia…
----- generlamente o sempre lavorato con clienti abituati a costificare le MP a medio, al limite a lifo o fifo, e gli articoli di produzione a STD; io ho sempre spiegato loro che iol costo medio calcolato da Navision era diverso da quello che normalmente in italia si conosce, spegandogli la logica e in particolare che veniva calcolato considerando tutti i mov dalla notte dei tempi…d’altra parte poi su navision solo quello avevamo…
Ora sulla 5 ho sentito dire che il costo medio può essere anche calcolato su un det. intervallo di tempo…sono urioso di vedere se funziona…qualcuno l’ha provato?
prendnendo spunto da te ho trovato anche questo …890181 (Update 4 for Microsoft Navision W1 3.7 is available) dove ci sono altre correzioni a simpatici bug sui costi…mi sento male…quasi quasi mi viene da esser felice che ho solo 2 clienti che hanno avuto problemi con i costi medi…
non ho capito dove si scaricano sti hotfix???
per caso dall’area di download dei service pack sul partnersource?