[NEWSboard IBMi Forum]
Seite 1 von 2 1 2 Letzte
  1. #1
    Registriert seit
    Sep 2004
    Beiträge
    136

    SQL und Displayfile

    Hallo,

    ich hab eine Displayfile, in der ich auf ein Feld in einer mit DDL erzeugten Tabelle referenzieren möchte.

    Das Problem, bei kompilieren haut mit der Kompiler "Länge der Schlüsserlwortwertes ungültig" um die Ohren.
    Das liegt an einem zu langem Feldnamen, den die Displayfile sich als Alias zu gute machen will. Wenn ich das Alias selbst angebe kommt der gleiche Fehler.

    Was kann man da gegen tun.

    Gruß
    Xanas

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    Wie gibts du die Referenz an ?
    DDS verwendet ausschließlich 10-stellige Namen, ALIAS-Namen werden nicht berücksichtigt.

    Ggf. hast du ja das "R" vergessen ?
    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
    Sep 2004
    Beiträge
    136
    Ne die Referenz angabe ist definitiv richtig, denn kürze ich den langen SQL-Feldnamen, wird die Displayfile erstellt.

  4. #4
    Registriert seit
    Aug 2003
    Beiträge
    1.508
    ich bin mir nicht sicher ob ich dich korrekt verstanden habe.

    ich habe selbst mal eine tabelle mit sql ersellt:
    PHP-Code:
    create table test1 (Das_ist_nur_ein_Test char(50)) 
    und diese spalte über F10 im sda hinzugefügt. beim erstellen des bildschirms gabs kein problem.
    oder meinst du was ganz anderes?

    lg andreas

  5. #5
    Registriert seit
    Sep 2004
    Beiträge
    136
    dann mach mal

    create table test (verladedokumentation_kategorie_id bigint)

    Gruß
    Xanas

  6. #6
    Registriert seit
    Aug 2003
    Beiträge
    1.508
    stimmt, mit bigint hab ich den gleichen fehler bekommen.
    scheinbar kann im dspf keine referenzierung mit bigint feldern erzeugt werden.

    mit numeric gehts:
    create table test (verladedokumentation_kategorie_id numeric (18, 0))

    das gleiche problem hatte ich schon mal in RPG, als ich testhalber eine sql-tabelle mit einer spalte anlegte, von der die art in RPG gar nicht unterstüzt wurde. entweder ändert der prekompiler die art oder es kommt ein fehler.

  7. #7
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    Nicht alle Feldtypen werden von DDS unterstützt!
    Das hat mit dem langen Namen nichts zu tun.
    Man muss wohl die Fehlermeldung genau interpretieren "Länge ...".
    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
    Sep 2004
    Beiträge
    136
    Komisch nur, dass wenn ich den Feldnamen kürze

    create table test (verladedokumentation_kat_id bigint)

    dann wird der kram erstellt.

    Ich habe auch noch eine andere ID in der Datei die verladedokumentation_api_id auch als BIGINT und das Feld wird ohne Problem akzeptiert.

    Und das hat doch was mit den langen Feldnamen zu tun, die legt die DDS nämlich als ALIAS an.
    Das stellt man dann fest, wenn auf Felder aus zwei verschiedenen Dateien referiert und die zufälligerweise beide ID heißen, dann muss man eins der beiden Felder mit den Schlüsselwort ALIAS umbenennen.

  9. #9
    Registriert seit
    Aug 2001
    Beiträge
    2.873
    Versuch mal folgends:

    PHP-Code:
    CREATE TABLE Test
    (verladedokumentation_kat_id For VDKID bigint
    Referenziere auf VDKID (oder wie immer der kurze Name sein soll, er darf nur maximal 10 Stellen enthalten).

    Für SQL erstellte Tabellen mit Feldnamen länger als 10 Stellen wird automatisch ein System-Name erstellt (Stelle 1-5 des langen Namens + 5-stelliger laufender Zähler z.B. VERLA00017), es sei denn man gibt wie oben gezeigt einen kurzen Namen vor (LangerName FOR SystemName). Für die Referenzierung, wie auch für den Native I/O muss immer der (kurze) System-Name verwendet 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

  10. #10
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    SQL-Namen können max. (ich glaube) 120 Stellen umfassen, DDS-ALIAS aber nur 30 Stellen.
    Das wird wohl der Grund sein.
    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

  11. #11
    Registriert seit
    Aug 2001
    Beiträge
    2.873
    Zitat Zitat von Fuerchau Beitrag anzeigen
    SQL-Namen können max. (ich glaube) 120 Stellen umfassen, DDS-ALIAS aber nur 30 Stellen.
    Das wird wohl der Grund sein.
    30 Stellen vor V5R4, ab V5R4 128 Stellen

    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

  12. #12
    Registriert seit
    Sep 2004
    Beiträge
    136
    Zitat Zitat von B.Hauser Beitrag anzeigen
    30 Stellen vor V5R4, ab V5R4 128 Stellen

    Birgitta
    wir haben V5R4 dann sollte es doch mit mehr als 30 Stellen gehen, tut es aber nicht, kann man das Verhalten nicht abstellen irgendwie? Ich brauche das blöde Alias nicht.

Similar Threads

  1. RPGLE - SQL
    By christian_lettner in forum NEWSboard Programmierung
    Antworten: 2
    Letzter Beitrag: 16-11-06, 10:15
  2. SQL - Cursor vernichten ?!?
    By FNeurieser in forum NEWSboard Programmierung
    Antworten: 3
    Letzter Beitrag: 11-10-06, 14:53
  3. SQL und OBJLCK
    By malzusrex in forum IBM i Hauptforum
    Antworten: 8
    Letzter Beitrag: 19-09-06, 11:04
  4. SQL - Fehler
    By Kaufmann in forum IBM i Hauptforum
    Antworten: 11
    Letzter Beitrag: 28-06-06, 14:11
  5. SQL .. for update of (RPG embedded SQL)
    By loeweadolf in forum NEWSboard Programmierung
    Antworten: 2
    Letzter Beitrag: 01-06-06, 09:43

Berechtigungen

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