40 bool tried_requested_date(
false);
43 if (userexit_buffer) userexit_buffer.
call(b,
PythonObject(data->constrainedPlanning));
61 Date extraSupplyDate(Date::infiniteFuture);
62 Date extraInventoryDate(Date::infiniteFuture);
64 double current_minimum(0.0);
65 double unconfirmed_supply(0.0);
79 if ((cur == b->
getFlowPlans().
end() || cur->getDate()>currentDate) && prev)
82 Date theDate = prev->getDate();
83 double theOnHand = prev->getOnhand();
84 double theDelta = theOnHand - current_minimum + shortage;
106 if (data->
state->
q_date == requested_date) tried_requested_date =
true;
141 if (theDate >= requested_date)
142 shortage = -prev->getOnhand();
147 extraInventoryDate = Date::infiniteFuture;
157 if (theDate > requested_date
158 && extraInventoryDate == Date::infiniteFuture)
159 extraInventoryDate = theDate;
171 if (cur->getType() == 3) current_minimum = cur->getMin();
175 currentDate = cur->getDate();
226 tried_requested_date =
true;
233 data->
state->
a_qty = requested_qty - shortage;
239 data->
state->
a_date = (extraInventoryDate < extraSupplyDate) ?
247 b, requested_date, Date::infiniteFuture, shortage);
290 if (userexit_buffer) userexit_buffer.
call(b,
PythonObject(data->constrainedPlanning));