scritto da | on , | Nessun commento

Nel caso l’azienda gestisca il conto lavoro può verificarsi il caso che vi siano dei codici mancanti che impediscano di completare la lavorazione, questa situazione si genera dopo il primo invio di materiale presso il terzista nel caso in cui il materiale necessario per l’ordine non sia stato tutto inviato.
Per individuare i codici mancanti bisogna individuare gli ordini iniziati  e successivamente individuare i codici che non sono stati spediti. Consideriamo la tabella con gli ordini di lavorazione: ORDINE, DEP, CODICE PADRE, CODICE FIGLIO, QT ORD, QT SPE.
Query situazione ordini

SELECT [ORDINI CL].ORDINE, SUM(IIf([QT SPE]>0,1,0)) AS INVIATO, COUNT([ORDINI CL].[CODICE FGLIO]) AS CODICI
FROM [ORDINI CL]
GROUP BY [ORDINI CL].ORDINE;

Query ordini iniziati

SELECT [Situazione ordini].ORDINE, [IVIATI]/[CODICI] AS [% codici inviati]
FROM [Situazione ordini]
WHERE ((([IVIATI]/[CODICI])>0));

A questo punto individuiamo i mancanti

SELECT [ORDINI CL].ORDINE, [ORDINI CL].DEP, [ORDINI CL].[CODICE FGLIO], [ORDINI CL].[QT ORD], [ORDINI CL].[QT SPE], [ORDINI CL]![QT ORD]-[ORDINI CL]![QT ORD] AS [QT MAN]
FROM [Ordini iniziati] INNER JOIN [ORDINI CL] ON [Ordini iniziati].ORDINE = [ORDINI CL].ORDINE
WHERE ((([ORDINI CL]![QT ORD]-[ORDINI CL]![QT ORD])>0));

Ora passiamo ad analizzare i mancanti

SELECT Mancanti.[CODICE FGLIO], SUM(Mancanti.[QT ORD]) AS QO, SUM(Mancanti.[QT MAN]) AS QM, COUNT(Mancanti.DEP) AS ND
FROM Mancanti
GROUP BY Mancanti.[CODICE FGLIO];

A questo punto dividiamo la QT MANCANTE per la QT ORDINATA ed avremo un tabella con i codici mancanti ordinati per percentuale di QT MANCANTE e numero di depositi su cui manca a questo punto confrontiamo la giacenza interna con la qt mancante e nel caso non sia sufficiente a coprire tutto invieremo il materiale a quei depositi che hanno la percentuale più bassa, mentre se abbiamo giacenza zero solleciteremo ordini di acquisto per quei codici che hanno percentuale di mancanza più alta.

Lascia un Commento

News