-
RPG Compiler, packed oder zoned
Hallo Forum
Ich habe eine Prozedur, welcher ich einige Datenbankfelder per Referenz übergebe. Nun habe ich festgestellt, dass je nach Programm der Compiler manchmal die Feldtypen packed und zoned wechselt (nicht nachvollziehbar weshalb), so dass die Feldtypen dann nicht mehr mit meinem Prototyp übereinstimmen.
Ich habe irgendwo einmal gelesen, dass man den Compiler zwingen kann, diese Typen nicht zu wechseln. Ich habe danach gesucht aber nichts gefunden.
Weiss jemand, ob und wie das geht?
Vielen Dank
Daniel
-
Sind die Felder in einer DS definiert, werden sie genau so wie dort angegeben im Speicher gehalten.
Sind die Felder implizit definiert (automatische I-Bestimmung) oder in ILERPG als Singlevariablen ("S" statt in einer DS) optimiert der Compiler auf gepackt.
-
Vielen Dank für die prompte Antwort
Leider geht das mit der DS nicht, weil ich schon eine andere DS habe, welche zum Teil die gleichen Felder beinhaltet und das akzeptiert der Compiler wiederum auch nicht!
Ich kann das Problem umgehen, wenn ich mit Zwischenvariablen arbeite (da kann ich den Typ definitiv bestimmen) aber das ist natürlich nicht sehr elegant.
Deshalb suche ich eine Möglichkeit diese "Optimierung" des Compilers irgendwie auszuschalten!
-
Leider keine Chance.
Bei der DS kannst du die doppelten Felder ja per I-Bestimmung (RPG) oder mit Prefix (RPGLE) bzw. QUALIFIED umbenennen so dass es keine Namens-Konflikte gibt.
Allerdings muss man dann halt aufpassen, in welcher DS bei einem READ/CHAIN die Daten dann tatsächlich stehen.
-
Hallo!
Ich denke, die Rede ist von dem Schlüsselwort NOOPT. Bei Angabe dieses Schlüsseworts auf Parameter-Ebene optimiert der Compiler nämlich nicht die Datenart.
-
Hallo,
das ist ja einer der Gründe, warum man bei Procedure Prototypen besser VALUE verwendet, damit zwingt man diesen Huddle Compiler dazu seine Arbeit ordentlich zu machen. Nebenbei bemerkt ist die Packerei eine historische Altlast: der (Unix) Prozessor mit seiner Motorola Vergangenheit und seiner Spielkonsolen Gegenwart kennt kein gepack und wandelt das ganze nach entpacken eh in eine Zahl um, die mit Ganzzahl Arithmetrik weiter verarbeitet werden kann.
mfg
Dieter Bender
 Zitat von Fuerchau
Sind die Felder in einer DS definiert, werden sie genau so wie dort angegeben im Speicher gehalten.
Sind die Felder implizit definiert (automatische I-Bestimmung) oder in ILERPG als Singlevariablen ("S" statt in einer DS) optimiert der Compiler auf gepackt.
Similar Threads
-
By timeless in forum IBM i Hauptforum
Antworten: 5
Letzter Beitrag: 11-01-07, 12:04
-
By Stoeberl in forum NEWSboard Programmierung
Antworten: 8
Letzter Beitrag: 10-01-07, 10:58
-
By Wissbegierig in forum NEWSboard Programmierung
Antworten: 4
Letzter Beitrag: 29-11-05, 13:11
-
By niceguy in forum IBM i Hauptforum
Antworten: 5
Letzter Beitrag: 09-06-05, 15:50
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