[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Mar 2002
    Beiträge
    6

    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

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    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.
    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
    Mar 2002
    Beiträge
    6
    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!

  4. #4
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    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.
    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

  5. #5
    Registriert seit
    Mar 2007
    Beiträge
    8
    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.

  6. #6
    Registriert seit
    Mar 2002
    Beiträge
    5.365
    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 Zitat von Fuerchau Beitrag anzeigen
    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.
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

Similar Threads

  1. Bibliotheksliste in RPG IV abfragen
    By timeless in forum IBM i Hauptforum
    Antworten: 5
    Letzter Beitrag: 11-01-07, 12:04
  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. CHAR in Zoned umsetzen RPG
    By Wissbegierig in forum NEWSboard Programmierung
    Antworten: 4
    Letzter Beitrag: 29-11-05, 13:11
  4. Codepage für RPG Compiler
    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
  •