Eingabeprüfung

Getting started ... Alles für einen gelungenen Start.
22 Beiträge • Seite 1 von 2 (current) Nächste
22 Beiträge Seite 1 von 2 (current) Nächste

Eingabeprüfung

Beitrag von RIG (Specialist / 110 / 30 / 1 ) »
Hallo mal wieder an alle,

ich versuche schon seit einer Weile meine Eingabefelder auf einem DynPro zu prüfen.

z.b.:

DATA: gv_NAME(25) TYPE C

Soll nur buchstaben enthalten.

Ich habe es schon über die Domäne versucht, weiß aber nicht wie ich dort einstellen kann das Name nur aus a...z A...Z öäü ÖÄÜ ß bestehen darf.
Straße zum bsp aus allen Buchstaben plus Leerzeichen und punkt
Auch PlZ als Char mit wertebereich 0...9 geht nicht wirklich.
Sobald man zum bsp 0A928 eingibt wird das nicht abgefangen. Ich kann natürlich ein User vorraussetzen der keine Fehler macht, aber kann mir nicht vorstellen das ich das nicht prüfen kann.

Ich bekomms aber überhaupt nicht hin, sorry.

Für Eure Hilfe und Tipps wie immer vielen Dank.

MfG RiG

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


Re: Eingabeprüfung

Beitrag von ratsnus (Specialist / 357 / 2 / 56 ) »
eigenes Dynpro oder meinst du ein default selektionsscreen ?
<:: XING-Gruppe Tricktresor::>

Re: Eingabeprüfung

Beitrag von RIG (Specialist / 110 / 30 / 1 ) »
Eigenes Dynpro...

Ich erstelle auf dem DynPro eine Neue Kundendatei.
Kundennummer wird vorgegeben... restliche daten sind einzugeben.

Re: Eingabeprüfung

Beitrag von ratsnus (Specialist / 357 / 2 / 56 ) »
du könntest im PAI des dynpro's doch mit FIELD arbeiten ?
Auszug aus der Hilfe:

FIELD
Syntax
FIELD dynp_field { [ MODULE mod [cond] ]
| [ [MODULE mod] WITH hlp ] }.

Wirkung
Die Anweisung FIELD der Dynpro-Ablauflogik steuert während des Ereignisses PAI den Datentransport vom Dynpro an das ABAP-Programm. Weiterhin kann sie mit der Anweisung MODULE verknüpft werden, um Dialogmodule bedingt aufzurufen, um eine Überprüfung der Eingabe zu ermöglichen und um zu POH und POV selbstprogrammierte Feld- und Eingabehilfen zu ermöglichen.

Zusatz 2
... ON REQUEST
Wirkung
Diese Bedingung bewirkt, dass das Modul mod nur dann aufgerufen wird, wenn der Wert des Dynpro-Felds dynp_field seit dem Ereignis PBO durch eine Eingabe verändert wurde. Als Eingabe gilt auch, wenn eine bereits vorhandene Eingabe mit dem gleichen Wert überschrieben oder explizit der Initialwert des Felds eingegeben wird. Neben Benutzereingaben führen folgende Werteingaben zu einem Aufruf von mod


gruss
ratsnus
<:: XING-Gruppe Tricktresor::>

Re: Eingabeprüfung

Beitrag von RIG (Specialist / 110 / 30 / 1 ) »
Hallo und Danke erstmal für die antworten,

heute habe ich mal wieder Zeit an meiner Übung weiter zu schreiben, und ich hänge auf einem Dynpro immernoch an der Eingabeprüfung fest. Es ist weniger der Zeitpunkt für mich entscheidend, und so wie ich die Antwort von ratsnus verstehe gibt diese mir nur einen Zusätzlichen Zeitpunkt und möglichkeiten Module einzubinden.

Ich frage mich jedoch eher über die Prüfung an sich. Kommt es im "Wahren SAP-apab Leben" eher nicht vor das man solche Eingabeprüfungen macht? Damit kann ich auch Leben, das Programm ist ja nur für mich. Doch falls es eine Möglichkeit gibt um zum beispiel in Strings bzw. Charfeldern Zeichen für Zeichen mit einer Liste vorgegebener Zeichen zu vergleichen und ein Fehler auszugeben wenn ein Zeichen der Kette nicht im Vergleichswertevorat vorkommt würde mich das sehr interessieren.

Für die Kundennummer habe ich zwar inzwischen gelernt das ich kein Char nehmen muss um Führende Nullen zu haben, aber das Problem bei zum Bsp. Postleitzahl im internationalen Format (D-01689) oder Namensprüfungen mit ABC... abc... öäü ÖÄÜ ß bleibt ja trotzdem.

Eine passende Antwort wäre wie gesagt auch: "Das prüft kein Mensch, eine gewisse Grundinteligenz des Users wird vorrausgesetzt."

Für eure Hilfe und Tipps wie immer vielen vielen Dank!

Viele Grüße RiG

Re: Eingabeprüfung

Beitrag von ewx (Top Expert / 4890 / 321 / 644 ) »
RIG hat geschrieben:[...] und so wie ich die Antwort von ratsnus verstehe gibt diese mir nur einen Zusätzlichen Zeitpunkt und möglichkeiten Module einzubinden.
Genau. Und in diesem zusätzlichen Modul prüfst du, ob der eingegebene Wert deinen Vorstellungen entspricht. Mithilfe von IF, CHECK, REGEX etc.

Re: Eingabeprüfung

Beitrag von RIG (Specialist / 110 / 30 / 1 ) »
co = contains hat meine Probleme gelöst.

Mit Regulären Ausdrücken bin ich noch nicht klar gekommen, werde ich aber jetzt nochmal versuchen.

Re: Eingabeprüfung

Beitrag von RIG (Specialist / 110 / 30 / 1 ) »
Ich habe das Gefühl mit REGEX kann ich das Problem nicht lösen. Aber vielleicht mache ich auch etwas falsch.
Bei mir hört das find immer auf sobald es ein Buchstaben der passt gefunden hat, also wenn überhaupt müsste ich dann wohl nach den unerwünschten Zeichen suchen.

Da finde ich die Variante mit:

Code: Alles auswählen.


gv_MyString co 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZöäüÖÄÜß'

Besser.

Bei gv_MyStreet würde der Suchstrng dann noch Leerzeichen und Punkt enthalten.

vielen Dank und viele Grüße RiG

Re: Eingabeprüfung

Beitrag von black_adept (Top Expert / 4136 / 131 / 956 ) »
Was ist mit ausländischen Sonderzeichen im Namen?
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Re: Eingabeprüfung

Beitrag von RIG (Specialist / 110 / 30 / 1 ) »
black_adept hat geschrieben:Was ist mit ausländischen Sonderzeichen im Namen?
Ja, das ist zusätzlich möglich, aber wo zieht man die Linie?

Wenn Herr Müller in den Staaten ein Konto in der Videothek eröffnet werden sie ihn sicher auch nur als Muller einfügen.

Ich bin mit meinem "erweitertem Alphabet" soweit zufrieden. Und für diese Problemstellung muss man ja auch nur den Vergleichsstring erweitern.

Oder hattest Du etwa schon eine bessere Idee im Hinterkopf?

Viele Grüße Rig

Re: Eingabeprüfung

Beitrag von RIG (Specialist / 110 / 30 / 1 ) »
black_adept hat geschrieben:Was ist mit ausländischen Sonderzeichen im Namen?
Viel schlimmer ist z.B.:

Straße des 1. Mai
https://maps.google.de/maps?q=Stra%C3%9 ... t&t=m&z=16

Sowas bringt doch das beste Konzept zum Wanken.... naja, nicht wirklich... aber zumindest kann man es einfach garnicht 100% idiotensicher machen ohne dabei Gefahr zu laufen wenige richtige Eingaben als Falsche einzustufen.

Re: Eingabeprüfung

Beitrag von ewx (Top Expert / 4890 / 321 / 644 ) »
Zahlen sind ja nu keine Sonderzeichen. In Berlin gibt es die Straße des 17. Juni.
Ist auch als Eingabeprüfung nicht schlimm.
Interessante wird es, hier die Hausnummer heraus zu filtern... ;)
Straße des 17. Juni 23 a-f

Re: Eingabeprüfung

Beitrag von ralf.wenzel (Top Expert / 3956 / 204 / 281 ) »
Moin,

solche Eingabeprüfungen sind Quatsch. Sicher kann der Name einer natürlichen Person keine Ziffern enthalten, aber dennoch kann man welche eingeben. Erstens gibt es nicht nur natürliche Personen und zweitens (um mal globaler zu werden) auch Postleitzahlen mit Buchstaben, Straßen mit Ziffern, Hausnummern mit Buchstaben, etc.

Ein _bisschen_ Intelligenz muss man einem Anwender schon abverlangen -- zum Beispiel dass im Namen "WENZEL" keine Ziffer vorkommt.
Bild
Ralf Wenzel Heuristika SAP-Development
25 Jahre SAP-Entwickler • 20 Jahre Freiberufler
PublikationenUngarische NotationXing
Neuer Artikel über BRF+ in der neuen iX 05/25!

Re: Eingabeprüfung

Beitrag von ewx (Top Expert / 4890 / 321 / 644 ) »
ralf.wenzel hat geschrieben:solche Eingabeprüfungen sind Quatsch.
Würde ich so pauschal nicht sagen.
Man kann sicherlich Prioritäten setzen, aber wenn ich verhindern möchte, dass der Anwender WENZEL♥ eingibt, weil ich meine Spaßvögel in der Firma kenne, dann ist das durchaus legitim.

Re: Eingabeprüfung

Beitrag von ralf.wenzel (Top Expert / 3956 / 204 / 281 ) »
ewx hat geschrieben:
ralf.wenzel hat geschrieben:solche Eingabeprüfungen sind Quatsch.
Würde ich so pauschal nicht sagen.
Man kann sicherlich Prioritäten setzen, aber wenn ich verhindern möchte, dass der Anwender WENZEL♥ eingibt,
Dann kriegt er eine entsprechende Arbeitsanweisung mit Verwarnung und im Wiederholungsfalle eine Abmahnung.

Alles billiger als auch nur eine Entwicklerstunde darauf zu verbraten.
Bild
Ralf Wenzel Heuristika SAP-Development
25 Jahre SAP-Entwickler • 20 Jahre Freiberufler
PublikationenUngarische NotationXing
Neuer Artikel über BRF+ in der neuen iX 05/25!

Vergleichbare Themen

2
Antw.
2068
Views
ALV-OO --> Eingabeprüfung
von Rantanplan » 29.03.2006 13:03 • Verfasst in ABAP Objects®
3
Antw.
2029
Views
Eingabeprüfung im ALV
von CeyserSoze » 12.06.2008 17:58 • Verfasst in ABAP® Core
6
Antw.
1851
Views
Eingabeprüfung
von SAPNewbie » 22.09.2015 13:17 • Verfasst in ABAP® für Anfänger
2
Antw.
2410
Views
Eingabeprüfung ausschalten
von chatty » 04.01.2006 16:45 • Verfasst in ABAP® Core
10
Antw.
16339
Views
Domänenfestwert zur Eingabeprüfung
von ralf.wenzel » 18.06.2008 14:32 • Verfasst in ABAP® Core

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.