[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    Registriert seit
    Nov 2005
    Beiträge
    4
    Danke für die Antworten,
    ich habe mich jetzt 5 Stunden gespielt im RPG als auch im SQL, ich brings nicht hin.

    Werde es daher wieder klassisch programmieren.

    Trotzdem vielen Dank.

    C MOVEL(P) '001;002;003;'M1OUNR 3100
    C MOVEL(P) '001;002;003;'M1ZONE 3100

    habe es auch probiert mit

    C MOVEL(P) '1;2;3;' M1OUNR 3100
    C MOVEL(P) '1;2;3;' M1ZONE 3100

    0404.00 C/EXEC SQL
    0405.00 C+ DECLARE SQLDaten2 CURSOR FOR
    0406.00 C+ SELECT DISTINCT OFMDNR, OFHANR, OFOFNR, OFLEIA, OFDTBI, OFSAAK
    0407.00 C+ FROM OFAL0302
    0408.00 C+ WHERE OFMDNR=:OSMDNR and
    0409.00 C+ OFHANR=:OSHANR and
    0410.00 C+ OFOFNR=:OSOFNR and
    0411.00 C+ POSSTR(CHAR(OFOUNR) CONCAT ';', : M1OUNR) > 0 and
    0412.00 C+ POSSTR(CHAR(OFZONE) CONCAT ';', : M1ZONE) > 0 and
    0413.00 C+ OFDTBI=:M0DTBI and
    0414.00 C+ OFSAAK=:M0SAAK
    0415.00 C+ GROUP BY OFMDNR, OFHANR, OFOFNR, OFLEIA, OFDTBI, OFSAAK
    0416.00 C+ ORDER BY OFMDNR, OFHANR, OFOFNR, OFLEIA, OFDTBI, OFSAAK
    0417.00 C/END-EXEC

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.755
    Entschuldigung, war mein Fehler!
    Die Argumente für POSSTR waren vertauscht:

    posstr(ZuDurchsuchendeZeichenkette, ZuSuchendeZeichenkette)

    Also

    POSSTR(: M1OUNR, CHAR(OFOUNR) CONCAT ';') > 0

    Wichtig ist, dass CHAR ohne Vornullen aufbereitet, daher in der Suchliste auch ohne Vornullen, ansonsten ist DIGITS(MyNum) zu verwenden.

    Das ";" ist deshalb nötig, da eine einzelne Ziffer ja auch in einer längeren Zahl vorkommen kann und nur so Eindeutigkeit gewährleistet ist.
    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 2005
    Beiträge
    4
    ohhhhhhhhhhh


    habs vertauscht und siehe da ...

    es funktioniert .. herzlichen Dank

    C/EXEC SQL
    C+ DECLARE SQLDaten2 CURSOR FOR
    C+ SELECT DISTINCT OFMDNR, OFHANR, OFOFNR, OFLEIA
    C+ FROM OFAD03
    C+ WHERE OFMDNR=:OSMDNR and
    C+ OFHANR=:OSHANR and
    C+ OFOFNR=:OSOFNR and
    C+ POSSTR(:M1OUNR, CHAR(DIGITS(OFOUNR)) CONCAT ';') > 0 and
    C+ POSSTR(:M1ZONE, CHAR(DIGITS(OFZONE)) CONCAT ';') > 0 and
    C+ OFDTBI=0 and
    C+ OFSAAK='J'
    C+ GROUP BY OFMDNR, OFHANR, OFOFNR, OFLEIA
    C+ ORDER BY OFMDNR, OFHANR, OFOFNR, OFLEIA


    Vielen vielen Dank

Similar Threads

  1. CREATE FUNCTION mit select im Bauch ?
    By cheffe1008 in forum NEWSboard Programmierung
    Antworten: 4
    Letzter Beitrag: 21-09-06, 17:05
  2. select auf sql-table
    By heini in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 04-08-06, 14:51
  3. sql select mit zusätzl. Feldern
    By rr2001 in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 07-07-06, 10:56
  4. Cobol-Programm mit Embedded SQL (SELECT CASE)
    By klausgkv in forum NEWSboard Programmierung
    Antworten: 8
    Letzter Beitrag: 08-06-06, 14:47
  5. select 10 größte Werte je Ordnungsbegriff
    By holly in forum NEWSboard Programmierung
    Antworten: 6
    Letzter Beitrag: 16-05-06, 13:45

Berechtigungen

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