
You might have received email or text notifications about the status of your anticipated delivery from a parcel provider/logistics company. You can navigate to their website and see the basic tracking information of your shipment without logging in. This is a very common in B2C world, but how this is enabled in B2B? A shipper may be managing the transportation and may not provide access to all customers to their own web platform to view detailed status.
The aim of SAP Business Network Global Track and Trace (GTT in short) is to capture, process and store tracking information about tracked business processes. Then, it allows business users to get real-time transparency of the execution of those processes.
Sending email notification is not new for GTT, but it has some drawbacks,
A new feature is available in BN4L GTT which eliminate both the drawbacks. Now business user can define rules for notification with an intuitive app with zero coding. GTT now provides public URL by which anyone can access basic tracking information without logging to GTT with a user (the way you access FedEx or UPS tracking link without having a user in their website) Let's see how this is achieved in simple two steps.
1. Configure email notification template
2. Define Email Rules
Step 1. Configure email notification template
First step is to define an email notification template by opening 'Create Notification Template' app in GTT. If you are not able to see this app, then you may be missing role 'ReminderTemplateProcessTemplate' for your user. The app provides a nice MS word like user interface where you can define your template (see below screenshot). You can have placeholders for information from shipment document using ^{<placeholdername>}. Refer SAP Help for other placeholder types. You may use 'Check Processes and Events' app to know all fields available in shipment document including technical fields. In this case, our template is to notify customer if there is a delay reported on the shipment by logistics service provider. Save the template with a name such as 'Delay'.
Step 2: Define Email Rules
After creating email notification template, second step is to define a rule on when the notification must be triggered by GTT. A new button 'Email Rules' is available on Manage Model app for this purpose (as shown in below screenshot). You must need either 'DataModelAdminTemplate' or 'EmailRulesProcessTemplate' roles to view this button. If you are a business user, the second role is appropriate.
By clicking this link will open the rule definition page as shown below. Add a new rule by clicking the '+' button. Provide a Description and make it active. The first portion of rule defines 'When' it must be triggered. You can pick any planned or unplanned event on the available tracked process. In our case, it is Delay event on a shipment tracked process. So, select "Shipment.Delay" as Current Event and 'Shipment.Shipment' as Correlated Tracked Process. The search help on both fields brings all available values.
Second portion of the rule is to define further conditions based on attributes of the shipment. You can add condition as dynamic attribute value from current event, correlated event or shipment by clicking 'Compared to Model Field Value'. In our case, I want to trigger notification only for road or parcel mode of transport and the estimated arrival time calculated on the delay event is more than 2 hours of the planned arrival time (I don't want GTT bombarded to customer with hundreds of emails for every minute change, but only if estimated arrival is later than 2 hours from planned considering the arrival delay tolerance). So, I define second condition as "MatchedPlannedEvent.estimatedTimestamp is great than MatchedPlannedEvent.plannedBizTsLatest + 2 Hour ". Here in this context, 'Delay' is the current event, and Matched Planned Event must be Arrival (I am not bothered about a delay if it impacts other events than arrival at customer location). To make sure delay is impacting estimated arrival at customer, we add another condition 'MatchedPlannedEvent.locationAltKey is equal to CorrelatedTrackedProcess.arrivalLocationAltKey'.
Thats complete our triggering conditions. Now feed the placeholder we defined at step 1 from email template. Select the email template ID 'Delay' and language as 'English'. Placeholder Name must match exactly same as defined in email template at step 1. Value can be current/related event or from shipment tracked process. You can select any available fields from shipment including custom fields. Here, I used a custom field ZZ_CUSTOMER_COMM_EMAIL to pass customer's email address since this is not passed to GTT by default. You can easily extend GTT extractor to add custom fields- look at my previous blog on how to do it. Also note that, GTT now provides a publicly accessible URL to every shipment- use attribute 'CorrelatedTrackedProcess.publicLink'.
By now, our setup is complete, lets test it. Report a delay event manually in Track Shipment app for a road shipment, for testing purpose and provide estimated time of arrival which is +2 hour than planned arrival.
After reporting this event, shipment looks as shown below. Planned arrival is Nov 21 12:00AM CST and estimated is Nov 21 8:25:02AM CST.
So, our triggering conditions for email met and GTT sends an email to the customer email address specified in the shipment document as shown below.
You can also configure to send Microsoft365 applications like Teams Channel or Teams Chat for any notification (this requires event-to-action scripting, and your organization must allow incoming webhook).
The shipment URL is accessible without a user in GTT, OfCourse it will display only limited information due to privacy reasons, but sufficient for most use cases.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
4 | |
3 | |
3 | |
2 | |
2 | |
2 | |
2 | |
2 | |
1 | |
1 |