Frontend ist also Java basiert, Backend ist (teils) vorhandene RPG Funktionalität, an Informationen gehen eine Handvoll Parameter hin und es kommt letztlich ein Resultset zurück.
Hört sich in der Tat auf den ersten Ton nach stored Procedure mit ResultSet Rückgabe an... Der Reihe nach:
- Aufruf und Parameter Übergabe:
pro stoPro:
- einfach zu implementieren (create Procedure... das wars)
- Aufruf über Database Server (JDBC Treiber reicht, kein sonstiges Toolbox Gedöns, ConnectionPools etc. einfach verwendbar
contra stoPro:
- konzeptionelles verbiegen von Datenbank

Rückgabe ResultSet
contra stoPro:
- RPG hat keine bis stark limitierte dynamische Speicherverwaltung (letztlich hängt da eine statische Größe eines Arrays dahinter, das allenfalls erst während des Programmablaufs mit Speicher hinterlegt wird)
- man wird Beta Tester eines Features, das nicht wirklich genutzt wird
- ich würde da pragmatisch in dem RPG Ham das ResultSet in eine Table (mit generiertem Namen) stellen und den Tablenamen zurückgeben.

Von der Architektur her, kann man die Erstellung der Table (eventuell eben auch aus dem bisher erstellten Spool) in eine RPG Funktion kapseln und wenig an der bisherigen Mimik ändern.

Die Schnittstelle zwischen Java und RPG könnte man ebenfalls in einer generischen Java Schicht als WebService maskieren.

D*B


Zitat Zitat von scireum_mha Beitrag anzeigen
Danke für den Tip, aber Spoolfiles finde ich jetzt nicht wirklich prickelnd. (Zweizeilige Ausgabe, werden gerne mal abgeändert usw. usw.. Mir reichen da die Erfahrungen aus ein paar COLD Projekten)

Wir haben ja bereits eine Softwarelösung mit der ich physische bzw. SQL Abfragen sehr schön visualisieren kann. ( Willkommen bei scireum ). Von dor aus (Java / JT400) würden auch die Programme aufgerufen.

Es handelt sich um klassische Listprogramme. (Lieferscheinprüfprotokoll, Kundenrabattlisten, Statistiken) Sie kennen das ja bestimmt ;-).

D.h. seither ist das so: Programm wird aufgerufen. Benutzer bekomm eine Parameterauswahl präsentiert, die gibt er ein, zwei mal F13 und los gehts. Dann kommt entweder ein Screen oder es purzelt etwas aus dem Drucker.

Wir möchten das jetzt eben abändern auf. Weboberfläche, Parametereingabe inkl hierarischer Berechtigungssteuerung. Programm nudelt, liefert seine Daten an Java. Java formatiert, gruppiert, rechnet Zwischensummen usw. usw., macht ein Excel daraus und schickt das per Mail an den User.
Den Java Teil haben wir bereits. Es geht jetzt nur noch darum vorne das RPG anzuflanschen. Daher die Frage an die RPG Profis wie man das am intelligentesten macht, denn es gibt ja mehrere Wege.

Am meißten interessiert mich das mit Stored Procedures, kann man hier auch mehrere Sätze (Liste) zurückgeben?

mfg

Michael Haufler