Editor: Umwandlung nach "is not initial"

Hinweise, Tips und Tricks, FAQs - keine Anfragen!!
23 Beiträge • Vorherige Seite 2 von 2 (current)
23 Beiträge Vorherige Seite 2 von 2 (current)

Re: Editor: Umwandlung nach "is not initial"

Beitrag von c oco (Specialist / 326 / 12 / 16 ) »
wenn ich mich als immer noch Newbie einmischen darf...
Ich habe zwar seit einigen Jahren (mit Unterbrechungen) mit SAP/ Abap zu tun. Es gibt aber
immer wieder Aufgaben die mir neu sind. Ich bin sehr dankbar, wenn ich auf mögliche Gefahren / Probleme
hingewiesen werde!!!

Es gibt Erfahrungen im Leben, die muss ich nicht selber machen!!!
Vor allem nicht, wenn es meinen Job kosten könnte!

Gruß coco

gesponsert
Stellenangebote auf ABAPforum.com schalten
kostenfrei für Ausbildungsberufe und Werksstudenten


Re: Editor: Umwandlung nach "is not initial"

Beitrag von babap (Expert / 681 / 1 / 1 ) »
Hallo,

die Abfrage nach NOT IS INITIAL wird ja häufig verwendet, um den Status von ja/nein Flags festzustellen.

Ich verwende seit Jahren lieber die Typ-Gruppe ABAP und die Konstanten abap_true bzw. abap_false.
Dahinter steckt eine 1 Character variable und die Werte ' ' (blank) und 'X' (Groß-X).

Code: Alles auswählen.

TYPE-POOLS: ABAP.

DATA: lv_flag type abap_bool.

if lv_flag = abap_true.
...
ELSE.
...
ENDIF.
oder vielleicht sogar mal mit CASE:

Code: Alles auswählen.

CASE lv_flag.
  WHEN abap_true.
  ...
  WHEN abap_false.
  ...
ENDCASE.
Da kann man gleich lesen, was passiert ...

Gruß
Babap

Re: Editor: Umwandlung nach "is not initial"

Beitrag von Frank Dittrich (Expert / 674 / 0 / 15 ) »
Dele hat geschrieben: @Ralf und Haubi
Wenn euch etwas nicht gefällt oder ihr es nicht gebrauchen wollt oder könnt - aus was für Gründen auch immer, dann lasst es doch einfach gut sein. Ihr seid doch vollkommen frei und müsst es nicht verwenden. Warum müsst ihr immer euren bewertenden Kommentar dazu abgeben ?
Ich denke, Du musst Dich durch solche Kommentare nicht persönlich angegriffen fühlen.
Klar ist die persönliche Preferenz oft auch eine Geschmacksfrage.
Dennoch finde ich es nicht uninteressant, die Meinung anderer Entwickler zu solchen Fragen zu kennen.

Ob ich einen bestimmten Einwand dann einleuchtend finde, einfach nur zur Kenntnis nehme, mit einem Gegenargument beantworte oder verwerfe, ohne mich mit dem Gegenüber zu streiten, ist doch eine ganz andere Frage.

Zu diesem konkreten Thema jetzt auch noch mein Senf:

Es gibt eine Menge alten Code aus der Zeit, als es IS NOT INITIAL noch nicht gab.
SAP empfiehlt neuerdings, IS NOT INITIAL statt NOT IS INITIAL zu verwenden.
Solange nicht in einem Quelltext beide Varianten abwechselnd vorkommen, ist mir ziemlich egal, welcher Ausdruck verwendet wird.
Falls ich einen bestehenden Quelltext ändern muss, versuche ich in der Regel, mich an den vorgefundenen Stil zu halten - es sei denn, es gibt aus meiner Sicht gewichtige Gründe, die dagegen sprechen. Bei IS NOT INITIAL vs. NOT IS INITIAL sehe ich aber keine gewichtigen Gründe.

Frank

Re: Editor: Umwandlung nach "is not initial"

Beitrag von Frank Dittrich (Expert / 674 / 0 / 15 ) »
black_adept hat geschrieben:
Dele hat geschrieben:Suchen: (not[ ]+)([_a-z0-9\-]+)([ ]+is )(.*)(initial.*)
Ersetzen: $2$3$4$1$5
Hi Dele,

ich glaube einen Ausdruck zu finden, der nichts kaputt macht ist ziemlich schwierig.
Ohne das jetzt an einem SAP-System zu sitzen:
Was spricht eigentlich gegen
  • (not +)([^ ]+ +)(is +)(initial)
und zum Ersetzen
  • $2$3$1$4
?
Kaputt machen dürfte das m.E. nichts.
Es sei denn, man legt es gezielt darauf an, einen solchen Quelltext zu konstruieren:

Code: Alles auswählen.

REPORT.
DATA: z, not, is, initial.
not = 'n'.
is = 'i'.
EXPORT z not FROM is initial TO MEMORY ID 'ZTEST'.
Es gibt nur ein paar Ausdrücke, die nicht erwischt werden, die aber vermutlich seltener vorkommen: Wenn der Operand z.B. der Aufruf einer funktionalen ABAP-Object-Methode ist...

Frank
Zuletzt geändert von Frank Dittrich am 18.12.2012 13:48, insgesamt 4-mal geändert.

Re: Editor: Umwandlung nach "is not initial"

Beitrag von Frank Dittrich (Expert / 674 / 0 / 15 ) »
ralf.wenzel hat geschrieben:Du setzt ohne Warnung fragwürdiges und fehlerträchtiges Coding hier rein
Dass man nach einer solchen Änderung erst mal sichert und inaktive und aktive Version über die Versionshistorie vergleicht, dürfte doch normal sein.
Dann sieht man ziemlich schnell, ob etwas schief gegangen ist und kann die aktive Version aus der Versionshistorie zurückholen.
verbittest dir Kritik daran
Das stimmt so auch nicht ganz. Stefans Hinweis, dass der Code fehlerhaft ist, wurde dankbar angenommen.

Frank


Re: Editor: Umwandlung nach "is not initial"

Beitrag von black_adept (Top Expert / 4099 / 128 / 941 ) »
Frank Dittrich hat geschrieben:Ohne das jetzt an einem SAP-System zu sitzen:
Was spricht eigentlich gegen
  • (not +)([^ ]+ +)(is +)(initial)
und zum Ersetzen
  • $2$3$1$4
?
Kaputt machen dürfte das m.E. nichts.
Hi Frank,

schön mal wieder was von dir zu hören.

Was den reg. Ausdruck angeht - der ist schon recht gut und macht wahrscheinlich auch nichts kaputt. Aber er wird nicht die funktionalen Methodenaufrufe finden.

Code: Alles auswählen.

IF NOT cl=>meth( ) IS INITIAL.
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Re: Editor: Umwandlung nach "is not initial"

Beitrag von Frank Dittrich (Expert / 674 / 0 / 15 ) »
black_adept hat geschrieben: Was den reg. Ausdruck angeht - der ist schon recht gut und macht wahrscheinlich auch nichts kaputt. Aber er wird nicht die funktionalen Methodenaufrufe finden.

Code: Alles auswählen.

IF NOT cl=>meth( ) IS INITIAL.
Das erwähnte ich ja schon als ein Beispiel, was nicht funktionieren wird.
In dem Fall kann man vermutlich mit wenig Aufwand den regulären Austruck noch anpassen.
  • (not +)([^ ]+ +[)]* *)(is +)(initial)
Aber falls der Methodenaufruf oder die Built-in-Function noch Parameter enthält, wird es schnell kompliziert.

Code: Alles auswählen.

IF NOT char_off( ... ) IS INITIAL.
Und je mehr Fälle man abdecken möchte, desto fehleranfälliger wird es am Ende.

Da ist man wahrscheinlich besser dran, den einfacheren Ausdruck für das Ersetzen zu nehmen und dann mit einem weiteren Ausruck nach IF NOT usw. zu suchen als mit viel Aufwand einen komplizierten regulären AUsdruck für alle möglichen Konstrukte zu finden, die dann doch nicht im Quelltext vorkommen.

Frank

Vergleichbare Themen

1
Antw.
762
Views
Umwandlung
von SAPDIDI2 » 09.02.2008 17:15 • Verfasst in ABAP® Core
3
Antw.
4725
Views
Umwandlung Sonderzeichen (ö => oe...)
von Tobbworld » 25.11.2005 07:10 • Verfasst in ABAP® für Anfänger
5
Antw.
4264
Views
6
Antw.
1256
Views
Spaltennummer-Umwandlung Excel.
von il.ost » 17.07.2019 13:33 • Verfasst in ABAP® Core
5
Antw.
3184
Views
Umwandlung BANF in Bestellung erkennen
von ewx » 25.09.2019 11:13 • Verfasst in Material Management & Produktionsplanung

Aktuelle Forenbeiträge

Regex in where
vor 5 Stunden von tar 8 / 183
Daten an Tabelle binden
Gestern von Bright4.5 3 / 1489

Newsletter Anmeldung

Keine Beiträge verpassen! Wöchentlich versenden wir lesenwerte Beiträge aus unserer Community.
Die letzte Ausgabe findest du hier.
Details zum Versandverfahren und zu Ihren Widerrufsmöglichkeiten findest du in unserer Datenschutzerklärung.

Aktuelle Forenbeiträge

Regex in where
vor 5 Stunden von tar 8 / 183
Daten an Tabelle binden
Gestern von Bright4.5 3 / 1489

Unbeantwortete Forenbeiträge

aRFC im OO-Kontext
vor 5 Wochen von ralf.wenzel 1 / 3261
Hilfe bei SWEC/SWE2
September 2024 von retsch 1 / 9822