SAP Leonardo IoT Bridge Implementation Guide

Similar documents
Managing Business Rules THE BEST RUN. PLANNING AND DESIGN PUBLIC SAP Global Track and Trace Document Version: Cloud 2018.

edocument for Italy - SAP Cloud Platform Integration Guide

edocument for Hungary Invoice Registration - SAP Cloud Platform Integration Guide (SAP S/ 4HANA Cloud)

Starting Guide for Data Warehousing Foundation Components on XSA

Onboarding Guide THE BEST RUN. IMPLEMENTATION GUIDE PUBLIC Document Version:

SAP Jam for Microsoft Office integration Reference Guide THE BEST RUN

SAP Jam Application Launcher for Microsoft Windows Reference Guide

SAP Jam Communities What's New 1808 THE BEST RUN. PUBLIC Document Version: August

Single Sign-On Extensions Library THE BEST RUN. PUBLIC SAP Single Sign-On 3.0 SP02 Document Version:

SAP Jam add-in for Microsoft Office Outlook Administration Guide and Release Notes

Secure Login for SAP Single Sign-On Sizing Guide

SAP IoT Application Enablement Best Practices Authorization Guide

PUBLIC DQM Microservices Blueprints User's Guide

SAP Workforce Performance Builder 9.5

SAP IoT Application Enablement Reuse Components and Templates

Master Guide for SAP HANA Smart Data Integration and SAP HANA Smart Data Quality

Installation Guide 1.0 SP06 SAP Workplaces for Insurance 1.0 SP06 THE BEST RUN. INSTALLATION GUIDE PUBLIC Document Version: 1.

SAP Global Track and Trace Onboarding Guide

Afaria Document Version: Windows Phone Enterprise Client Signing

SAP HANA Client Installation and Update Guide

PUBLIC SAP Vora Sizing Guide

What's New in SAP HANA Smart Data Streaming (Release Notes)

FAQs OData Services SAP Hybris Cloud for Customer PUBLIC

SAP Enable Now. Desktop Components (Cloud Edition)

SPNEGO SINGLE SIGN-ON USING SECURE LOGIN SERVER X.509 CLIENT CERTIFICATES

Complementary Demo Guide

SAP Workforce Performance Builder 9.5

FAQs Data Cleansing SAP Hybris Cloud for Customer PUBLIC

PUBLIC Rapid Deployment Guide

SCM380 SAP MII - Manufacturing Integration and Intelligence Fundamentals

UX402 SAP SAPUI5 Development

S4H410. SAP S/4HANA Embedded Analytics and Modeling with Core Data Services (CDS) Views COURSE OUTLINE. Course Version: 05 Course Duration: 2 Day(s)

SAP Cloud Platform Configuration SAP Subscription Billing

Visual Business Configuration with SAP TM

Non-SAP Backend System Readiness Check

Advanced Reporting in the Online Report Designer Administration Guide

SAP Workforce Performance Builder

SAP Vora - AWS Marketplace Production Edition Reference Guide

SAP HANA SPS 09 - What s New? SAP River

Configuring Client Keystore for Web Services

Oracle Cloud Using the Trello Adapter. Release 17.3

UX400. OpenUI5 Development Foundations COURSE OUTLINE. Course Version: 02 Course Duration: 5 Day(s)

HYCU SCOM Management Pack for F5 BIG-IP

SAP Fiori Launchpad Process Flow. SAP Fiori UX launchpad Configuration: End to End CEG: November 2014

ATTP Settings for ATTP to ATTP Connection

Creating Application Definitions in Hana Cloud Platform Mobile Services

Automated Java System Post-Copy Configuration Using SAP Landscape Management 3.0, Enterprise Edition

Software and Delivery Requirements

Oracle Cloud Using the Eventbrite Adapter. Release 17.3

Oracle Cloud E

UX125 SAP Fiori Elements. Public

opensap How-to Guide for Exercise Instructor-Led Walkthrough of SAML2 Configuration (Week 4 Unit 5)

Oracle Cloud Using the MailChimp Adapter. Release 17.3

DS10. Data Services - Platform and Transforms COURSE OUTLINE. Course Version: 15 Course Duration: 3 Day(s)

Business Add-Ins (BAdIs) for SD Jam Integration Document Version:

Oracle Cloud. Using the Google Calendar Adapter Release 16.3 E

SAP Plant Connectivity Configuration Guide for

CUSTOMER Upgrade: SAP Mobile Platform SDK for Mac OS

SAP Composite Application Framework. Creating an External Service type Callable Object in Guided Procedures

Oracle Cloud Using the Evernote Adapter. Release 17.3

SAP Business One Integration Framework

Creating RFC Destinations

SAP HANA SPS 08 - What s New? SAP HANA Application Lifecycle Management (Delta from SPS 07 to SPS 08) SAP HANA Product Management June, 2014

SLT100. Real Time Replication with SAP LT Replication Server COURSE OUTLINE. Course Version: 13 Course Duration: 3 Day(s)

Oracle Cloud Using the Oracle Responsys Adapter. Release 17.3

How-to Connect your HANA Cloud Platform Mobile Service Account to your On-Premise OData Service

CA611 Testing with ecatt

Using SAP NetWeaver Business Intelligence in the universe design tool SAP BusinessObjects Business Intelligence platform 4.1

SAP HANA SPS 08 - What s New? SAP HANA Interactive Education - SHINE (Delta from SPS 07 to SPS 08) SAP HANA Product Management May, 2014

Oracle Cloud Using the DocuSign Adapter. Release 17.3

HA355. SAP HANA Smart Data Integration COURSE OUTLINE. Course Version: 12 Course Duration: 3 Day(s)

Quick Guide to Implementing SAP Predictive Analytics Content Adoption rapiddeployment

D75AW. Delta ABAP Workbench SAP NetWeaver 7.0 to SAP NetWeaver 7.51 COURSE OUTLINE. Course Version: 18 Course Duration:

Oracle Cloud Using the Google Calendar Adapter. Release 17.3

Oracle Cloud Using the Microsoft Adapter. Release 17.3

S4D430 Building Views in Core Data Services ABAP (CDS ABAP)

SAP API Management Cloud Connector PUBLIC

BC470. Form Printing with SAP Smart Forms COURSE OUTLINE. Course Version: 18 Course Duration:

SAP HANA Cloud Integration for data services What s new in (Sept 2015) Ben Hofmans, Product Manager

SAP Single Sign-On 2.0 Overview Presentation

SAP HANA Authorization (HA2)

Development Information Document Version: CUSTOMER. ABAP for Key Users

Oracle Cloud Using the Adobe esign Adapter. Release 17.3

Security Guide SAP Supplier InfoNet

SAP Landscape Transformation for SAP HANA (HA1)

How To Create FPM Application consuming CDS view using ACT

SAP Hybris Billing, Pricing Simulation Extended Functions Release 2.0, SP03

BW350H. SAP BW Powered by SAP HANA - Data Acquisition COURSE OUTLINE. Course Version: 15 Course Duration: 5 Day(s)

SOA Security Scenarios: WebAS Java, Message Level Security with no Transport Guarantee

Getting Started with SAP Business One 9.2, version for SAP HANA

SAP - How-To Guide MDG Custom Object Data Replication How to Configure Data Replication for MDG Custom Objects (Flex Option)

Week 2 Unit 3: Creating a JDBC Application. January, 2015

Oracle Cloud Using the Eventbrite Adapter with Oracle Integration

Oracle Cloud Using the SAP Ariba Adapter. Release 17.3

How-to Guide for Exercise Access the Demo Appliance Landscape (Week 1, Unit 6, Part 1)

HA240 SAP HANA 2.0 SPS02

Preview of Web Services Reliable Messaging in SAP NetWeaver Process Integration 7.1

SAP Workforce Performance Builder 9.5

How To Enable Business Workflow for SAP NetWeaver Gateway 2.0

SAP NetWeaver 04. Unification Terminology

Transcription:

IMPLEMENTATION GUIDE PUBLIC Document Version: 1.0.1 2018-11-30 2018 SAP SE or an SAP affiliate company. All rights reserved. THE BEST RUN

Content 1 Document History.... 3 2 List of Abbreviations.... 4 3 Prerequisites.... 5 4 Integration Flow Content....6 4.1 Overview of Predelivered CPI Integration Flows....6 4.2 Predelivered CPI Integration FlowTemplates....8 4.3 Editing CPI Integration Flows for Customer Requirements.... 25 4.4 Defining and Using Additional Annotation Files with Integration Flows....25 4.5 Standard Integration Flow....26 Prerequisites for Using Standard Integration Flow....27 5 CPI Configuration....31 5.1 Setting up Integration Flows for the Outbound Logistics Scenario.... 31 Predelivered Configurations....33 Multiple Language Support....35 5.2 Posting Events to SAP Leonardo IoT Bridge....35 2 P U B L I C Content

1 Document History View the list of changes to the document. Product Version Document Version Date Comments SAP Leonardo IoT Bridge 1808 SAP Leonardo IoT Bridge 1808.01 1.0.0 August 30, 2018 Version release 1.0.1 November 30, 2018 Updated Prerequisites [page 5]. Added Standard Integration Flow [page 26] Document History P U BL IC 3

2 List of Abbreviations The following abbreviations are used in this guide. Abbreviation BP Bridge CnG CPI ECC IBP ODP VI Product Name Business Partner SAP Leonardo IoT Bridge SAP Connected Goods SAP Cloud Platform Integration SAP ERP back end SAP Global Track & Trace Integrated Business Planning Control Tower OData Provisioning Partner ID in Partner Directory SAP Vehicle Insights 4 P U B L I C List of Abbreviations

3 Prerequisites The following are prerequisites for implementing SAP Leonardo IoT Bridge to use Integration Flows. In SAP Leonardo IoT Bridge, ensure that there is an entry in the system for the CPI tenant. In the CPI tenant ensure that the following are configured: System Java KeyStore: This file should contain all source system certificates. Each certificate is system-specific and contains a unique alias. On the CPI tenant, the keystore artifact must be deployed. This keystore contains the CPI's own keypair (key + Public certificate) and the list of trusted issuers. The public certificate from this keypair is used for client authentication. There can only be one key store per tenant. Its default name is system.jks. Basic authentication is used on the receiver channel, but CPI must still trust the endpoint to which it is sending the data. Therefore, the issuer CA (Certificate Authority) must be maintained in the CPI key store. Credentials: It is assumed that the required for connecting a source system are maintained in the CPI Security Materials ( Monitoring Security Materials ). The credential name maintained in the Security Materials must match the values of the maintained in the Partner Directory. The Name field contains the name of the credential that references the credential required for the Request/Reply element, which requires Basic Authentication. Prerequisites P U BL IC 5

4 Integration Flow Content 4.1 Overview of Predelivered CPI Integration Flows The following table lists all predelivered integration flows in Bridge. For more details about these integration flows, see Predelivered CPI Integration FlowTemplates [page 8]. Integration Flow Name Sender Adapter Description 1 PD_CONFIG_HANDLER https CPI Sets the configuration parameter values to be used by various other integration flows. 2 TT_DELIVERY_SHIPPING_STAT US_COUNTS OData Gets the count of today s deliveries by shipping status. 3 TT_DELIVERY_STATUS_COUNTS OData Gets the count of today s deliveries by delivery status. 4 TT_SHIPMENT_COUNTS OData Gets the count of today s shipments by transportation status. 5 TT_SHIPMENT_DELIVERYSTATU S_COUNTS OData Gets the count of today s shipments by delivery status. 6 TT_DELIVERY_SERVICE OData Has multiple entity sets with associations: Gets deliveries list, single delivery, and so on. 7 TT_SHIPMENT_SERVICE OData Has multiple entity sets with associations: Gets shipments list, single shipments, and so on. 8 TT_DELIVERY_COUNTS_BY_CUS TOMER2 OData Gets the count of today s deliveries by customer in various statuses. 9 VI_LIST OData, VI Gets today s shipment vehicle s current geo-location. 10 IBP_CUSTOMER_KPI_V3 OData, IBP Gets today s customer s Perfect Order Fulfillment key figures. 11 TT_GET_TOKEN https Munchausen Gets the bearer token to access OData services. 12 TT_DELIVERY_DETAILS OData Gets a list of deliveries based on filter criteria. 13 TT_GET_SINGLE_DELIVERY OData Gets a single delivery. 6 P U B L I C Integration Flow Content

Integration Flow Name Sender Adapter Description 14 TT_GET_SINGLE_DELIVERY_IT EMS 15 TT_GET_SINGLE_DELIVERY_HU S 16 TT_GET_SINGLE_DELIVERY_EV ENTS OData Gets the items of a single delivery. OData Gets the handling units of a single delivery. OData Gets the events of a single delivery. 17 TT_GET_DELIVERYSTATUS OData Gets various values for delivery status for delivery. 18 TT_GET_DELIVERY_SHIPMENTS TATUS OData Gets various values for shipment status for delivery. 19 TT_SHIPMENT_DETAILS OData Gets a list of shipments based on filter criteria. 20 TT_GET_SHIPMENT_SINGLE OData Gets a single shipment. 21 TT_GET_SINGLE_SHIPMENT_EV ENTS 22 TT_GET_SINGLE_SHIPMENT_DE LIVERY 23 TT_GET_SHIPMENT_ALLSTATUS _ODP OData Gets the events of a single shipment. OData Gets the deliveries of a single shipment. OData Gets all shipment status values. 24 GET_VI OData VI Gets vehicle data. 25 TT_FETCH_GET_TOKEN OData Gets token to access BP. 26 TT_IBP_CUSTOMER_KPI OData, IBP Gets key figures for today s customers from IBP. 27 TT_GET_B_FOR_IBP OData Gets list of BP IDs for today s customers from. 28 GET_LANG_LATI_HERE https Here Gets latitude and longitude for an address. 29 TT_GET_SHIPMENT_TEXTS https Gets all texts for statuses for shipments. 30 GET_VI_HTTP https VI Gets vehicle data and current geo-location. 31 HM_GET_TOKEN https Gets token to access FloorPlan. 32 HM_HEATMAP_PROCESS OData FloorPlan Gets FloorPlan data. 33 CREATE_RELATIONSHIP_FROM _IDOC OData ECC, Bridge Relationship Services Stores relationship data for shipments and deliveries. 34 GET_ETA_HERE http Here Gets ETA using Here map. 35 GET_MATERIAL_DESCRIPTION RFC ECC Reads Material Description from ECC using RFC. Integration Flow Content P U BL IC 7

Integration Flow Name 36 GET_TOKEN_FOR_TENANT_RELA TIONSHIP_SERVICE Sender Adapter Description 37 Post_CNG_RS http CNG, Bridge Posts events from CNG and mashes up data using relationship services. 4.2 Predelivered CPI Integration FlowTemplates The following Cloud Platform Integration (CPI) integration flows are delivered as templates for integration with SAP Leonardo IoT Bridge and are intended for reference only. Customers must create their own integration flows based on their own system setup. 1. PD_CONFIG_HANDLER This integration flow sets the configuration parameter values to be used by various other integration flows. This integration flow can either set or delete configuration parameter values. Example https://{cpi-tenant}-iflmap.hcisb.int.sap.hana.ondemand.com/http/pd/ delete_and_set_config_params To delete a, use the following request-body as an example: {"Pid":"HCISELF2"} To delete a and ID, use the following request-body as an example: {"Pid":"HCISELF3", "Id":"url" } To set a and ID, use the following request-body as an example: {"Pid":"HCISELF2", "Id":"url1", "Value":"https://abc.uvw.com" } = hciself ; parameter= Partner Directory of CPI http sender 8 P U B L I C Integration Flow Content

2. TT_DELIVERY_SHIPPING_STATUS_COUNTS This integration flow gets the counts of deliveries in various shipping statuses to be displayed on a dashboard. This integration flow only gets for today s date, where the delivery date is set to today. Hciself Delivery Deliverypath In Bridge configuration TT_GET_TOKEN Global Track & Trace OData sender, http Receiver 3. TT_DELIVERY_STATUS_COUNTS This integration flow gets the counts of deliveries in various delivery statuses to be displayed on a dashboard. This integration flow only gets for today s date, where the delivery date is set to today. Hciself Delivery Deliverypath In Bridge configuration TT_GET_TOKEN Global Track & Trace OData sender, http Receiver 4. TT_SHIPMENT_COUNTS This integration flow gets the counts of shipments in various shipping statuses to be displayed on a dashboard. This integration flow only gets for today s date, where the shipment start date is set to today. Integration Flow Content P U BL IC 9

Hciself Shipment Shipmentpath In Bridge configuration TT_GET_TOKEN Global Track & Trace OData sender, http Receiver 5. TT_SHIPMENT_DELIVERYSTATUS_COUNTS This integration flow gets the counts of shipments in various delivery statuses to be displayed on a dashboard. This integration flow only gets for today s date, where the shipment start date is set to today. Hciself Shipment Shipmentpath In Bridge configuration TT_GET_TOKEN Global Track & Trace OData sender, http Receiver 6. TT_DELIVERY_SERVICE This integration flow gets a list of deliveries from the back end based on filter criteria. The filter criteria are passed from the overview card, which displays delivery counts. This integration flow calls other integration flows to get various entity sets. This integration flow has multiple entity sets that are called from the list card. The following entity sets are supported: DeliverySet, ItemSet, HandlingUnitSet, DeliveryStatusSet, ShipmentStatusSet, ReportedEventSet 10 P U B L I C Integration Flow Content

Hciself Called from the delivery kpi card TT_DELIVERY_DETAILS TT_GET_SINGLE_DELIVERY TT_GET_SINGLE_DELIVERY_ITEMS TT_GET_SINGLE_DELIVERY_HUS TT_GET_SINGLE_DELIVERY_EVENTS TT_GET_DELIVERY_STATUS TT_GET_SHIPMENT_STATUS OData Provisioning 7. TT_SHIPMENT_SERVICE This integration flow gets a list of shipments from the back end based on filter criteria. The filter criteria are passed from the overview card, which displays shipment counts. This integration flow calls other integration flows to get various entity sets. This integration flow has multiple entity sets that are called from the list card. The following entity sets are supported: ShipmentSet, EventSet, DeliverySet, DeliveryStatusSet, TransportationStatusSet, ShippingSet, ShipmentTypeSet Hciself Called from the shipment kpi card TT_SHIPMENT_DETAILS TT_GET_SHIPMENT_SINGLE TT_GET_SINGLE_SHIPMENT_EVENTS TT_GET_SINGLE_SHIPMENT_DELIVERY TT_GET_SHIPMENT_ALLSTATUS Integration Flow Content P U BL IC 11

OData Provisioning 8. TT_DELIVERY_COUNTS_BY_CUSTOMER2 This integration flow gets the counts of customers for today's deliveries. This result is sorted by the number of delayed deliveries and the customer name. Hciself In Bridge configuration TT_DELIVERY_DETAILS OData sender, OData Receiver 9. VI_LIST This integration flow gets the geo-location of vehicles involved in the in-transit shipments. This information is used in a map on the dashboard card. Hciself In Bridge configuration TT_SHIPMENT_SERVICE GET_VI OData sender, OData Receiver 10. IBP_CUSTOMER_KPI_V3 This integration flow gets the key figures from IBP for the customers receiving today s deliveries. 12 P U B L I C Integration Flow Content

The following key figures are handled in this integration flow: DeliveryDateAccuracy, DeliveryItemAccuracy, DeliveryQtyAccuracy, DeliveryLocationAccuracy Hciself In Bridge configuration TT_IBP_CUSTOMER_KPI OData sender, OData Receiver 11. TT_GET_TOKEN This integration flow gets the bearer token necessary to access Global Track & Trace. tokenurl tokenparams contenttype In all integration flows that access Global Track & Trace Global Track & Trace http sender, http Receiver 12. TT_DELIVERY_DETAILS This integration flow gets a list of deliveries based on the filter criteria from Global Track & Trace. Delivery Deliverypath Integration Flow Content P U BL IC 13

hciself TT_DELIVERY_COUNTS_BY_CUSTOMER2 TT_DELIVERY_SERVICE TT_GET_TOKEN Global Track & Trace OData sender, http Receiver 13. TT_GET_SINGLE_DELIVERY This integration flow gets a single delivery from Global Track & Trace based on the delivery guid. Delivery hciself Deliverypath TT_DELIVERY_SERVICE TT_GET_TOKEN, GET_ETA_HERE Global Track & Trace OData sender, http Receiver 14. TT_GET_SINGLE_DELIVERY_ITEMS This integration flow gets items of a single delivery from Global Track & Trace based on the delivery guid. Delivery hciself Deliverypath 14 P U B L I C Integration Flow Content

TT_DELIVERY_SERVICE TT_GET_TOKEN, GET_MATERIAL_DESCRIPTION Global Track & Trace OData sender, http Receiver 15. TT_GET_SINGLE_DELIVERY_HUS This integration flow gets handling units of a single delivery from Global Track & Trace based on the delivery guid. Delivery hciself Deliverypath TT_DELIVERY_SERVICE TT_GET_TOKEN Global Track & Trace OData sender, http Receiver 16. TT_GET_SINGLE_DELIVERY_EVENTS This integration flow gets events of a single delivery from Global Track & Trace based on the delivery guid. Delivery hciself Deliverypath TT_DELIVERY_SERVICE TT_GET_TOKEN Global Track & Trace Integration Flow Content P U BL IC 15

OData sender, http Receiver 17. TT_GET_DELIVERY_STATUS This integration flow gets a list of all delivery statuses for the delivery object from Global Track & Trace. Delivery hciself Deliverypath TT_DELIVERY_SERVICE TT_GET_TOKEN Global Track & Trace OData sender, http Receiver 18. TT_GET_DELIVERY_SHIPMENTSTATUS This integration flow gets a list of all shipping statuses for the delivery object from Global Track & Trace. Delivery hciself Deliverypath TT_DELIVERY_SERVICE TT_GET_TOKEN Global Track & Trace OData sender, http Receiver 16 P U B L I C Integration Flow Content

19. TT_SHIPMENT_DETAILS This integration flow gets a list of shipments based on the filter criteria from Global Track & Trace. Delivery hciself Shipmentpath TT_SHIPMENT_SERVICE TT_GET_TOKEN Global Track & Trace OData sender, http Receiver 20. TT_GET_SHIPMENT_SINGLE This integration flow gets the details of a single shipment. Delivery hciself Shipmentpath TT_SHIPMENT_SERVICE TT_GET_TOKEN Global Track & Trace OData sender, http Receiver 21. TT_GET_SINGLE_SHIPMENT_EVENTS This integration flow gets the events of a single shipment. Integration Flow Content P U BL IC 17

Delivery hciself Shipmentpath TT_SHIPMENT_SERVICE TT_GET_TOKEN Global Track & Trace OData sender, http Receiver 22. TT_GET_SINGLE_SHIPMENT_DELIVERY This integration flow gets a list of the deliveries in a single shipment. Delivery hciself Shipmentpath TT_SHIPMENT_SERVICE TT_GET_TOKEN Global Track & Trace OData sender, http Receiver 23. TT_GET_SHIPMENT_ALL_STATUS_ODP This integration flow gets a list of all shipment status values. Delivery 18 P U B L I C Integration Flow Content

hciself Shipmentpath TT_SHIPMENT_SERVICE TT_GET_TOKEN Global Track & Trace OData sender, http Receiver 24. GET_VI This integration flow calls another integration flow that calls VI to get a list of vehicles in in-transit shipments. VI_LIST GET_VI_HTTP OData sender, http Receiver 25. TT_FETCH_GET_TOKEN This integration flow gets the x-csrf-token to access Global Track & Trace (BP Module). BP BPToken BPReqBody BP IBP_CUSTOMER_KPI_V3 Global Track & Trace (BP Module) http sender, http Receiver Integration Flow Content P U BL IC 19

26. TT_IBP_CUSTOMER_KPI This integration flow calls another integration flow that calls VI to get a list of vehicles in in-transit shipments. IBP_CUSTOMER_KPI_V3 TT_FETCH_GET_TOKEN TT_GET_B_FOR_IBP OData sender, http Receiver 27. TT_GET_B_FOR_IBP This integration flow gets customer IDs from Global Track & Trace to be used in the IBP query. Delivery hciself Deliverypath IBP_CUSTOMER_KPI_V3 TT_GET_TOKEN Global Track & Trace (BP Module) http sender, http Receiver 28. GET_LANG_LATI_HERE This integration flow gets the geo-location from an address. Delivery address2geoloc address2geoloc address2geoloc query 20 P U B L I C Integration Flow Content

TT_DELIVERY_SINGLE_DELIVERY TT_GET_TOKEN GET_LANG_LATI_HERE Global Track & Trace http sender, http Receiver 29. TT_GET_SHIPMENT_TEXTS This integration flow gets all shipment-related status fields and values from Global Track & Trace. Shipment Shipmentpath TT_SHIPMENT_SERVICE Global Track & Trace http sender, http Receiver 30. GET_VI_HTTP This integration flow gets the vehicle s current geo-location and license plate details from Vehicle Insights. VI VI Bearertoken Shipmentpath GET_VI VI http sender, http Receiver Integration Flow Content P U BL IC 21

31. HM_GET_TOKEN This integration flow gets the bearer token to access the HeatMap application. HM_HEATMAP_PROCESS FloorPlan http sender, http Receiver 32. HM_HEATMAP_PROCESS This integration flow is used as the HeatMap data provider. In the overview card configuration HM_GET_TOKEN FloorPlan http sender, http Receiver 33. CREATE_RELATIONSHIP_FROM _IDOC This integration flow creates entries in the relationship database that establish the relationship between backend (ECC) transactions such as shipment, delivery, customer, handling units, vehicle, and so on. This integration flow is invoked when a shipment or delivery is saved in ECC. When these documents are saved, ECC generates AOPOST IDOC, which is sent to this integration flow. This integration flow parses this IDOC and calls a relationship service within Bridge, which will establish relationship records in the relationship service. Standard outbound IDOC/ALE settings must be configured on the ECC client to push the IDOC to the integration flow service. Hciself hciself RelShipSvc RelShipSvc Get Maintain 22 P U B L I C Integration Flow Content

It is called from ECC and posts the relationship records on to Bridge GET_TOKEN_FOR TENANT_RELATIONSHIP_SERVICE ECC (IDOC) IDOC sender, http Receiver 34. GET_TOKEN_FOR TENANT_RELATIONSHIP_SERVICE This integration flow gets the tenant token to access the relationship service. BridgeEvents BridgeEvents hciself eventhanlderurl tokenparams In integration flow CREATE_RELATIONSHIP_FROM _IDOC Bridge http sender, http Receiver 35. GET_MATERIAL_DESCRIPTION This integration flow gets the material description from the ECC back end by calling BAPI_MATERIAL_GETLIST. This integration flow requires Cloud Connector configurations to point to the ECC back end, along with the BAPI. It also requires a destination that points to the ECC backend to be configured in HCP In integration flow TT_DELIVERY_DETAILS ECC http sender, RFC Receiver Integration Flow Content P U BL IC 23

36. GET_ETA_HERE This integration flow gets the estimated duration between two geo-coordinates. It uses the Here map service to get the ETA. address2eta address2eta query In integration flow TT_DELIVERY_DETAILS Here service http sender, http Receiver 37. Post CNG RS This integration flow posts events coming from CNG. This integration flow uses relationship services to get affected items like shipment, delivery, customer, vehicle, and so on, from the event. It is invoked from CNG Rules/Actions and passes a payload containing event details. BridgeEvents BridgeEvents hciself eventhanlderurl tokenparams in CNG rule/action GET_TOKEN_FOR TENANT_RELATIONSHIP_SERVICE CnG http sender, http Receiver 24 P U B L I C Integration Flow Content

4.3 Editing CPI Integration Flows for Customer Requirements Context To use the predelivered integration flows, you must make the necessary changes to meet your requirements. The integration flows cannot be used as delivered. The following steps should be performed by an integration flow developer. Procedure 1. Copy the predelivered integration flow. 2. Make the required changes. For more information, For information about editing an integration flow in the SAP Cloud Platform Integration web UI, see Editing an Integration Flow in the SAP Cloud Platform Integration documentation. For information about editing an integration flow using the Eclipse Editor, see Modifying an Integration Flow Model in the SAP Cloud Platform Integration documentation. If you change the integration flow service URL, you must register the new service URL in SAP Leonardo IoT Bridge. For more information, see Configuring Services in the SAP Leonardo IoT Bridge Foundation Configuration and Administration Guide. 3. Redeploy the integration flow. 4.4 Defining and Using Additional Annotation Files with Integration Flows Context Annotations can be used to enrich the metadata of an attribute. Metadata annotations can be used to define additional characteristics or capabilities of a metadata element, such as a service, entity type, property, function, action, or parameter. This can be thought of as adding formalized semantic meaning to OData entities. Annotations describe the purpose and intent of the OData entity and its attributes in a way that can be used directly by Web UI. UI annotations can be described in the Metadata file to build the List and Object Details pages. Integration Flow Content P U BL IC 25

Annotations for OData sender integration flows are defined as part of the EDMX files uploaded in the integration flow builder. An integration flow developer can make the necessary changes to this file. For OData sender integration flows, you may need to define additional annotations to bring further clarity to SAP Leonardo IoT Bridge about the nature of the OData service. Procedure 1. Define the additional SAP Leonardo IoT Bridge-specific annotation in an EDMX file. For information about creating and editing annotation files, see the SAP Leonardo IoT Configuration and Administration Guide. 2. Edit the integration flow and upload the EDMX file through the integration flow builder. For more information, see Importing from OData in the SAP Cloud Platform Integration documentation. 3. Redeploy the integration flow. 4.5 Standard Integration Flow Standard Integration Flow is a generic package that a Key User can use to define Bridge services with no iflow development. It contains a set of integration flows. Standard Integration Flow supports translations for metadata and Bridge-specific UI annotations using value mapping, which is a standard feature of CPI. These value mappings store the texts in various languages for metadata and annotations. Metadata and Annotation Options There are four options for using Standard Integration Flow. Before configuring the service, the Key User must decide how to use Standard Integration Flow for storing and translating metadata and annotations. The options are as follows: All in Bridge: No translations possible Hybrid Option: Metadata (and its translations) in the source system and Bridge-specific annotations (and its translations) in CPI Full CPI: All (metadata and annotations and its translations) in CPI Full Backend: All (metadata, annotations, and translations) in the source system Note the following about Standard Integration Flow: Standard Integration Flow supports only OData-based REST services. Back-end OData Rest services should support output in JSON format. For the List page and Object Detail page to function properly, the back end must support $batch OData requests. For the List page and Object Detail page, the $batch request will result in a $batch response. Translations within the data are the responsibility of the source system. 26 P U B L I C Integration Flow Content

The KPI card must be handled as a non-$batch service. The KPI card entityset name is StatusCounts. No other entityset name is supported by Standard Integration Flow. The back-end service cannot contain any entityset named StatusCounts. If it does, the KPI card functionality of Standard Integration Flow cannot be used. The KPI card can only support counting instances of certain KPIs within a date range. It does not support summation of amounts or quantities. Standard Integration Flow can support Update scenarios only in the Object Detail page. No specific configuration is needed to enable Update logic in Standard Integration Flow. However, the back-end service or the custom integration flow must support the Update event. Also, the annotations must provide the Update event buttons and related UI details. Supported Authentication Methods Standard Integration Flow supports the following authentication methods: APIKey: Any ODATA service that requires an API key to authenticate can act as both a unique identifier and a secret token for authentication and typically has a set of API access rights associated with it. To pass the specific APIkey, add the supplied JSON string in the iflow Config. User Credential: Login Credentials to a ODATA service typically consist of a User ID and password. The User Credential maintained in the CPI tenant security materials must be maintained in the iflow Config. To pass the specific Credential, add the supplied JSON string in the iflow Config. Bearer Token: The Bearer Token iflow is used to get OAuth2.0 Credentials. OAuth 2.0 is comprised of the Client ID, Client Secret, and Authentication URL, which is part of the Bearer Token Iflow itself and is not exposed within the Bridge iflow configuration. To pass the specific Bearer Token iflow, add the supplied JSON string in the iflow Config. This iflow will be called within the generic iflow to get the bearer token. This iflow should be developed depending upon the implementation outside of the generic iflow. Principal Propagation: If Principal Propagation is being used, this indicator must be passed in Bridge iflow configuration. : If none of the above authentication mechanisms are chosen, the iflow assumes the authentication method. 4.5.1 Prerequisites for Using Standard Integration Flow Procedure 1. Import the integration package Leonardo IOT Bridge Generic IFlow and deploy all its artifacts in the CPI system. These include the following: GENERIC_HTTP_WRAPPER_FOR_ODATA: Standard integration flow that services the Bridge call, retrieves the service definitions from Bridge, provides the metadata and annotations using one of four options (All in Bridge, Hybrid, Full CPI or Full Backend), passes the data call to the defined back end, and sends the response payload back to Bridge. Integration Flow Content P U BL IC 27

EDMX_MASHUP_FROM_BACKEND_AND_CPI: This integration flow is used to handle the metadata call for the Hybrid option. It retrieves the metadata from the back-end system and the annotations from CPI, merges them, and passes them to Bridge. EDMX_DIRECT_FROM_BACKEND: This integration flow is used to handle the metadata call for the Full Backend option. EDMX_TRANSLATION_USING_VALUE_MAPPING: Translations can be maintained in value mapping VALUE_MAPPING_TRANSLATIONS_SGI per service. If the EDMX (metadata or annotations or both) is tokenized, this integration flow can read the specific language literals from the value mapping, transpose these literals in the respective tokens, and provide the translated EDMX. EDMX_PARSE_TOKENS: This is a utility integration flow that can perform tokenization (replacing literal strings in the EDMX metadata and/or annotations with tokens) and provide a CSV file that can be used to import the tokens and the default language texts. VALUE_MAPPING_TRANSLATIONS_SGI: Value mapping to store the language translations in CPI. The size of the language literal is limited by the size of the text field in the value mapping. Currently, this is 120 characters. 2. Create the Partner directory entries required by Standard Integration Flow in the CPI tenant, as follows: {"Pid":"Bridge","Id":"GenericIflowConfig","Value":"BridgeGenIflow"} {"Pid":"BridgeGenIflow","Id":"tokenparams","Value":"grant_type=client_credenti als&client_id=xxxxxxxxxxxxxxxxxxxxxxx&client_secret=yyyyyyyyyyyyyyyyyyyyyyyyy YY"} {"Pid":"BridgeGenIflow","Id":"token","Value":"{UAA Token URL}/oauth/ token"} {"Pid":"BridgeGenIflow","Id":"contenttype","Value":"application/x-www-formurlencoded"} {"Pid":"BridgeGenIflow","Id":"","Value":"{Host URL}"} 3. Ensure that there are two separate entries in Systems for the CPI tenant: a. Using Basic Authentication with a Technical User ID and Password. 28 P U B L I C Integration Flow Content

b. Using CPI Credentials (that is, accessing a CPI Integration Flow as a service). Integration Flow Content P U BL IC 29

4. To use translations provided by the standard iflow, see Using CPI Value Mappings for Translations in the SAP Leonardo IoT Bridge Configuration and Administration Guide. 30 P U B L I C Integration Flow Content

5 CPI Configuration 5.1 Setting up Integration Flows for the Outbound Logistics Scenario Context The Partner Directory functionality of CPI is used to store configurations. Partner ID is used to group parameters and values. The source systems and business documents are designated as Partner IDs and the parameters used in the integration flows are configured as IDs along with values. The pre-delivered Partner ID () and ID (ID) names must not be changed, as they are referenced within each integration flow. Only values can be changed. The Partner Directory values can be deleted or set by a pre-delivered integration flow such as the following:. https://{cpi-tenant}-iflmap.hcisb.int.sap.hana.ondemand.com/http/pd/ delete_and_set_config_params To delete a, use the following request-body as an example: {"Pid":"HCISELF2"} To delete a and ID, use the following request-body as an example: {"Pid":"HCISELF3", "Id":"url" } {"Pid":"HCISELF2", "Id":"url" } To set a and ID, use the following request-body as an example: {"Pid":"HCISELF2", "Id":"url1", "Value":"https://abc.uvw.com" } {"Pid":"HCISELF2", "Id":"url2", "Value":"https://pqr.xyz.com" } {"Pid":"HCISELF3", "Id":"url", "Value":"https://abc.uvw.com" } {"Pid":"HCISELF4", "Id":"url", "Value":"https://cat.xyz.com" } } The pre-delivered configuration file is as follows: {"Pid":"hciself", "Id":"","Value":"https://{cpi}- iflmap.hcisb.int.sap.hana.ondemand.com:443/"} {"Pid":"hciself", "Id":"","Value":"xxxxx"} {"Pid":"Delivery", "Id":"","Value":""} {"Pid":"Delivery", "Id":"noofDays","Value":"0"} {"Pid":"Delivery", "Id":"customeridbackend","Value":"xxxxx"} {"Pid":"Delivery", "Id":"customeridLS","Value":"LS01"} CPI Configuration P U BL IC 31

{"Pid":"Delivery", "Id":"custgeolociflow","Value":"https://{cpi}- iflmap.hcisb.int.sap.hana.ondemand.com:443/http/get/lat/long"} {"Pid":"Delivery", "Id":"address2GeoLoc","Value":"address2GeoLoc"} {"Pid":"Delivery", "Id":"ECCgateway","Value":"http://{name}:{portname}"} {"Pid":"Delivery", "Id":"ECCgateway","Value":"xxxx"} {"Pid":"address2GeoLoc", "Id":"","Value":"https:// geocoder.cit.api.here.com/6.2/geocode.xml"} {"Pid":"address2GeoLoc", "Id":"query","Value":"app_id=ebh3YTgopNVPCH22tsVW&app_code=NhJJhU2ZRpXFyrVxA0GQGQ &gen=9"} {"Pid":"Shipment", "Id":"","Value":""} {"Pid":"Shipment", "Id":"noofDays","Value":"0"} {"Pid":"", "Id":"","Value":"https://{ Host}.cfapps.sap.hana.ondemand.com/v1/"} {"Pid":"", "Id":"Deliverypath","Value":"com.sap.gtt.app.deliverybridge/"} {"Pid":"", "Id":"Shipmentpath","Value":"com.sap.gtt.app.shipmentbridge/"} {"Pid":"", "Id":"tokenurl","Value":"https:// muenchhausen.cfapps.sap.hana.ondemand.com/gettoken"} {"Pid":"", "Id":"ContentType","Value":"application/json"} {"Pid":"", "Id":"tokenparams","Value: {token parameters}"} {"Pid":"", "Id":"BPHost","Value":"https://{ }.core.cfapps.sap.hana.ondemand.com/releaseinternal/release/keymapping"} {"Pid":"", "Id":"BPReqBody","Value":"{\"request\":[{\"LogicalSystem\": \"ID01\", \"Type\": \"Customer\" },{\"LogicalSystem\": \"xxxxxxxx\",\"type\": \"Customer\"}]}"} {"Pid":"", "Id":"BPCredentials","Value":"BP"} {"Pid":"VI", "Id":"","Value":"{VI } {"Pid":"VI", "Id":"bearertoken","Value":"Bearer {token}"} {"Pid":"IBP", "Id":"","Value":"{IBP }" {"Pid":"IBP", "Id":"path","Value":"sap/opu/odata/IBP/ANA_SRV/ana_chart"} {"Pid":"IBP", "Id":"planarea","Value":"xxxxx"} {"Pid":"IBP", "Id":"","Value":"IBP"} {"Pid":"Bridge", "Id":"eventHandler","Value":"BridgeEvents"} {"Pid":"BridgeEvents", "Id":"token","Value":"https:// xxxxx.authentication.sap.hana.ondemand.com/oauth/token"} {"Pid":"BridgeEvents", "Id":"tokenparams","Value":"token parameters"} {"Pid":"HeatMap", "Id":"","Value":"HM"} {"Pid":"HM", "Id":"TokenURL","Value":"https:// xxxxx.authentication.sap.hana.ondemand.com/oauth/token"} {"Pid":"HM", "Id":"TokenParams","Value":"token parameters"} {"Pid":"HM", "Id":"ContentType","Value":"application/x-www-form-urlencoded"} {"Pid":"HM", "Id":"HostURL","Value":"HM "} {"Pid":"HM", "Id":"HostPath","Value":"/sap/iot/scb/cng/heatmap/xs/ spaces.xsodata/"} {"Pid":"Delivery","Id":"address2ETA","Value":"address2ETA"} {"Pid":"address2ETA","Id":"","Value":"ETA service URL"} {"Pid":"address2ETA","Id":"query","Value":"app_id=xxxx&app_code=xxxx"} Procedure Copy and Deploy the Integration Content 1. Launch the SAP Cloud Platform Integration (CPI) web-based application. 2. On the Discover page, locate your package and select it to navigate to the details page: Package name for Outbound Logistics scenario: SAP Leonardo Bridge: Outbound Logistics Package name for FloorPlan Map scenario: SAP Leonardo Bridge: Floor Plan Map 3. Select Copy and then navigate to the Design page. Post-Deployment Steps 4. Verify that system.jks is set up in the CPI tenant. 32 P U B L I C CPI Configuration

5. For all on-premise systems, configure the Cloud Connector settings. 6. Create the necessary user in CPI for the following: CPI tenant own : Technical user IBP: Technical user to access IBP-CT to run the OData service and read key figures BP: Technical user to access BP module, which runs the OData service to get ECC Customer ID for a BP Guid ECC: OData service, if necessary 7. Set the partner directory for for the own CPI tenant using any RESTAPI client, such as POSTMAN. a. POST the, parameter, and values for the following parameters using the following URL, for the first time: https://{cpi tenant}-tmn.xxxxx.hana.ondemand.com/api/v1/strings {"Pid":"hciself", "Id":"tmnurl","Value":"https://{CPI tenant}- tmn.xxxxx.hana.ondemand.com"} {"Pid":"hciself", "Id":"","Value":"xxxxxx"} 8. Set other Partner ID, s, and values in the partner directory using a configuration file as per the landscape. Use the following integration flow to set PD: https://{cpi-tenant}-iflmap.xxxxx.sap.hana.ondemand.com/http/pd/ delete_and_set_config_params. 5.1.1 Predelivered Configurations The following table lists configurations that are predelivered for the Outbound Logistics scenario. Partner ID ID Description Remarks HCISELF Refers to the own CPI tenant Refers to the own CPI tenant URL Refers to the own CPI tenant Create the for own tenant as part of initial setup. Delivery Delivery-related IDs Refers to the source of delivery documents Represents another Partner ID where related parameters are grouped. customeridbackend ECC back end from which customer IDs are replicated to Defined in. Used to map Customer ID from ECC back end to BP Guid in. To get BP Guid from ECC Customer ID CPI Configuration P U BL IC 33

Partner ID ID Description Remarks customeridls Logical system as defined in Defined in. Used to map Customer ID from ECC back end to BP Guid in. To get BP Guid from ECC Customer ID custgeolociflow Integration flow to get latitude and longitude from any address address2geoloc Refers to which is used to convert address to latitude and longitude ECCgateway Gateway URL for ECC OData services To get deliveries and shipments from ECC when an event is posted from CNG ECCgateway Gateway for ECC OData services To get deliveries and shipments from ECC when an event is posted from CNG Shipment Shipment-related IDs Refers to the source of shipment documents Represents another Partner ID where related parameters are grouped. All the related parameters are grouped in this partner ID. -related IDs deliverypath Tokenurl ContentType tokenparams BPTokenHost BPHost BPReqBody BPCredentials OData service URL URL path to access deliveries URL to get bearer token to access OData services Content Type for OData services s to get bearer token to access OData services Host name get token for BP Host Host name to access BP OData services Request body to access BP OData services Credentials to access BP OData services VI Vehicle Insights-related IDs OData service URL 34 P U B L I C CPI Configuration

Partner ID ID Description Remarks bearertoken Bearer token to access VI IBP IBP-related IDs path Planarea OData service URL URL path to access IBP Plan Area to use IBP system Bridge Bridge-related IDs eventhanlder Event handler-related Ids BridgeEvents Bridge Events-related IDs token tokenparams eventhandlerurl URL to get token s to get token URL to post events address2eta Describes the service to get ETA for deliveries query Refers to URL for map service Refers any query parameters that need to be passed RelShipSvc Host URLs for Relationship service Get Maintain Relationship service URL for Read Relationship service URL for Read 5.1.2 Multiple Language Support In order to support multiple languages for field labels and annotations, multiple integration flows must be developed, each with its own translated metadata and annotations. 5.2 Posting Events to SAP Leonardo IoT Bridge To post events to SAP Leonardo IoT Bridge, you need the access token from Bridge. To get the access token, do the following: 1. Call the token service, passing the Client ID and Client Secret. The token service returns the access token. CPI Configuration P U BL IC 35

2. Use the access token to call the service and then post the events. For more information about the Token URL, Client ID and Client Secret, see "Subscribing on SAP Cloud Platform" in the SAP Leonardo IoT Bridge Configuration and Administration Guide. 36 P U B L I C CPI Configuration

Important Disclaimers and Legal Information Hyperlinks Some links are classified by an icon and/or a mouseover text. These links provide additional information. About the icons: Links with the icon : You are entering a Web site that is not ed by SAP. By using such links, you agree (unless expressly stated otherwise in your agreements with SAP) to this: The content of the linked-to site is not SAP documentation. You may not infer any product claims against SAP based on this information. SAP does not agree or disagree with the content on the linked-to site, nor does SAP warrant the availability and correctness. SAP shall not be liable for any damages caused by the use of such content unless damages have been caused by SAP's gross negligence or willful misconduct. Links with the icon : You are leaving the documentation for that particular SAP product or service and are entering a SAP-ed Web site. By using such links, you agree that (unless expressly stated otherwise in your agreements with SAP) you may not infer any product claims against SAP based on this information. Beta and Other Experimental Features Experimental features are not part of the officially delivered scope that SAP guarantees for future releases. This means that experimental features may be changed by SAP at any time for any reason without notice. Experimental features are not for productive use. You may not demonstrate, test, examine, evaluate or otherwise use the experimental features in a live operating environment or with data that has not been sufficiently backed up. The purpose of experimental features is to get feedback early on, allowing customers and partners to influence the future product accordingly. By providing your feedback (e.g. in the SAP Community), you accept that intellectual property rights of the contributions or derivative works shall remain the exclusive property of SAP. Example Code Any software coding and/or code snippets are examples. They are not for productive use. The example code is only intended to better explain and visualize the syntax and phrasing rules. SAP does not warrant the correctness and completeness of the example code. SAP shall not be liable for errors or damages caused by the use of example code unless damages have been caused by SAP's gross negligence or willful misconduct. Gender-Related Language We try not to use gender-specific word forms and formulations. As appropriate for context and readability, SAP may use masculine word forms to refer to all genders. Important Disclaimers and Legal Information P U BL IC 37

www.sap.com/contactsap 2018 SAP SE or an SAP affiliate company. All rights reserved. No part of this publication may be reproduced or transmitted in any form or for any purpose without the express permission of SAP SE or an SAP affiliate company. The information contained herein may be changed without prior notice. Some software products marketed by SAP SE and its distributors contain proprietary software components of other software vendors. National product specifications may vary. These materials are provided by SAP SE or an SAP affiliate company for informational purposes only, without representation or warranty of any kind, and SAP or its affiliated companies shall not be liable for errors or omissions with respect to the materials. The only warranties for SAP or SAP affiliate company products and services are those that are set forth in the express warranty statements accompanying such products and services, if any. Nothing herein should be construed as constituting an additional warranty. SAP and other SAP products and services mentioned herein as well as their respective logos are trademarks or registered trademarks of SAP SE (or an SAP affiliate company) in Germany and other countries. All other product and service names mentioned are the trademarks of their respective companies. Please see https://www.sap.com/about/legal/trademark.html for additional trademark information and notices. THE BEST RUN