For the Gantt chart selection panel SAP offers a new concept how to customize the visible columns for a hierarchy. This post should guide you how to create your own field lists using customizing activity “Define Field Lists for Gantt Chart” (TM 9.2) or “Define Field Lists and Label Schemes for Gantt Chart” (Since TM 9.3).
In hierarchies if you display different object types on different levels it usually happens that you have a lot of columns which have value for one object type but not for the other. This lead to the result that the table takes more screen space and shows a lot of empty cells.
As in a Gantt chart the focus should be to have a maximum size of the chart area and minimize the used space of the selection panel. Therefore we decided to enable a new concept which enables displaying different attributes for different object.
Imagine you run a scenario with tractors and trailers. For your tractors you have defined depot locations but as you have many trailers those are not fixed linked to a location. For sure you are interested in the maximum used utilization of your trailers. In most tables you have to add 2 columns with displaying nothing for one cell in each row to show both values. In the Gantt chart it should be possible now to combine both columns to one.
For maintaining how the system should combine columns we have created the customizing activity “Define Field Lists for Gantt Chart”. In the terms of the customizing a column in the table is called a field; a column set is called field list. The basic idea of the flexible columns is that each field can be filled by another attribute for different object types. After creating fields you combine a set of fields in a field list which can then be used in your different Gantt chart hierarchies.
As we know a lot of our customers have a set of own fields they want to display. So how to display own fields in the Gantt chart as well?
For all enhancement fields you have made on root node level of the different objects it will work out of the box. So if you created a new field e.g. on the TOR root node it will appear in the search help for trailer units and freight orders in the customizing and will be filled automatically.
For non-root enhancement fields or transient fields it’s a little bit more complicated. Before starting the enhancement I would highly recommend to implement SAP Note 2184530 “Gantt chart: Single point of sorting BO data for enter and update processing”. First you will have to enhance the corresponding Gantt chart structure for the corresponding object type (/SCMTMS/S_GNT_ORDER or /SCMTMS/S_GNT_RESOURCE). Now the new field is appearing in the customizing field help as well but you still need the logic for filling the field. Therefore you could do some post method enhancement in class /SCMTMS/CL_UI_GNT_MAP_BO_DATA. This class prepares all data for the Gantt chart.
You could add your code behind method MAP_BO_DATA_ORDER respectively MAP_BO_DATA_RESOURCES. After these methods the internal tables are filled with the data which will be shown by the Gantt chart from standard. You will find your custom field in the component data_ref. For easier accessing the data please use method MAP_BO_DATA_SET_DYN_ATTRIBUTE. The following screenshot shows some example implementation in the post-method; please find the code attached.
For some attributes a conversion is needed to bring them into the right user format. These are all numbers and dates. Currently it is not supported to combine attributes which need different conversions in the same column. So you cannot combine dates with number, text with dates or text with numbers.
Currently it’s not supported to combine several attributes which need other conversions in the same columns. So displaying a date, a number and simple text in the same column is not recommended. In the above mentioned scenario this would mean that the utilization will not convert the decimal separator to a comma based on user settings