**FREE DCL-PR $LeastSquaresLineEq LIKEDS(ds$LeastSquaresLineEq); *N LIKE(Index) CONST; *N LIKE(Integer) CONST DIM(@MaxElements); *N LIKE(Integer) CONST DIM(@MaxElements) OPTIONS(*NOPASS); END-PR; DCL-PR $LeastSquaresMAD LIKEDS(ds$LeastSquaresMAD); *N LIKE(Index) CONST; *N LIKE(Index) CONST; *N LIKE(Integer) CONST DIM(@MaxElements); *N LIKE(Integer) CONST DIM(@MaxElements); END-PR; DCL-PR $WintersFcstCycle LIKEDS(ds$WintersFcstCycle); *N LIKE(Index) CONST; *N PACKED(4:3) CONST; *N PACKED(4:3) CONST; *N PACKED(4:3) CONST; *N LIKE(INTEGER) DIM(@MaxElements) CONST; END-PR; DCL-PR $WintersMAD LIKEDS(ds$WintersMAD); *N LIKE(Index) CONST; *N PACKED(4:3) CONST; *N PACKED(4:3) CONST; *N PACKED(4:3) CONST; *N LIKE(INTEGER) DIM(@MaxElements) CONST; END-PR; DCL-PR $MovingAvgFcst LIKEDS(ds$MovingAvgFcst); *N LIKE(Index) CONST; *N LIKE(INTEGER) DIM(@MaxElements) CONST; END-PR; DCL-PR $MovingAvgMAD LIKEDS(ds$MovingAvgMAD); *N LIKE(Index) CONST; *N LIKE(INTEGER) CONST; *N LIKE(INTEGER) DIM(@MaxElements) CONST; END-PR; DCL-PR $ExpSmthngLinTrndFcst LIKEDS(ds$ExpSmthngLinTrndFcst); *N LIKE(Index) CONST; *N PACKED(4:3) CONST; *N PACKED(4:3) CONST; *N LIKE(INTEGER) DIM(@MaxElements) CONST; END-PR; DCL-PR $ExpSmthngLinTrndMAD LIKEDS(ds$ExpSmthngLinTrndMAD ); *N LIKE(Index) CONST; *N LIKE(Real#) CONST; *N LIKE(Real#) CONST; *N LIKE(INTEGER) DIM(@MaxElements) CONST; END-PR; DCL-PR $ExpSmthngFcst LIKEDS(ds$ExpSmthngFcst); *N LIKE(Index) CONST; *N PACKED(4:3) CONST; *N LIKE(INTEGER) DIM(@MaxElements) CONST; END-PR; DCL-PR $ExpSmthngMAD LIKEDS(ds$ExpSmthngMAD); *N LIKE(Index) CONST; *N LIKE(Real#) CONST; *N LIKE(INTEGER) DIM(@MaxElements) CONST; END-PR; //****************************************************************************** // data structures //****************************************************************************** DCL-DS ds$LeastSquaresLineEq QUALIFIED; Error IND; Slope LIKE(Real#); YIntercept LIKE(Real#); END-DS; DCL-DS ds$LeastSquaresMAD QUALIFIED; Error IND; MeanAvgDev LIKE(Real#); END-DS; DCL-DS ds$WintersFcstCycle QUALIFIED; Error IND; Forecast LIKE(Real#) DIM(@MaxElements); END-DS; DCL-DS ds$WintersMAD QUALIFIED; Error IND; MeanAvgDev LIKE(Real#); END-DS; DCL-DS ds$MovingAvgFcst QUALIFIED; Error IND; Forecast LIKE(Real#); END-DS; DCL-DS ds$MovingAvgMAD QUALIFIED; Error IND; MeanAvgDev LIKE(Real#); END-DS; DCL-DS ds$ExpSmthngLinTrndFcst QUALIFIED; Error IND; Forecast LIKE(Real#) DIM(@MaxElements); END-DS; DCL-DS ds$ExpSmthngLinTrndMAD QUALIFIED; Error IND; MeanAvgDev LIKE(Real#); END-DS; DCL-DS ds$ExpSmthngFcst QUALIFIED; Error IND; Forecast LIKE(Real#) DIM(@MaxElements); END-DS; DCL-DS ds$ExpSmthngMAD QUALIFIED; Error IND; MeanAvgDev LIKE(Real#); END-DS;