[NEWSboard IBMi Forum]
Seite 2 von 2 Erste 1 2
  1. #13
    Registriert seit
    Dec 2009
    Beiträge
    314
    Muss ich Dir wieder einmal vollkommen Recht geben. Bei uns scheitert es am nicht ausgeben wollenden Geld und aber vor allem an der Manpower(1,5 Pgmer). Was passiert wenn man Fremde ans Werk lässt, die keinen blassen Schimmer von der Anwendung haben und kaum Ahnung von AS/400 hat die Firma in den Jahren 2007 und 2008 bei der Umstellung von DKS auf SAP gesehen. Keinen Bedarf das nochmal zu erleben. Und zu diesem Zeipunkt waren wir noch 7 interne Programmierer.
    Andreas
    Ein AS/400 Dinosaurier since 1989

  2. #14
    Registriert seit
    Jul 2005
    Beiträge
    1.053
    DKS - da dürften inzwischen wohl die pgmer aussterben die das noch aktuell halten, bzw in der Lage sind notwendige Neuerungen Einzupflegen.


    Gruß Lehrling

  3. #15
    Registriert seit
    Aug 2006
    Beiträge
    2.077
    Hallo,
    an Hand Deiner Anleitung wollte ich die Konvertierung von Dezimal nach Hex in SQL erledigen.
    Leider läuft das Teil auf Fehler und ich weis nicht warum

    5722ST1 V5R4M0 060210 SQL-COBOL-Programm erstellen DOSBANK 25.12.14 12:10:54 Seite 2
    Satz *...+... 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 ...+... 7 ...+... 8 FLGNR. Letzte Änderung
    55 EXEC SQL SET : SQL-WERT-X = CAST(HEX(WERT9) AS CHAR(4))
    DIAGNOSENACHRICHTEN
    SQL0104 30 55 Position 49 Token WERT9 ungültig. Gültige Token: :.

    Für Hinweise dankbar.

    GG

  4. #16
    Registriert seit
    Aug 2001
    Beiträge
    2.873
    WERT9 ist vermutlich eine Host-Variable (innerhalb des Souce Codes definiert) und muss deshalb mit einem führenden Doppelpunkt angegeben werden.

    Birgitta
    Birgitta Hauser

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

  5. #17
    Registriert seit
    Aug 2001
    Beiträge
    2.873
    gelöscht, da doppelt gepostet

    Birgitta
    Birgitta Hauser

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

  6. #18
    Registriert seit
    Aug 2006
    Beiträge
    2.077
    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

  7. #19
    Registriert seit
    Aug 2006
    Beiträge
    2.077
    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

  8. #20
    Registriert seit
    Aug 2006
    Beiträge
    2.077
    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

  9. #21
    Registriert seit
    Feb 2001
    Beiträge
    20.238
    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

  10. #22
    Registriert seit
    Aug 2006
    Beiträge
    2.077
    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
  •