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
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
Pre-Requisites
Create a SAP Universal ID.
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.
Running On: Cloud Connector Host
Host :sandbox.api.sap.com
Port:443
TLS:Yes
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
$top - query parameter set from the connector, by default set to 25
Output Extractor
An array of Material Details
Material - Id
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
$top - query parameter set from the connector, by default set to 50
Output Extractor
An array of Material Details with Stock
__metadata.id
__metadata.uri
Material
Plant
StorageLocation
Batch
Supplier
Customer
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
Material: Material Id
Output Extractor
Material
MaterialBaseUnit
An array of Material Stock Details
__metadata.uriMaterial
Plant
StorageLocation
Batch
Supplier
Customer
WBSElementInternalID
SDDocument
SDDocumetnItem
InventorySpecialStockType
InventoryStockType
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
$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
Material
MRPPlant
MRPArea
MaterialName
MRPAreaText
MRPAreaCategory
MRPAreaCategoryName
MaterialGroup
CrossPlantStatus
CrossPlantStatusName
BaseUnit
UnitOfMeasureName
LowLevelCode
PurchasingGroup
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
$top default value set 25
filterField : The Name of the Filter to be searched against
FilterCondition: The allowed values are eq ( Equal) and ne (Not Equal)
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.
Material
MRPPlant
MRPArea
UnitOfMeasureName
MRPController
MRPPlanningSegmentType
MaterialShortageProfile
ReceiptCategoryGroup
MaterialBaseUnit
UnitOfMeasureText
MaterialExternalID
MRPAvailability
MaterialSafetyStockQty
MRPElementOpenQuantity
MRPAvailableQuantity
MRPElementCategory
MRPElementCategoryShortName
MRPElementCategoryName
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
$top default value set 25
Output Extractor
An array of planned orders information - The response parameters are highlighted below.
PlannedOrder
PlannedOrderType
PlannedOrderProfile
Material
MaterialName
ProductionPlant
MRPPlant
MRPArea
ProductionVersion
MaterialProcurementCategory
MaterialProcurementType
PlndOrderPlannedStartDate
PlndOrderPlannedStartTime
PlndOrderPlannedEndDate
PlndOrderPlannedEndTime
PlannedOrderOpeningDate
LastChangeDateTime
ProductionStartDate
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)
$top default value set 25
PlannedOrder
Output Extractor
An object of planned orders information - The response parameters are highlighted below.
PlannedOrder
PlannedOrderType
PlannedOrderProfile
Material
MaterialName
ProductionPlant
MRPPlant
MRPArea
ProductionVersion
MaterialProcurementCategory
MaterialProcurementType
PlndOrderPlannedStartDate
PlndOrderPlannedStartTime
PlndOrderPlannedEndDate
PlndOrderPlannedEndTime
PlannedOrderOpeningDate
LastChangeDateTime
ProductionStartDate
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
$top default value set to 25
PlannedOrder
Output Extractor
An array of capacity information for planned Orders - The response parameters are highlighted below.
CapacityRequirement
CapacityRequirementItem
CapacityRqmtItemCapacity
PlannedOrder
PlannedOrderType
Sequence
Operation
SubOperation
WorkCenter
CapacityCategoryCode
Capacity
MRPController
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
Required Input
The following are the parameters that are sent query parameter
$top default value set 25
PlannedOrder
CapacityRequirement
CapacityRequirementItem
CapacityRqmtItemCapacity
Output Extractor
An array of capacity information for planned Order - The response parameters are highlighted below.
CapacityRequirement
CapacityRequirementItem
CapacityRqmtItemCapacity
PlannedOrder
PlannedOrderType
Sequence
Operation
SubOperation
WorkCenter
CapacityCategoryCode
Capacity
MRPController
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
$top default value set 25
PlannedOrder
Output Extractor
An array of components belonging to the order - The response parameters are highlighted below.
Reservation
ReservationItem
PlannedOrder
BOMItem
BOMItemDescription
BillOfMaterialCategory
SortField
BOMItemCategory
Material
MatlCompRequirementDate
GoodsMovementEntryQty
EntryUnit
RequiredQuantity
Base Unit
WithdrawnQuantity
MaterialComponentIsPhantomItem
Plant
Storage Location
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
$top default value set 25
PlannedOrder
Reservation
ReservationItem
Output Extractor
An object of components belonging to the order - The response parameters are highlighted below.
Reservation
ReservationItem
PlannedOrder
BOMItem
BOMItemDescription
BillOfMaterialCategory
SortField
BOMItemCategory
Material
MatlCompRequirementDate
GoodsMovementEntryQty
EntryUnit
RequiredQuantity
Base Unit
WithdrawnQuantity
MaterialComponentIsPhantomItem
Plant
Storage Location
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
$top default value set to 25
Output Extractor
An array of Production order parameters - The response parameters are highlighted below.
ManufacturingOrder
ManufacturingOrderCategory
ManufacturingOrderType
ManufacturingOrderImportance
OrderIsCreated
OrderIsReleased
OrderIsPrinted
OrderIsConfirmed
OrderIsClosed
OrderIsPartiallyDelivered
OrderIsMarkedForDeletion
MfgOrderCreationDate
MfgOrderCreationTime
LastChangeDateTime
Plant
MRPArea
MRPController
Production Supervisor
ProductionVersion
PlannedOrder
MfgOrderPlannedStartDate
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
ManufacturingOrder
Output Extractor
An Object of Production order parameters - Some of the response parameters are highlighted below.
ManufacturingOrder
ManufacturingOrderCategory
ManufacturingOrderType
ManufacturingOrderImportance
OrderIsCreated
OrderIsReleased
OrderIsPrinted
OrderIsConfirmed
OrderIsClosed
OrderIsPartiallyDelivered
OrderIsMarkedForDeletion
MfgOrderCreationDate
MfgOrderCreationTime
LastChangeDateTime
Material
MfgOrderPlannedStartDate
MfgOrderPlannedStartTime
MfgOrderPlannedEndDate
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
$top default value set to 25
ManufacturingOrder
Output Extractor
An Array of component parameters of Production order - Some of the response parameters are highlighted below.
Reservation
ReservationItem
MaterialGroup
Material
Plant
ManufacturingOrderCategory
ManufacturingOrderType
ManufacturingOrder
ManufacturingOrderSequence
ManufacturingOrderOperation
Production Plant
OrderInternalBillOfOperations
MatlCompRequirementDate
MatlCompRequirementTime
BillOfMaterialCategory
BOMItem
BOMItemCategory
BillOfMaterialItemNumber
BOMItemDescription
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
Required Input
The following are the parameters that are sent as query parameters
$top default value set to 25
ManufacturingOrder
Output Extractor
An Array of items parameter of Production order - Some of the response parameters are highlighted below.
ManufacturingOrder
ManufacturingOrderItem
ManufacturingOrderCategory
ManufacturingOrderType
IsCompletelyDelivered
Material
Production Plant
Plant
MRPArea
MfgOrderItemPlndDeliveryDate
MfgOrderItemActualDeliveryDate
Production Unit
MfgOrderItemPlannedTotalQty
MfgOrderItemPlannedScrapQty
MfgOrderItemGoodsReceiptQty
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
$top default value set to 25
ManufacturingOrder
Output Extractor
An array of Operation parameters for Production order - Some of the response parameters are highlighted below.
OrderInternalBillOfOperations
OrderIntBillOfOperationsItem
ManufacturingOrder
ManufacturingOrderSequence
ManufacturingOrderOperation
ManufacturingOrderSubOperation
ManufacturingOrderCategory
ManufacturingOrderType
Production Plant
WorkCenterInternalID
WorkCenterTypeCode
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
$top default value set to 25
ManufacturingOrder
Output Extractor
An array of the status of Production order - The response parameters are highlighted below.
ManufacturingOrder
StatusCode
IsUserStatus
StatusShortName
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
$top default value set to 50
Output Extractor
An array of inspection lot information - The response parameters are highlighted below.
InspectionLot
Material
Batch
Plant
InspectionLotOrigin
OrderInternalBillOfOperations
ManufacturingOrder
InspectionLotText
InspectionLotType
InspectionLotQuantity
InspectionLotActualQuantity
InspectionLotDefectiveQuantity
InspectionLotQuantityUnit
InspLotCreatedOnLocalDate
InspSubsetFieldCombination
InspLotNmbrOpenLongTermCharc
StatusObject
StatusObjectCategory
InspectionLotObjectText
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
$top default value set 50
Output Extractor
An array of inspection lot status information - The response parameters are highlighted below.
InspectionLot
InspectionLotStatusCreated
InspectionLotStatusReleased
InspectionLotStatusSkip
InspLotStatusRsltsConfirmed
InspLotStsDefectsRecorded
InspLotStsShrtTrmInspCmpltd
InspLotStatusInspCompleted
InspLotStatusCanceled
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
$top default value set to 25
Inspection Lot
Output Extractor
An object of inspection lot status information - The response parameters are highlighted below.