This is a collection of information for experts to help finding root cause by debugging the Deteiled Scheduling Planning Board, transaction /SAPAPO/CDPS0


Tips & Tricks

•In DS Planning Board enter ok-code ‘break‘ to reach the Break-Point in Form USER_COMMAND, Function Group /SAPAPO/CDPS_PRESENTATION.

•In the ok-code field you can enter a global-table-name, to view the according table. Some Possible tables see under.

•To enable UNDO after running a DS-Heuristic set global variable g_undo_heu (/SAPAPO/CDPS_PRESENTATION) to ‘X’

Predefined Break-Points (Transaction SAAB)

•/SAPAPO/CDPS_GRAPH – Graphic Functions for the DS Planning Board

•/SAPAPO/CDPS_GRAPHB – DS Planning Board: Determination of the Graphical Representation

•/SAPAPO/CDPS_INIT – Detailed Scheduling Planning Board: Initialization

•/SAPAPO/CDPS_NETWORKCHART – Detailed Scheduling Planning Board: Network Display(s)

•/SAPAPO/CDPS_PLANFKT – Detailed Scheduling Planning Board: Planning Functions

•/SAPAPO/CDPS_SCHED – Detailed Scheduling Planning Board: Scheduling

•/SAPAPO/CDPS_XM_ADMIN – Detailed Scheduling Planning Board: XM-Layer Settings

•/SAPAPO/CDPS_XM_DATA_READ – Detailed Scheduling Planning Board: Read XM-Layer Data

Global table names for display by entering in OK-code field:

•G_ACTIVITY_TAB

•G_ALTMODE_TAB

•G_AXIS_OBJECT_TAB

•G_BOX_OBJECT_TAB

•G_CAL_GRID_OBJECT_TAB

•G_CALENDAR_OBJECT_TAB

•G_CAPREQ_TAB [including change of time]

•G_CHART_OBJECT_TAB [including nested table(s) and change of time]

•G_CURVE_OBJECT_TAB

•G_DATELINE_OBJECT_TAB

•G_LAYER_TYPE_TAB

•G_LINK_OBJECT_TAB

•G_MATERIAL_TAB

•G_NODE_OBJECT_TAB [including nested table(s) and change of time]

•G_OPERATION_TAB [excluding the nested table]

•G_ORDER_TAB [including nested table(s) and change of time]

•G_RESOURCE_TAB [including change of time]

•G_RIBBON_OBJECT_TAB

•G_TBCA_TAB

•G_TBCC_TAB

•G_TBCF_TAB

•G_TBCG_STR

•G_TBCL_TAB

•G_TBCO_STR

•G_TFAT_TAB

•G_TFMT_TAB

•G_THLT_TAB

•G_TIME_AXIS_TAB [including nested table(s)* and change of time]

Few Important Function Modules/Subroutines/Includes:

•Function module /SAPAPO/PRES_TOOLBAR_FILL – List of icon/buttons with details which includes the function of the button/icon, associated icon, quick info about the icon and the button type

•Include /SAPAPO/LCDPS_FUNC_DISPATCHFUC – Constants of all used function codes i.e. button/icon

•Subroutine STRATEGY_SETTINGS_SET – Associating the Strategy Profile parameter with the related Strategy

•Function module /SAPAPO/FDIS_DISPATCH_FUNCTION – performs planning functions (also used in Resource Planning Table)

To report this post you need to login first.

3 Comments

You must be Logged on to comment or reply to a post.

  1. Varundeep Mittal

    Thanks for sharing this information. Could you please tell me which function module is used in DS board when we change drag any order and save it. I mean i am looking for FM which saves the new start and end dates in LC.

    Thanks,

    VM

    (0) 
    1. Tiago Furlanetto

      Hi Varundeep.

      When you drag&drop an activity, the DSPB determines the capacity requirements that were selected, as well as the function that is to be executed (Reschedule) and sends this information over to FM /SAPAPO/FDIS_DISPATCH_FUNCTION.

      This function will, then, call subroutine DISPATCH. In this form, the data is prepared for scheduling. From this subroutine, FM /SAPAPO/EFPL_ONLINE_SCHEDULER is called, which finally calls FM /SAPAPO/OM_ACT_SCHEDULE.

      In /SAPAPO/OM_ACT_SCHEDULE, you can see in table L_RESCHEDULE_TAB the NEW_START_TIME (for forwards scheduling) and the NEW_END_TIME (for backwards scheduling) of each of the activities.

      If you set a breakpoint at OM_ACT_SCHEDULE and execute drag&drop, you will see the whole callstack.

      Scheduling itself is not done by PP/DS, but rather by a stored procedure in the liveCache. From PP/DS side, we mostly “say” what activities should be scheduled, what are the requested dates and what are the scheduling strategies – liveCache takes this into account and executes scheduling.

      At the end of OM_ACT_SCHEDULE, you can see the result in ET_CHANGED_CAP_REQS. If a scheduling error occured, you may be able to see it in ET_SCHED_FAILURES (an entry with type ‘0’ means success, though). If scheduling was terminated, at least one entry will be available in ET_RC.

      Regards,

      Tiago

      (0) 
  2. Nivesh Tripathi

    Hello Surany,

    In context to your point “To enable UNDO after running a DS-Heuristic set global variable g_undo_heu (/SAPAPO/CDPS_PRESENTATION) to ‘X'”, can you please clarify where can we set the value to “X” for this variable? Did you mean directly changing the standard program or are there other options like BADI etc which can be used to over-write standard value for this global variable?

    We want to have UNDO option always available on DS board including for the actions that are done through Heuristics.

    Regards

    Nivesh

    (0) 

Leave a Reply