[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Nov 2015
    Beiträge
    80

    RPG - prüfen ob Satz in Datei und diesen in eine andere Datei schreiben

    Hallo zusammen,

    kurze Frage. Wie kann ich mir RPG prüfen ob in einer Teildatei ein Satz steht oder ob diese leer ist.
    Wenn leer dann Programm ende wenn die Teildatei Inhalte hat muss der erste Satz in eine andere Datei geschrieben werden.

    Wichtig ich kann die Datei nur
    fFILE if e k disk
    lesen also nicht ipe.. dann bräuchte ich ein extra Programm was ich nicht möchte.

    Danke im Voraus und schön Feiertage an alle!

    Grüße
    _MG_

  2. #2
    Registriert seit
    Jun 2001
    Beiträge
    1.975
    k.a. ob du das so meinst aber ich denke ...

    ovrdbf auf das member (cl oder qcmdexc)
    *loval setll
    read
    if %eof
    ende
    else
    Write datei2
    endif
    ende
    lr

    Robi
    Das Notwendige steht über dem technisch machbaren.
    (klingt komisch, funktioniert aber!)

  3. #3
    Registriert seit
    Feb 2001
    Beiträge
    20.236
    Du kannst jede Datei auch ohne KEY (K) lesen.
    Nach dem Open steht der Satzzeiger vor dem ersten Satz.
    Ein einfacher READ liefert entweder %EOF oder den 1. Satz (wobei gelöschte Sätze est mal überlesen werden).

    Da aber doch meist ein CLP vorgeschaltet ist, reicht ein RTVMBRD um die Anzahl Sätze (NBRCURRCD?) abzufragen und den Aufruf gar nicht erst zu machen.
    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

  4. #4
    Registriert seit
    Jan 2007
    Beiträge
    905
    Guter Ansatz von Robi, aber den Read kannste knicken...

    Ich würd's so machen:
    setll (*loval) myFile;
    if %equal();
    write otherFileRec;
    else;
    .... return oder was immer du willst
    endif;
    kf

  5. #5
    Registriert seit
    Jun 2001
    Beiträge
    1.975
    @camouflage
    Wenn du das lesen wegläßt ... wie willst das dann lösen?

    wenn die Teildatei Inhalte hat muss der erste Satz in eine andere Datei geschrieben werden.
    Das Notwendige steht über dem technisch machbaren.
    (klingt komisch, funktioniert aber!)

  6. #6
    Registriert seit
    Feb 2001
    Beiträge
    20.236
    Eigentlich würde ich da noch nicht mal RPG bemühen:
    CPYF FROMFILE(FROMFILE)
    TOFILE(TOFILE)
    MBROPT(*ADD)
    FROMRCD(*START)
    NBRRCDS(1)
    Ggf. mit MONMSG abfangen, wenn es einen Fehler bei leerer Datei gibt.
    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

  7. #7
    Registriert seit
    Jan 2007
    Beiträge
    905
    @Robi, alles klar - Aufgabe nicht verstanden, 6 , setzen
    kf

  8. #8
    Registriert seit
    Jun 2001
    Beiträge
    1.975

    Smile

    @Baldur
    Deine Lösung ist, wie so häufig die beste!

    aber leider an der Aufgabenstellung vorbei
    kurze Frage. Wie kann ich mir RPG prüfen ...


    Robi
    der sich ärgert nich auch auf die CL idee gekommen zu sein
    Das Notwendige steht über dem technisch machbaren.
    (klingt komisch, funktioniert aber!)

  9. #9
    Registriert seit
    Mar 2002
    Beiträge
    5.287
    ... system('CPYF....');
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  10. #10
    Registriert seit
    Feb 2001
    Beiträge
    20.236
    DQCMDEXC PR
    D QCMD 256 CONST
    D QCMDL 15P 5 const

    QCMDEXC('CPYF ...':256);
    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
    Nov 2015
    Beiträge
    80
    Hallo zusammen und danke für die Rückmeldung..

    Habe es mit read und %eof gelöst.
    Funktioniert wie gewünscht.

    Danke und schönen Abend euch!

Similar Threads

  1. Logische Datei auf andere LIB duplizieren
    By FNeurieser in forum NEWSboard Programmierung
    Antworten: 1
    Letzter Beitrag: 27-04-16, 16:34
  2. unbekannte Datei Feldweise in allg. gültige Tabelle schreiben
    By Robi in forum NEWSboard Programmierung
    Antworten: 4
    Letzter Beitrag: 07-01-16, 07:40
  3. Zugriff auf eine Datei per ODBC
    By mott in forum IBM i Hauptforum
    Antworten: 13
    Letzter Beitrag: 16-12-15, 15:55
  4. OVRDBF auf eine bereits überschriebene Datei
    By Starocotes in forum NEWSboard Programmierung
    Antworten: 20
    Letzter Beitrag: 03-03-14, 09:51
  5. Satz in Datenbankdatei in CL schreiben??
    By JonnyRico in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 02-04-03, 15:52

Berechtigungen

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