Skip to Content

Allocation PO date based on planning cycle in material master

Hi Experts,

I need your help to understand the logic behind planning cycle in article master MARC view.

I have a forecast delivery date e.g.: today 16/06/2017. this is my input start point.

I am using allocation strategy /rule(functionality) in ECC IS retail.

Now I need to calculate -->back track the allocation PO date,so that I can meet up the forecast delivery date (16/06/2017).

Now from date (16/06/2017) I subtract pl. deliv. time = 1 days

using FM -->BKK_ADD_WORKINGDAY --> which gives me 15/06/2017 ( Thursday)

now as per planning cycle = 209 --> it should be Tue and Fri.

So the allocation PO date(back track principle) should be set as 13/06/2017(Tuesday)

How do I calculate this Tuesday? ANY hint from any table ? or any FM in SAP can help the same?

Please provide your valuable input.

Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

3 Answers

  • Best Answer
    Jun 17, 2017 at 07:44 AM

    Hi Fransisco,

    First of all thanks to you for your kind answer to encourage me and my stupid question.

    We all love the theory K.I.S.S, is n't it :)

    Your factory calender tx SCAL prompted me to do some research further on this issue over weekend.

    I derived a simple logic to achieve this solution with some pseudo logic below,will explain the ABAPer over next week.

    If anybody has a better way of doing this,please do share your knowledge.

    ------------------Start------------------

    from above example I already arrived on the date based on PDT time deduction -> which gives me 15/06/2017 ( Thursday),

    Now ,for planning cycle I go to table T439J ,and give input as site =1392 and planning cycle= 209.

    It returns me Two entry with WEEK DAY value ,i.e. 2(Tuesday) and 5(Friday) I store it into internal table A

    now I use FM -> DATE_COMPUTE_DAY and input is my date already arrived , i.e.15/06/2017 ( Thursday),

    and it gives me return WEEK DAY value ,i.e. 4.

    Now I can loop into table A and read the value week day = 4, Pseudo logic as below

    lv_weekday_new = 4.

    Do 5 times.

    read table A with key WEEK DAY = lv_weekday_new..

    if sys-subrc = 0."found the value

    * means the date arrived can be used as planning run for PO date.

    EXIT. "exit from do loop.

    else.

    * try to find lower matching entry

    lv_weekday_new = lv_weekday_new -1.

    endif.

    enddo.

    After above operation ,,,Now my lv_weekday_new = 2.

    so I need to deduct 4- 2 = 2 more days from the 1st arrived date i.e.15/06/2017 ( Thursday),

    For this I can use same old FM -->BKK_ADD_WORKINGDAY.

    Finally I arrive logically to the expected date 13/06/2017(Tuesday)

    ------------------End------------------

    Regards,

    Avik

    Add comment
    10|10000 characters needed characters exceeded

  • Jun 14, 2017 at 04:35 PM

    Hello Experts,

    can you please help with your valuable inputs on the above issue?

    Add comment
    10|10000 characters needed characters exceeded

  • Jun 15, 2017 at 02:19 PM

    Hello, Avik.

    The Planning cycle is used to define the days on which a material can be provisioned (run replenishment). The delivery dates are defined in the lead time of the supplier (REG INFO, EINE-APLFZ) or the CD (MARC - PLIFZ) depends on supply sourse in this case you use "2" (the supplier is Distribution Center, lead time 1 day). Is import know you factory calendar (Tx SCAL) that defines the working days (If one day is not workable, the delivery date will be the following day) . If you use allocation table the days define you.

    best regards, FMD

    Add comment
    10|10000 characters needed characters exceeded

    • Hi Fransisco,

      First of all thanks to you for your kind answer to encourage me and my stupid question.

      We all love the theory K.I.S.S, is n't it :)

      Your factory calender tx SCAL prompted me to do some research further on this issue over weekend.

      I derived a simple logic to achieve this solution with some pseudo logic below,will explain the ABAPer over next week.

      If anybody has a better way of doing this,please do share your knowledge.

      ------------------Start------------------

      from above example I already arrived on the date based on PDT time deduction -> which gives me 15/06/2017 ( Thursday),

      Now ,for planning cycle I go to table T439J ,and give input as site =1392 and planning cycle= 209.

      It returns me Two entry with WEEK DAY value ,i.e. 2(Tuesday) and 5(Friday) I store it into internal table A

      now I use FM -> DATE_COMPUTE_DAY and input is my date already arrived , i.e.15/06/2017 ( Thursday),

      and it gives me return WEEK DAY value ,i.e. 4.

      Now I can loop into table A and read the value week day = 4, Pseudo logic as below

      lv_weekday_new = 4.

      Do 5 times.

      read table A with key WEEK DAY = lv_weekday_new..

      if sys-subrc = 0."found the value

      * means the date arrived can be used as planning run for PO date.

      EXIT. "exit from do loop.

      else.

      * try to find lower matching entry

      lv_weekday_new = lv_weekday_new -1.

      endif.

      enddo.

      After above operation ,,,Now my lv_weekday_new = 2.

      so I need to deduct 4- 2 = 2 more days from the 1st arrived date i.e.15/06/2017 ( Thursday),

      For this I can use same old FM -->BKK_ADD_WORKINGDAY.

      Finally I arrive logically to the expected date 13/06/2017(Tuesday)

      ------------------End------------------

      Regards,

      Avik