[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    Registriert seit
    Jan 2003
    Beiträge
    759
    Nun,

    hier scheint die Fleißaufgabe eher in der Erkennung der AND/OR Kombinationen zu bestehen.

    Eine Eingabe wie: AAAA-BBBB,CCCC,DDDD

    würde so aussehen:

    (FELD=%range("AAAA" "BBBB") *OR FELD *EQ "CCCC"
    *OR FELD *EQ "DDDD")

    u.s.w.

    (ich ziehe *OR *EQ dem %VALUES vor, da einfach nur jedes
    weitere gefundene Feld angefügt werden braucht; CAT/EVAL)

    Gruß,
    Robert

  2. #2
    Registriert seit
    Jul 2004
    Beiträge
    8
    Zitat Zitat von RobertMack
    Nun,

    hier scheint die Fleißaufgabe eher in der Erkennung der AND/OR Kombinationen zu bestehen.

    Eine Eingabe wie: AAAA-BBBB,CCCC,DDDD

    würde so aussehen:

    (FELD=%range("AAAA" "BBBB") *OR FELD *EQ "CCCC"
    *OR FELD *EQ "DDDD")

    u.s.w.

    (ich ziehe *OR *EQ dem %VALUES vor, da einfach nur jedes
    weitere gefundene Feld angefügt werden braucht; CAT/EVAL)

    Gruß,
    Robert
    Hm, das könnte ich doch mit einem EDS über eine Satzlänge von meinethalben 1000
    und ohne feste Feldzuordnung wie vor beschrieben machen, oder ?
    Was mich noch stört ist das setzen von Opcodes wie z.B. %range= oder Hochkomma im RPG-PGM. Kann man das noch anders machen?

    Gruss
    Heyd

  3. #3
    Registriert seit
    Jan 2003
    Beiträge
    759
    Um die Feldnamen im String wirst Du nicht herumkommen, die Satz/Feldlänge muß den maximal möglichen String aufnehmen können.

    Ich übergebe immer nur die absolut benötigte Anzahl an Argumenten, und die möglichst auch noch gut lesbar weil so auch als Listenüberschrift geeignet.

    Bei numerischen Werten entfallen übrigens die Hochkommas, statt *EQ kann auch = eingesetzt werden.

    Gruß,
    Robert

  4. #4
    Registriert seit
    Jul 2004
    Beiträge
    8
    Zitat Zitat von RobertMack
    Um die Feldnamen im String wirst Du nicht herumkommen, die Satz/Feldlänge muß den maximal möglichen String aufnehmen können.

    Ich übergebe immer nur die absolut benötigte Anzahl an Argumenten, und die möglichst auch noch gut lesbar weil so auch als Listenüberschrift geeignet.

    Bei numerischen Werten entfallen übrigens die Hochkommas, statt *EQ kann auch = eingesetzt werden.

    Gruß,
    Robert
    Ok, danke Euch, probiers gleich mal aus, ist aber jede Menge Codierarbeit bei 8 Feldern geht es ja noch, das ganze soll aber bis ins endlose mühelos erweiterbar sein und das in RPG

    Gruß
    PETRA(HEYD)

  5. #5
    Registriert seit
    Feb 2001
    Beiträge
    20.695
    Um das "zusammenbauen" bei dynamischen Befehlen kommt man nun mal nicht herum.
    Sonst wäre es nicht dynamisch sondern statisch:

    eval qryslt = '(' + fldnam1 + ' %range("' + fldval1 + '" "' + fldval2 + '") "

    usw. usw.usw.
    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

  6. #6
    Registriert seit
    Jul 2004
    Beiträge
    8
    Zitat Zitat von Fuerchau
    Um das "zusammenbauen" bei dynamischen Befehlen kommt man nun mal nicht herum.
    Sonst wäre es nicht dynamisch sondern statisch:

    eval qryslt = '(' + fldnam1 + ' %range("' + fldval1 + '" "' + fldval2 + '") "

    usw. usw.usw.
    Das soll wohl sein, habe nur Kollegen, die in COBOL wohl "alles" ohne großen Aufwand schaffen und RPG solls nit können grml
    PETRA(HEYD)

  7. #7
    Registriert seit
    Feb 2001
    Beiträge
    20.695
    Das ist wohl eher umgekehrt der Fall. Vieles ist in RPG erheblich einfacher als in COBOL. Ich kenne beide Sprachen wirklich zur genüge.
    Auch COBOL muss sich solche Befehle zusammenbauen. Dies liegt nicht an der Sprache selber sondern an der Aufgabenstellung !
    Ausserdem: COBOL ist äussert schreibintensiv. In RPG und nun RPGLE kommst du mit 30-50% Schreibarbeit aus. ILE und Prozeduraufrufe wurden in COBOL stark vernachlässigt. Was in RGPLE diesbezüglich absolut einfach geht ist in COBOL nur schwierig bis gar nicht lösbar.

    Sobald man fit in RPG/LE ist schreibt man Programme auch doppelt so schnell und weniger fehlerbehaftet (solang man nicht Freeform nimmt) als in COBOL. Da reicht manchmal schon ein vergessener Punkt für tausende Folgefehler.

    Um obigen "eval" mit COBOL zu vergleichen dann schau dir folgenden COBOL-Befehl an:

    string
    '(' delimited by size
    fldname1 delimited by space
    ' %range("' delimited by size
    fldval1 delimited by space
    '" "' delimited by size
    fldval2 delimited by space
    '")' delimited by size
    into qryslt

    Was ist da wohl einfacher ?
    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

  8. #8
    Registriert seit
    Jul 2004
    Beiträge
    8
    Ich habe jetzt die komplette Datenstruktur gefüllt, um den Befehlssyntax für QRYSLT einfacher gestalten zu können, könnte ich das doch mit einem call auf ein ILE-RPG machen, oder ? ( DS übergeben, aufbereiten und Übergabe an QRYSLT für OPNQRYF )

    Übrigens, es sind im OPNRYF 3 Dateien miteinander verbunden, wenn dann der Select auch funzt, kann ich mir über das Format die entstandene Datei mit SQL anschauen ?
    PETRA(HEYD)

  9. #9
    Registriert seit
    Jul 2004
    Beiträge
    8
    Problem gelöst, keine saubere Lösung, aber auf die schnelle weil ja alles sofort machbar sein muss:

    Interne DS aufgemacht mit IDS, alle Felder vorbesetzt ( Range ) und gebe diese dann in die externe DS aus für QRYSLT

    Das funzt, trotzdem bin ich nicht glücklich damit
    Danke Euch allen für Eure Hilfe
    PETRA(HEYD)

  10. #10
    Registriert seit
    Feb 2001
    Beiträge
    20.695
    Per SQL kann man sich das Format nicht anschauen, aber mit CPYFRMQRYF kannst du sehen, obs funzt:

    http://publib.boulder.ibm.com/iserie...l/cpyfrmqr.htm

    Aber sehr dynamisch und variabel ist deine Lösung nun nicht, da du ja immer alle Parameter füllen must.
    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. Problem mit Java-Methoden Aufruf aus ILE RPG?
    By Stoeberl in forum NEWSboard Programmierung
    Antworten: 8
    Letzter Beitrag: 10-01-07, 10:58
  2. ILE Umwandlung per FNDSTRPDM
    By horni in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 07-12-06, 18:51
  3. DDS in ILE RPG
    By Squall in forum IBM i Hauptforum
    Antworten: 82
    Letzter Beitrag: 19-10-06, 15:37
  4. MI Source aus einem RPG Programm erstellen
    By ExAzubi in forum IBM i Hauptforum
    Antworten: 5
    Letzter Beitrag: 13-07-06, 10:51
  5. Barcodelabel mit RPG Programm erstellen
    By RaMai in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 11-07-05, 12:56

Berechtigungen

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