As of SCM 5.0, there was a feature where planners in SNP Planning Book were able to lock the ‘INITIAL’ column in the Data View, so that the INITIAL period column is defaulted as the start column and not the next future period. There are couple of steps that would have to be done to lock the initial column;
- Set a user parameter in SU01 called /SAPAPO/SDP_STARTCOL to value ‘X’.
- Double-click the header of the initial column in the SNP data view.
But as of SCM 7.0, SAP has removed this very useful feature (OSS note 749791 until SCM 4.1 – Interactive Planning: Start Period). The requirement is to display the INITIAL column as the first column which would help users to check the initial values directly rather than scrolling back every time. There have been several discussions on SAP forums, but no one has been able to provide a good resolution to this issue. OSS messages have also been created and SAP had nothing more to say than “NOT SUPPORTED ANYMORE”.
Although it is a small fix, it causes lot of frustration among the user community and loss of productivity.
Default View – Without INITIAL Column
Requirement: INITIAL Column should be displayed, anytime the planner goes into the SNP Planning Book.
SAP provides the “Period from last selection” option in the user settings to remember the last column that was scrolled to but this does not satisfy the requirement of fixing the initial column. Also when changing the planning book or opening a new session, this does not work (works only when toggling between selection ids for the same planning book in the same session).
Resolution: Implement BADI
We implemented this custom functionality on our project and the users are very satisfied. Use advance macro BADI to fix the INITIAL column when selection is loaded to /SAPAPO/SDP94. This is user specific and settings have to be maintained at planning book, data view level. If required, it can be restricted to selection id level also.
Step 1: Add value 2 ‘Show Initial column’ (could be anything) to data element /SAPAPO/GRIDFOCUS
This is to ensure that standard functionality remains as such for option 1.
Step 2: Implement the BADI /SAPAPO/ADVX and write custom code in method USER_EXIT_MACRO
Step 3: Custom logic in method USER_EXIT_MACRO
The INITIAL column is the first column in the planning table and setting column no. = 1 will set the initial column as the first column when opening loading a selection id in /SAPAPO/SDP94.
The planning book, data view etc. can be obtained using the following function modules
Planning book and data view -> /SAPAPO/MSDP_PB_GET_ADV_MVIEW (pass i_adv_layout and i_adv_view which are available in the interface import parameters)
Selection ID -> /SAPAPO/MSDP_SH_SELECTION_GET
Read the user settings id from table /SAPAPO/SDPSETKO by passing the planning book, data view, user id and selection id (when required to set the parameter based on selection id, if not leave selection id as blank).
Read the user settings value based on the user settings id from table /SAPAPO/SDPSETDE. The setting type ( /SAPAPO/SDPSETDE-TYPE ) for “Period from last selection” is FCS. The value for the type will be in field LC Test: Value ( /SAPAPO/SDPSETDE- VALUE1 ) and equal to ‘2’ if set accordingly.
The object to modify is c_s_actview-agc_ctrl1 and the field is INIT_COL. Set the field INIT_COL value to 1.
Step 4: Insert BADI macro in the planning book – data view
Go to /SAPAPO/ADVM. If there are macros already existing for the planning book – data view, just add a new BADI macro and include it in the DEFAULT list to execute. If no macros are available, create a new macro with the BADI macro and include it as a DEFAULT macro and activate the macro.
Step 5: Assign Parameter 2 Lock Initial Column in User Settings.
Step 6: Load Planning Data in the Planning Book with Data View
The Initial Column should be displayed as the start column.
By implementing the custom BADI, it is possible to lock the Initial Column.