Funktion

Beispiele und Erläuterungen

Mit InputAssistant plus GuiXT Controls steht Ihnen eine komfortable Möglichkeit zur Verfügung, SAP OData Services in GuiXT zu nutzen. Insbesondere in neueren SAP Systemen sind zahlreiche OData-Services durch SAP implementiert; diese bilden auch die Grundlage der Fiori Apps. GuiXT unterstützt die aktuell genutzten OData-Versionen v2 und v4.

Alle erforderlichen Berechtigungsprüfungen hat SAP bereits in die Sevices integriert, sodass kein Risiko besteht, dem Benutzer Daten anzuzeigen oder durch ihn ändern zu lassen, für die er nicht autorisiert ist.

Auf der Website "SAP Business Accelerator Hub" stellt SAP einen Katalog aller OData Services zur Verfügung.

Neben den OData-Services des SAP Standards können Sie auch selbstentwickelte Services aufrufen.

In GuiXT sind alle OData "CRUD"  Operationen (Create, Read, Update, Delete) unterstützt:
  • Hinzufügen einer Entität: guinet.odata.create
  • Lesen einer oder mehrerer Entitäten: guinet.odata.read
  • Ändern einer Entität: guinet.odata.update
  • Löschen einer Entität: guinet.odata.delete

Zusätzlich gibt es die Funktionen

  • Anmelden einer OData Session: guinet.odata.logon
  • Abmelden einer OData Session: guinet.odata.logout
  • Ausführen einer Aktion guinet.odata.execute


Beispiel 1
Lesen aller Instandhaltungsaufträge zu einem Datum
CreateTable V[myorders] _
  MaintenanceOrder _
  MaintenanceOrderType _
  MaintenanceOrderDesc _
  MaintOrdBasicStartDate

CallVB guinet.odata.read _
  service:="sap/opu/odata/sap/API_MAINTENANCEORDER/
                     MaintenanceOrder" _
  filter:="MaintOrdBasicStartDate eq 04.04.2025" _
  result:="myorders" 


Ergebnis V[myorders]:
4001320	YBA1	Equipment Repair (T&M)		04.04.2025
4001321	YBA1	Pump Service			04.04.2025
4001322	YBA1	Equipment Repair (Fixed Price)	04.04.2025
4001323	YBA1	Follow-on for 4001322		04.04.2025
4001324	YBA1	Equipment Repair (Fixed Price)	04.04.2025

                                         
Logon
Ein expliziter Logon-Aufruf ist in der Regel nicht nötig, da GuiXT bei der ersten OData-Operation pro SAP GUI Session automatisch intern den Logon durchführt.
Der Servername für die https-Odata-Verbindung wird dabei dem GuiXT Profile bzw. der "guixt.ini" Datei entnommen, Parameter "ODataServer". Zur Authentifizierung des Benutzers werden Benutzername und Passwort der laufenden SAP GUI Session verwendet.
Falls die SAP GUI-Anmeldung über SSO geschieht, können Sie durch den Zusatz "authmode=sso" in der Angabe des ODATA Servers erreichen, dass GuiXT stattdessen eine andere Authentifizierungsmethode wählt.
Die Authentifizierungsmethoden OAuth 2.0, SAML und X.509 Client-Zertifikate werden, falls konfiguriert, automatisch durch Windows benutzt.

Sie können mit einem expliziten Logon-Aufruf arbeiten, zum Beispiel wenn Sie eine OData-Verbindung zu einem anderen SAP System aufbauen wollen, um Daten des aktuellen Systems mit einem anderen System zu vergleichen.
Eine eventuell schon bestehende Verbindung wird durch einen expliziten Logon geschlossen.

Beipiel einer Anmeldung:

Anmelden einer OData Session
CallVB guinet.odata.logon _
  server:="abc.com" _
  authmode:="sso"
Beispiel 2
Lesen einer Länderbezeichnung
// define result structure
CreateStructure V[countrytext] Country CountryName NationalityName

// OData call
CallVB guinet.odata.read _
  service:="sap/opu/odata/sap/API_COUNTRY_SRV/A_CountryText" _
  filter:="Country eq 'IT' and Language eq 'EN'" _
  result:="countrytext" 


Ergebnis V[countrytext]:
IT  Italy   Italian
Beispiel 3
Lesen eines Instandhaltungsauftrags mit den Vorgängen
CreateStructure V[myorder] _
    MaintenanceOrder _
    MaintenanceOrderType _
    MaintenanceOrderDesc _
    MaintOrdBasicStartDate

CreateTable V[myoperations] _
    MaintenanceOrder _
    MaintenanceOrderOperation _
    Plant _
    WorkCenter _
    OperationDescription _
    MaintOrderOperationDuration _
    MaintOrdOperationDurationUnit

CallVB guinet.odata.read _
  service:="sap/opu/odata/sap/API_MAINTENANCEORDER/
         MaintenanceOrder('4001324')" _
  expand:="to_MaintenanceOrderOperation" _
  result:="myorder,myoperations" 


Ergebnis V[myorder]:
4001324 YBA1    Equipment Repair (Fixed Price)  04.04.2025
V[myoperations]:
4001324	0010	1710	RES-0500	Dismantle	1,0	STD
4001324	0020	1710	RES-0500	Repair		5,0	STD
4001324	0030	1710	RES-0500	Assemble	2,0	STD
                    
Lesen von Daten

                    
Komponente InputAssistant + GuiXT Controls