-
10stellige Integer -Zahl im RPG
Hallo,
ich habe ein Problem bei der Verwendung eines 10-stelligen Integerfeldes.. Die Datei ist mit SQL generiert und diese hat als Schlüsselfeld besagtes Integer-Feld.
Wenn ich nun aus dem RPG dieses Feld benutze (zum lesen, positionieren), dann kann ich immer nur 9-stellige Zahlen benutzen (weil es ja als Binärfeld dem RPG zur Verfügung gestellt wird und das hat nur max. 9 Stellen). Gehen tut da garnix mehr.
Gibts da einen Workaround, mit dem ich die Datei trotzdem noch im RPG verwenden kann?
-
Nur im RPGLE, dort wird das Feld als:
D MyInt 10I 0
definiert.
-
tja,
wenn ich das 10I 0 - Feld als Schlüssel benutzen will, dann gibt es eine Fehlermeldung, dass die Länge nicht mit der des Schüsselfeldes der Datei übereinstimmt. Das Feld ist für RPGLE ja auch "nur" 9 Stellen groß.
Ich werde mein Glück mal mit embedded SQL probieren.
Danke für den Tip
Jürgen
-
Das liegt leider an den nativen Datei-IO-Interfaces, die mit solchen Definitionen scheinbar nicht zurechtkommen (bzw. daran, dass der RPGLE-Compiler an dieser Stelle nicht erweitert wurde).
Die neuen Feldtypen sind mit SQL für Dateien und ansonsten nur als interne Arbeitsfelder verwendbar.
Bei SQL kann ich sogar mit 10-stellig gezonten/gepackten Feldern arbeiten, es erfolgt dann halt eine Umsetzung und ggf. ein SQL-Fehler, wenn die Umsetzung zum Feldüberlauf führt.
-
Zitat von Juergen
tja,
wenn ich das 10I 0 - Feld als Schlüssel benutzen will, dann gibt es eine Fehlermeldung, dass die Länge nicht mit der des Schüsselfeldes der Datei übereinstimmt. Das Feld ist für RPGLE ja auch "nur" 9 Stellen groß.
Ich werde mein Glück mal mit embedded SQL probieren.
Danke für den Tip
Jürgen
Hallo alle zuammen,
es ist natürlich möglich Feld-Inhalte aus Integer Feldern, mit einem Wert > als 999.999.999 einzulesen und zu verarbeiten.
Dazu muss lediglich das Schlüssel-Wort EXTBININT(*YES) in den H-Bestimmungen angegeben werden.
Ist dieses Schlüssel-Wort nicht oder mit *NO angegeben, werden Integer Felder in extern beschriebenen Dateien in gepackte Felder umgesetzt. Wird EXTBININT(*YES) angegeben werden Binär- bzw. Integer-Felder in extern beschriebenen Dateien wie folgt umgesetzt:
Binär-Felder mit weniger oder gleich 4-Stellen und ohne Nachkomma-Stellen bzw. SMALINT Felder in SQL werden in 5P 0 konvertiert.
Binär-Felder mit mehr als 4-Stellen und ohne Nach-Kommastellen bzw. INTEGER Felder in SQL werden in 10P 0 konvertiert.
Felder, die in SQL mit BIGINT definiert wurden werden in 20P 0 konvertiert.
(Wird für die Datei eine externe Datenstruktur definiert werden die einzelnen Integer Felder mit 5I 0, 10I 0 bzw. 20I 0 definiert)
Similar Threads
-
By mk in forum NEWSboard Java
Antworten: 8
Letzter Beitrag: 21-04-11, 21:51
-
By robertki in forum NEWSboard Programmierung
Antworten: 25
Letzter Beitrag: 19-01-07, 08:42
-
By Xanas in forum NEWSboard Programmierung
Antworten: 4
Letzter Beitrag: 12-01-07, 07:32
-
By Stoeberl in forum NEWSboard Programmierung
Antworten: 8
Letzter Beitrag: 10-01-07, 10:58
-
By dd3tj in forum IBM i Hauptforum
Antworten: 8
Letzter Beitrag: 23-10-06, 14:25
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- You may not post attachments
- You may not edit your posts
-
Foren-Regeln
|
Erweiterte Foren Suche
Google Foren Suche
Forum & Artikel Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
|
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
- Cloud, Social Media, Devices
- DMS, Archivierung, Druck
- ERP + Add-ons, Business Software
- Hochverfügbarkeit
- Human Resources, Personal
- IBM Announcements
- IT-Karikaturen
- Leitartikel
- Load`n`go
- Messen, Veranstaltungen
- NEWSolutions Dossiers
- Programmierung
- Security
- Software Development + Change Mgmt.
- Solutions & Provider
- Speicher – Storage
- Strategische Berichte
- Systemmanagement
- Tools, Hot-Tips
Auf dem Laufenden bleiben
|
Bookmarks