Um einen OData-Webservice für ECS Core anzulegen wählen Sie bei der Neuanlage die Option Creates Odata specific web service und bestätigen die Auswahl mit OK.

ecscore-webservices7

Geben Sie dem Webservice einen Namen und legen Sie anschließend einen neuen Custom Data Type an, bei welchem Sie zunächst die Parameter der Tabelle REQUISITION_ITEMS des BAPIs BAPI_REQUISITION_CREATE importieren:

ecscore-webservices8

Deselektieren Sie die Gesamtauswahl und importieren Sie nur die Felder DOC_TYPE, MATERIAL, PLANT, QUANTITY, DELIV_DATE und ACCTASSCAT.

ecscore-webservices9

Sichern Sie die Einstellungen mit Finish und legen Sie zusätzlich noch manuell den Parameter COST_CTR an.

ecscore-webservices10

Legen Sie anschließend eine neue Entität an, in welcher Sie den eben erstellen Custom Data Type verwenden, das Schlüsselfeld ist in diesem Fall unerheblich (z.B. Doc_TYPE). Wählen Sie mit einem Doppelklick die CRUD Operation Create aus.

ecscore-webservices11

Rufen Sie mit der Execute Function Activity den BAPI BAPI_REQUISITION_CREATE auf.

ecscore-webservices12

Wichtige Info: Sie werden feststellen, dass Sie unter Parameters keine Möglichkeit haben, Parameter anzulegen oder zu editieren. Dies ist eine Einschränkung von OData. Auch die Anlage von Return- oder Outputparametern ist damit nicht möglich, was bedeutet, dass OData für ECS Core im Grunde nur zum Posten oder Abrufen von Daten geeignet ist und nicht, um Rückgabewerte wegzuschreiben.

Das Parameter-Mapping muss daher mit dem hinterlegten Strukturparameter des vorhin angelegten Custom Data Types erfolgen.

Öffnen Sie die Execute Function Aktivität und scrollen Sie zur Input-Tabelle REQUISITION_ITEMS. Klicken Sie sich durch den Mapping-Dialog bis Sie zur Mapping-Tabelle gelangen. Nehmen Sie anschließend das Mapping für die Parameter DOC_TYPE, MATERIAL, PLANT, QUANTITY, DELIV_DATE und ACCTASSCAT vor. Einzelheiten zum Mappen von Struktur-Parametern auf Tabellenwerte finden Sie in der hier.

ecscore-webservices13

Mappen Sie anschließend noch den Parameter COST_CTR auf das entsprechende Feld der Tabelle REQUISITION_ACCOUNT_ASSIGNMENT.

Sichern Sie alle Einstellungen mit OK und kehren Sie zur Einstiegsmaske zurück. Sie können nun den Webservice nach ECSCore deployen.

Sie finden den Webservice anschließend auf der Management-Site Ihrer ECS Core-Maschine unter Extensions>Services oder im Unterverzeichnis WSD der Port 8080 Seite im IIS Manager.

Wie Sie den Webservice in einem REST-Client testen können, erfahren Sie hier.

Wie Sie den Webservice in Nintex für Office 365 aufrufen können, wird hier beschrieben.