[Allegro] globales löschen eines subfeldes: wie?

Sibylle Koczian Sibylle.Koczian at t-online.de
So Jan 26 20:34:01 CET 2014


Lieber Herr Lehmann, liebe Liste,

Am 26.01.2014 12:31, schrieb Klaus Lehmann:
> aber: 2 sachen....
> am flex fehlt was: man sieht nicht sofort das ergebnis. man muss den
> datensatz wechslen und wieder zurückgehen (ich weiss gerade den
> "aktualisier"-befehl nicht. =nicht wichtig gerade...
>
Wenn Sie an das Ende noch zwei Befehle hängen, nach oder statt des 
message-Befehls:

display
show record

Dann erscheint der letzte Satz der Ergebnismenge in seiner aktuellen 
(also korrigierten) Form sowohl in der Anzeige als auch im Auswahlfeld.

> unschön, sehr unschön: aber das ist das !prinzipielle! verhalten von
> a99. die bildschirmanzeige hält nicht durch!
> windows7 meldet mir beim 69'ten datensatz "keine Rückmeldung", oben im kopf.

Hässlich. Der Flex ginge natürlich auch als Acon-Job, vorausgesetzt, Sie 
ergänzen ihn am Anfang um einen geeigneten Suchbefehl, der Ihnen die 
Ergebnismenge liefert. Das könnte dieses Problem umgehen.

Es müsste aber doch auch in der Exportsprache möglich sein, eine 
Schleife zu bilden, die ein Subfeld g nach dem anderen entfernt.

Also etwa so, wieder ungetestet:

#-A
#90 +A ~g p"#" M e0
##

Ich bin nicht ganz sicher, ob der Sprung ausgeführt wird, wenn es kein 
Subfeld g mehr gibt. Handbuch, 10.2.6.1 "Anweisungen", unter "BS": "Bis 
zu dieser Stelle wird gesprungen, wenn #xxf in der aktuellen Aufnahme 
besetzt ist und MB ausführbar ist". Ohne ein Subfeld g ist der 
Manipulationsbefehl ~g nicht ausführbar, also auch kein Sprung - denke 
ich. Sonst:

#-A
#90 +#90 c"$g" e0              Statt $ das Teilfeld-Dreieck
#+B
#90 +A ~g p"#" M e0
#-B
##

Beste Grüße
Koczian





Mehr Informationen über die Mailingliste Allegro