Understand
Bilde IBM i-Anwendungsobjekte und -Abhängigkeiten mit dem Understand-Dashboard ab und nutze Bob, um strukturelle Fragen direkt aus den Scandaten zu beantworten.
Understand ist eine Code-Intelligence-Komponente, die im IBM Bob Premium Package for i enthalten ist. Sie scannt die von dir ausgewählten IBM i-Anwendungsbibliotheken und erstellt ein umfassendes Modell der Anwendung, indem sie alle erkannten Objekte katalogisiert, einschließlich Programmen, Service-Programmen, Modulen, Dateien, Befehlen, Datenbereichen und Datenwarteschlangen. Understand bildet auch die Beziehungen zwischen diesen Objekten ab und erfasst Abhängigkeiten wie Programmaufrufe, Dateizugriffsmuster, Service-Programm-Bindings, SQL-Referenzen, Trigger, Fremdschlüsselbeziehungen, Journalisierungskonfigurationen und Datenbank-Constraints.
Sobald der Scan abgeschlossen ist, kann Bob strukturelle Fragen direkt aus den Scandaten beantworten, ohne jedes Quell-Member lesen zu müssen. Das Understand-Dashboard bietet eine visuelle Oberfläche zum Erkunden von Objekten, Abhängigkeiten und Erkenntnissen.
Alle Scandaten werden aus den Objekten selbst abgeleitet. Understand liest oder analysiert keinen Quellcode. Wenn Quell-Member nicht synchron mit den kompilierten Objekten auf dem System sind, spiegeln die Scandaten die Objekte wider – nicht den Quellcode.
Voraussetzungen
- Eine aktive IBM i-Verbindung über Code for IBM i.
- Die Einstellung
vscode-ibmi-bob.understand.installLibrarymuss konfiguriert sein, bevor Understand installiert werden kann. Wähle eine dedizierte Bibliothek, die keine bestehende Benutzerbibliothek ist. Beschränke den Zugriff auf die Bibliothek auf autorisierte Benutzer.
Die gescannten Anwendungsdaten werden in einer privaten Bibliothek gespeichert. Wenn du anderen Benutzern Zugriff auf diese Bibliothek gewährst, können sie möglicherweise Daten aus Objekten einsehen, auf die sie keine direkte Zugriffsberechtigung haben.
Erste-Schritte-Tour
Die integrierte Understand-Einführungstour ist der schnellste Weg für den Einstieg. Öffne sie über die Befehlspalette, indem du den Befehl Get Started with Understand ausführst, oder öffne die Registerkarte Erste Schritte in VS Code und wähle die Tour Understand your IBM i applications aus.
Die Tour führt dich durch folgende Schritte:
- Verbindung zu IBM i herstellen
- Understand-Komponente installieren
- Deine erste Anwendung erstellen
- Die Anwendung scannen
- Die Ergebnisse mit Bob erkunden

Das Understand-Dashboard
Das Understand-Dashboard ist die zentrale Schnittstelle zur Verwaltung von Anwendungen und zur Erkundung von Scanergebnissen. Öffne es mit dem Befehl Open Understand Dashboard über die Befehlspalette oder indem du auf das Understand-Dashboard-Symbol in der Titelleiste der Bob-Chat-Ansicht klickst.

Das Dashboard ist in folgende Registerkarten unterteilt:
| Registerkarte | Zweck |
|---|---|
| Overview | Understand-Komponente installieren, aktualisieren und deren Status überwachen. |
| Applications | Deine IBM i-Anwendungen erstellen, scannen und verwalten. |
| Libraries | Bibliotheken zur ausgewählten Anwendung hinzufügen oder daraus entfernen. |
| Objects | Jedes gescannte Objekt suchen und filtern; wähle ein Objekt aus, um zu sehen, was es verwendet und wovon es verwendet wird. |
| Insights | Objekt- und Abhängigkeitszähler, am häufigsten referenzierte Objekte, Risiken durch dynamisches SQL, Trigger, Fremdschlüssel und journalisierte Objekte. |
| Messages | Diagnose- und Statusinformationen für jeden Scan-Schritt. |
| Settings | Schneller Zugriff auf die Einstellung für die Installationsbibliothek. |
Understand-Komponente installieren
Bevor du eine Anwendung scannst, musst du die Understand-Komponente auf IBM i installieren.
Öffne das Understand-Dashboard und wechsle zur Registerkarte Overview.
Wenn keine Installationsbibliothek festgelegt ist, wähle Set install library auf der Komponentenkarte und gib den Bibliotheksnamen im Einstellungseditor ein.
Kehre zum Dashboard zurück und wähle Install Understand.
Wenn mit einem Erweiterungs-Update eine neuere Version bereitgestellt wird, bietet dieselbe Karte auf der Registerkarte Overview die Aktion Update Understand an.

Anwendung erstellen
Eine Anwendung besteht aus einer geordneten Liste zugehöriger Bibliotheken, die eine einzelne IBM i-Anwendung darstellen, wie z. B. PAYLIB und PAYDTA für ein Entgeltsystem.
Wähle auf der Registerkarte Applications die Option New application:
- Gib einen Anzeigenamen und eine optionale Beschreibung ein.
- Beginne mit der Eingabe eines Bibliotheksnamens. Die Liste zeigt die auf dem verbundenen System verfügbaren Benutzerbibliotheken an und schließt Systembibliotheken (
Q*,SYS*und#*) aus. - Wähle eine vorgeschlagene Bibliothek aus oder drücke die Eingabetaste, um einen Bibliotheksnamen hinzuzufügen. Bibliotheken werden in der Reihenfolge gescannt, in der sie hinzugefügt wurden.
Du kannst Bibliotheken jederzeit auf der Registerkarte Libraries hinzufügen oder entfernen.

Anwendung scannen
Ein Scan analysiert jedes Objekt in den Bibliotheken der Anwendung und zeichnet die Abhängigkeiten zwischen ihnen auf. Wähle neben einer Anwendung auf der Registerkarte Applications die Option Scan, um einen Scan zu starten.
- Der Scan-Fortschritt wird im unteren Bereich des Dashboards angezeigt. Scans laufen in einem dedizierten SQL-Job, sodass du andere Dashboard-Registerkarten weiter nutzen kannst, während der Scan läuft.
- Nach Abschluss des Scans werden möglicherweise zusätzliche Bibliotheken identifiziert, die von Anwendungsobjekten referenziert werden, aber noch nicht in der Anwendung enthalten sind. Überprüfe diese Empfehlungen auf der Registerkarte Libraries.
- Überprüfe die Registerkarte Messages auf Objekte, Abhängigkeiten oder Referenzen, die der Scanner nicht auflösen konnte.
Understand liest kompilierte Objekte auf dem System, keine Quell-Member. Abhängigkeitsbeziehungen wie dynamische Aufrufe (bei denen ein Programmname in einer Variable gespeichert ist) und dynamische SQL-Tabellenreferenzen sind für einen Objektscan nicht sichtbar und werden nicht erfasst. Objekte, die mit dynamischem SQL gekennzeichnet sind, werden im Dashboard und in Bobs Antworten als Bereiche hervorgehoben, die eine manuelle Überprüfung erfordern.

Wenn du Änderungen an einer bestimmten Bibliothek vornimmst, musst du nicht die gesamte Anwendung neu scannen. Du kannst einzelne Bibliotheken über die Registerkarte Libraries scannen, um deinen Index schnell aktuell zu halten.

Objekte und Insights erkunden
Nach Abschluss eines Scans kannst du die Ergebnisse auf zwei Arten erkunden.
Im Dashboard: Verwende die Registerkarte Objects, um alle indexierten Objekte zu suchen und zu filtern. Wähle ein Objekt aus, um zu sehen, was es verwendet (ausgehende Abhängigkeiten) und wovon es verwendet wird (eingehende Abhängigkeiten), zusammen mit Spalten für Dateien und exportierte Symbole. Die Registerkarte Insights liefert aggregierte Statistiken: Objekt- und Abhängigkeitszähler, am häufigsten referenzierte Objekte, Risiken durch dynamisches SQL, Trigger, Fremdschlüssel und journalisierte Objekte.


Mit Bob: Klicke auf der Registerkarte Insights auf die Schaltfläche Explore the Application with Bob, um eine Aufgabe im IBM i Developer-Modus zu öffnen, die mit einer Zusammenfassung der gescannten Anwendung beginnt. Von dort aus kannst du weitere Fragen in natürlicher Sprache stellen – was ein Programm verwendet, was bei einer Dateiänderung beeinträchtigt würde, wo dynamisches SQL verwendet wird, welche Programme OPM sind und vieles mehr. Details findest du unter Bob mit Understand verwenden.
Bob mit Understand verwenden
Wenn Understand installiert und eine Anwendung gescannt wurde, erhält Bob automatisch Zugriff auf sechs Understand-Tools und drei Understand-Skills sowohl im IBM i Developer- als auch im IBM i Database-Modus.
Bob nutzt die Understand-Tools automatisch als primäre Informationsquelle, wann immer eine Frage die Anwendungsstruktur, Objektbeziehungen oder Abhängigkeitsanalysen betrifft. Dazu gehören Aufgaben wie:
- Was ruft das Programm
ORDPROCauf? Wovon hängt es ab? - Ist es sicher, die Datei
CUSTMSTzu löschen? Was würde kaputtgehen? - Welche Programme sind OPM? Welche verwenden dynamisches SQL?
- Gib mir einen Überblick über die
PAYLIB-Anwendung und deren Modernisierungsbereitschaft. - Was exportiert das Service-Programm
DBSRVund wer verwendet diese Prozeduren?
Bob beantwortet diese Fragen aus den Objektscandaten. Für strukturelle Analysen liest es keine Quell-Member, es sei denn, du bittest es ausdrücklich, eine bestimmte Quelldatei zu öffnen.
Um zu steuern, ob Bob Understand-Tools für eine bestimmte Aufgabe verwenden darf, konfiguriere die Berechtigungsgruppe Understand beim Starten oder Bearbeiten einer Aufgabe.
Understand-Tools sind nur aktiviert, wenn die Komponente installiert ist. Wenn diese Tools nicht sichtbar sind oder nicht verwendet werden können, wurde Understand noch nicht installiert. Um sie zu aktivieren, schließe den Installationsprozess ab, der unter Understand-Komponente installieren beschrieben ist.

Daten aktuell halten
Understand-Daten stellen den Status deiner Anwendung zum Zeitpunkt des letzten Scans dar. Wenn nach dem Scan Objekte hinzugefügt, geändert oder entfernt werden, führe einen erneuten Scan durch, um die Daten zu aktualisieren. Bob und das Understand-Dashboard zeigen automatisch an, wenn Scanergebnisse veraltet sein könnten, und weisen darauf hin, wann ein erneuter Scan erforderlich ist.