[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    Registriert seit
    Sep 2004
    Beiträge
    327
    Danke Robi, kein Problem.

    Frage an *ALL: Können wir bedenkenlos auf *ALL beim CPYFRMSTMF umstellen (aktuell haben wir CRLF)? Gibt es der Wert *ALL schon immer und wenn ja, dann habe ich echt keine Ahnung, wieso wir CRLF verwendet haben.

    Da wir nun massig Dateien empfangen haben mit LF, aber auch mit CRLF muss ich die Dateien ermitteln, die LF haben, damit wir einen Wiederanlauf starten können.
    Hat jemand eine Idee?

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.254
    qsh grep ist dein Freund:
    https://www.ibm.com/docs/da/aix/7.3?...g-grep-command

    Als Pattern wäre denkbar, wenn es denn bereits CCSD 1141/273 ist.
    "^[\x0D]\x25"

    Ansonsten "^[\x0D]\x0A"

    Erklärung: ^[\x0D] = nicht CR, gefolgt von \x0A (LF).
    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
    May 2004
    Beiträge
    444
    Ich habe mir einen Code aus dem Internet geholt

    Die Variable RTVDTA liefert mir hex 25 00 an Stelle 81 und 82
    Wenn ich die Datei über Notepad++ aufmache ist aber dort ein CR LF

    Weiß jemand warum das sein kann?

    Ich habe Zeile 25 bis 28 angepasst in meiner Version aber das ist nicht wichtig.
    Ich habe natürlich auch meine Datei angegeben

    PHP-Code:
    01  ctl-opt option(*srcstmtdftactgrp(*no) ;

    02  dcl-pr OpenFile pointer extproc('_C_IFS_fopen') ;
    03    *n pointer value ;  //File name
    04    *n pointer value ;  //File mode
    05  end-pr ;

    06  dcl-pr ReadFile pointer extproc('_C_IFS_fgets') ;
    07    *n pointer value ;  //Retrieved data
    08    *n int(10value ;  //Data size
    09    *n pointer value ;  //Misc pointer
    10  end-pr ;

    11  dcl-pr CloseFile extproc('_C_IFS_fclose') ;
    12    *n pointer value ;  //Misc pointer
    13  end-pr ;

    14  dcl-s PathFile char(50) ;
    15  dcl-s OpenMode char(5) ;
    16  dcl-s FilePtr pointer inz ;
    17  dcl-s RtvData char(32767) ;

    18  PathFile '/SIMON/test_read.txt' x'00' ;
    19  OpenMode 'r' x'00' ;
    20  FilePtr OpenFile(%addr(PathFile):%addr(OpenMode)) ;

    21  if (FilePtr = *null) ;
    22    dsply ('fopen unable to open file') ;
    23    return ;
    24  endif ;

    25  dow (ReadFile(%addr(RtvData):32767:FilePtr) <> *null);
    26    RtvData = %xlate(x'00':' ':RtvData) ;  //End of record null
    27    RtvData = %xlate(x'25':' ':RtvData) ;  //Line feed (LF)
    28    RtvData = %xlate(x'0D':' ':RtvData) ;  //Carriage return (CR)

    29    dsply %subst(RtvData:1:52) ;
    30    RtvData ' ' ;
    31  enddo ;

    32  CloseFile(%addr(PathFile)) ;
    33  return ; 

  4. #4
    Registriert seit
    Feb 2001
    Beiträge
    20.254
    Ich dachte du wolltest die Dateien herausfinden, die auf Grund des fehlenden CR nicht verarbeitet wurden um sie dann noch mal mit *ALL zu verarbeiten.
    Wenn du nun CR und/oder LF mit Blank ersetzt, nimmst du CPYFRMSTMF jede Chance.

    Oder ich habe deine Aufgabe nicht verstanden, was in meinem Alter auch schon mal passiert.
    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
    Jun 2001
    Beiträge
    1.979
    Oder ich habe deine Aufgabe nicht verstanden, was in meinem Alter auch schon mal passiert.
    DU BIST NICHT ALLEIN!
    Das Notwendige steht über dem technisch machbaren.
    (klingt komisch, funktioniert aber!)

  6. #6
    Registriert seit
    Sep 2004
    Beiträge
    327
    wir haben es nun damit hinbekommen:
    QSH
    export QIBM_CCSID=1252; find /SPAREPARTS/ASAP/SCAN/RECEIVE/SAVE -type f -mtime -3 -exec unix2dos -ic {} \; > /SPAREPARTS/ASAP/SCAN/RECEIVE/SAVE/test.txt
    Funktioniert super.

    nach LF suchen = unix2dos
    nach CRLF suchen = dos2unix

    Mit dem Befehl kann man auch ganz einfach Dateien verändern, sprich aus LF CRLF machen und umgekehrt.

    Danke Für Eure Hilfe.

Similar Threads

  1. Antworten: 17
    Letzter Beitrag: 24-11-16, 14:03
  2. CPYTOPCD und CRLF beim letzten Satz in TXT-File
    By RWehrwein in forum NEWSboard Programmierung
    Antworten: 11
    Letzter Beitrag: 13-07-16, 05:55
  3. EOL-Option einer IFS-Datei von *CR in *CRLF ändern?
    By maetti.schmidt in forum NEWSboard Programmierung
    Antworten: 3
    Letzter Beitrag: 20-01-09, 07:20
  4. CRLF bei SAP-Unicode-System
    By NollW in forum NEWSboard SAP
    Antworten: 4
    Letzter Beitrag: 12-07-07, 07:58
  5. CRLF bei SAP-Unicode-System
    By NollW in forum NEWSboard Programmierung
    Antworten: 4
    Letzter Beitrag: 12-07-07, 07:58

Berechtigungen

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