[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    Registriert seit
    Jun 2004
    Beiträge
    78

    Write mit DS / *RNF7701

    Hallo,
    ich habe 4 identisch aufgebaute Dateien wo ich nur Daten verteile. Dachte da waere doch eine DS angebracht.
    Habe die DS der 4 dateien wie folgt definiert:

    D FtFuelDs DS LikeRec(RFTFUE)
    D FxFuelDs DS LikeRec(FXFUELR)
    D FxFuelMbDs DS LikeRec(FXFUELMBR)
    D FxFuelNbDs DS LikeRec(FXFUELNBR)

    einlesen funktioniert wunderbar, uebertragen in eine der anderen DS ebenso.
    Allerdings bekomme ich Write nicht gebacken, wenn ich z.B. folgenden write machen will:
    C Write FXFUELR FxFuelDs

    bekomme ich diesen Fehler.

    *RNF7701 20 1 The data structure is not allowed for the operation.

    Kann mir jemand dabei helfen? Ich hab keine Lust Seitenweise Felder zu uebertragen ;-)

    VLD im voraus und schoenes Wochenende

    Ralf

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.695
    Extern beschriebene Dateien können nicht mit einer DS direkt geschrieben werden.
    RPG generiert die internen Moves aus den automatisch definierten Feldern der I- bzw. O-Bestimmungen.

    Wenn du dir die Moves sparen willst, musst du die Felder in den I-Bestimmungen der jeweiligen Datei so umbenennen, dass Namensgleichheit zwischen den Dateien besteht, Strukturen sind dann nicht erforderlich.

    Sind die Strukturen aller Dateien tatsächlich IDENTISCH, jedoch mit unterschiedlichen Feldnamen, kannst du die DS'n auch einfach mit

    D MyFileDS E DS EXTNAME(MYFILE)

    definieren.
    Damit legst du die Felder direkt in Strukturen und kannst dann die Strukturen moven.

    Zu beachten ist lediglich, dass ein Name nicht 2 Mal in verschiedenen Strukturen auftaucht, in diesem Fall kann man aber die Felder in I-Bestimmungen passend umbenennen.
    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
    Aug 2001
    Beiträge
    2.928
    Extern beschriebene Dateien können nicht mit einer DS direkt geschrieben werden.
    Das war einmal vor langer Zeit!
    Seit Release V5R2 können für extern beschriebene Dateien (DDS und SQL) bei Chain, allen Reads, Update und Write Datenstrukturen verwendet werden!

    Unter Release V5R2 ist es nur möglich Datenstrukturen, die mit LikeRec definiert wurden zu verwenden, ab Release V5R3 (auch wenn es in der Referenz schon in Release V5R2 dokumentiert ist) können auch externe Datenstrukturen verwendet werden.

    @Ralf:
    Werden Datenstrukturen beim Write verwendet (egal ob mit LikeRec oder als externe Datenstrukturen definiert), müssen diese als *OUTPUT gekennzeichnet werden.

    PHP-Code:
    D FxFuelDs        DS                     LikeRec(FXFUELR: *OUTPUT

    C                    Write FXFUELR    FxFuelDs 
    Birgitta
    Birgitta Hauser

    Anwendungsmodernisierung, Beratung, Schulungen, Programmierung im Bereich RPG, SQL und Datenbank
    IBM Champion seit 2020 - 5. Jahr in Folge
    Birgitta Hauser - Modernization - Education - Consulting on IBM i

  4. #4
    Registriert seit
    Jun 2004
    Beiträge
    78
    Danke fuer die Antworten, ich bin immer wieder froh dieses Forum gefunden zu haben

    @Birgitta
    ich hatte es jetzt so geloest dass ich die DS doppelt definiert habe.
    Also fuer read mit LikeRec und fuer Write mit ExtName, werde jetzt aber noch Deinen Tip versuchen - macht das ganze uebersichtlicher.

    Gruss Ralf

Similar Threads

  1. Nur einzelnes Feld vor write ändern
    By RaMai in forum NEWSboard Programmierung
    Antworten: 3
    Letzter Beitrag: 28-11-06, 07:59
  2. DS Übergabe
    By Squall in forum NEWSboard Programmierung
    Antworten: 9
    Letzter Beitrag: 24-10-06, 08:44
  3. ALLOC-DEALLOC-IFS-C-befehl WRITE
    By johann_krieg in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 07-10-06, 09:29
  4. FETCH n ROws in einzelne Felder einer DS
    By pedro-zapata in forum NEWSboard Programmierung
    Antworten: 6
    Letzter Beitrag: 11-09-06, 12:34
  5. Subfilepositionierung bei der Ausgabe des Steuersatz mit WRITE
    By timeless in forum NEWSboard Programmierung
    Antworten: 2
    Letzter Beitrag: 24-05-06, 06:37

Berechtigungen

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