-
ENTRY-PLIST und PCML-Definition für REST-WebService
Hallo zusammen,
ich muss einen REST-Service realisieren, der u.a. ab einem vorgegeben Datum Artikelstammsätze zurückgibt.
Habe ein SQLRPGLE erstellt, funktioniert alles wunderbar.
Die Daten werden über eine DS mit Mehrfachvorkommen zurückgegeben.
Leider aber immer alle Vorkommen !
Nun wollte ich eine PCML-Definition selber erstellen, was nicht ging, weil ich ja mit einem SQLRPGLE arbeite, also habe ich einfach ein RPGLE-Pgm. "davorgeschaltet", das nichts anderes macht als das SQLRPGLE aufruft.
Nun kann ich beim Umwandeln des RGPLE auch eine PCML-Datei in ein "eigenes" Verzeichnis erstellen, kann diese ändern u.s.w.
Aber...
mir gelingt es nicht diese PCML-Datei so zu "gestalten", das mir für den Ausgabeparameter (die DS mit Mehrfachvorkommen) auch das COUNT-Feld bei der Erstellung des WebService durch den Assistenten angeboten wird !
(wollte hier einen Screenshot einfügen, aber das gelingt mir auch nicht :=(
Ich habe einige Beispiele gefunden, aber irgendwie war keines dabei, in dem ich die Lösung gefunden hätte.
Kann mir jemand sagen, wie ich das hinbekomme ???
Meine ENTRY-PLIST hat 4 Felder, 2 * Input, Artikelnr. und Datum, 2 * Output, Index (4,0) und die DS mit den Feldern des Artikelstammes als Mehrfachvorkommen.
Ich bin schon ein wenig am "verzweifeln"....
Danke vorab !
-
Versuche mal anstatt der Mehrfach-Datenstruktur (MOD mit Schlüssel-wort OCCURS) eine Array Datenstruktur (DIM) in der DS-Zeile zu definieren.
Arbeite anstatt der *ENTRY-PLIST mit Prototyping (Procedure Interface und Prototype)
Birgitta
-
Die *ENTRY-Definition verweist grundsätzlich nur auf einfache Typen. Eine DS mit OCCURS/DIM ist dann eben nur ein Zeichenfeld entspechender Größe.
Bei Prototyp-Definitionen können eben auch komplexerer und geschachtelte Definitionen verwendet werden.
Wobei folgendes zu beachten ist:
Eine "LIKE(MYDS)" erstellt wieder nur eine einfache Zeichenvariable, ein "LIKEDS(MYDS)" übernimmt auch die Strukturdefinitionen.
Ggf. kommt daher der PCML-Generator besser damit zurecht.
Noch was grundsätzliches zu OCCURS:
In ILERPG macht dies nur noch wenig Sinn, da die Zugriffe hier nicht einfach per Indexvariable erfolgen kann und der Zustand jederzeit geändert sein kann. Vor dem Zugriff auf eine Occurs-Struktur sollte man sich eben sicher sein, dass die korrekte Ebene im Zugriff steht.
Der einzige Vorteil ist, dass ein Set von Variablen mehrfach vorkommen kann. Aber bei Verwendung von "qualified" erübrigt sich das auch.
Die besserer Alternative (und Lesbarkeit) ist eben ein DIM, dass auch auf DS-Ebene vorkommen kann.
Wichtig ist bei der Umstellung von OCCURS auf DIM bei Prozeduraufrufen die Ausrichtung der jeweiligen Dimension auf 16-Byte-Grenze was aber mit ALIGN auf dem 1.Feld berichtigt werden kann.
-
Hallo Fuerchau,
deine Infos sind leider nur "halb" richtig, die DS mit OCCUR wird nicht als einfaches Zeichenfeld erkannt.
Denn die OCCUR-DS wurde von Anfang an als "struct" erkannt, das war nicht das Problem.
-
Hallo Birgitta,
vielen Dank für deine Unterstützung, was wäre die AS400-Welt ohne dich :=)
Es funktioniert auch mit OCCUR und *ENTRY-PLIST !
(aber auch mit DIM !)
Die Lösung liegt in einem kleinen Häkchen während der Einrichtung des WebService durch den Assistenten !
Im Schritt 4/9 werden die Felder des zuvor angegebenen Programms angezeigt, dort wählt man aus welche Felder Input und welche Felder Output sind.
Über dieser Aufstellung der Felder befindet sich eine Checkbox mit der Beschriftung "Detect length fileds" !
Diese Checkbox muss man deaktivieren und dann kommt in der Aufstellung der Felder auch die zusätzliche Spalte "Anzahl", in der ich dann bei dem Feld für die OCCUR-DS auch das zugehörige Feld mit der Anzahl der "verwendeten" DS auswählen kann !
(leider kriege ich es leider nicht hin, hier einen Screenshot einzufügen)
Nochmals vielen Dank für deine Unterstützung !
Similar Threads
-
By Malte in forum NEWSboard Programmierung
Antworten: 18
Letzter Beitrag: 11-11-16, 13:18
-
By Peet in forum NEWSboard Programmierung
Antworten: 3
Letzter Beitrag: 06-09-16, 10:26
-
By Wavum in forum NEWSboard Programmierung
Antworten: 2
Letzter Beitrag: 14-07-16, 11:52
-
By woodstock99 in forum NEWSboard Programmierung
Antworten: 3
Letzter Beitrag: 24-02-15, 21:13
-
By dschroeder in forum NEWSboard Programmierung
Antworten: 5
Letzter Beitrag: 25-06-14, 16:19
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- You may not post attachments
- You may not edit your posts
-
Foren-Regeln
|
Erweiterte Foren Suche
Google Foren Suche
Forum & Artikel Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
|
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
- Cloud, Social Media, Devices
- DMS, Archivierung, Druck
- ERP + Add-ons, Business Software
- Hochverfügbarkeit
- Human Resources, Personal
- IBM Announcements
- IT-Karikaturen
- Leitartikel
- Load`n`go
- Messen, Veranstaltungen
- NEWSolutions Dossiers
- Programmierung
- Security
- Software Development + Change Mgmt.
- Solutions & Provider
- Speicher – Storage
- Strategische Berichte
- Systemmanagement
- Tools, Hot-Tips
Auf dem Laufenden bleiben
|
Bookmarks