Connecting Tech Pros Worldwide Help | Site Map

Help on Capacity Control Program needed

AAVF IT
Guest
 
Posts: n/a
#1: Nov 12 '05
Hi

I am developing an application in MS Access 2000 that is to bolt on to an
existing Access database, that links via ODBC to our UNIX-based factory
management system. I need some help in this area as am not a VB programmer,
and I try (where possible) to keep everything to simple queries etc.

We have orders that have to be scheduled for manufacture on a specific date.
However, the area in which they are manufactured has a capacity limit of 170
units per day. If the requirement for a day exceeds 170, it has to run on to
the next day. If there are multiple orders for the same day, they are
treated on a priority basis (ie, date required).

An example

Limit of 170 units per day

ORDER_NO QTY_REQD DATE_REQD WORK_DATE QTY_MADE QTY_CARR_FWD
SPARE_CAPACITY COMPLETED?
A1231 150 12-Jan-2004 12-Jan-2004
150 0 20
Y
A1230 250 12-Jan-2004 12-Jan-2004
20 230 0
N
A1230 230 12-Jan-2004 13-Jan-2004
170 60 0
N
A1230 60 12-Jan-2004 14-Jan-2004
60 0 110
Y

At the moment, the kind of information I have in tables is as follows.

1). The order details ([ORDER_NO], [QTY_REQD], [DATE_REQD])
2). A calendar of work days (ie, excluding weekends and holidays:
[WORK_DATE])

I need to be able to produce reports based on the example above that allows

a). our manufacturing controller to see his manufacturing plan
b). sales personnel to be able to enter a date and a quantity and to be
advised (i) is their date required realistic? and (ii) what is the earliest
date for that quantity?

I would be very grateful for any ideas in this area. I know Excel may be a
better tool, but we have a good sized Access 2000 in house database system
and it would be better to try and keep it in the same application.

Regards

Tom Millington


Michel Walsh
Guest
 
Posts: n/a
#2: Nov 12 '05

re: Help on Capacity Control Program needed


Hi,


That is a hard problem, but not by its technical solution, it is a
matter of a simple ORDER BY.

Technically, the quantity is relatively irrelevant to produce the
sequence, if a started job has to be completed, and if there is a priority
order (some clients before some others) and, in case of equality, take the
one with the smallest ExpectedDate, you have your schedule with:

SELECT *
FROM whatever
ORDER BY JobStarted ASC, Priority DESC, ExpectedDate ASC

The quantity is only involved in knowing the "time of production", not
in producing the ORDER of the jobs among themselves, in the schedule.

A running sum of the quantity over these ordered records would tell you
in which day ( 0-170 = one day , 171-340 = two days) a scheduled
production would occur.



To make a running sum, of value, given an ordering, you can use the
following template:


SELECT a.id, SUM(b.value)
FROM myTable As a INNER JOIN myTable A b
ON ( a.criteria1>b.criteria1 ) OR
( a.criteria1=b.criteria1 AND
(( a.criteria2> b.criteria2 ) OR
( a.criteria2 = b.criteria2 AND
(( a.criteria3>criteria3 ) OR
( a.criteria3=b.criteria3 ...
) )) ))

GROUP BY a.id




So, in your case, SUM(b.Value) \ 170 would give the number of day of
production left to complete the job a.id, given the ordering criteria ( use
< or > as appropriate ).


Now, that result does not take in account broken machinery, or human
intervention ( "pushing" a job in front of another one, failing to comply
with the logical criteria we put in place, but in accordance with the "human
intervention", here, the will of the boss). And that, that is the hard part.
Your application should be able to handle it, probably. Hint: now you may
see why I included a "priority" field ...




Hoping it may help,
Vanderghast, Access MVP

"AAVF IT" <itdevelopment@aavf.co.uk> wrote in message
news:1074187576.892550@ananke.eclipse.net.uk...[color=blue]
> Hi
>
> I am developing an application in MS Access 2000 that is to bolt on to an
> existing Access database, that links via ODBC to our UNIX-based factory
> management system. I need some help in this area as am not a VB[/color]
programmer,[color=blue]
> and I try (where possible) to keep everything to simple queries etc.
>
> We have orders that have to be scheduled for manufacture on a specific[/color]
date.[color=blue]
> However, the area in which they are manufactured has a capacity limit of[/color]
170[color=blue]
> units per day. If the requirement for a day exceeds 170, it has to run on[/color]
to[color=blue]
> the next day. If there are multiple orders for the same day, they are
> treated on a priority basis (ie, date required).
>
> An example
>
> Limit of 170 units per day
>
> ORDER_NO QTY_REQD DATE_REQD WORK_DATE QTY_MADE QTY_CARR_FWD
> SPARE_CAPACITY COMPLETED?
> A1231 150 12-Jan-2004 12-Jan-2004
> 150 0 20
> Y
> A1230 250 12-Jan-2004 12-Jan-2004
> 20 230 0
> N
> A1230 230 12-Jan-2004 13-Jan-2004
> 170 60 0
> N
> A1230 60 12-Jan-2004 14-Jan-2004
> 60 0 110
> Y
>
> At the moment, the kind of information I have in tables is as follows.
>
> 1). The order details ([ORDER_NO], [QTY_REQD], [DATE_REQD])
> 2). A calendar of work days (ie, excluding weekends and holidays:
> [WORK_DATE])
>
> I need to be able to produce reports based on the example above that[/color]
allows[color=blue]
>
> a). our manufacturing controller to see his manufacturing plan
> b). sales personnel to be able to enter a date and a quantity and to be
> advised (i) is their date required realistic? and (ii) what is the[/color]
earliest[color=blue]
> date for that quantity?
>
> I would be very grateful for any ideas in this area. I know Excel may be a
> better tool, but we have a good sized Access 2000 in house database system
> and it would be better to try and keep it in the same application.
>
> Regards
>
> Tom Millington
>
>[/color]


AAVF IT
Guest
 
Posts: n/a
#3: Nov 12 '05

re: Help on Capacity Control Program needed


Thanks Michel

This has given me something to think I about. I will give your ideas a try.

Regards

Tom

"Michel Walsh" <vanderghast@VirusAreFunnierThanSpam> wrote in message
news:%23DvZrYD3DHA.560@TK2MSFTNGP11.phx.gbl...[color=blue]
> Hi,
>
>
> That is a hard problem, but not by its technical solution, it is a
> matter of a simple ORDER BY.
>
> Technically, the quantity is relatively irrelevant to produce the
> sequence, if a started job has to be completed, and if there is a priority
> order (some clients before some others) and, in case of equality, take the
> one with the smallest ExpectedDate, you have your schedule with:
>
> SELECT *
> FROM whatever
> ORDER BY JobStarted ASC, Priority DESC, ExpectedDate ASC
>
> The quantity is only involved in knowing the "time of production", not
> in producing the ORDER of the jobs among themselves, in the schedule.
>
> A running sum of the quantity over these ordered records would tell[/color]
you[color=blue]
> in which day ( 0-170 = one day , 171-340 = two days) a scheduled
> production would occur.
>
>
>
> To make a running sum, of value, given an ordering, you can use the
> following template:
>
>
> SELECT a.id, SUM(b.value)
> FROM myTable As a INNER JOIN myTable A b
> ON ( a.criteria1>b.criteria1 ) OR
> ( a.criteria1=b.criteria1 AND
> (( a.criteria2> b.criteria2 ) OR
> ( a.criteria2 = b.criteria2 AND
> (( a.criteria3>criteria3 ) OR
> ( a.criteria3=b.criteria3 ...
> ) )) ))
>
> GROUP BY a.id
>
>
>
>
> So, in your case, SUM(b.Value) \ 170 would give the number of day of
> production left to complete the job a.id, given the ordering criteria ([/color]
use[color=blue]
> < or > as appropriate ).
>
>
> Now, that result does not take in account broken machinery, or human
> intervention ( "pushing" a job in front of another one, failing to comply
> with the logical criteria we put in place, but in accordance with the[/color]
"human[color=blue]
> intervention", here, the will of the boss). And that, that is the hard[/color]
part.[color=blue]
> Your application should be able to handle it, probably. Hint: now you may
> see why I included a "priority" field ...
>
>
>
>
> Hoping it may help,
> Vanderghast, Access MVP
>
> "AAVF IT" <itdevelopment@aavf.co.uk> wrote in message
> news:1074187576.892550@ananke.eclipse.net.uk...[color=green]
> > Hi
> >
> > I am developing an application in MS Access 2000 that is to bolt on to[/color][/color]
an[color=blue][color=green]
> > existing Access database, that links via ODBC to our UNIX-based factory
> > management system. I need some help in this area as am not a VB[/color]
> programmer,[color=green]
> > and I try (where possible) to keep everything to simple queries etc.
> >
> > We have orders that have to be scheduled for manufacture on a specific[/color]
> date.[color=green]
> > However, the area in which they are manufactured has a capacity limit of[/color]
> 170[color=green]
> > units per day. If the requirement for a day exceeds 170, it has to run[/color][/color]
on[color=blue]
> to[color=green]
> > the next day. If there are multiple orders for the same day, they are
> > treated on a priority basis (ie, date required).
> >
> > An example
> >
> > Limit of 170 units per day
> >
> > ORDER_NO QTY_REQD DATE_REQD WORK_DATE QTY_MADE[/color][/color]
QTY_CARR_FWD[color=blue][color=green]
> > SPARE_CAPACITY COMPLETED?
> > A1231 150 12-Jan-2004 12-Jan-2004
> > 150 0 20
> > Y
> > A1230 250 12-Jan-2004 12-Jan-2004
> > 20 230 0
> > N
> > A1230 230 12-Jan-2004 13-Jan-2004
> > 170 60 0
> > N
> > A1230 60 12-Jan-2004 14-Jan-2004
> > 60 0 110
> > Y
> >
> > At the moment, the kind of information I have in tables is as follows.
> >
> > 1). The order details ([ORDER_NO], [QTY_REQD], [DATE_REQD])
> > 2). A calendar of work days (ie, excluding weekends and holidays:
> > [WORK_DATE])
> >
> > I need to be able to produce reports based on the example above that[/color]
> allows[color=green]
> >
> > a). our manufacturing controller to see his manufacturing plan
> > b). sales personnel to be able to enter a date and a quantity and to be
> > advised (i) is their date required realistic? and (ii) what is the[/color]
> earliest[color=green]
> > date for that quantity?
> >
> > I would be very grateful for any ideas in this area. I know Excel may be[/color][/color]
a[color=blue][color=green]
> > better tool, but we have a good sized Access 2000 in house database[/color][/color]
system[color=blue][color=green]
> > and it would be better to try and keep it in the same application.
> >
> > Regards
> >
> > Tom Millington
> >
> >[/color]
>
>[/color]


Closed Thread