Vollkommen richtig. Die Frage, die Dich womöglich umtreibt (und die ich persönlich auch so ganz spannend finde), ist, was man selektieren soll, wenn man inhaltlich gar nichts aus der Tabelle braucht, sondern - wie in Deinem Fall - nur die Existenz einer Zeile klären möchte.Ich hätte das mit einem Select Single gemacht, da es für mich schon genug ist, wenn er nch dem ersten Wert aufhört.
Also inhaltlich gibt es den schon, und er heißt BOOLEAN_FLG. Jedenfalls gilt in ABAP eigentlich überall der Grundsatz, dass 'X' = true und SPACE = false ist. So sind auch die Konstanten ABAP_TRUE und APAB_FALSE definiert, und auch z.B. bei Checkboxen, Radiobuttons, Markierspalten in Table Controls usw. handhabt ABAP das so. Ich weiß, dass es diverse andere bool-ähnliche Datentypen gibt, die mit anderen Werten wie den von Dir genannten hantieren, aber für mich ist sowas ein sinnfreies Abweichen vom Standard.(In ABAP gibt es leider keinen echten boolschen Datentyp daher die Krücken mit 'X'/' ', 'J'/'N', 'Y'/'N', '1'/'0')
Die Y/N bzw. J/N tauchen zugegebenermaßen nur sehr selten auf (z.B. POPUP_TO_CONFIRM) aber 1/0 ist auch an vielen Stellen im Standard in Verwendung (z.B. SCREEN oder in GUI-Controls)DeathAndPain hat geschrieben:Also inhaltlich gibt es den schon, und er heißt BOOLEAN_FLG. Jedenfalls gilt in ABAP eigentlich überall der Grundsatz, dass 'X' = true und SPACE = false ist. So sind auch die Konstanten ABAP_TRUE und APAB_FALSE definiert, und auch z.B. bei Checkboxen, Radiobuttons, Markierspalten in Table Controls usw. handhabt ABAP das so. Ich weiß, dass es diverse andere bool-ähnliche Datentypen gibt, die mit anderen Werten wie den von Dir genannten hantieren, aber für mich ist sowas ein sinnfreies Abweichen vom Standard.
POPUP_TO_CONFIRM liefert die Nummer der gedrückten Schaltfläche zurück, also '1', '2' oder 'A', falls man einen Cancel-Button eingeblendet und genutzt hat oder der Anwender einfach das Popup-Fenster mit dem Kreuz in der Ecke geschlossen hat. Das ist also kein boolescher Wert.a-dead-trousers hat geschrieben:Die Y/N bzw. J/N tauchen zugegebenermaßen nur sehr selten auf (z.B. POPUP_TO_CONFIRM)
Ja, das stimmt. Finde ich sehr unglücklich, besonders weil es dennoch Characterfelder sind. Das machen sich auch die wenigsten Programmierer klar; man sieht ständiga-dead-trousers hat geschrieben:aber 1/0 ist auch an vielen Stellen im Standard in Verwendung (z.B. SCREEN oder in GUI-Controls)
Code: Alles auswählen.
SCREEN-ACTIVE = 0.
Code: Alles auswählen.
SCREEN-ACTIVE = '0'.
Code: Alles auswählen.
LEAVE TO SCREEN 0.
Bei SCREEN-ACTIVE ist es harmlos.DeathAndPain hat geschrieben:Ja, das stimmt. Finde ich sehr unglücklich, besonders weil es dennoch Characterfelder sind. Das machen sich auch die wenigsten Programmierer klar; man sieht ständiganstattCode: Alles auswählen.
SCREEN-ACTIVE = 0.
was zu einer unnötigen Typkonvertierung im Hintergrund führt. Nicht schlimm, aber zeigt halt, dass der Programmierer sich der Umstände nicht bewusst war.Code: Alles auswählen.
SCREEN-ACTIVE = '0'.
Code: Alles auswählen.
IF MKPF-BLDAT LE 20151231.
Folgende Benutzer bedankten sich beim Autor DeathAndPain für den Beitrag:
Daniel