Supply Chain Management Blogs by SAP
Expand your SAP SCM knowledge and stay informed about supply chain management technology and solutions with blog posts by SAP. Follow and stay connected.
Showing results for 
Search instead for 
Did you mean: 
Active Contributor


It is reported by a customer that after forecast run with season linear regression model (strategy 35), the "number of periods per season" is changed to 1.

The setting in forecast profile (/sapapo/mc96b) is 12, as below:

After interactive run, it is noticed on the result screen that this value is changed to 1.

But this did not change the value in forecast profile.


It is not hard to find out the reason, if you know the system logic that "if system does not find any seanonality out of the historical data, it will use 1 as the number of periods per seaon to perform the forecast, as if there is no season at all". So it is easy to know that there must be some problem during seasonality check.


The easiest way would be check the information on "Message" tab, where I see the below information:

- There are not enough historical values for the seasonal model.

As I could see in the customer's system following this message, there're only 9 periods of historical data exists.


After customer put the correct historical data, the message disappeared, but the issue still does not get solved.

This time there's a different message on the "Message" tab:

- Seasonal test called

- Number of periods: 12, Autocorrelation: 0.053, Limit: 0.30

- Seasonal test is negative

It is obvious that the system does not detect seaonality from the message "Seasonal test is negative", the reason for which is Autocorrelation (0.053) is less than its limit (0.30).


Customer argues that with the same data, issue does not happen in there SCM4.1 system before upgrade.

Upon checking the customer's SCM4.1 system, it is found that on the "Message" tab:

- Seasonal test called

- Number of periods: 12, Autocorrelation: 0.053, Limit: 0.10-

- Seasonal test is negative

Further checking indicates that the limit of autocorrelation 0.30 is hard coded in the system. In customer's SCM4.1 system, they just modify this parameter with BADI /SAPAPO/SCM_FCSTPARA method 'PARAMETER_SET'.

Technical Information

Function Module to perform forecast is /SAPAPO/PROGNOSE.

"Number of periods per season" is saved in variant '/sapapo/pcom-perio' after it gets the value from input parameter 'prog_parameter'.

Then seasonal forecast is prepared in form ' saison_index_gl_durchschnitt ' in which seasonal test is done by the below coding:

    PERFORM saisontest_ram
  IF lv_flg_no_season EQ 'X'.
    /sapapo/pcom-perio = 1.

Here, as long as 'lv_flg_no_season' is returned as 'X' from form ' saisontest_ram ', which measn season test is failed or negative, "number of periods per season" ('/sapapo/pcom-perio') will always be set to 1.

So it will be quite easy to get the reason why season test is failed or negative just by tracing this flag (' cv_flg_no_season' ) in form ' saisontest_ram '.

1 Comment