Status-Toggle mit Translate

Hinweise, Tips und Tricks, FAQs - keine Anfragen!!

Status-Toggle mit Translate

Postby Alva1590 » Tue Sep 14, 2004 12:50 pm

Hallo alle zusammen,

zuerst wollte ich ein Rätsel daraus machen. Aber dann dachte ich mir, dass ihr das wahrscheinlich alle schon kennt. Dennoch hier ein Tipp von mir. Vielleicht hilft er ja dem ein oder anderen.

Ganz oft hat man in Programmen Status-Flags mit unterschiedlichen Ausprägungen 'X' für an und ' ' für aus oder 'N'/'Y' oder 0/1 oder auch mehrere Ausprägungen z.B. eine Status-Reihenfolge.
Dementsprechend findet man in Programmen oft If- oder Case-Konstrukte, die dann die Flags neu besetzen. Z.B.: "If flag = 'X'. flag = space. else. flag = 'X'. endif."
Dieses Umschalten von Flags geht aber mit TRANSLATE viel einfacher: TRANSLATE flag USING 'X X'.
Ganz interessant ist auch ein Umschalten in einer bestimmten Reihenfolge, z.B.:
TRANSLATE flag USING 'ABBCCDDA'. Das entspricht folgendem Case:
Case flag.
when 'A'. flag = 'B'.
when 'B'. flag = 'C'.
when 'C'. flag = 'D'.
when 'D'. flag = 'A'.
endcase.

mfg dele
Alva1590
.....
.....
 
Posts: 4387
Joined: Mon Dec 02, 2002 3:01 pm

Postby Alva1590 » Tue Sep 14, 2004 1:18 pm

Als Rätsel gab es dasschon mal auf abap-fans.de.
Statt
Code: [Select all] [Expand/Collapse] [Download] (Untitled.txt)
  1. TRANSLATE flag USING 'X  X'.
GeSHi ©
oder
Code: [Select all] [Expand/Collapse] [Download] (Untitled.txt)
  1. TRANSLATE flag USING ' XX '.
GeSHi ©

geht auch ein SPLIT.
Alva1590
.....
.....
 
Posts: 4387
Joined: Mon Dec 02, 2002 3:01 pm

Postby Alva1590 » Thu Sep 16, 2004 5:29 pm

Hallo Gast,

wie soll das denn mit dem Split gehen ?

mfg Dele
Alva1590
.....
.....
 
Posts: 4387
Joined: Mon Dec 02, 2002 3:01 pm

Postby Willy1492 » Fri Sep 17, 2004 8:05 am

Das geht.
Die Variante mit SPLIT wurde damals von Stefan aka black_adept im Forum von abap-fans.de veröffentlicht.
Aber falls noch jemand selbst drauf kommen will, verrate ich die Lösung lieber noch nicht.
Willy1492
....
....
 
Posts: 581
Joined: Tue Dec 03, 2002 4:44 pm

Postby Ilja583 » Mon Sep 20, 2004 6:01 pm

Hmm - ne Woche vergangen - da kann ich ja mal posten wie es noch geht.
Die Lösung ist aber rein akademisch. Nachvollziehbarer (und kürzer) ist das Translate allemal...

Code: [Select all] [Expand/Collapse] [Download] (Untitled.txt)
  1. SPLIT ' X' AT flag INTO flag flag.
GeSHi ©
Ilja583
.....
.....
 
Posts: 1372
Joined: Wed Jan 08, 2003 3:00 pm


Return to Tips + Tricks & FAQs

Who is online

Users browsing this forum: No registered users and 13 guests