/*
**  $VER: Y2k.rexx 0.001 (08 Jan 2000)  **
**
**        © 2000 Gerald Froehlich
**
**  PROGRAMNAME:
**      Y2k.rexx
**
**  FUNCTION:
**      die Liste der bereits gespeicherten Auszüge wird
**      auf 4stellige Jahreszahl umgestellt,
**      damit die Sortierung in der Kontoauszugs-Anzeige von HB
**      stimmt.
**
**  $HISTORY:
**
**   08 Jan 2000 : 0.01 : initial release
*/

OPTIONS RESULTS
SIGNAL on error
SIGNAL ON break_c
SIGNAL ON break_d
SIGNAL ON break_e
SIGNAL ON break_f
SIGNAL ON failure
SIGNAL ON halt
SIGNAL ON ioerr
SIGNAL ON syntax


IF (~show('l','rexxreqtools.library')) THEN
    call addlib('rexxreqtools.library',0,-30,0)

IF (~show('l','rexxtricks.library')) THEN
    call addlib('rexxtricks.library',0,-30,0)

/***************/

Pfad="Multiterm:HB/Ablage/"

File=Pfad||"Auszug.priv"

CALL Oeffnen

CALL Arbeit

CALL Speichern

/***************/

File=Pfad||"Auszug.gesch"

CALL Oeffnen

IF list.0 < 2 THEN do
   CALL rtezrequest('In der Datei' File,
                     ||'0A'x||'gab es nichts zu verändern!',
                     ,'Ja doch!')
   EXIT
END

CALL Arbeit

CALL Speichern

EXIT

/***************/

Oeffnen:

IF ~(READFILE(File,'list')) THEN DO
    CALL rtezrequest('Fehler beim Einlesen der Datei' File'!',
                     ||'0A'x||'Vielleicht wurde HB mit Verschlüsseln der',
                     || '0A'x ||'der Daten beendet?','Ja doch!')
    EXIT
END
RETURN

Arbeit:
a = 0
DO i = 1 TO list.0
    IF Left(list.i,2)~="19" THEN IF Left(list.i,2)~="20" THEN DO
       a = a+1
       IF Left(list.i,2) > 90 THEN list.i = "19" || list.i
       ELSE list.i = "20" || list.i
    END
END
RETURN

Speichern:
  IF a > 0 THEN DO

    IF ~WRITEFILE(File,'list') THEN DO
      CALL rtezrequest('Fehler beim Schreiben der Datei:',
      '0a'x||File'!!!','Ja doch!')
      EXIT
    END

    CALL rtezrequest('Die Datei' File 'wurde erfolgreich bearbeitet!',
         ,'Ja doch!')
  END
  ELSE   CALL rtezrequest('In der Datei' File,
         ||'0A'x||'gab es nichts zu verändern!',
          ,'Ja doch!')

RETURN

/*###################################
*** Debugging-Fehlerroutinen *******
###################################*/
syntax:
text =  'Syntax-Fehler' rc 'in Zeile' sigl '0A'x ErrorText(rc),
    '0A'x || SourceLine(sigl)
   CALL rtezrequest(text,"Alles klar!", "Fehlermeldung Y2k",'rt_pubscrname='screen)
  EXIT 10

failure:
ioerr:
ERROR:
text =  'Fehler' rc 'in Zeile' sigl '0A'x ErrorText(rc),
    '0A'x || SourceLine(sigl)
   CALL rtezrequest(text,"Alles klar!", "Fehlermeldung Y2k",'rt_pubscrname='screen)
  EXIT 10
halT:
break_c:
break_d:
break_e:
break_f:
text =  'User-Abbruch durch Halt!' || '0A'x || 'Wirklich abbrechen ?'
 ab = rtezrequest(text,"_Mach Schluss|_Neeiiin", "Y2k",'rt_pubscrname='screen)
 IF ab = 1 THEN DO
   EXIT
 END
 ELSE RETURN
