OK.
Ich habe mir mal die Funktionen angesehen und den Code geschrieben (nur die für die IFS Dateien relevanten Zeilen). Kann sich jemand, der sich damit auskennt den Code einmal ansehen und mir mitteilen, warum die Datei immerwieder überschrieben wird und ein anhängen von Streams nicht funktioniert? Wäre wirklich dankbar. Ich kann übrigens keine Datei hochladen!?
Bernd

* +--------------------------------------------------------------+
* | |
* | Erstellt ...: 01.07.2008 |
* | |
* | Geändert ...: |
* | Grund ......: |
* +--------------------------------------------------------------+
* | BDE Scannen der Teile und schreiben in IFS |
* +--------------------------------------------------------------+
*
**-- Control Specs: ----------------------------------------------**
H Option( *SrcStmt ) DftActGrp( *No ) BndDir( 'QC2LE' )
**
** Dateien (Workstation, Printer etc.) ...
**
**
**-- Globale Variablen -------------------------------------------**
D FILE_o S * ist Cursor
D String S 512A ist String
D rc S 10I 0 ist Ganzzahl
D Idx S 5U 0 ist Ganzzahl o. Vorz
*
**-- Globale Konstanten ------------------------------------------**
D FileName C '/MetallPro/scans001.log' Datei in IFS
D LF C x'25' Hex(25) = Linefeed
*
**-- IFS Streamfile Funktionen ----------------------------------**
Dopen Pr * ExtProc( '_C_IFS_fopen' ) Prozedur 1
D * Value Options( *String )
D * Value Options( *String )
**
Dfgets Pr * ExtProc( '_C_IFS_fgets' ) Prozedur 2
D * Value
D 10i 0 Value
**
Dfputs Pr 10i 0 ExtProc( '_C_IFS_fputs' ) Prozedur 3
D * Value Options( *String )
D * Value
**
Dclose Pr 10i 0 ExtProc( '_C_IFS_fclose' ) Prozedur 4
D * Value
**
* +--------------------------------------------------------------+
* | |
* | Main |
* | |
* +--------------------------------------------------------------+
**
**...
** ... Code für interaktive Verarbeitung
** ...
**-- Open Files, Konvertierung zu Job Codepage:
**
C Eval FILE_o = open( %TrimR( FileName ) Öffnen
C : 'w, codepage=273'
C )
**
C If FILE_o <> *Null
** izeile ist Scancode
C Eval rc = fputs( izeile +
C %Char( Idx ) +
C LF
C : FILE_o Schreibe Zeile
C )
**
C Eval rc = close( FILE_o )
C EndIf Schliessen
**
**...
** ... weiterer Code
** ...
**-- Ende der Verarbeitung
C Eval *InLr = *On
C Return