1257,1258c1257,1258
<             /* validate */
<             if (inend < instart)
---
>             // validate input for the start and end periods
>             if (inend < instart) // the end date can't be after the start date or time runs backward ;-)
1263c1263
<             if (instart>pApp->m_planHorizon)
---
>             if (instart > pApp->m_planHorizon)
1265,1266c1265,1273
<                 printf("\nWARNING: this->read_target(Line#:%d): Specified StartPeriod(%d)>PlanHorizon(%d); Setting StartPeriod = PlanHorizon", line_no, instart, pApp->m_planHorizon);
<                 instart = pApp->m_planHorizon;
---
>                 // at the request of Tim Bogle, removed override of target start/end period with value of plan horizon
>                 // if a start period is beyond the plan horizon, the entire line entered in targets.dat is ignored
>                 cout << "WARNING: while reading targets.dat(Line#:" << line_no
>                      << "): Specified Start Period(" << instart
>                      << ") is beyond the Plan Horizon(" << pApp->m_planHorizon << "). Discarding entire target line." << endl;
>                 continue;
> 
>                 //printf("\nWARNING: this->read_target(Line#:%d): Specified StartPeriod(%d)>PlanHorizon(%d); Setting StartPeriod = PlanHorizon", line_no, instart, pApp->m_planHorizon);
>                 //instart = pApp->m_planHorizon;
1268c1275
<             if (inend>pApp->m_planHorizon)
---
>             if (inend > pApp->m_planHorizon)
1270c1277,1282
<                 printf("\nWARNING: this->read_target(Line#:%d): Specified EndPeriod(%d)>PlanHorizon(%d); Setting EndPeriod = PlanHorizon", line_no, inend, pApp->m_planHorizon);
---
>                 // if an end period is beyond the plan horizon whose start period is within the plan horizon
>                 // (straddle condition), reset the end period to be equal to the plan horizon
>                 //
>                 cout << "WARNING: while reading targets.dat(Line#:" << line_no
>                      << "): Specified End Period(" << inend
>                      << ") is beyond the Plan Horizon(" << pApp->m_planHorizon << "). Re-setting End Period equal to Plan Horizon" << endl;
1271a1284,1285
> 
>                 //printf("\nWARNING: this->read_target(Line#:%d): Specified EndPeriod(%d)>PlanHorizon(%d); Setting EndPeriod = PlanHorizon", line_no, inend, pApp->m_planHorizon);
