40 bool tried_requested_date(
false);
43 if (userexit_buffer) userexit_buffer.
call(b,
PythonObject(data->constrainedPlanning));
69 Date extraSupplyDate(Date::infiniteFuture);
70 Date extraInventoryDate(Date::infiniteFuture);
72 double current_minimum(0.0);
73 double unconfirmed_supply(0.0);
87 if ((cur == b->
getFlowPlans().
end() || cur->getDate()>currentDate) && prev)
90 Date theDate = prev->getDate();
91 double theOnHand = prev->getOnhand();
92 double theDelta = theOnHand - current_minimum + shortage;
114 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();
219 tried_requested_date =
true;
226 data->
state->
a_qty = requested_qty - shortage;
232 data->
state->
a_date = (extraInventoryDate < extraSupplyDate) ?
240 b, requested_date, Date::infiniteFuture, shortage);
283 if (userexit_buffer) userexit_buffer.
call(b,
PythonObject(data->constrainedPlanning));