[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    Registriert seit
    Jun 2001
    Beiträge
    388

    QMQRY aus CL mit Variablen

    Hallo zusammen , ich stehe ein wenig auf dem Schlauch und komme nicht weiter.

    Ich habe dieses QMQRY erstellt und daraus den Typ SQL erstellt :

    SELECT_FPF

    0001.00 INSERT INTO
    0002.00 QTEMP/SYSTFTPF
    0003.00 SELECT
    0004.00 *
    0005.00 FROM
    0006.00 &LIBR/&TABLE
    0007.00 WHERE FSERVE = &SERVERO
    0008.00 AND FDOMAI = &DOMAINO

    Insgesamt möchte ich das mit 4 Varaiblen ausführen.

    Hier nun das CL :

    PGM PARM(&OPT &SERVER &DOMAIN)


    DCL VAR(&OPT) TYPE(*CHAR) LEN(1)
    DCL VAR(&LIB) TYPE(*CHAR) LEN(10) +
    VALUE('SYSAUS_V11')
    DCL VAR(&FILE) TYPE(*CHAR) LEN(10) +
    VALUE('SYSTFPF')
    DCL VAR(&SERVER) TYPE(*CHAR) LEN(20)
    DCL VAR(&DOMAIN) TYPE(*CHAR) LEN(20)
    DCL VAR(&SERVERO) TYPE(*CHAR) LEN(23)
    DCL VAR(&DOMAINO) TYPE(*CHAR) LEN(23)

    CHGVAR VAR(&SERVERO) VALUE('''' *CAT &SERVER *TCAT '''')
    CHGVAR VAR(&DOMAINO) VALUE('''' *CAT &DOMAIN *TCAT '''')
    STRQMQRY QMQRY(SYSAUS_V11/SELECT_FPF) SETVAR((LIBR ' *CAT &LIB *CAT ') (TABLE ' *CAT &FILE *CAT ') (FSERVE &SERVERO) (FDOMAI &DOMAINO))

    Obwoh ich die Variablen in den entsprechenden Hochkommata einbette, erfolgt die Abfrage nach Werten für die Variablen.

    Was ist falsch, hier noch das Joblog :

    CALL PGM(SYSTSCL_QM) PARM('1' 'SYSTEM' 'DOMAIN')
    Einen Wert für Variable SERVERO eingeben und die Eingabetaste drücken.
    'SYSTEM'
    Einen Wert für Variable DOMAINO eingeben und die Eingabetaste drücken.
    'DOMAIN'
    Token * ungültig. Gültige Token: ( NEW FINAL TABLE UNNEST LATERAL
    <IDENTIFIER>.
    Befehl RUN für Objekt QUERY mit SQLCODE -104 fehlgeschlagen.
    Befehl RUN QUERY aufgrund eines Fehlers beendet.
    Befehl STRQMQRY fehlgeschlagen.

    Im Dump sehen alle Feldinhalte richtig aus :

    &DOMAIN *CHAR 20 'DOMAIN '
    &DOMAINO *CHAR 23 ''DOMAIN' '
    &OPT *CHAR 1 '1'
    &SERVER *CHAR 20 'SYSTEM '
    &SERVERO *CHAR 23 ''SYSTEM' '

    Wir haben V7R1 am laufen.

    MFG

    Andreas
    Andreas Herzfeldt

  2. #2
    Registriert seit
    Jun 2001
    Beiträge
    2.044
    Wenn deine variable &SERVERO heist, mußt du diese auch im Setvar weggeben.

    STRQMQRY QMQRY(SYSAUS_V11/SELECT_FPF) SETVAR((LIBR ' *CAT &LIB *CAT ') (TABLE ' *CAT &FILE *CAT ') (FSERVE &SERVERO) (FDOMAI &DOMAINO))

    nicht FSERV sondern SERVERO &SERVERO

    Robi
    Das Notwendige steht über dem technisch machbaren.
    (klingt komisch, funktioniert aber!)

  3. #3
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    Für LIBR und TABLE sieht mir das auch etwas seltsam aus, da hier die Inhalte nicht in Hochkommata sein dürfen.
    Außerdem ist *CAT Bestandteil der Konstante.

    Du bekommst da allerdings Probleme mit der SQL-Syntax, da bei LIB/TABLE keine Leerzeichen nach der Lib vorkommen dürfen.

    Probier den QMQRY erst mal von der Kommandozeile aus.
    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

  4. #4
    Registriert seit
    Jun 2001
    Beiträge
    388

    QM

    Hallo Robi, der Tip war Super ! Das "prompten" ist jetzt weg, das CL bricht jetzt mit SQL 104 und ungültiger Token * ab.

    Werde ich am Montag prüfen.

    Vielen Dank !

    MFG

    Andreas
    Andreas Herzfeldt

  5. #5
    Registriert seit
    Jun 2001
    Beiträge
    2.044
    Na das ist das, was Baldur geschrieben hat ...
    Das Notwendige steht über dem technisch machbaren.
    (klingt komisch, funktioniert aber!)

  6. #6
    Registriert seit
    Jun 2001
    Beiträge
    388
    Jetzt klappt es, die beiden " ' " jeweils für Bibliothek und Datei waren die Ursache.

    Danke Euch beiden und schönes Wochenende,

    Andreas
    Andreas Herzfeldt

Similar Threads

  1. Dynamisches SQL in einem CL erstellen
    By Sony in forum IBM i Hauptforum
    Antworten: 27
    Letzter Beitrag: 20-07-09, 21:48
  2. Durch einen Klassenaufruf CL Variablen füllen
    By Henrik Motzkus in forum NEWSboard Java
    Antworten: 9
    Letzter Beitrag: 08-06-07, 12:45
  3. Übergabeparameter im CL Script
    By bo1 in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 23-06-06, 15:00
  4. QMQRY in CL Programm
    By Hubert in forum IBM i Hauptforum
    Antworten: 12
    Letzter Beitrag: 11-05-05, 13:25
  5. CL Variablen konvertieren
    By danielfeurstein in forum IBM i Hauptforum
    Antworten: 4
    Letzter Beitrag: 22-07-02, 15:19

Berechtigungen

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