[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Jun 2001
    Beiträge
    119

    Post ILE Cobol emb. SQL insert Problem

    Hallo Leute!

    Folgendes Problem mit ILE COBOL und emb. SQL-Befehlen bekomme ich nicht in den Griff:

    ext. logische Datei
    --------------------
    SELECT KDSTLF19 ASSIGN TO DATABASE-KDSTLF19
    ORGANIZATION IS INDEXED
    ACCESS IS DYNAMIC
    RECORD KEY IS EXTERNALLY-DESCRIBED-KEY.

    FD KDSTLF19 LABEL RECORDS ARE STANDARD.
    01 KDSTLF19-REC.
    COPY DDS-ALL-FORMATS OF KDSTLF19.

    folgende Zeile bringt einen Fehler:
    ------------------------------------------

    exec sql insert into lgkdn000 values
    (:kdstlf19.kdskundnr,
    :kdstlf19.kdslfanam1)
    end-exec
    -------------------------------------------
    SQL0312 30 3193 Position 17 Variable KDSTLF19 nicht definiert oder nicht
    verwendbar.
    SQL0312 30 3193 Position 26 Variable KDSKUNDNR nicht definiert oder
    nicht verwendbar.
    SQL0312 30 3194 Position 17 Variable KDSTLF19 nicht definiert oder nicht
    verwendbar.
    SQL0312 30 3194 Position 26 Variable KDSLFANAM1 nicht definiert oder
    nicht verwendbar.
    Die Felder der Datei KDSTLF19 gibt es noch einmal in meinem Programm mit einer anderen log. Datei, deshalb muß ich beim Insert speziell auf die Felder dieser log. Datei verweisen. Die Felder sind für INSERT verwendbar. Es hat funktioniert, als ich nur diese eine log. Datei hatte.

    Ich kann die Felder der log. Datei vorher in im Programm definierte Variablen schieben, damit sie beim Insert eindeutig sind, aber wie muss denn die Syntax sein, damit der Insert auch so klappt?

    Jemand eine Idee?

    Vielen Dank für Support.

    Gruß
    Reiner

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

    Wink

    Zitat:

    Jemand eine Idee?
    [/quote]

    Handbuch : DB2 UDB for AS400 SQL Programming
    Seite : 255

    Zitat:

    Host variables cannot be records or elements.
    [/quote]

    Gruß
    Rolf

    p.s. hier stehts
    http://publib.boulder.ibm.com/pubs/h...htm#Header_355

    [Dieser Beitrag wurde von rmittag am 13. Juni 2003 editiert.]

  3. #3
    Registriert seit
    Jun 2001
    Beiträge
    119

    Post

    Hallo Moderator!

    Vielen Dank für die Hilfe, aber ganz bin ich noch nicht überzeugt.

    >Host variables cannot be records or elements

    Wenn ich nur eine log. Datei habe, dann sieht die Syntax so aus:

    exec sql insert into lgkdn000 values
    (:kdskundnr,
    :kdslfanam1)
    end-exec

    Die beiden Variablen kdskundnr und kdslfanam1 sind Felder aus einer log. Datei, die extern definiert ist. Dieses Insert funktioniert so, wie ich es hingeschrieben habe.
    Warum geht diese Version und nicht die oben angesprochene? Diese beiden Variablen sind auch nicht mit Declare definiert worden.


    Schöne Grüße
    Reiner

  4. #4
    Registriert seit
    Jan 2001
    Beiträge
    340

    Post

    zwischen (1)
    Zitat:

    exec sql insert into lgkdn000 values
    (:kdstlf19.kdskundnr,
    :kdstlf19.kdslfanam1)
    end-exec
    [/quote]
    und (2)
    Zitat:

    exec sql insert into lgkdn000 values
    (:kdskundnr,
    :kdslfanam1)
    end-exec
    [/quote]
    besteht ja wohl ein Unterschied. Der Präprozessor kann mit Elementen (1) nichts anfangen, insbesondere wenn das selbe Element in verschiedenen Strukturen auftaucht.

    Beschwerden hierzu bitte an IBM .

    Für embedded SQL gilt, dass man mit solchen Restriktionen leben muss. Insbesondere ILE-Rpg Programmierer können ein Lied davon singen, wie weit der Präprozessor hinter den aktuellen Fähigkeiten des Compilers hinterherhinkt.

    Gruß
    Rolf

Similar Threads

  1. ILE RPG / SQL Füllen einer Feldgruppe
    By homue in forum NEWSboard Programmierung
    Antworten: 5
    Letzter Beitrag: 18-07-07, 16:47
  2. Problem mit Java-Methoden Aufruf aus ILE RPG?
    By Stoeberl in forum NEWSboard Programmierung
    Antworten: 8
    Letzter Beitrag: 10-01-07, 10:58
  3. Problem mit XML PARSE in ILE COBOL
    By MikRom in forum NEWSboard Programmierung
    Antworten: 1
    Letzter Beitrag: 15-08-05, 09:06
  4. per SQL aus ILE COBOL in DB2 schreiben?
    By rebe in forum NEWSboard Programmierung
    Antworten: 5
    Letzter Beitrag: 24-03-05, 14:36
  5. Problem bei ILE COBOL mit sql connect to
    By rebe in forum IBM i Hauptforum
    Antworten: 1
    Letzter Beitrag: 07-09-01, 13:55

Berechtigungen

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