API Rest Server SAP -> NIS
The goal of this API is to provide information to NIS (Next IMPROVE System) about the work order related to the product units stocked on each of the entry position of a generic machine (in this case laser and bending machines).
Thanks to the communication between SAP and the AGV system, SAP knows exactly the time and the entry position where each product unit is stocked by the AGV (frequency diagram below).
Once SAP receives the message that defines the right completition of the AGV mission (stocking of a specific product unit in a specific entry location of a specific machine) it can send to NIS the related rueck.
SAP will send to NIS the following information:
- machine entry position identifier: this is a shared identifier that is unique inside all the machines entry positions
- rueck: is the rueck related to the product unit stocket in the specific machine entry position
After that, NIS will download all the required information using the existing web service protocol. The following use case diagram describes the scenario.
NIS will provide a REST server API with the following properties:
- IP:PORT ⇒ 255.255.255.255:9999 (to be defined, 10.100.145.19:5599 on the test server)
- Protocol HTTP with method POST
http://255.255.255.255:98999/iaf/tell/rueckmng (http://10.100.145.19:5599/iaf/tell/rueckmng on the test server)
- BODY as json text:
{"request":"pustock","p1":{"werks":"xxx","entrypos":"XXXXXXX","rueck":"99999999","qty":"100"}}
In the following there is the description of the json fields
- request: is a static string value containing "pustock"
- p1: is the data object, where
- entrypos: is the unique identifier of the machine entry position
- rueck: is the related rueck
- werks: plant code in SAP
- qty: number of items in the pallet (pallet quantity)
The Rest server will answer through the following json object:
- {"rv":"1"} if the operation is done with success
- {"rv":"0"} if the operation is done without success
In the following there is an example using the curl command on the test server:
curl --request POST 'http://10.100.145.19:5599/iaf/tell/rueckmng' --header 'Content-Type: application/json' --data-raw '{"request":"pustock","p1":{"werks":"xxx","entrypos":"XXXXXXX","rueck":"99999999"}}'