[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Jul 2001
    Beiträge
    45

    Post Wie soll ich machen ?

    Hallo,

    ich habe eine Datei xyz und jemand soll im CL über Parameter mein SQL steuern können.

    1. Alle Rechnungen können <,>,= X Euro sein

    und/oder

    2. Anzahl der Rechnungen <,>,= X.

    Das ist eigentlich alles.

    Ich muss dann halt nur diese Selektionen über eine Datei laufen lassen ... aber wie soll ichs machen ???

    Ich habe bis jetzt alle Parameter
    1. <,>,=
    2. Wert in Euro
    3. <,>,=
    4. Anzahl Rechnungen
    5. und/oder

    in einen Datenbereich gelegt wo ich es jederzeit abrufen könnte.

    Ich nur die möglichkeit per RPG/SQL(QMQRY) oder QRY normal.

    SQL-RPG funzt bei uns net...

    Ich danke Euch.
    HoScHiE
    Bye
    HoScHiE

  2. #2
    Registriert seit
    Jan 2001
    Beiträge
    62

    Post

    Bei dieser Problematik würde ich in einem CL die Parameter aus dem Datenbereich auslesen,
    mit den Variablen einen OPNQRYF-Befehl erstellen und anschließend ein schlichtes RPG-Programm laufen lassen.

    m.f.G.
    Otto Zehetner

  3. #3
    Registriert seit
    Jul 2001
    Beiträge
    45

    Post

    Ahso... hmmm.

    Hat da jemand noch ne andere Idee ?
    wie man das evtl. per SQL lösen kann ?

    Ich dachte mir vielleicht einen SQL String per RPG/CL zusammen bauen , dann per CL das SQL(QMQRY) erstellen und aufrufen ...

    aber dafür muss ich eine TEXT Datei im RPG erstellen und das ist wieder umständlich.
    Bye
    HoScHiE

  4. #4
    Registriert seit
    Feb 2001
    Beiträge
    20.241

    Post

    Erstellen Sie direkt einen QM-Query mit dem Querymanager (STRQM).
    In dem Select können Sie Parameterwerte ähnlich CL angeben, also z.B.:

    SELECT F1, F2, F3, ...
    FROM FILEX
    WHERE F1 &VERG1 &WERT1
    and F2 &VERG2 &WERT2
    :
    :

    Mittels STRQMQRY können Sie dann die Variablen aus dem CL füllen:

    DCL &VERG1 *CHAR 2
    DCL &WERT1 *CHAR XX
    DCL &VERG2 *CHAR 2
    DCL &WERT2 *CHAR XY

    CHGVAR &VERG1 '<' (oder aus Parametern)
    CHGVAR &WERT1 nnn

    STRQMQRY .... SETVAR((VERG1 &VERG1) (WERT1 &WERT2) (VERG2 &VERG2) (WERT2 &WERT2) ...)
    OUTFILE(XXX) ...

    Wichtig ist folgendes: Die Werte müssen als Characterfelder übergeben werden (max. 256 Zeichen).
    Da SQL für Vergleiche von Zeichenfolgen diese in Hochkamma erwartet, müssen Sie ggf. die Hochkommas ergänzen:

    DCL &QWERT *CHAR 10 /* QUELL-Wert */
    DCL &SWERT *CHAR 12 /* SQL-Wert */

    CVHGVAR &SWERT ('''' *CAT &QWERT *CAT '''')

    Die Variable &SWERT kann dann an QMQRY übergeben werden.

    Viel Spaß beim ausprobieren.

    [Dieser Beitrag wurde von Fuerchau am 13. Oktober 2001 editiert.]
    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
    Jul 2001
    Beiträge
    45

    Post

    HAllo,

    erstmal vielen Dank Euch allen für die Hilfe.

    bzgl. F-Bestimmung, SQL und diesem Problem hier.

    Also ich habe jetzt die QTXTSRC als externe Dateibeschreibung genommen und mir per RPG einen SQL String selbst zusammen gestellt, so wie ich Ihn brauche.
    Danach erstelle ich nur das QMQRY neu und funktioniert.

    Die Idee mit dem QMQRY &VGL &Wert ist auch gut, werde ich mal ausprobieren.

    Vielen Dank,
    HoScHiE

    Achso wer die Source haben möchte ... einfach melden.
    Bye
    HoScHiE

  6. #6
    Registriert seit
    Mar 2002
    Beiträge
    1

    Post

    <BLOCKQUOTE><font size="1" face="Verdana, Arial">Zitat:</font><HR>Original erstellt von HoScHiE:
    HAllo,

    erstmal vielen Dank Euch allen für die Hilfe.

    bzgl. F-Bestimmung, SQL und diesem Problem hier.

    Also ich habe jetzt die QTXTSRC als externe Dateibeschreibung genommen und mir per RPG einen SQL String selbst zusammen gestellt, so wie ich Ihn brauche.
    Danach erstelle ich nur das QMQRY neu und funktioniert.

    Die Idee mit dem QMQRY &VGL &Wert ist auch gut, werde ich mal ausprobieren.

    Vielen Dank,
    HoScHiE

    Achso wer die Source haben möchte ... einfach melden.
    [/quote]


    Hallo Hoschie

    Deine Source würde mich mal interessieren. Habe in etwa das gleiche Problem wie du.

    Vielen Dank
    Gruss Peter

Berechtigungen

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