-
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, 14:18
-
By Peet in forum NEWSboard Programmierung
Antworten: 3
Letzter Beitrag: 06-09-16, 11:26
-
By Wavum in forum NEWSboard Programmierung
Antworten: 2
Letzter Beitrag: 14-07-16, 12:52
-
By woodstock99 in forum NEWSboard Programmierung
Antworten: 3
Letzter Beitrag: 24-02-15, 22:13
-
By dschroeder in forum NEWSboard Programmierung
Antworten: 5
Letzter Beitrag: 25-06-14, 17: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