Continuing the MKS series about schedules, I would like to spend some words on schedules integration from external sources into SAP TM. I guess one could call it schedule upload, somehow.
Schedules define transportation capabilities, which the SAP TM planning can use to get stuff from A to B. Next to transportation lanes, or bookings. Often those schedules represent a service offered by an external company (carrier). Depending on the transportation mode, these can be ocean / air / rail / truck carriers. Depending on the customers business using SAP TM, this can lead to different schedule integration scenarios to get those external information into the system.
Well, depending on the number of carriers you are doing business with, the change frequency of the schedule information and the overall number of schedules that you are using, a manual integration can still be the best way to get the data in. Another reason could be that the carrier(s) are not offering there data in a consumable electronic format. So have somebody in place responsible to update the data and enter it in the standard SAP TM schedule UI. Easy process, but reaches its limit pretty quickly.
Getting away from a manual process can be done by using the standard SAP TM BAPI interface for schedules. The following three function modules are offered:
- /SCMTMS/BAPI_SCHEDULE_GETLIST – Read schedules respecting selection criteria
- /SCMTMS/BAPI_SCHEDULE_SAVEMULT – Save schedules including validity checks
- /SCMTMS/BAPI_SCHEDULE_DELMULTI – Delete schedules (or departures)
In general those function modules cover all scheduly types and therefore have a pretty wide signature as all fields are in here.
Standard process requires implementation effort and would look like this:
1. Access the schedule data from the external source
2. Map into SAP TM schedule BAPI format
3. Call Save-BAPI
4. React on SAP TM BAPI messages
Advantage is of course the automated process after getting it going. Disadvantage is probably the effort to get it going.
Schedule Upload report
To ease the pain of having to code something on customer side, we decided to deliver something in standard taking over steps 1 – 3 for a very specific data format. The schedule upload report /SCMTMS/SCH_UPLOAD is capable to picking up a file, uploading it into the system and passing it to a process controller strategy. This strategy then validates the data coming from the file and passes it to the SAP TM schedule BAPI in case it is valid. The processable data is defined by a file format, for example for air carrier schedules, having a dedicated set of fields. In case you want to upload such air carrier schedules and you have a file, you now only need to select the right schedule upload strategy and you are done. SAP delivers a certain set of file format and fitting upload strategies, but the power of the schedule process controller enables further additions or even customer specific implementations still staying in the standard SAP TM architecture. So you can have your own upload file (format) and a own upload strategy, and still benefit from the parallel processing, message handling and BAPI call.
File format is described in note 1743069.
In principle one could think of a integration on-the-fly when it is required. Press a button, call the external (Web-) Service and get what you want. Maybe even without storing the schedule information as master data.
Such a integration is not supported in SAP TM standard as it has several downsides (performance, traceability of changes, links between business documents, and so on).
Schedule Information Provider
Especially in the ocean and air business having many carriers, there are companies consolidating schedule information and serving as a single information source. Some of those are capable of providing the information in the SAP file format. Due to legal reasons I will not tell here which companies, but you can check the market and ask them directly.
The larger the business scenario, the higher the data volume, the more time should be spend on this part of the project. In the air business you can quickly end up having millions of flight departures of hundreds of different carriers. The challenge here is to first figure out which data is really required and what a fitting update frequency would be.
Schedule Integration can be splitt into initial upload and delta upload. Complicated topic (How do we find the schedule (departure), that has actually changed? How does a changed departure affect planned tours or bookings?), I will tell more in the next weeks.