[NEWSboard IBMi Forum]
Seite 1 von 2 1 2 Letzte
  1. #1
    Registriert seit
    Jan 2001
    Beiträge
    850

    Question 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

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    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.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  3. #3
    Registriert seit
    Nov 2003
    Beiträge
    2.403
    Hier in dieser Beschreibung zu den Befehlen müsste das unter PARM und ELEM beschrieben sein.

  4. #4
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    @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.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  5. #5
    Registriert seit
    Nov 2003
    Beiträge
    2.403
    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.

  6. #6
    Registriert seit
    Jan 2001
    Beiträge
    850
    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.

  7. #7
    Registriert seit
    Aug 2004
    Beiträge
    923
    Zitat Zitat von mk Beitrag anzeigen
    ...
    @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

  8. #8
    Registriert seit
    Nov 2003
    Beiträge
    2.403
    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.

  9. #9
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    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
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  10. #10
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    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.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  11. #11
    Registriert seit
    Nov 2003
    Beiträge
    2.403
    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.

  12. #12
    Registriert seit
    Jan 2001
    Beiträge
    850
    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

  1. CMD / CL / RTNVAL(*YES)
    By V_P in forum NEWSboard Programmierung
    Antworten: 7
    Letzter Beitrag: 14-11-06, 10:42
  2. CMD pgmlib
    By ILEMax in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 26-07-06, 17:07
  3. eigener CMD
    By muadeep in forum NEWSboard Programmierung
    Antworten: 1
    Letzter Beitrag: 13-04-05, 09:47
  4. CMD Parameter im CL Programm
    By mk in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 25-09-04, 15:48
  5. Remote CMD auf NT Rechner Interaktiv ausführen
    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
  •