GetProductionOrderDetails@1
Der Node GetProductionOrderDetails@1 ruft Details eines Fertigungsauftrags aus einem SAP-System mit dem Modul Production Planning and Control (PP) ab.
SAP-Funktionsbaustein: BAPI_PRODORD_GET_DETAIL
Adapter-Voraussetzungen
Node-Konfiguration
Zu den Feldern path, targetPath, targetValueWriteMode und targetValueKind siehe Überblick.
transformations:
- type: GetProductionOrderDetails@1 # gets the production order details
path: $.OrderNumber # path to the order number
readHeader: true # read the order header
readComponents: false # read the order components
readOperations: true # read the order operations
readPositions: false # read the order positions
readSequences: false # read the order sequences
readSubOperations: false # read the order sub-operations
readTriggerPoints: false # read the order trigger points
readProductionRelevantTools: false # read the production relevant tools
targetPath: $.result # path to save the result
Derzeit gibt der Node nur den Auftragskopf und die Vorgänge zurück. Das Ergebnisobjekt basiert auf den SAP-Strukturen BAPI_ORDER_HEADER1 für Auftragsköpfe und BAPI_ORDER_OPERATION1 für Vorgänge.
Die Properties sind in der API-Dokumentation dokumentiert:
Das Ergebnisobjekt enthält die folgenden Properties:
Header: AuftragskopfOperation: Auftragsvorgänge
Vollständiges Beispiel einer Pipeline-Konfiguration
Dieses Beispiel wird über ein Polling-Intervall von 1 Minute ausgelöst, meldet sich bei SAP an und ruft eine Liste von Fertigungsaufträgen ab, die mit der Auftragsnummer 3265680 aus dem Werk 1010 beginnen. Das Ergebnis wird im Pfad $.orders gespeichert.
Für jeden Auftrag prüft der Node, ob der Auftragsstatus REL (für RELEASED) enthält. Ist dies der Fall, ruft der Node die Auftragsdetails ab und speichert das Ergebnis im Pfad $.result. Anschließend projiziert der Node die relevanten Felder aus den Auftragsdetails und flacht das Ergebnis ab.
triggers:
- type: FromPolling@1
interval: 00:01:00
transformations:
- type: SapLogin@1
sapConfiguration: mmtest
- type: GetProductionOrderList@1
productionPlant: 1010
orderNumberStart: 3265680
targetPath: "$.orders"
- type: ForEach@1
path: $.orders
targetPath: $.orders
transformations:
- type: If@1
operator: Contains
value: REL
valueType: STRING
path: $.SystemStatus
transformations:
- type: GetProductionOrderDetails@1
path: $.OrderNumber
readHeader: true
readOperations: true
targetPath: $.result
- type: Project@1
clear: true
fields:
- path: $.result.Header.OrderNumber
inclusion: true
- path: $.result.Operation.SequenceNumber
inclusion: true
- path: $.result.Header.Material
inclusion: true
- path: $.result.Header.MaterialText
inclusion: true
- path: $.result.Header.SystemStatus
inclusion: true
- path: $.result.Operation.WorkCenter
inclusion: true
- path: $.result.Operation.Quantity
inclusion: true
- type: Flatten@1
path: $.orders[*].result
targetPath: $.orders
- type: Project@1
clear: true
fields:
- path: $.orders
inclusion: true
- type: ToPipelineDataEvent@1
description: Load to event hub