JAP = Jarda´s SAP modul  (Jarda comes from Jaroslav )

my bigesst SAP project ever 

Production Planning and Detailed Scheduling (PP/DS) or in other words Advanced Planning System (APS)

This module is fully integrated in SAP .

In generally and in details how APS works can be found on the internet

How does it work shortly in this case:

  1. Step. In the night, after MRP task, starts job=> the all sales order schedules are scanned and built their order net with all the needed components .2. All the production orders are scheduled through their working steps/time and working place.

Order net

General overview: Cockpit with resources (workers, machines)

After the main job is done, one has many options to evaluate the situation in the plant.
See pictures.

View resource group of people (with workers in that group)

Main Capacity Cockpit

View working place/machines with detail schedule

Overview with machines – detail schedule

Overview with machines – detail schedule

View resource group of people (with workers in that group)

Overview with all Sales order schedules, incl. dates as date to delivery, date from scheduling, delay, etc….

 

The next overview is used in the department of purchasing where the delayed deliveries are schown and their impact on sales order schedules. 

Why do I need my own APS system if there is plenty in the marketplace incl. APO from SAP?

  1. I haven´t found one there with features that needed in our firm

  2. Most of them are add-ons, my solutions is in SAP included

  3. I can anytime change the logic of planning to my own

  4. I can skip direct in other SAP transactions

  5. I can use OTP logic (see Goldratt and TOC)

  6. Production orders are not moved in time due to planned logic.

Etc…..

The full coding has over 20.000 lines…..

As example used function modules:

 

    CALL FUNCTION 'MD_SALES_ORDER_STATUS_REPORT'
      EXPORTING
        edelet             = i_edelet
        edelkz             = c_edelkz
        edelnr             = lv_prevod
        edelps             = i_edelps
        eplscn             = i_plscn
        availability_check = availability_check
        no_savety_stock    = sicherheitsbestand_mit
*        no_savety_stock    = 'X' "
*       DATA_IN_MEMORY     = ' '
*       MEMORY_ID          = 'PLHS'
*       EMATNR             = ' '
*       EWERKS             = ' '
*       EBERID             = ' '
*       EMDPS              =
        nodisp             = 'X'
        i_ignore_mtold     = 'X'
        i_profid           = profil_id
*       I_REP_REFRESH      = ' '
*       IS_PROFILE         =
*       IT_VBEP_KEYS       =
        no_commit_work     = 'X'
      IMPORTING
        et_rtree_sel       = lt_tree
      TABLES
        iioelx             = lt_ioel
      EXCEPTIONS
        error              = 1
        OTHERS             = 2.
    IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      EXIT.
    ENDIF.

For working proces scheduling:
'CR_SCHED_VIA_OPERATING_TIME'

Next FMs used:
'MD_STOCK_REQUIREMENTS_LIST_API'
'FACTORYDATE_CONVERT_TO_DATE'
'COHU_ORDER_DATA_READ'
'MD_MRP_LIST_API'
'POINT_IN_TIME_CONVERT'
'DATE_TIME_CONVERT'
'DATE_CONVERT_TO_FACTORYDATE'
'FACTORYDATE_CONVERT_TO_DATE'
Etc...