-
CMD mit ELEM 15x
Hallo zusammen,
ich habe in einer CMD Definition folgende Definitionen:
PARM KWD(YPARM) TYPE(LISXVAL) MAX(15) +
CHOICE(*NONE) PROMPT('X-Parms Values')
LISXVAL: ELEM TYPE(*CHAR) LEN(30) DFT(*NONE) +
SPCVAL((*NONE)) MIN(0) CHOICE(TEXT) +
PROMPT('Segement Item')
ELEM TYPE(*CHAR) LEN(25) DFT(*NONE) MIN(0) +
CHOICE(WERT) PROMPT('Segement Value Item 1')
ELEM TYPE(*CHAR) LEN(25) DFT(*NONE) MIN(0) +
CHOICE(WERT) PROMPT('Segement Value Item 2')
ELEM TYPE(*CHAR) LEN(25) DFT(*NONE) MIN(0) +
CHOICE(WERT) PROMPT('Segement Value Item 3')
ELEM TYPE(*CHAR) LEN(25) DFT(*NONE) MIN(0) +
CHOICE(WERT) PROMPT('Segement Value Item 4')
Der Befehl sieht so aus:
X-Parms Values:
Segement Item . . . . . . . . > 'Segement Item . . .'
Segement Value Item 1 . . . . > 'Segement Value Item 1'
Segement Value Item 2 . . . . > 'Segement Value Item 2'
Segement Value Item 3 . . . . > 'Segement Value Item 3'
Segement Value Item 4 . . . . > 'Segement Value Item 4'
+ für weitere Werte
Der Benutzer kann also 15 x die 5 Felder füllen.
Im Debugger sieht man die Werte mit binärfeldern.
....5...10...15...20...25...30...35...40...45...50 ...55...60
1 ' Segement Item . . . Segement Value Item 1
61 ' Segement Value Item 2 Segement Value Item 3 Segement
121 'Value Item 4 *YES ö Ä legende text4
181 ' legende text3 legende text2
241 ' legende text1 'legende text4' Item 4
301 '' *NONE *NONE
361 ' *NONE *NONE *NONE
421 ' *NONE *NONE
481 ' *NONE *NONE
541 ' *NONE *NONE
601 ' *NONE *NONE *NONE
Kennt jemand den Aufbau wie sich die Felder zusammensetzten
und wie man diese verarbeiten kann?
Die Binärfelder verschieben sich.
Je nach Anzahl der Einträge.
Gruss
Michael
-
Da gibts doch das gute alte CL-Programmier-Handbuch (CL-Programming), auch als Download-PDF.
Dort ist der Aufbau von Parameter-Listen, Listen in Listen, mit und ohne Attribut und/oder Länge genau erklärt.
Kapitel 9, ab ca. Seite 300.
-
Hier in dieser Beschreibung zu den Befehlen müsste das unter PARM und ELEM beschrieben sein.
-
@Pikachu
Dort ist leider nur die Syntax beschrieben.
Der tatsächliche interne Aufbau bei der Übergabe an das Programm steht leider nur im o.a. PDF-Handbuch.
-
Die Übergabe der Parameter ist beim Schlüsselwort PARM unter "MAX Parameter" und beim Schlüsselwort ELEM gleich zu Beginn beschrieben. Da ist jeweils die Rede von einem 2-Byte-Binärwert, der die Anzahl der Elemente anzeigt.
-
Hallo zusammen,
danke für die Informationen.
Am Anfang ist ein zweiByte
Feld das die Anzahl der Elemente angibt. Soweit okay.
Mein Problem ist nicht die Anzahl, sondern wie man so eine Liste tatsächlich verarbeiten kann. Je nach Anzahl der
eingegeben Elemente verschiebt sich die Liste.
Und ich bin noch nicht hinter das Geheimnis der weiteren
Binärfelder gekommen.
gruss
Michael
@Baldur: Hättest Du vielleicht einen Link auf das PDF. Ich suche immer im
Information Center.
-
 Zitat von mk
...
@Baldur: Hättest Du vielleicht einen Link auf das PDF. Ich suche immer im
Information Center.
Jo, man sucht sich nen Wolf.
http://publib.boulder.ibm.com/html/a...s/c4157214.pdf
kuempi
-
Da sind ja noch "mysteriöse" 2-Byte-Binärwerte mit im Spiel. Und diese sind anscheinend wohl wirklich nur im CL-Handbuch (PDF-Dokument) beschrieben.
-
Das ist korrekt.
Was die Handbücher angeht, so suche ich mir alle über das Information-Center:
http://publib.boulder.ibm.com/infoce...e/launcher.htm
Und was da nicht ist findet man ggf. bei den Redbooks:
IBM Redbooks
Zuimindest all die Infos, die nix kosten ausser Mühe
-
Nachtrag:
Im CLP kann man natürlich mit "%BIN(&VAR &POS 2)" den Binärwert direkt abfragen oder in eine Variable laden.
Mittels %SUBST(&VAR &POS &LEN) kann ich dann die einzelnen Werte abgreifen.
Solange man die Listen relativ dynamisch bearbeitet definiere ich die übergebene CL-Variable mit *CHAR(9999).
Besser ist es eigentlich in ILERPG, da kann ich die Listen ggf. mit:
D ListParm DS
D NumParm 5I 0
D Parms 10 DIM(300)
schön definieren.
Ansonsten wirds etwas komplizierter, aber Pointer-Arithmetik geht da ganz gut.
-
Dieses CL-Handbuch gibt's anscheinend auch noch zur direkten Ansicht unter WebSphere Development Studio Client für iSeries. Da ist dann auch der Aufbau dieser Listen beschrieben.
-
Hallo zusammen,
vielen Dank für die Links .
Bei den Mixed Lists wird es interessant. Und da hat
IBM natürlich mit den Beispielen gespart.
Gruss an alle
Michael
Similar Threads
-
By V_P in forum NEWSboard Programmierung
Antworten: 7
Letzter Beitrag: 14-11-06, 10:42
-
By ILEMax in forum IBM i Hauptforum
Antworten: 3
Letzter Beitrag: 26-07-06, 17:07
-
By muadeep in forum NEWSboard Programmierung
Antworten: 1
Letzter Beitrag: 13-04-05, 09:47
-
By mk in forum IBM i Hauptforum
Antworten: 2
Letzter Beitrag: 25-09-04, 15:48
-
By K_Tippi in forum IBM i Hauptforum
Antworten: 3
Letzter Beitrag: 27-03-01, 09:17
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