Ich habe folgendes Problem:


D Z S 2 0 inz(*zeros)
D X S 2 0 inz(*zeros)

* Anwesenheitstage
D DS
D FgAnwTg 1 42 Dim(21)
D Mo1 1 2
D Di1 3 4
D Mi1 5 6
D Do1 7 8
D Fr1 9 10
D Sa1 11 12
D So1 13 14
D Mo2 15 16
D Di2 17 18
D Mi2 19 20
D Do2 21 22
D Fr2 23 24
D Sa2 25 26
D So2 27 28
D Mo3 29 30
D Di3 31 32
D Mi3 33 34
:
:
* Trainer & Tage - elektrisch
D DS
D FgTraTgE 21 Dim(10)
D ETrainer 17a
D ETage 4s 1 inz(*zeros)
:
:

C Do 21 Z
C If FgAnwTg(Z) <> *blanks
C Eval GesEle = GesEle + %dec(FgAnwTg(Z):2:1)
C If %Lookup($KlGrMix(NName):FgTraTgE) = *zeros
C Eval X = X + 1
C Eval %subst(FgTraTgE(X): 1:17) = $KlGrMix(NName)
C EndIf
C EndIf
C EndDo


"$KlGrMix" ist ein "Proc" welche den Wert im Feld "NName" auf klein bzw. Groß-Schirft umstellt!

In der "Do"-Schleife wird geprüft, ob in der Feldgruppe FgTraTgE" der "NName" schon vorhanden ist.

Ist das der Fall wird dieser nicht neu in die Feldgruppe geschreiben, sondern es soll dann nur der Wert, welcher in "FgAnwTg" als ",0" o. ",5" o. "1," o. " " steht, in das zugehörige Feld "ETage" (als num. Wert) addiert werden!

Ist das nicht der Fall wird der Wert im Feld "NName" ins entsprechende Feldgruppenelement übertragen und es soll der zugehöhrige Wert in "FgAnwTg" ins Feld "ETage" addiert bzw. übertragen werden

Ist das irgendwie möglich bzw. was muß ich machen damit dieses so funkt?