Introduction

SAP S/4HANA is an enterprise resource planning (ERP) system with built-in intelligent technologies, including AI, machine learning, and advanced analytics. The Goal of this connector is to use SAP S/4 HANA Cloud Api with Tulip using HTTP Connectors & provide our customers with an out of box connector that can be imported into their instance to leverage the features offered by SAP S/4 HANA Cloud.

Purpose

  1. We are going to highlight different HTTP connector functions that can be built by doing HTTP calls to SAP S/4 HANA API endpoints to interact with the various services that are offered by SAP S/4 Hana, Such as Material Stock, Planned Order, Production Order, Material planning and Inventory Lot.

API Doc

The Links below will serve as a guide for the APIs used within the connector. The return parameter definition and information about their part in the schema are also available in the links

  1. SAP S/4 Hana Demo Application
  2. Material Stock API
  3. Material Planning Data API
  4. Planned Order API
  5. Production Order API
  6. Inspection Lot API

Pre-Requisites

  1. Create a SAP Universal ID.
  2. Generate API Key for accessing the SAP S/4 HANA APIs

Tulip Connection Details

The following information would need to be configured on Tulip's connectors.

  1. Running On: Cloud Connector Host
  2. Host :sandbox.api.sap.com
  3. Port:443
  4. TLS:Yes
  5. Basic Authentication: API Key will be used for authenticating API Calls from connector

Connector Functions

Material Stock API

Material_Stock_API_Material_Stock

Purpose

The purpose of the connector is to fetch all the material and its UOM available in the system. The response will be an array of objects with each object storing material id and the UOM.

Endpoint

HTTP GET call to the endpoint https://sandbox.api.sap.com/s4hanacloud/sap/opu/odata/sap/API_MATERIAL_STOCK_SRV/A_MaterialStock

Required Input

The following are the parameters that are sent as the Request Body

  1. $top - query parameter set from the connector, by default set to 25

Output Extractor

An array of Material Details

  1. Material - Id
  2. MaterialBaseUnit - UOM of the Material

Material_Stock_API_Material_Stock_in_Account_Model

Purpose

The purpose of the connector is to fetch material stocks in an account model for which a certain stock has been posted.

Endpoint

HTTP GET call to the endpoint https://sandbox.api.sap.com/s4hanacloud/sap/opu/odata/sap/API_MATERIAL_STOCK_SRV/A_MatlStkInAcctMod

Required Input

The following are the parameters that are sent as query parameters

  1. $top - query parameter set from the connector, by default set to 50

Output Extractor

An array of Material Details with Stock

  1. __metadata.id
  2. __metadata.uri
  3. Material
  4. Plant
  5. StorageLocation
  6. Batch
  7. Supplier
  8. Customer
  9. WBSElementInternalID

Material_Stock_API_Material_Stock_in_Account_Model

Purpose

The purpose of the connector is to fetch all the stock details of the material identified by the supplied Id, the connector also returns the Material basic information .

Endpoint

HTTP GET call to the endpoint https://sandbox.api.sap.com/s4hanacloud/sap/opu/odata/sap/API_MATERIAL_STOCK_SRV/A_MaterialStock(‘$Material$)

Required Input

The following are the parameters that are sent as query parameters

  1. Material: Material Id

Output Extractor

  1. Material
  2. MaterialBaseUnit

An array of Material Stock Details

  1. __metadata.uriMaterial
  2. Plant
  3. StorageLocation
  4. Batch
  5. Supplier
  6. Customer
  7. WBSElementInternalID
  8. SDDocument
  9. SDDocumetnItem
  10. InventorySpecialStockType
  11. InventoryStockType
  12. MatlWrhsStkQTYInMatBaseUnit - Material warehouse Stock Quantity in Material Base Unit

Material Planning Data API

Material_Planning_Data_API_MRP_Material

Purpose

The purpose of the connector is to fetch all the details of the materials used in Material Requirement Planning, There are many response parameters that are returned in the connector, we have highlighted a few in the documentation.

Endpoint

HTTP GET call to the endpoint https://sandbox.api.sap.com/s4hanacloud/sap/opu/odata/sap/API_MRP_MATERIALS_SRV_01/A_MRPMaterial

Required Input

The following are the parameters that are sent as query parameters

  1. $top default value set 25

Output Extractor

An array of Material Plant Details - Few of the parameters are highlighted below, There are many parameters returned by the connector which could be used based on a specific use case. Some of those parameters are

  1. Material
  2. MRPPlant
  3. MRPArea
  4. MaterialName
  5. MRPAreaText
  6. MRPAreaCategory
  7. MRPAreaCategoryName
  8. MaterialGroup
  9. CrossPlantStatus
  10. CrossPlantStatusName
  11. BaseUnit
  12. UnitOfMeasureName
  13. LowLevelCode
  14. PurchasingGroup
  15. PurchasingGroupName

Material_Planning_Data_API_Supply_And_Demand

Purpose

The purpose of the connector is to fetch all the details of supply and demand information for materials in Material Requirements Planning (MRP) over a certain time period. There are many response parameters that are returned in the connector, we have highlighted a few in the documentation.

Endpoint

HTTP GET call to the endpoint https://sandbox.api.sap.com/s4hanacloud/sap/opu/odata/sap/API_MRP_MATERIALS_SRV_01/SupplyDemandItems

Required Input

The following are the parameters that are sent as query parameters

  1. $top default value set 25
  2. filterField : The Name of the Filter to be searched against
  3. FilterCondition: The allowed values are eq ( Equal) and ne (Not Equal)
  4. filterValue: Matching Value - You can filter by value in a specified column

Output Extractor

An array of supply and demand information for materials - The response parameters are highlighted below.

  1. Material
  2. MRPPlant
  3. MRPArea
  4. UnitOfMeasureName
  5. MRPController
  6. MRPPlanningSegmentType
  7. MaterialShortageProfile
  8. ReceiptCategoryGroup
  9. MaterialBaseUnit
  10. UnitOfMeasureText
  11. MaterialExternalID
  12. MRPAvailability
  13. MaterialSafetyStockQty
  14. MRPElementOpenQuantity
  15. MRPAvailableQuantity
  16. MRPElementCategory
  17. MRPElementCategoryShortName
  18. MRPElementCategoryName
  19. ProductionVersion

Planned Order API

Planned_Order_API_Planned_Order

Purpose

The purpose of the connector is to fetch information available on the header data of existing planned orders. There are many response parameters that are returned in the connector, we have highlighted parameters that could be used as inputs to other connectors like PlannedOrder. We could use the required parameters based on the use case.

Endpoint

HTTP GET call to the endpoint https://sandbox.api.sap.com/s4hanacloud/sap/opu/odata/sap/API_PLANNED_ORDERS/A_PlannedOrder

Required Input

The following are the parameters that are sent as query parameters

  1. $top default value set 25

Output Extractor

An array of planned orders information - The response parameters are highlighted below.

  1. PlannedOrder
  2. PlannedOrderType
  3. PlannedOrderProfile
  4. Material
  5. MaterialName
  6. ProductionPlant
  7. MRPPlant
  8. MRPArea
  9. ProductionVersion
  10. MaterialProcurementCategory
  11. MaterialProcurementType
  12. PlndOrderPlannedStartDate
  13. PlndOrderPlannedStartTime
  14. PlndOrderPlannedEndDate
  15. PlndOrderPlannedEndTime
  16. PlannedOrderOpeningDate
  17. LastChangeDateTime
  18. ProductionStartDate
  19. ProductionEndDate

Planned_Order_API_Planned_Order_by_Id

Purpose

The purpose of the connector is to fetch information available on the header data of the existing planned order identified by the PlannedOrder. There are many response parameters that are available in the connector, we have highlighted a few of them in the documentation. We could use the required parameters based on a specific use case

Endpoint

HTTP GET call to the endpoint https://sandbox.api.sap.com/s4hanacloud/sap/opu/odata/sap/API_PLANNED_ORDERS/A_PlannedOrder('$PlannedOrder$’)

Required Input

The following parameters are sent as a query parameter(URL Parameter)

  1. $top default value set 25
  2. PlannedOrder

Output Extractor

An object of planned orders information - The response parameters are highlighted below.

  1. PlannedOrder
  2. PlannedOrderType
  3. PlannedOrderProfile
  4. Material
  5. MaterialName
  6. ProductionPlant
  7. MRPPlant
  8. MRPArea
  9. ProductionVersion
  10. MaterialProcurementCategory
  11. MaterialProcurementType
  12. PlndOrderPlannedStartDate
  13. PlndOrderPlannedStartTime
  14. PlndOrderPlannedEndDate
  15. PlndOrderPlannedEndTime
  16. PlannedOrderOpeningDate
  17. LastChangeDateTime
  18. ProductionStartDate
  19. ProductionEndDate

Planned_Order_API_Planned_Order_Capacity_By_Id

Purpose

The purpose of the connector is to fetch the information on the capacity data belonging to the order, specified using the planned order number. There are many response parameters that are available in the connector, we have highlighted a few of them in the documentation. We could use the required parameters based on the use case.

Endpoint

HTTP GET call to the endpoint https://sandbox.api.sap.com/s4hanacloud/sap/opu/odata/sap/API_PLANNED_ORDERS/A_PlannedOrder('$PlannedOrder$’)/to_PlannedOrderCapacity

Required Input

The following are the parameters that are sent as query parameters

  1. $top default value set to 25
  2. PlannedOrder

Output Extractor

An array of capacity information for planned Orders - The response parameters are highlighted below.

  1. CapacityRequirement
  2. CapacityRequirementItem
  3. CapacityRqmtItemCapacity
  4. PlannedOrder
  5. PlannedOrderType
  6. Sequence
  7. Operation
  8. SubOperation
  9. WorkCenter
  10. CapacityCategoryCode
  11. Capacity
  12. MRPController
  13. MRPPlant

Planned_Order_API_Planned_Order_Capacity_by_PlannedOrder_And_Filters

Purpose

The purpose of the connector is to fetch the capacity information for a single capacity item that you specify using the capacity requirement ID, the capacity requirement item, and the item capacity. We could use the required parameters based on the use case.

Endpoint

HTTP GET call to the endpoint https://sandbox.api.sap.com/s4hanacloud/s4hanacloud/sap/opu/odata/sap/API_PLANNED_ORDERS/A_PlannedOrder('$PlannedOrder$’)/A_PlannedOrderCapacity(CapacityRequirement='{CapacityRequirement}',CapacityRequirementItem='{CapacityRequirementItem}',CapacityRqmtItemCapacity='{CapacityRqmtItemCapacity}')

Required Input

The following are the parameters that are sent query parameter

  1. $top default value set 25
  2. PlannedOrder
  3. CapacityRequirement
  4. CapacityRequirementItem
  5. CapacityRqmtItemCapacity

Output Extractor

An array of capacity information for planned Order - The response parameters are highlighted below.

  1. CapacityRequirement
  2. CapacityRequirementItem
  3. CapacityRqmtItemCapacity
  4. PlannedOrder
  5. PlannedOrderType
  6. Sequence
  7. Operation
  8. SubOperation
  9. WorkCenter
  10. CapacityCategoryCode
  11. Capacity
  12. MRPController
  13. MRPPlant

Planned_Order_API_Planned_Order_Components_by_PlannedOrder_Id

Purpose

The purpose of the connector is to fetch information on the components belonging to the order, specified using the planned order number. There are many response parameters that are available in the connector, we have highlighted a few of them in the documentation. We could use the required parameters based on the use case.

Endpoint

HTTP GET call to the endpoint https://sandbox.api.sap.com/s4hanacloud/sap/opu/odata/sap/API_PLANNED_ORDERS/A_PlannedOrder('{PlannedOrder}')/to_PlannedOrderComponent

Required Input

The following are the parameters that are sent as query parameters

  1. $top default value set 25
  2. PlannedOrder

Output Extractor

An array of components belonging to the order - The response parameters are highlighted below.

  1. Reservation
  2. ReservationItem
  3. PlannedOrder
  4. BOMItem
  5. BOMItemDescription
  6. BillOfMaterialCategory
  7. SortField
  8. BOMItemCategory
  9. Material
  10. MatlCompRequirementDate
  11. GoodsMovementEntryQty
  12. EntryUnit
  13. RequiredQuantity
  14. Base Unit
  15. WithdrawnQuantity
  16. MaterialComponentIsPhantomItem
  17. Plant
  18. Storage Location
  19. SupplyArea

Planned_Order_API_Planned_Order_Components_by_PlannedOrder_and_Filters

Purpose

The purpose of the connector is to fetch data for a single planned order component that you specify using the reservation number and the reservation item number. There are many response parameters that are available in the connector, we have highlighted all of them in the documentation. We could use the required parameters based on the use case.

Endpoint

HTTP GET call to the endpoint https://sandbox.api.sap.com/s4hanacloud/sap/opu/odata/sap/API_PLANNED_ORDERS/A_PlannedOrder('{PlannedOrder}')/to_PlannedOrderComponent(Reservation='{Reservation}',ReservationItem='{ReservationItem}')

Required Input

The following are the parameters that are sent as query parameters

  1. $top default value set 25
  2. PlannedOrder
  3. Reservation
  4. ReservationItem

Output Extractor

An object of components belonging to the order - The response parameters are highlighted below.

  1. Reservation
  2. ReservationItem
  3. PlannedOrder
  4. BOMItem
  5. BOMItemDescription
  6. BillOfMaterialCategory
  7. SortField
  8. BOMItemCategory
  9. Material
  10. MatlCompRequirementDate
  11. GoodsMovementEntryQty
  12. EntryUnit
  13. RequiredQuantity
  14. Base Unit
  15. WithdrawnQuantity
  16. MaterialComponentIsPhantomItem
  17. Plant
  18. Storage Location
  19. SupplyArea

Production Order API

Production_Order_API_Production_Order

Purpose

The purpose of the connector is to fetch information available on the header data of existing production orders. There are many response parameters that are available in the connector, we have highlighted a few of them in the documentation. We could use the required parameters based on the use case.

Endpoint

HTTP GET call to the endpoint https://sandbox.api.sap.com/s4hanacloud/sap/opu/odata/sap/API_PRODUCTION_ORDER_2_SRV/A_ProductionOrder_2

Required Input

The following are the parameters that are sent as query parameters

  1. $top default value set to 25

Output Extractor

An array of Production order parameters - The response parameters are highlighted below.

  1. ManufacturingOrder
  2. ManufacturingOrderCategory
  3. ManufacturingOrderType
  4. ManufacturingOrderImportance
  5. OrderIsCreated
  6. OrderIsReleased
  7. OrderIsPrinted
  8. OrderIsConfirmed
  9. OrderIsClosed
  10. OrderIsPartiallyDelivered
  11. OrderIsMarkedForDeletion
  12. MfgOrderCreationDate
  13. MfgOrderCreationTime
  14. LastChangeDateTime
  15. Plant
  16. MRPArea
  17. MRPController
  18. Production Supervisor
  19. ProductionVersion
  20. PlannedOrder
  21. MfgOrderPlannedStartDate
  22. MfgOrderPlannedStartTime

Production_Order_API_Production_Order_by_Manufacturing_Order

Purpose

The purpose of the connector is to fetch information for a specific production order that you specified using the production order number. There are many response parameters that are available in the connector, we have highlighted a few of them in the documentation. We could use the required parameters based on the use case.

Endpoint

HTTP GET call to the endpoint https://sandbox.api.sap.com/s4hanacloud/sap/opu/odata/sap/API_PRODUCTION_ORDER_2_SRV/A_ProductionOrder_2('{ManufacturingOrder}')

Required Input

The following are the parameters that are sent as query parameters

  1. ManufacturingOrder

Output Extractor

An Object of Production order parameters - Some of the response parameters are highlighted below.

  1. ManufacturingOrder
  2. ManufacturingOrderCategory
  3. ManufacturingOrderType
  4. ManufacturingOrderImportance
  5. OrderIsCreated
  6. OrderIsReleased
  7. OrderIsPrinted
  8. OrderIsConfirmed
  9. OrderIsClosed
  10. OrderIsPartiallyDelivered
  11. OrderIsMarkedForDeletion
  12. MfgOrderCreationDate
  13. MfgOrderCreationTime
  14. LastChangeDateTime
  15. Material
  16. MfgOrderPlannedStartDate
  17. MfgOrderPlannedStartTime
  18. MfgOrderPlannedEndDate
  19. MfgOrderPlannedEndTime

Production_Order_API_Production_Order_by_Manufacturing_Order_Component

Purpose

The purpose of the connector is to fetch information on the components belonging to the order specified using the production order number. There are many response parameters that are available in the connector, we have highlighted all of them in the documentation. We could use the required parameters based on the use case.

Endpoint

HTTP GET call to the endpoint https://sandbox.api.sap.com/s4hanacloud/sap/opu/odata/sap/API_PRODUCTION_ORDER_2_SRV/A_ProductionOrder_2('{ManufacturingOrder}')/to_ProductionOrderComponent

Required Input

The following are the parameters that are sent as the Request Body

  1. $top default value set to 25
  2. ManufacturingOrder

Output Extractor

An Array of component parameters of Production order - Some of the response parameters are highlighted below.

  1. Reservation
  2. ReservationItem
  3. MaterialGroup
  4. Material
  5. Plant
  6. ManufacturingOrderCategory
  7. ManufacturingOrderType
  8. ManufacturingOrder
  9. ManufacturingOrderSequence
  10. ManufacturingOrderOperation
  11. Production Plant
  12. OrderInternalBillOfOperations
  13. MatlCompRequirementDate
  14. MatlCompRequirementTime
  15. BillOfMaterialCategory
  16. BOMItem
  17. BOMItemCategory
  18. BillOfMaterialItemNumber
  19. BOMItemDescription
  20. Storage Location

Production_Order_API_Production_Order_by_Manufacturing_Order_Items

Purpose

The purpose of the connector is to fetch information on the items belonging to the order specified using the production order number. There are many response parameters that are available in the connector, we have highlighted a few of them in the documentation. We could use the required parameters based on the use case.

Endpoint

https://sandbox.api.sap.com/s4hanacloud/sap/opu/odata/sap/API_PRODUCTION_ORDER_2_SRV/A_ProductionOrder_2('{ManufacturingOrder}')/to_ProductionOrderItem

Required Input

The following are the parameters that are sent as query parameters

  1. $top default value set to 25
  2. ManufacturingOrder

Output Extractor

An Array of items parameter of Production order - Some of the response parameters are highlighted below.

  1. ManufacturingOrder
  2. ManufacturingOrderItem
  3. ManufacturingOrderCategory
  4. ManufacturingOrderType
  5. IsCompletelyDelivered
  6. Material
  7. Production Plant
  8. Plant
  9. MRPArea
  10. MfgOrderItemPlndDeliveryDate
  11. MfgOrderItemActualDeliveryDate
  12. Production Unit
  13. MfgOrderItemPlannedTotalQty
  14. MfgOrderItemPlannedScrapQty
  15. MfgOrderItemGoodsReceiptQty
  16. MfgOrderItemActualDeviationQty

Production_Prder_API_Production_Order_by_Manufacturing_Order_Operation

Purpose

The purpose of the connector is to fetch information on the operations belonging to the order specified using the production order number. There are many response parameters that are available in the connector, we have highlighted a few of them in the documentation. We could use the required parameters based on the use case.

Endpoint

HTTP GET call to the endpoint https://sandbox.api.sap.com/s4hanacloud/sap/opu/odata/sap/API_PRODUCTION_ORDER_2_SRV/A_ProductionOrder_2('{ManufacturingOrder}')/to_ProductionOrderOperation

Required Input

The following are the parameters that are sent as query parameters

  1. $top default value set to 25
  2. ManufacturingOrder

Output Extractor

An array of Operation parameters for Production order - Some of the response parameters are highlighted below.

  1. OrderInternalBillOfOperations
  2. OrderIntBillOfOperationsItem
  3. ManufacturingOrder
  4. ManufacturingOrderSequence
  5. ManufacturingOrderOperation
  6. ManufacturingOrderSubOperation
  7. ManufacturingOrderCategory
  8. ManufacturingOrderType
  9. Production Plant
  10. WorkCenterInternalID
  11. WorkCenterTypeCode
  12. WorkCenter

Production_Order_API_Production_Order_by_Manufacturing_Order_Status

Purpose

The purpose of the connector is to fetch information on the status of the order specified using the production order number. There are many response parameters that are available in the connector, we have highlighted a few of them in the documentation. We could use the required parameters based on the use case.

Endpoint

HTTP GET call to the endpoint https://sandbox.api.sap.com/s4hanacloud/sap/opu/odata/sap/API_PRODUCTION_ORDER_2_SRV/A_ProductionOrder_2('{ManufacturingOrder}')/to_ProductionOrderStatus

Required Input

The following are the parameters that are sent as query parameters

  1. $top default value set to 25
  2. ManufacturingOrder

Output Extractor

An array of the status of Production order - The response parameters are highlighted below.

  1. ManufacturingOrder
  2. StatusCode
  3. IsUserStatus
  4. StatusShortName
  5. StatusName

Inspection Data API

Inspection_Lot_API_Inspection_Lot_Data

Purpose

The purpose of the connector is to fetch information of inspection lots with data at the inspection lot header level. There are many response parameters that are available in the connector, we have highlighted a few of them in the documentation. We could use the required parameters based on the use case.

Endpoint

HTTP GET call to the endpoint https://sandbox.api.sap.com/s4hanacloud/sap/opu/odata/sap/API_INSPECTIONLOT_SRV/A_InspectionLot

Required Input

The following are the parameters that are sent as query parameters

  1. $top default value set to 50

Output Extractor

An array of inspection lot information - The response parameters are highlighted below.

  1. InspectionLot
  2. Material
  3. Batch
  4. Plant
  5. InspectionLotOrigin
  6. OrderInternalBillOfOperations
  7. ManufacturingOrder
  8. InspectionLotText
  9. InspectionLotType
  10. InspectionLotQuantity
  11. InspectionLotActualQuantity
  12. InspectionLotDefectiveQuantity
  13. InspectionLotQuantityUnit
  14. InspLotCreatedOnLocalDate
  15. InspSubsetFieldCombination
  16. InspLotNmbrOpenLongTermCharc
  17. StatusObject
  18. StatusObjectCategory
  19. InspectionLotObjectText
  20. StatusProfile

Inspection_Lot_API_Inspection_Lot_Statuses

Purpose

The purpose of the connector is to fetch information of inspection lot status information, for example, whether results are confirmed or defects are recorded. There are many response parameters that are available in the connector, we have highlighted a few of them in the documentation. We could use the required parameters based on the use case.

Endpoint

HTTP GET call to the endpoint https://sandbox.api.sap.com/s4hanacloud/sap/opu/odata/sap/API_INSPECTIONLOT_SRV/A_InspectionLotWithStatus

Required Input

The following are the parameters that are sent as query parameters

  1. $top default value set 50

Output Extractor

An array of inspection lot status information - The response parameters are highlighted below.

InspectionLot

  1. InspectionLotStatusCreated
  2. InspectionLotStatusReleased
  3. InspectionLotStatusSkip
  4. InspLotStatusRsltsConfirmed
  5. InspLotStsDefectsRecorded
  6. InspLotStsShrtTrmInspCmpltd
  7. InspLotStatusInspCompleted
  8. InspLotStatusCanceled
  9. InspLotStatusRepair

Inspection_Lot_API_Inspection_Lot_Statuses_by_Inspection Lot

Purpose

The purpose of the connector is to fetch information of the inspection lot status information of a specific inspection lot. There are many response parameters that are available in the connector, we have highlighted a few of them in the documentation. We could use the required parameters based on a specific use case.

Endpoint

HTTP GET call to the endpoint https://sandbox.api.sap.com/s4hanacloud/sap/opu/odata/sap/API_INSPECTIONLOT_SRV/A_InspectionLotWithStatus(‘{InspectionLot}’)

Required Input

The following are the parameters that are sent as query parameters

  1. $top default value set to 25
  2. Inspection Lot

Output Extractor

An object of inspection lot status information - The response parameters are highlighted below.

Did this answer your question?