[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Nov 2019
    Beiträge
    2

    Problem bei CHGVAR

    Hallo Zusammen
    kann mir jemand Unterstützung geben
    hab eine Variable so eine deklariert

    DCL VAR(&NULL) TYPE(*CHAR) LEN(1) VALUE(X'00')

    und möchte dann ein

    CHGVAR VAR(&CMDSHR) VALUE('PS -EF | GREP ' *CAT +
    'PHP-CGI' *CAT ' | AWK "{PRINT $2}" | +
    XARGS KILL -9' || &NULL)

    aber der Editor reklamiert immer mit folgende Fehlermeldung

    Zeichenfolge '|| &NULL) ' enthält ein ungültiges Zeichen.

    Danke für die Unterstützung
    Grüsse
    Vito

  2. #2
    Registriert seit
    Jan 2012
    Beiträge
    1.102
    Müsste es nicht so heißen?

    ... XARGS KILL -9' *CAT &NULL)

    Ich glaube, das || ist im CL kein gültiger Concatenator. Du musst *CAT verwenden.

    Dieter

  3. #3
    Registriert seit
    Jun 2001
    Beiträge
    1.973
    die 12 Striche gibt es nur in der SQL Umgebung aber auch dort wäre concat die bessere Wahl.
    hier mußt du *tcat * cat oder *bcat verwenden.

    außerdem muß hinter den strich der 2. zeile ein '
    und vor das xargs ebenfals ein '
    Das Notwendige steht über dem technisch machbaren.
    (klingt komisch, funktioniert aber!)

  4. #4
    Registriert seit
    Dec 2009
    Beiträge
    314
    So geht's bei mir

    CHGVAR VAR(&CMDSHR) VALUE('PS -EF | GREP ' *CAT +
    'PHP-CGI' *CAT ' | AWK "{PRINT $2}" | +
    XARGS KILL -9' *CAT &NULL)
    ohne meckern.
    Andreas
    Ein AS/400 Dinosaurier since 1989

  5. #5
    Registriert seit
    Nov 2019
    Beiträge
    2
    Danke, funktioniert bei mir auch
    Gruss

  6. #6
    Registriert seit
    Jan 2007
    Beiträge
    189
    Das || kann in CL verwendet werden.

    Aus dem Handbuch "Software Development Guidelines", das ich für unsere Group-IT entwickelt habe:

    The use of ¬=, ||, |>, and |< is not accepted. From the IBM manual C4157215.pdf:

    Note: Using the ampersand symbol or the vertical bar can cause problems because the symbols are not at the same code point for all code pages. To avoid this, use *AND and *OR instead of the symbols.
    mfg

    Kit
    www.ecofitonline.com
    DeskfIT - ChangefIT - XrefIT

  7. #7
    Registriert seit
    Feb 2001
    Beiträge
    20.207
    Wie du schon sagst. Die Zeichen sind Codepage-Abhängig und werden nur zur Compilezeit entsprechend umgewandelt (SRC-CCSID->Job-CCSID).
    Zur Laufzeit funktioniert das dann nicht mehr, wenn eine andere CCSID verwendet wird, da Programmcode keiner Umwandlung mehr unterliegt.
    Das kennt man ja eigentlich auch schon aus RPG/LE für Zeichen wie #,&,...
    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

Similar Threads

  1. CL-Problem
    By iginla in forum IBM i Hauptforum
    Antworten: 8
    Letzter Beitrag: 31-03-03, 10:59
  2. QRY - Problem
    By Günter Majewski in forum IBM i Hauptforum
    Antworten: 0
    Letzter Beitrag: 07-01-03, 16:10
  3. SQL - Problem
    By Tommy in forum IBM i Hauptforum
    Antworten: 7
    Letzter Beitrag: 16-12-02, 17:43
  4. RPG Problem
    By Mädele in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 22-11-02, 18:06
  5. SQL-Problem
    By chrisi in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 27-02-02, 09:46

Tags for this Thread

Berechtigungen

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