[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    Registriert seit
    Aug 2001
    Beiträge
    2.928
    gelöscht, da doppelt gepostet

    Birgitta
    Birgitta Hauser

    Anwendungsmodernisierung, Beratung, Schulungen, Programmierung im Bereich RPG, SQL und Datenbank
    IBM Champion seit 2020 - 5. Jahr in Folge
    Birgitta Hauser - Modernization - Education - Consulting on IBM i

  2. #2
    Registriert seit
    Aug 2006
    Beiträge
    2.114
    Danke Dir für den Hinweis, werde ich morgen ausprobieren, lasse gerade ein rclstg auf der Kiste laufen.
    Ich befürchte das ich morgen wieder in die Firma fahren muß da er nach dem rclstg ja wohl kein Subsystem startet um aus der Frene zuzugreifen.

    GG

  3. #3
    Registriert seit
    Aug 2006
    Beiträge
    2.114
    Hallo,
    manchmal ist es zum Mäusemelken... BTW, war heute in der Firma um die AS/400 nach dem rclstg neu zu starten und habe festgestellt das mein Weihnachtsmann von einer Maus angeknabbert wurde...... Danke.

    Aber zum Thema.

    Folgende Deklaration habe ich:
    EXEC SQL BEGIN DECLARE SECTION END-EXEC.
    01 SQL-WERT-9 PIC 9(04).
    01 SQL-WERT-X PIC X(04).
    EXEC SQL END DECLARE SECTION END-EXEC.

    Und folgenden Code will ich benutzen:

    ST-04.
    MOVE WERT-9 TO SQL-WERT-9.
    EXEC SQL SET :SQL-WERT-X = CAST(HEX(:SQL-WERT-9) AS CHAR(04))
    END-EXEC.
    GO TO ST-88.

    Und die Fehlermeldung lautet:
    49 EXEC SQL SET :SQL-WERT-X = CAST(HEX(:SQL-WERT-9)
    5722ST1 V5R4M0 060210 SQL-COBOL-Programm erstellen DOSBANK
    DIAGNOSENACHRICHTEN
    MSG ID WTK SATZ TEXT
    SQL0312 30 49 Position 49 Variable SQL-WERT-9 nicht definiert oder
    nicht verwendbar.

    Für Hinweise dankbar.

    GG

  4. #4
    Registriert seit
    Aug 2006
    Beiträge
    2.114
    Tja, die allwissende Müllhalde hat ab und zu auch antworten parat.

    Es muss wie folgt definiert werden:
    01 SQL-WERT-9 PIC S9(07) COMP-3.

    Dann klappt es auch.

    GG

  5. #5
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    Hier sind verschiedene Sachen vermischt.
    PIC 9(04) kann nicht verwendet werden, da SQL aus irgendwelchen Gründen kein Unsigned mag.
    PIC S9(04) währe gegangen.
    Allerding liefert die Funktion HEX eine Zeichenkette doppelter Länge!
    Ein CAST(... char(4)) führt zum Abschneiden, was ohne NULL-Anzeiger zu einem negativen SQL-Code führt. Mit Nullanzeiger entspricht dies eher einem LEFT(HEX(...), 4).
    Ob du das gewollt hast?

    Und das Ergebnis von HEX(: SQL-WERT-9) ist nun auch 8 Bytes lang.
    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
    Aug 2006
    Beiträge
    2.114
    Nein, gewollt habe ich es nicht, wie aber immer an Weihnachten bekommt man auch Dinge die man nicht will ;-)

    Habe nun substr benutzt und schlußendlich nach dem Motto: Du wiilst es, Du kriegst es doch meinen Wert bekommen...

    GG

Similar Threads

  1. embedded sql substring
    By tarkusch in forum NEWSboard Programmierung
    Antworten: 7
    Letzter Beitrag: 29-06-14, 15:12
  2. embedded sql update
    By tarkusch in forum NEWSboard Programmierung
    Antworten: 5
    Letzter Beitrag: 02-06-14, 09:45
  3. EMBEDDED SQL in RPG
    By Ludger Muhmann in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 30-07-02, 09:49
  4. Datenabbildungsfehler mit embedded SQL
    By Joshua in forum IBM i Hauptforum
    Antworten: 5
    Letzter Beitrag: 11-04-02, 09:42
  5. Embedded SQL
    By Stefan_R in forum IBM i Hauptforum
    Antworten: 0
    Letzter Beitrag: 12-10-01, 09:47

Berechtigungen

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