[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Oct 2008
    Beiträge
    56

    Question Hochkommas in leeren Feldern eines Commands

    Hallo Welt

    Aus einem Menü wird ein CL-Programm aufgerufen, das einen selbstgeschriebenen Befehl folgendermaßen aufruft:

    CRTDOSDOC ??ARCID(&ARCID) ??TMPLID(&TPLID) ??TMPLNAM(&TPLNAM) ??DOSCLS(&DOSCLS) ??ABLAGE(&ABLAGE) ??DOCTYP(&DOCTYP) ??SECCOD(&SECCOD) ??NODID(&NODID)

    Bei allen Variablen, die leer sind, d.h. nur Blanks enthalten, wird am Bildschirm ein in Hochkommas eingeschlossenes Leerzeichen angezeigt, z.B.:

    Ablage . . . . . . . . . . . . . > ' '_____ Zeichenwert

    Ich möchte aber, dass statt der Hochkommas gar nichts angezeigt wird, so wie es bei einem direkten Aufruf des Befehls (also ohne Programm) der Fall ist:

    Ablage . . . . . . . . . . . . . ________ Zeichenwert

    Warum ist das so und was kann man dagegen tun?

    Egal ob ich die Variablen mit ' ' odr X'40' oder so vielen Blanks wie die Variable lang ist oder gar nicht initialisiere, die Hochkommas werden immer angezeigt.

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    Da lässt sich leider nichts gegen tun, da beim Prompt ja die Leerzeichen der Variable übergeben werden.

    Alternative kann man im CMD per "PARM ... DFT(*NONE) ... SPCVAL((*NONE ' '))" den Leerwert ersetzen.
    Dann wird halt *NONE angezeigt.
    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
    cbe is offline [professional_User]
    Registriert seit
    May 2005
    Beiträge
    392
    Hallo,

    und wenn Du &ABLAGE mit *N belegst?

    CRTDOSDOC ??ARCID(&ARCID) ??TMPLID(&TPLID) ??TMPLNAM(&TPLNAM) ??DOSCLS(&DOSCLS) ??ABLAGE(*N) ??DOCTYP(&DOCTYP) ??SECCOD(&SECCOD) ??NODID(&NODID)

    *N heißt so viel wie 'Parameter nicht angegeben'

    Gruß,
    Christian

  4. #4
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    Das Problem ist, dass *N vom CMD-Interpreter ausgewertet wird.
    Packst du *N in eine Variable, wird '*N' angezeigt.

    Man kann QCMDCHK verwenden.
    QCMDCHK zeigt wie QCMDEXC den Befehl (falls gewünscht) an, liefert aber anschließend den geänderten Befehl zurück, der dann mit QCMDEXC ausgeführt werden kann.

    Im QCMDCHK lässt man dann die nicht benötigten Parameter erst mal weg.

    Nachteil:
    Du musst den Befehl im CLP per *CAT erst zusammenbauen und leere Felder dann eben weglassen.
    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
    cbe is offline [professional_User]
    Registriert seit
    May 2005
    Beiträge
    392
    Vielleicht denke ich ja zu einfach, aber sowas in der Art habe ich schon verwendet:

    Code:
    CL T5:
    PGM        PARM(&NAME)
    DCL        VAR(&NAME) TYPE(*CHAR) LEN(10)
    ?T5K ??NAME(&NAME)
    ENDPGM
    Code:
    CMD T5K:
    CMD        PROMPT('Telefonsuche')
    PARM       KWD(FIRMA) TYPE(*CHAR) LEN(2) +
                 CHOICE('Firma') PROMPT('Firma')
    PARM       KWD(NAME) TYPE(*CHAR) LEN(30) PROMPT('Name +  
                 oder TelNr')
    call t5a ('x') --> x
    call t5a (' ') --> ' '
    call t5a ('x y') --> 'x y'
    call t5a ('*N') --> ohne alles

  6. #6
    Registriert seit
    Oct 2008
    Beiträge
    56

    Thumbs up Danke

    Mit '*N' funktioniert das wunderbar, dass nichts angezeigt wird, genau so wie ich es haben will.

    Vielen Dank an alle Beteiligten!

Similar Threads

  1. Info: BLDxxxxxx Commands in V7R1
    By RobertMack in forum NEWSboard Programmierung
    Antworten: 5
    Letzter Beitrag: 07-03-13, 08:02
  2. SQL: Aus mehreren Feldern ein Datum erkennen
    By I0N in forum NEWSboard Programmierung
    Antworten: 2
    Letzter Beitrag: 21-11-06, 12:44
  3. PCL commands für BIZHUB 350
    By RaMai in forum NEWSboard Drucker
    Antworten: 1
    Letzter Beitrag: 08-08-06, 10:13
  4. sql select mit zusätzl. Feldern
    By rr2001 in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 07-07-06, 09:56
  5. SQL UDF Prob mit leeren Feldern
    By HACHIMAN in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 22-05-06, 09:48

Tags for this Thread

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • You may not post attachments
  • You may not edit your posts
  •