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?