Dokumentation

Umfassende Anleitungen und Dokumentation für SQLVantage

Vorwort

SQLVantage Benutzerhandbuch (Deutsch)

SQLVantage Berichtssystem Vollständiges Benutzerhandbuch.

Inhaltsverzeichnis

  1. Systemübersicht
  2. Installation und Deployment (Windows / Linux)
  3. Konfigurationsanleitungen
  4. Administrator-Leitfaden
  5. Leitfaden für das Berichtsdesign (SQL/FORM/HTML)
  6. Benutzerhandbuch für Endanwender
  7. Anfrageausführung und Ausgabeergebnisse
  8. Häufig gestellte Fragen (FAQ)
  9. Anhang: Datenspeicherung, Backup und Migration

1. Systemübersicht

1.1 Was ist SQLVantage

SQLVantage ist ein webbasiertes Berichtssystem. Der „Administrator“ pflegt die Berichtsdefinitionen, während „Endbenutzer“ über eine Webseite Berichte auswählen, Abfragebedingungen eingeben, Ergebnisse asynchron abrufen und als Excel / HTML / JSON / TEXT exportieren können.

1.2 Technologie-Stack

Das System verfügt über eine reine Web-Architektur: Im Browser muss kein Client oder Plug-in installiert werden – jeder moderne Browser kann darauf zugreifen. Auf der Serverseite werden nur das ausführbare Programm und die dazugehörigen Konfigurationsverzeichnisse benötigt, was die Bereitstellung einfach macht.

1.3 Kernkonzepte

Konzept Beschreibung
Bericht (Report) Ein Bericht = drei Teile Code (SQL + FORM + HTML) + drei Format-JSON-Dateien (SqlFormat / FormFormat / HtmlFormat); er ist einer „Verantwortung“ zugeordnet
Verantwortung (Responsibility) Die Kategorie (Verzeichnis), zu der Berichte gehören, entsprechend den Responsibilities in Oracle EBS; dient dazu, Berichte für Benutzer nach Modulen zu gruppieren
Parameter Eine in FORM definierte Abfragebedingung (z. B. Datum, Kunde, Organisation usw.); nach dem Absenden wird sie als benannter Parameter an das SQL gebunden
Anfrage (Request) Eine spezifische Berichtsausführungsaufgabe, die von einem Endbenutzer übermittelt wurde; das System führt sie asynchron im Hintergrund aus und generiert Ergebnisdateien
Lizenz (License) Die Lizenzdatei conf/license.dat, die die Anzahl der Berichte und die Gültigkeitsdauer steuert

1.4 Benutzerrollen

Rolle Einstieg Berechtigungen
Administrator (admin) /admin/login Benutzerverwaltung, Verantwortungsverwaltung, Berichtsverwaltung, Lizenzimport, Systemeinstellungen und Überwachung aller Anfragen
Endbenutzer (normal) /login Berichte auswählen, Parameter eingeben, Anfragen übermitteln, eigene Anfragen einsehen, Ergebnisse herunterladen und Passwort ändern

1.5 Verzeichnisstruktur

Die Hauptdateien nach dem Entpacken des Release-Pakets:

SQLVantage/
├── SQLVantage.exe / sqlvantage   # Hauptprogramm (Windows / Linux)
├── conf/
│   ├── app.conf        # Systemkonfiguration (Port / Sprache / Oracle usw.)
│   ├── data.dat        # Geschäftsdatenbank (Benutzer / Verantwortungen / Berichte / Anfragen)
│   ├── license.dat     # Lizenzdatei
│   └── locale/         # Sprachpakete
├── data/               # Zur Laufzeit generiert: <RequestID>.xlsx / <RequestID>.json
├── docs/               # Benutzerdokumentation (Mehrsprachig, inklusive images/)
└── tmp/                # Temporäre Dateien (Sitzungen, Aufgaben)

2. Installation und Deployment (Windows / Linux)

2.1 Systemanforderungen

  • Betriebssystem: Windows 7+ / 64-Bit Linux (x86_64)
  • Ausführungsmodus (empfohlen): Verwenden Sie direkt das veröffentlichte ausführbare Programm (SQLVantage.exe oder das Linux-Binärprogramm); es muss keine Runtime-Umgebung installiert werden.
  • Oracle-Datenbank: Die Ausführung von Berichten erfordert eine Verbindung zu Oracle (das System verbindet sich standardmäßig mit Oracle EBS); bitte prüfen Sie Netzwerk und Konto im Voraus.
  • Disk-/Verzeichnisberechtigungen: Das Arbeitsverzeichnis des Programms muss beschreibbar sein, da während der Laufzeit die Verzeichnisse data/ und tmp/ erstellt und Dateien unter conf/ gelesen/geschrieben werden.

2.2 Installation unter Windows

  1. Entpacken: Entpacken Sie das Release-Paket (zip) in ein beliebiges Verzeichnis, zum Beispiel D:\SQLVantage\. Bestätigen Sie nach dem Entpacken, dass die folgenden Schlüsseldateien vorhanden sind:

    D:\SQLVantage\
    ├── SQLVantage.exe      # Hauptprogramm
    ├── conf\app.conf       # Konfigurationsdatei
    ├── conf\data.dat       # Datenbank (leere DB im Paket enthalten)
    └── conf\locale\        # Sprachpakete
    
  2. (Optional) Konfiguration ändern: Öffnen Sie conf\app.conf mit dem Editor und ändern Sie die Listenadresse, den Port, die Oracle-Verbindung usw. gemäß Kapitel 3.

  3. Programm starten: Doppelklicken Sie auf SQLVantage.exe oder führen Sie es in der Befehlszeile aus:

    cd D:\SQLVantage
    SQLVantage.exe
    

    Nach einem erfolgreichen Start gibt die Konsole Versionsinformationen und den Lizenzstatus aus und wechselt in den Listening-Zustand.

  4. Systemzugriff: Öffnen Sie http://127.0.0.1:8080 in einem Browser (Standardadresse; kann in app.conf geändert werden).

  5. Firewall-Einstellungen: Wenn ein LAN/Remote-Zugriff erforderlich ist, öffnen Sie den entsprechenden Port (z. B. 8080) in der Windows-Firewall:

    netsh advfirewall firewall add rule name="SQLVantage" dir=in action=allow protocol=TCP localport=8080
    

2.3 Installation unter Linux

  1. Entpacken: Entpacken Sie das Release-Paket (tar.gz oder zip) in das Zielverzeichnis, zum Beispiel /opt/sqlvantage:

    mkdir -p /opt/sqlvantage
    tar -xzf sqlvantage-linux-amd64.tar.gz -C /opt/sqlvantage
    cd /opt/sqlvantage
    
  2. Ausführungsberechtigung erteilen:

    chmod +x sqlvantage
    
  3. (Optional) Konfiguration ändern: Bearbeiten Sie conf/app.conf (wie unter Windows).

  4. Vordergrund-Starttest:

    ./sqlvantage
    

    Wenn Sie die Versionsinformationen und das Listening-Log sehen, war der Start erfolgreich; drücken Sie Ctrl+C zum Stoppen.

  5. Im Hintergrund ausführen (systemd oder nohup empfohlen):

    Methode A: nohup

    cd /opt/sqlvantage
    nohup ./sqlvantage > sqlvantage.log 2>&1 &
    

    Methode B: systemd (Erstellen von /etc/systemd/system/sqlvantage.service):

    [Unit]
    Description=SQLVantage Report System
    After=network.target
    
    [Service]
    WorkingDirectory=/opt/sqlvantage
    ExecStart=/opt/sqlvantage/sqlvantage
    Restart=always
    RestartSec=5
    User=sqlvantage
    
    [Install]
    WantedBy=multi-user.target
    

    Führen Sie dann aus:

    systemctl daemon-reload
    systemctl enable sqlvantage
    systemctl start sqlvantage
    systemctl status sqlvantage
    
  6. Firewall / Sicherheitsgruppe: Öffnen Sie den Port (z. B. 8080):

    firewall-cmd --permanent --add-port=8080/tcp && firewall-cmd --reload
    

2.4 Aus Quellcode bauen (Optional)

Nur für Benutzer verfügbar, die den Quellcode erhalten haben: Führen Sie den Build-Befehl im Quellverzeichnis aus, um eine ausführbare Datei für die aktuelle Plattform zu erstellen. Für eine formelle Deployment-Umgebung wird empfohlen, direkt die offiziell veröffentlichte ausführbare Datei zu verwenden.

2.5 Erster Start

Beim ersten Start schließt das System automatisch die folgende Initialisierung ab:

  1. Prüfung der Datendatei: Liest conf/data.dat (im Paket enthalten; wenn sie fehlt, meldet das Programm "conf/data.dat is not found" und beendet sich — bitte löschen Sie diese Datei nicht).
  2. Automatische Tabellenerstellung: Die vier Tabellen user, responsibility, report und request werden automatisch erstellt.
  3. Automatische Erstellung des Administrator-Kontos: Beim ersten Besuch von /admin/login wird der Benutzer root automatisch erstellt, falls er nicht existiert:
    • Benutzername: root
    • Initialpasswort: SQLVantage
    • Rolle: admin (Administrator)
    • Sicherheitshinweis: Ändern Sie dieses Passwort sofort nach dem ersten Login (der Administrator kann dies unter "Benutzerverwaltung" tun).
  4. Prüfung der Lizenzdatei: Wenn conf/license.dat fehlt oder ungültig ist, gibt die Konsole eine Warnung aus; das System kann weiterhin laufen, unterliegt jedoch den Lizenzbeschränkungen in Abschnitt 4.7.

3. Konfigurationsanleitungen

3.1 Position der Konfigurationsdatei

Die Konfigurationsdatei ist conf/app.conf (INI-Format). Es gibt zwei Möglichkeiten, sie zu ändern:

  • Methode 1 (empfohlen, über die Benutzeroberfläche): Melden Sie sich als Administrator an, gehen Sie zu den „Systemeinstellungen“ (/admin/setting), geben Sie die Werte ein und speichern Sie; das System schreibt diese automatisch in die app.conf zurück.
  • Methode 2 (Datei direkt bearbeiten): Ändern Sie conf/app.conf mit einem Texteditor und starten Sie das Programm dann neu.

3.2 Parameter-Referenztabelle

Parameter Standardwert Beschreibung
appname SQLVantage Anwendungsname
httpaddr 127.0.0.1 Listen-IP-Adresse; 0.0.0.0 bedeutet, dass auf allen Netzwerkschnittstellen gelauscht wird (aus dem LAN erreichbar)
httpport 8080 Listen-Port; empfohlen sind 8080~8099
runmode dev Betriebsmodus: dev (Entwicklung, zeigt detaillierte Fehler) / prod (Produktion, verbirgt Fehlerdetails)
language en-US Standard-UI-Sprache (niedrigere Priorität als URL-Parameter / Cookie / Browsersprache)
sessiongcmaxlifetime 3600 Ablaufzeit der Sitzung (Sekunden); standardmäßig 1 Stunde
max_execution_time 30 Maximale Ausführungszeit für eine Berichtsaufgabe (Minuten); Zeitüberschreitungen werden automatisch als „Beendet“ (Terminated) markiert
oracle_server z.B. 192.168.10.13 IP/Hostname des Oracle-Datenbankservers
oracle_port 1521 Oracle-Listen-Port
oracle_database test Oracle-Servicename (SERVICE_NAME)
oracle_username apps Oracle-Verbindungsbenutzername
oracle_password keine Oracle-Verbindungskennwort (bitte das tatsächliche Kennwort eingeben)

3.3 Wann Änderungen wirksam werden

  • sessiongcmaxlifetime: Wird sofort nach dem Speichern wirksam.
  • Andere Parameter (Port, Oracle usw.): Das Programm muss neu gestartet werden, damit die Änderungen wirksam werden.

3.4 Sprachwechsel

  • Das System verfügt über 12 integrierte Sprachen: zh-CN, zh-TW, en-US, ja-JP, ko-KR, fr-FR, de-DE, es-ES, th-TH, vi-VN, ru-RU, pt-PT.
  • So wechseln Sie die Sprache: Fügen Sie ?lang=zh-CN an die URL an (z. B. /?lang=zh-CN) oder wechseln Sie über das Sprachmenü in der oberen rechten Ecke der Administrationskonsole; nach der Auswahl wird dies in einem Cookie gespeichert, das 1 Jahr gültig ist.

4. Administrator-Leitfaden

4.1 Administrator-Login

  1. Rufen Sie im Browser http://<Serveradresse>:<Port>/admin/login auf.
  2. Melden Sie sich mit dem Administrator-Konto an (initial root / SQLVantage).
  3. Nach erfolgreichem Login öffnet sich das Admin-Backend (/admin), das linke Menü enthält: Berichtsverwaltung, Verantwortungsverwaltung, Benutzerverwaltung, Anfragenverwaltung, Lizenzverwaltung, Systemeinstellungen, Dashboard, Über uns.

Hinweis: Das Administrator-Konto muss die Bedingungen Rolle = admin und Status = active erfüllen, andernfalls ist der Login im Backend nicht möglich.

4.2 Dashboard und Top-Navigation

  • Die Top-Navigation ermöglicht schnelle Sprünge: Dashboard (/admin), Berichtsausführung (/request, neues Fenster) und Portal-Startseite (/).
  • Oben rechts können Sie die Sprache wechseln oder sich ausloggen (/admin/logout).

4.3 Benutzerverwaltung

Einstieg: /admin/user (linkes Menü „Benutzerverwaltung“).

Erklärung der Benutzerfelder:

Feld Beschreibung
Benutzername (UserName) Login-Konto; nach der Erstellung nicht änderbar (nur Lesen)
E-Mail Optional
Rolle (Role) normal (Endbenutzer) / admin (Administrator)
Status active (aktiv, kann sich einloggen) / inactive (ausgeschieden, Login gesperrt)
Passwort Muss bei der Erstellung angegeben werden; verschlüsselt gespeichert, wird im UI nicht angezeigt

Operationen:

  • Neu: Klicken Sie auf die Schaltfläche „Neu“ $\rightarrow$ Benutzername/E-Mail/Rolle/Status/Passwort/Passwort bestätigen eingeben $\rightarrow$ absenden.
  • Bearbeiten: Klicken Sie in der Zeile auf „Bearbeiten“ $\rightarrow$ E-Mail, Rolle und Status können geändert werden; ein leeres Passwortfeld bedeutet keine Änderung.
  • Löschen: Klicken Sie in der Zeile auf „Löschen“. Hinweis:
    • Das root-Konto darf nicht gelöscht werden.
    • Benutzer, denen Berichte zugeordnet sind, dürfen nicht gelöscht werden (die Berichte müssen zuerst gelöscht oder übertragen werden).

Management-Tipps:

  • Der Login-Einstieg für Endbenutzer ist /login (Startseite), der für Administratoren /admin/login; beide sind unterschiedlich.
  • Setzen Sie einen Endbenutzer auf den Status inactive, um den Login zu sperren, ohne das Konto löschen zu müssen.
  • root wird in der Benutzerliste automatisch ausgeblendet.

4.4 Verantwortungsverwaltung

Einstieg: /admin/responsibility (linkes Menü „Verantwortungsverwaltung“).

Erklärung der Verantwortungsfelder:

Feld Beschreibung
RespId Verantwortungs-ID in Oracle EBS
RespKey Verantwortungs-Key in Oracle EBS
Name Anzeigename, dient auch als Gruppierungsname im Berichtsmenü für Endbenutzer
ShortName Optional

Operationen:

  • Neu: Klicken Sie auf „Neu“ $\rightarrow$ wählen Sie eine Verantwortung eines Benutzers aus dem Dropdown aus (Daten kommen über die Oracle EBS-Schnittstelle /api/user/responsibilities/); RespId / RespKey / Name werden automatisch ausgefüllt; eine manuelle Eingabe ist ebenfalls möglich $\rightarrow$ absenden.
  • Bearbeiten / Löschen: Operationen über die Zeilenschaltflächen. Hinweis: Eine Verantwortung, die von einem Bericht referenziert wird, kann nicht gelöscht werden.

Zweck: Jeder Bericht muss einer Verantwortung zugeordnet sein; das „Berichtsmenü“ für Endbenutzer wird nach Verantwortungen gruppiert (Berichte ohne Zuordnung landen in der Gruppe „Nicht kategorisiert“).

4.5 Berichtsverwaltung

Einstieg: /admin/report (linkes Menü „Berichtsverwaltung“).

Berichtsfelder:

Feld Beschreibung
ID Automatische Nummerierung durch das System
Verantwortung (Responsibility) Kategorie, der der Bericht zugeordnet ist
Name Berichtsname, sichtbar für Endbenutzer
Beschreibung Optional
Status Draft (Entwurf) / Release (Veröffentlicht) / Discard (Verworfen)
Erstellungs-/Aktualisierungszeit Wird automatisch vom System aufgezeichnet

Berichts-Lebenszyklus (Wichtig):

Draft (Entwurf, Designphase) ──▶ Release (Veröffentlicht, für Benutzer sichtbar)
       │                        │
       │                        └──▶ Kann nicht direkt gelöscht werden, muss zuerst zu Draft/Discard geändert werden
       └──▶ Discard (Verworfen, für Benutzer nicht sichtbar)
  • Nur Berichte mit dem Status Release erscheinen im Berichtsmenü der Endbenutzer.
  • Veröffentlichte (Release) Berichte dürfen nicht gelöscht werden. Ändern Sie zuerst den Status in der Liste auf Draft oder Discard und löschen Sie ihn dann.
  • Die Spalten „Name“, „Beschreibung“ und „Status“ in der Liste unterstützen das direkte Bearbeiten per Doppelklick (automatische Speicherung).

Operationen:

Schaltfläche Beschreibung
Neu Formular öffnet sich: Verantwortung wählen, Name/Beschreibung/Status eingeben $\rightarrow$ absenden
Code (lila) Öffnet den Berichtsdesigner (siehe Kapitel 5, die Kernfunktion des Systems)
Bearbeiten (blau) Öffnet das Formular für Basisinformationen zur Änderung
Löschen (rot) Löscht den Bericht (Release-Status verhindert das Löschen)

4.6 Anfragenverwaltung (Administrator-Sicht)

Einstieg: /admin/request (linkes Menü „Anfragenverwaltung“).

Administratoren können die Berichtsanfragen aller Benutzer einsehen (Endbenutzer sehen nur ihre eigenen) und Folgendes tun:

  • Ansicht nach Berichtsname/Status/Phase;
  • Einsicht in Parameter, Absender, IP-Adresse sowie Erstellungs- und Abschlusszeit;
  • Über das „Ausgabe“-Dropdown können die Ergebnisse (Excel / HTML / JSON / TEXT) direkt heruntergeladen werden;
  • Einzelnes Löschen oder Markieren mehrerer Einträge für das „Massenlöschen“.

Die Bedeutung der Anfragenstatus finden Sie in Kapitel 7.

4.7 Lizenzverwaltung

Einstieg: /admin/license (linkes Menü „Lizenzverwaltung“).

4.7.1 Was ist eine Lizenzdatei

Die Lizenzdatei ist conf/license.dat, ein kurzer Text, der vom Anbieter ausgestellt wurde und folgende Informationen enthält:

Feld Beschreibung
reg_id Registrierungs-ID (eindeutige Kundenkennzeichnung)
company Registrierter Firmenname
expire Ablaufdatum (Format YYYY-MM-DD, z. B. 2026-12-31)

Das System prüft beim Start und beim Import automatisch die Gültigkeit der Lizenzdatei. Jede Manipulation (Änderung der Registrierungsdaten oder des Ablaufdatums) führt zur Ungültigkeit der Lizenz.

4.7.2 Kaufprozess

  1. Kontaktieren Sie den SQLVantage-Anbieter/Entwickler und geben Sie folgende Informationen an:
    • Firmenname (company);
    • Registrierungs-ID des zu lizensierenden Servers (reg_id, wird vom Anbieter zugewiesen);
    • Gewünschte Lizenzdauer.
  2. Der Anbieter generiert mit einem Tool die Lizenzdatei (ein Textabschnitt) und liefert sie an den Kunden aus.
  3. Nach Erhalt importiert der Kunde die Datei gemäß Punkt 4.7.3.

4.7.3 Lizenz importieren

  1. Administrator-Login $\rightarrow$ Lizenzverwaltung (/admin/license).
  2. Die Seite zeigt den aktuellen Lizenzstatus an (Reg-ID / Firma / Ablaufdatum; bei Ungültigkeit oder Fehlen erscheint ein roter Hinweis).
  3. Klicken Sie auf „Datei auswählen“, wählen Sie die erhaltene Lizenzdatei aus (beliebiger Name, z. B. license.dat) $\rightarrow$ klicken Sie auf „Importieren“.
  4. Nach erfolgreichem Import validiert das System die Datei und aktualisiert die Seite automatisch mit den gültigen Lizenzinformationen.

Alternativ kann die Datei manuell platziert werden: Speichern Sie den Inhalt als conf/license.dat und starten Sie das Programm neu.

4.7.4 Einschränkungen ohne Lizenz / bei Ablauf

Einschränkung Beschreibung
Anzahl der Berichte Ohne gültige Lizenz (oder nach Ablauf) können maximal 3 Berichte existieren; weitere Erstellungen werden abgelehnt (Hinweis „Lizenzlimit erreicht“)
Anfrage-Einreichung Ohne Lizenz und bei $\ge 3$ Berichten wird die Einreichung von Anfragen durch Endbenutzer abgelehnt
Lizenzablauf Nach dem Ablauf sind bereits angemeldete Operationen nicht betroffen, aber das Erstellen neuer Berichte/Anfragen ist eingeschränkt

4.8 Systemeinstellungen

Einstieg: /admin/setting (linkes Menü „Systemeinstellungen“), visuelle Bearbeitung von conf/app.conf:

  • Anwendungseinstellungen: Listen-Adresse, Port, Betriebsmodus, Standardsprache, maximale Ausführungszeit;
  • Sitzungseinstellungen: Sitzungsablaufzeit (Sekunden);
  • Oracle-Datenbank-Einstellungen: Server, Port, Servicename, Benutzername, Passwort (mit Umschaltfläche für Klartext/Geheimtext).

Einige Parameter werden nach dem Speichern sofort wirksam; Parameter wie der Port erfordern einen Neustart des Programms.

4.9 Über uns

Einstieg: /admin/aboutus; Ansicht der Systemversion, Release-Informationen usw.


5. Leitfaden für das Berichtsdesign (Kernkapitel)

Dies ist die wichtigste Funktion von SQLVantage. Ein Bericht besteht aus drei Teilen:

  • SQL: definiert, welche Daten abgefragt werden (Quell-SQL + Spaltenmetadaten-Konfiguration)
  • FORM: definiert, welche Abfragebedingungen Benutzer ausfüllen (Parameter-Formular)
  • HTML: definiert, wie die Ergebnisse angezeigt werden (Tabelle/Chart/KPI-Karten-Layout)

Jeder der drei hat zwei Datastücke — "Code" und "Format-JSON" — die schließlich im Berichtsspeicher gespeichert werden.

5.1 Designer-Arbeitsplatz

5.1.1 Betreten des Designers

  1. Melden Sie sich als Administrator an → Berichtsverwaltung (/admin/report).
  2. Suchen Sie den Zielbericht und klicken Sie auf die Schaltfläche „Code“ (lila).
  3. Ein großer Designer-Fenster erscheint (etwa 98% des Bildschirms), das Interface ist in linke und rechte Bereiche unterteilt:
┌────────────────────────────────────────────────────────┐
│ [下拉:SQL设计 | FORM设计 | HTML设计]   [保存全部]        │
├───────────────────────────────┬────────────────────────┤
│ 左侧:代码编辑器                │ 右侧:动态设计面板       │
│ (SQL 代码 / FORM 代码 /        │ (随左侧模式切换)      │
│  HTML 代码 共用一个编辑器)     │   · SQL: 列元配置表  │
│                               │   · FORM: 参数配置表    │
│                               │   · HTML: 布局块配置表  │
└───────────────────────────────┴────────────────────────┘

5.1.2 Drei Modi

Die Dropdown-Leiste oben wechselt das Design-Modus; linker Editor und rechter Panel wechseln synchron:

Modus Editor-Inhalt Rechtes Panel
SQL-Design Report-Abfrage-SQL (Oracle-Syntax) Spaltenmetadaten-Konfigurations-Tabelle (beeinflusst Excel-Export/Seiten-Spalten-Header)
FORM-Design Parameter-Formular HTML-Code Parameter-Konfigurations-Tabelle + Live-Vorschau + Formular-Code-Entwurf
HTML-Design Ergebnis-Anzeige HTML-Code (Template-Ausschnitt) Layout-Block-Konfigurations-Tabelle + Layout-Vorschau + HTML-Code-Entwurf

5.1.3 Speichern

  • Während des Designs: Änderungen im rechten Panel werden automatisch in die versteckten Felder (sql_code/sql_format/form_code/form_format/html_code/html_format) zurückgeschrieben.
  • Formale Speicherung: Klicken Sie auf die Schaltfläche „Speichern Alles“ oben links, um alle sechs Datenstücke an /admin/report/code/ zu senden und sie in der Datenbank zu speichern.

Wichtig: Nach dem Bearbeiten von SQL / FORM / HTML müssen Sie unbedingt auf „Speichern Alles“ klicken, sonst gehen die Änderungen verloren, wenn das Fenster geschlossen wird.

5.2 SQL-Modul (Gestaltung der Berichts-Datenquelle)

5.2.1 Schreiben der Abfrage-SQL

  • Das SQL verwendet Oracle-Syntax; schreiben Sie direkt eine SELECT-Anweisung (FROM/JOIN/WHERE/GROUP BY usw. können eingeschlossen werden).
  • Abfragebedingungen verwenden benannte Parameter-Platzhalter :Parameter-Name, und der Parameter-Name muss mit dem field übereinstimmen, das im FORM-Modul definiert ist. Zum Beispiel, wenn im FORM das Parameter P_OU_ID definiert ist, schreiben Sie im SQL folgendes:
SELECT company_name, ou_id, amount
  FROM fnd_ou_tl
 WHERE ou_id = :P_OU_ID
  • Alle Spaltennamen, die im SQL ausgewählt werden, sind die Feldkennzeichnungen des Excel-Exports und der HTML-Seitentabelle (es wird empfohlen, einheitlich Großbuchstaben zu verwenden, z. B. COMPANY_NAME).

5.2.2 Spaltenmetadaten-Konfigurations-Tabelle (Schlüssel: Excel-Export)

Die „SQL Spaltenmetadaten-Konfiguration“ auf der rechten Seite hat einen Eintrag für jede vom SQL ausgegebene Spalte:

Spalte Beschreibung Beispiel
field Die Spaltenname, die vom SQL ausgegeben wird (wird automatisch in Großbuchstaben umgewandelt, wenn eingegeben) AMOUNT
title Anzeigetitel — der Excel-Export-Header und der Spaltenheader der Seitentabelle Amount
type text / number / percent / date / month / time / datetime number
precision Anzahl der Nachkommastellen für numerische Werte (Standard 2) 2
format Benutzerdefinierte Zahlen-/Datum-Format für Excel #,##0.00
align left / center / right right

Operationen: Klicken Sie auf „Zeile hinzufügen“, um eine Spalte hinzuzufügen → doppelklicken Sie eine Zelle, um sie auszufüllen → JSON-Snapshot wird automatisch generiert (der schwarze Code-Vorschau-Bereich rechts), und wird in Echtzeit nach sql_format zurückgeschrieben.

5.2.3 SQL-Spalten-Konfiguration und Excel-Export-Korrelation

Das System generiert im Hintergrund die Excel (xlsx) Datei gemäß den folgenden Korrelationsregeln:

Spalten-Konfiguration Excel-Ausgabeverhalten
field Passt zum Spaltennamen des Abfrageergebnisses und bestimmt, welcher Spalte sich dieser Konfigurations-Eintrag bezieht
title Wird in die Kopfzelle der Zeile 1 eingetragen, also das Excel-Header-Titel
type = text Der Wert wird als Text in die Zelle geschrieben
type = number Der Wert wird als Zahl geschrieben, Nachkommastellen = precision; wenn format konfiguriert ist, wird mit dem benutzerdefinierten Zahlen-Format ausgegeben, z. B. #,##0.00
type = percent Der Wert wird in Prozent-Format ausgegeben; format kann überschrieben werden, z. B. 0.00%
type = date Der Wert wird als Datum ausgegeben; format kann als Datum-Format verwendet werden, z. B. yyyy-mm-dd
align Horizontale Ausrichtung der Zelle: left / center / right
precision Numerische Präzision (Standard 2)

Im anderen Worten: Die SQL-Spalten-Konfigurations-Tabelle ist die vollständige Definition der „Kopfzeile + Spaltenart + Zahlen-Format + Ausrichtung“ des Excel-Exports. Selbst ohne jede Konfiguration kann Excel immer noch exportiert werden (Standard-Text-Typ, linksbündig, Spaltenüberschriften verwenden die ursprünglichen Spaltennamen), aber der exportierte Excel ist nach Konfiguration professioneller.

5.2.4 Ein vollständiges SQL-Design-Beispiel

Angenommen, wir möchten einen „Abteilungs-Kosten-Bericht“ erstellen:

  1. SQL-Code (Editor):
SELECT DEPT_NAME, MONTH, TOTAL_AMOUNT, RATE
  FROM DEPT_COST_V
 WHERE MONTH = :P_MONTH
 ORDER BY DEPT_NAME
  1. Spaltenmetadaten-Konfiguration:
field title type precision format align
DEPT_NAME Department Name text left
MONTH Month date yyyy-mm center
TOTAL_AMOUNT Total Amount number 2 #,##0.00 right
RATE Cost Ratio percent 2 0.00% right
  1. Das exportierte Excel-Ergebnis: Die Überschriften sind „Abteilungsname / Monat / Gesamtbetrag / Kostenquote“; Beträge sind rechtsbündig mit Tausenderzeichen und 2 Nachkommastellen, und die Quote wird als Prozentsatz angezeigt.

5.3 FORM-Modul (Gestaltung der Abfrage-Parameter-Formular)

5.3.1 Parameter-Konfigurations-Tabelle

Die rechte „Parameter-Konfigurations-Tabelle“ definiert jede Zeile einen Abfrage-Parameter:

Spalte Beschreibung Beispiel
field Parameter-Kennung; muss mit :parameter name in SQL übereinstimmen P_OU_ID
label Der Label-Text, der im Formular angezeigt wird Business Entity
type Siehe die untenstehende Komponenten-Tabelle select
value Optional; Standardwert 101
verify Validierungs-Regel (z. B. required) required
static_options Statische Optionen für Dropdown/Radio; Format key:value,key:value 101:Shanghai,102:Beijing
api_url API-Adresse für dynamische Optionen; kann {variable name} Platzhalter enthalten /api/query?ou={P_OU_ID}
query_sql Abfrage-SQL für dynamische Optionen; kann {variable name} Platzhalter enthalten; gibt zwei Spalten (Wert/ Text) zurück SELECT id, name FROM tab WHERE ou = {P_OU_ID}

Komponenten-Tabelle:

Typ Beschreibung
text Einzeiliges Textfeld
number Zahlen-Eingabefeld
select Dropdown-Liste (Optionen aus statischen Optionen oder dynamischen API/SQL)
radio Radio-Button-Gruppe (Optionen aus statischen Optionen)
date Datum-Auswahl (YYYY-MM-DD)
year Jahres-Auswahl
month Monats-Auswahl
time Zeit-Auswahl
datetime Datum-Uhrzeit-Auswahl
hidden Verstecktes Feld (nicht angezeigt, wird dennoch mit dem Formular übermittelt)
temp Zeitwert-Versteckt (wird nicht übermittelt)

5.3.2 Parameter-Kaskade (abhängige Filterung)

  • api_url / query_sql unterstützt {variable name} Platzhalter: Wenn der Benutzer einen upstream-Parameter ändert (z. B. Auswahl einer Organisation), ersetzt das System den Platzhalter automatisch durch den tatsächlichen Wert im aktuellen Formular und fordert dynamisch die downstream-Dropdown-Optionen an.
  • Wenn der upstream-Parameter nicht ausgefüllt wurde, zeigt das downstream-Dropdown „Bitte obenige Filter zuerst vervollständigen“ an und leert die Optionen, um schmutzige Daten zu vermeiden.
  • Statisches Dropdown (static_options) und dynamisches Dropdown (api_url / query_sql) — wählen Sie eine der beiden aus.

Daten-Format-Anforderung für dynamische Dropdown-Optionen: Jedes vom API/SQL zurückgegebene Datensatz muss zwei Felder enthalten: val (Wert) und txt (Anzeigetext).

5.3.3 Live-Vorschau und Code-Generierung

  • Unter der Tabelle befindet sich der „Live-Vorschau-Bereich": Das Formular (einschließlich Datum-Steuerelemente, abhängige Dropdowns usw.) wird in Echtzeit gerendert, während Parameter konfiguriert werden.
  • Die „Formular-Code-Entwurf" Textbox unten generiert den vollständigen FORM HTML-Code in Echtzeit.
  • Klicken Sie auf die Schaltfläche „Kopieren und Anwenden": Der Entwurf-Code wird in den Editor (FORM-Modus) geschrieben und an form_code / form_format synchronisiert.

Sie können auch den linken Editor umgehen und FORM HTML (Formular-Syntax) direkt in der linken Editor schreiben (es wirkt auch beim Speichern).

5.3.4 Laufzeit-Verhalten

Nachdem ein End-Benutzer das Formular absendet, bindet das System die Formulardaten als benannte Parameter mit SQL und führt es aus; die Parameter werden ebenfalls in der Anfrage aufgezeichnet, sodass die Ergebnis-Seite / exportierte Datei die Abfrage-Bedingungen wiedergeben kann.

5.4 HTML-Modul (Gestaltung der Ergebnis-Anzeige)

5.4.1 Layout-Block-Konfigurations-Tabelle

Jede Zeile der rechten „HTML-Ansicht-Komponente-Konfigurations-Tabelle definiert einen Anzeigeblock:

Spalte Beschreibung Beispiel
block_id Eindeutige ID des Blocks (als Präfix für die generierte DOM id verwendet) chart_zone
title Block-Titel Cost Trend
grid_md Grid-Breite 1~12 (12 erstreckt sich über die gesamte Zeile) 8
component table / chart / card / custom (benutzerdefinierter Container) chart
subtotal Y (aktiviert die Gesamtreihe für die Tabelle) / N N
chart_type line (Linien-Diagramm) / bar (Balken-Diagramm) line
x_field Chart X-Achse Feld (aus den SQL-Ausgabe-Spalten) MONTH
y_fields Chart Y-Achse Felder; mehrere durch Englische Kommas trennen TOTAL_AMOUNT

Komponenten-Erklärung:

Komponente Anzeige-Effekt Laufzeit-Technik
table Daten-Tabelle mit Pagination und Sortierung; Spalten-Header stammen aus der Spaltenmetadaten title; mit subtotal=Y zeigen numerische Spalten eine Gesamtrzeile an table
chart Diagramm (line/bar); die X/Y-Achsen-Felder stammen aus der Konfiguration chart
card KPI-Karte, zeigt Schlüsselwerte an Benutzerdefinierte Rendierung
custom Benutzerdefinierter Inhalts-Container HTML

5.4.2 Layout-Vorschau und Code-Generierung

  • Der „Live-Layout-Vorschau"-Bereich zeigt in Echtzeit eine hochfidele Skelett-Ansicht jedes Blocks (Titel + Block-Typ + Breite).
  • "Html Code Entwurf" generiert in Echtzeit den vollständigen HTML-Code (einschließlich Laufzeit-Attribute wie data-component, data-subtotal, data-charttype, data-xfield, data-yfields).
  • Klicken Sie auf "Kopieren und Anwenden": schreiben Sie es in den Editor und synchronisieren html_code / html_format.

Sie können auch HTML-Template-Auszüge direkt in der linken Editor schreiben (unterstützt gängige Template-Syntax). Für die Daten-Objekte, die beim Rendern verfügbar sind, sehen Sie 5.4.3.

5.4.3 Ergebnis-Seiten-Rendern-Mechanismus

Wenn ein End-Benutzer HTML-Ergebnisse herunterschaut/ansieht (/request/output?ext=html), rendert das System den Bericht HTML-Code zusammen mit der Abfrage-Ergebnis-JSON, Spalten-Konfiguration usw.:

Template-Variable Beschreibung
data Das Abfrage-Ergebnis JSON-Array (zur Laufzeit injiziert, kombiniert mit {{.data}} als JS-Daten output)
params Die Abfrage-Parameter dieser Anfrage (Schlüssel-Wert-Paare)
colsConfig SQL-Spaltenmetadaten (für Tabellen-Spalten-Header/Chart-Serien-Namen verwendet)
reportName / reportDate / status Bericht-Name, Erzeugungs-Zeit, Status

Die Seite wandelt Container mit data-component="table" automatisch in Daten-Tabellen um, chart in Diagramme und card in KPI-Karten um.

5.5 Bericht-Veröffentlichungs-Prozess (Empfohlener Administrator-Arbeitsablauf)

1. Berichtsverwaltung → Neuen Bericht erstellen (Auswahl von Verantwortung, Name füllen, Status wählen Draft)
2. Klicken Sie auf "Code" zum Betreten des Designers
3. SQL-Gestaltung: Schreiben Sie Abfrage-SQL + konfigurieren Sie Spaltenmetadaten (Grundlage für Excel-Export)
4. FORM-Gestaltung: Konfigurieren Sie Abfrage-Parameter (entsprechend SQL-Parameter ein-ein)
5. HTML-Gestaltung: Konfigurieren Sie Anzeige-Layout (Tabelle/Chart/KPI-Karte)
6. Klicken Sie auf "Speichern Alles" → Schließen Sie den Designer
7. Gehen Sie zurück zur Bericht-Liste, ändern Sie den Status nach Release (veröffentlichen)
8. Einloggen als normaler Benutzer sofort im Bericht-Menü diesen Bericht sehen und ausführen

5.6 Design-Hinweise

  • Die Parameter-Namen in SQL und FORM müssen exakt übereinstimmen (SQL verwendet :parameter name, FORM verwendet field).
  • SQL-Spalten-Namen sollten großgeschrieben werden; die Spaltenmetadaten-Konfigurations-Tabelle konvertiert field automatisch in Großbuchstaben.
  • Der Bericht-SQL muss von Oracle db.Prepare vorcompilierbar sein; Syntax-Fehler führen zum Scheitern der Anfrage-Ausführung (Status Error).
  • Ohne gültige Lizenz ist die Berichtszahl auf 3 beschränkt; beginnen Sie mit dem Design, nachdem Sie den Lizenz-Status bestätigt haben.
  • Nach dem Speichern können Sie einmalig eine Anfrage in "Anfragen-Verwaltung" oder auf der End-Benutzer-Seite ausführen, um zu überprüfen, ob SQL und Anzeige korrekt sind.

6. Benutzerhandbuch für Endanwender

6.1 Anmeldung

  1. Weg eins: ERP-Validierung (Oracle EBS Single Sign-On) [Oracle EBS Single Sign-On Authentication]
  2. Weg zwei: Lokales Konto

6.2 Portal-Startseite

6.3 Neuen Bericht-Anfrage erstellen

6.4 Meine Anfrage-Liste

6.5 Passwort ändern

6.6 Weitere Hinweise


7. Anfrage-Ausführung und Ausgabeergebnisse

7.1 Ausführungsablauf (asynchron)

7.2 Ausgabe-Format

7.3 Berechtigungssteuerung

7.4 Häufig gestellte Fragen


8. Anhang: Daten-Speicherung, Backup und Migration

9.1 Daten-Speicher-Ort

9.2 Backup-Empfehlung

9.3 Migration auf neuen Server

9.4 Dieser mehrsprachige Dokumenten (Multilingual Dokument) Migration und Online-Lesen