/* Mit diesem ARexx-Skript werden Daten aus der Auftragsdatei gelesen */
/* und in die Datei 'Rechung' übertragen.                             */

Options results

ADDRESS DataBase

CurrentBase                          
oldbase = RC

/* Wenn hier nun                                                              */
   Display OFF
/* folgt, wird die nachfolgende Bildschirmaktualisierung ausgeschaltet.       */
/* Das Wechseln auf eine andere Base ist dann z.B. nicht mehr sichtbar        */
/* Am Ende muß dann noch 'Display On' und 'Show' folgen um den Bildschirm     */
/* wieder zu aktualiesieren.                                                  */

RequestNumber 1001 "Auftragsummer eingeben!"
req = RC
beg = RESULT

IF req >0 THEN
  DO
  Base oldbase
  Display On
  EXIT
END

FindBase 'auftrag.db'
newbase = RC

IF newbase > 0 THEN
  Base newbase
ELSE
  DO
  Base 2
  OPEN "ProFaktDEMO/Auftrag/auftrag.db"
END

SETSEARCH CASE FIELD COMPLETE EQUAL
SEARCHFIELD $F4

SEARCH beg
IF RC = 5 THEN DO
  Base oldbase
  Display On
  Request "_Ok" "Kein Auftrag mit dieser Auftragsnummer vorhanden"
  EXIT
END

GetData $F1
KdNr = RESULT
GetData $F4
Au1 = RESULT

GetData $F7
Ab1 = RESULT
GetData $F8
Me1 = RESULT
GetData $F9
Be1 = RESULT
GetData $F10
Ra1 = RESULT

GetData $F12
Ab2 = RESULT
GetData $F13
Me2 = RESULT
GetData $F14
Be2 = RESULT
GetData $F15
Ra2 = RESULT

GetData $F17
Ab3 = RESULT
GetData $F18
Me3 = RESULT
GetData $F19
Be3 = RESULT
GetData $F20
Ra3 = RESULT

GetData $F22
Ab4 = RESULT
GetData $F23
Me4 = RESULT
GetData $F24
Be4 = RESULT
GetData $F25
Ra4 = RESULT


Base oldbase

RightTotal
ADD

PutData $F12 D2C(9) || Au1
PutData $F13 D2C(9) || Ab1
PutData $F14 D2C(9) || Me1
PutData $F15 D2C(9) || Be1
PutData $F16 D2C(9) || Ra1
PutData $F19 D2C(9) || Ab2
PutData $F20 D2C(9) || Me2
PutData $F21 D2C(9) || Be2
PutData $F22 D2C(9) || Ra2
PutData $F25 D2C(9) || Ab3
PutData $F26 D2C(9) || Me3
PutData $F27 D2C(9) || Be3
PutData $F28 D2C(9) || Ra3
PutData $F31 D2C(9) || Ab4
PutData $F32 D2C(9) || Me4
PutData $F33 D2C(9) || Be4
PutData $F34 D2C(9) || Ra4

ReCalculate


FindBase 'Kunden.db'
newbase = RC

IF newbase > 0 THEN
  Base newbase
ELSE
  DO
  Base 1
  OPEN "ProFaktDEMO/kunden/Kunden.db"
END

LeftTotal
SETSEARCH CASE FIELD COMPLETE EQUAL
SEARCHFIELD $F1

SEARCH KdNr
IF RC = 5 THEN DO
  Base oldbase
  Display On
  Request "_Ok" "Kein Kunde unter dieser Kundennummer vorhanden!"
  EXIT
END
 
GetData $F1
KdN = RESULT
GetData $F2
Anr = RESULT
GetData $F3
Nam = RESULT
GetData $F4
Vor = RESULT
GetData $F5
Str = RESULT
GetData $F7
Lan = RESULT
GetData $F8
PLZ = RESULT
GetData $F9
Ort = RESULT
GetData $F10
Tel = RESULT

Base oldbase

PutData $F1 KdN
PutData $F2 Anr
PutData $F3 Nam
PutData $F4 Vor
PutData $F5 Str
PutData $F6 Tel
PutData $F7 Lan
PutData $F8 PLZ
PutData $F9 Ort

/* Wurde zuvor 'Display Off' verwendet, muß nun               */
   Display On
   Show
/* folgen, um die Bildschirmausgabe wieder zu aktualiesieren. */

ADDRESS

