IBM i Services werden ausgeliefert als SQL Views, User Defined Table Functions (UDTF) oder als Gespeicherte Prozeduren (Stored Procedures). Zahlreiche lauffähige Beispiele werden in IBM i ACS unter Run SQL Scripts bereitgestellt.

All diese Services können auch in Db2 Web Query eingesetzt und deren Ergebnisse verwendet werden. Dieser und die nächsten Artikel  zu diesem Thema  zeigen, wie das geht.

Was sind IBM i Services?

IBM i Services sind eine Sammlung von integrierten Dienstprogrammen, die in der IBM i-Betriebssystemumgebung ausgeführt werden. Sie bieten eine breite Palette von Funktionen, die es Entwicklern und Systemadministratoren ermöglichen, auf verschiedene Ressourcen und Informationen innerhalb des IBM i-Betriebssystems zuzugreifen und diese zu verwalten.

Zu den IBM i Services gehören beispielsweise die Datenbank-Services, die es Benutzern ermöglichen, auf Datenbanken innerhalb des IBM i-Betriebssystems zuzugreifen und diese zu verwalten. Andere IBM i Services umfassen Systemverwaltungsdienste wie das Überwachen von Systemressourcen, das Verwalten von Benutzerkonten und das Verwalten von Druckaufträgen.

IBM i Services können über verschiedene Schnittstellen aufgerufen werden, einschließlich der IBM i-Befehlszeilenschnittstelle und der SQL-Schnittstelle. Die Verwendung von IBM i Services kann die Effizienz und Produktivität von Systemadministratoren und Entwicklern erhöhen, indem sie schnell auf wichtige Ressourcen und Informationen zugreifen können, ohne zusätzliche Tools oder Programme installieren zu müssen.

IBM i Services – eine kurze Geschichte

IBM i Services in Form von SQL, SQL DDL und SQE dienen als Alternative zu IBM i APIs und CL-Befehlen.

  • 2013: Beginn mit dem ersten IBM i Service – QSYS2.PTF_INFO
    • Alternative zum CL-Befehl DSPPTF (Display PTF)
    • Beweis, dass SQL Views zusammen mit SQL UDTFs (User Defined Table Functions) mit wenig Aufwand einen maßgeblichen Gegenwert liefern
  • 2015: IBM Services „schlagen Wurzeln“
    • Mit jedem Technology Refresh (TR) werden Erweiterungen ausgeliefert
  • 2017: IBM i Services werden als Technologie für die Modernisierung eingesetzt
    • Bringt die Leistung von SQL für SQL-basierte Reporting- und Überwachungs-Tools
  • 2019: Es gibt dreizehn aktuelle Kategorien von IBM i Services
    • Und es werden immer mehr
  • 2023: Es gibt bereits neunzehn Kategorien
Chronik IBM i Services Quelle: Bär

Chronik IBM i Services

 

Unter den folgenden URLs finden Sie weitere detaillierte Informationen zu den IBM i Services:

IBM i Services – IBM Documentation

IBM i Services (SQL)

Inzwischen wurde auch die neue Version von IBM i ACS 1.1.9.2 angekündigt. Diese wird auch die zahlreichen neuen IBM i Services und die Erweiterungen bestehender Services enthalten (April 2023).

Welche Kategorien und Arten von Services gibt es?

Die Bibliothek QSYS2 enthält die meisten verfügbaren Services. Einer davon ist QSYS2.SERVICES_INFO. Dieser Service ist in Form einer Tabelle verfügbar, die alle Services von IBM i enthält. Jeder dort eingetragene  Service enthält neben dem Namen des Services auch die Kategorie und den Objekttyp.

Mit den folgenden SQL-Anweisungen kann man sich eine Übersicht über die IBM i Services verschaffen:

— Liste aller Services

select *  from qsys2.services_info order by Service_Category;

Liste aller IBM i Services Quelle: Bär

Liste aller IBM i Services

 

Jeder Service enthält auch ein Spalte „Example“ mit einer ausführbaren SQL-Anweisung. So enthält der Service LPRINTF als Stored Procedure folgende SQL-Anweisung in der Spalte Example:

— wieviele Services gibt es?

select count(*)  from qsys2.services_info; — 201 (15.04.2023)

—  Service SYSTOOLS.LPRINTF

— Description: Write a message to the joblog.

CALL SYSTOOLS.LPRINTF(‚This message sent on ‚ CONCAT

DAYOFWEEK(CURRENT DATE) CONCAT ‚ at ‚ CONCAT CURRENT TIME);

— in welchen Bibliotheken?

Select Listagg(Distinct Service_Schema_Name, ‚, ‚) Within Group (Order By Service_Schema_Name) as „Bibliotheken“

From Qsys2.Services_Info;

Bibliotheken, die IBM i Services enthaltenQuelle: Bär

Bibliotheken, die IBM i Services enthalten

 

welche Kategorien?  –> wie in ACS Beispielen

Select Listagg(Distinct Service_Category, ‚, ‚) Within Group (Order By Service_Category) as „Kategorien“

From Qsys2.Services_Info;

Kategorien von IBM i Services Quelle: Bär

Kategorien von IBM i Services

 

Die Liste der Kategorien ist nahezu identisch mit der Liste in ACS Run SQL Scripts und Aus Beispielen für IBM i Services einfügen.

wieviele Kategorien?

select count(distinct Service_Category) from Qsys2.Services_Info; — 19 (15.04.2023)

welche Arten von Services?

Select Listagg(Distinct Sql_Object_Type, ‚, ‚) Within Group (Order By Sql_Object_Type) as „Objekt-Typen“

From Qsys2.Services_Info;

Bibliotheken, die IBM i Services enthaltenQuelle: Bär

Bibliotheken, die IBM i Services enthalten

 

IBM i Services in Db2 Web Query

Ab der Version 2.2.1 stellt IBM mit der Auslieferung Db2 Web Query zahlreiche Beispiele bereit, bei denen IBM i Services verwendet werden. Diese sind zu finden in dem Hauptordner oder Arbeitsbereich mit der Bezeichnung IBM i Administration Samples.

Beispiele von IBM für die Verwendung von IBM i ServicesQuelle: Bär

Beispiele von IBM für die Verwendung von IBM i Services

 

Der Ordner enthält auch einen Report mit den verfügbaren Services: Services Available.

Bei Aufruf des Reports kann selektiert werden, ob die Liste alle oder nur Services von bestimmten Kategorien enthalten soll. Die Sortierung erfolgt nach Kategorie.

Auswahl alle Kategorien oder bestimmte KategorienQuelle: Bär

Auswahl alle Kategorien oder bestimmte Kategorien

 

Liste der verfügbaren IBM i Services Quelle: Bär

Liste der verfügbaren IBM i Services

 

In diesem Report wir das Synonym qsys2_services_info verwendet. Der Service liegt als VIEW vor.

Den von IBM erstellten Report habe ich in meinen Ordner a_IBM i Services (allgemein) kopiert und dort mit dem InfoAssist bearbeitet. Zum einen habe ich zu dem bestehenden Report die Spalte SQL_OBJECT_TYPE hinzugefügt.

Bearbeiten des Reports mit dem InfoAssist Quelle: Bär

Bearbeiten des Reports mit dem InfoAssist

 

Nun sollte der Report nach SQL Objekt-Typ sortiert und danach auch auswählbar sein. Die Ausgabe sollte in Excel erfolgen. Dazu habe ich den bestehenden Report weiter verwendet und modifiziert und unter einem neuen Namen abgespeichert.

Neue Filterbedingung SQL_OBJECT_TYPEQuelle: Bär

Neue Filterbedingung SQL_OBJECT_TYPE

 

Damit ist eine Selektion für alle oder nur für bestimme Objekttypen möglich.

Selektions-Panel für ObjekttypQuelle: Bär

Selektions-Panel für Objekttyp

 

Die Ausgabe erfolgt nach Excel.

Ändern der Ausgabeart für die Liste in ExcelQuelle: Bär

Ändern der Ausgabeart für die Liste in Excel

 

Tipp: Ändern Sie in keinem Fall die Originalprogramme von IBM, sondern kopieren Sie diese in in einen eigenen Ordner und modifizieren Sie diese.

Ausgabe der Liste in  Excel mit eigenem Tabellenblatt für jeden ObjekttypQuelle: Bär

Ausgabe der Liste in Excel mit eigenem Tabellenblatt für jeden Objekttyp

 

Vorschau:

Im nächsten Artikel stelle ich Ihnen weitere Verwendungen von IBM i Services mit Db2 Web Query vor.

Bis dahin wünsche ich Ihnen weiterhin viel Spaß beim Vermehren Ihrer Fertigkeiten.

 

Der Autor Theo Bär schreibt regelmäßig für den TechKnowLetter.

Sie erreichen ihn unter

EDV-Beratung Theo Bär

Ringmauerweg 1

69250 Schönau

Tel.: (+49) 6228 912 630

E-Mail: [info@edv-baer.com]

Sechs Ausgaben des TechKnowLetters erhalten Sie hier für 88 Euro.