Format xx oder xx-xx oder xx-xx-xx

Getting started ... Alles für einen gelungenen Start.
5 Beiträge • Seite 1 von 1
5 Beiträge Seite 1 von 1

Format xx oder xx-xx oder xx-xx-xx

Beitrag von HH_ABAP (Specialist / 119 / 39 / 1 ) » 13.06.2019 17:52
Hallo,

meine Frage:
ich sollte nach einem Upload Prüfungen durchführen.

Es sollte bei einem Feld z.B. "ATA" Format xx oder xx-xx oder xx-xx-xx sein ( x ist eine Nummer).
Ich weiß, SPLIT hilft aber wie kann ich die Prüfung zu Ende durchführen?
Kann jemand mir bitte weiter helfen?

Danke im Voraus!


Re: Format xx oder xx-xx oder xx-xx-xx

Beitrag von ewx (Top Expert / 4199 / 193 / 436 ) » 14.06.2019 12:00
und wo ist jetzt dein Problem?
Ich sehe noch keinen Anfang...

Re: Format xx oder xx-xx oder xx-xx-xx

Beitrag von HH_ABAP (Specialist / 119 / 39 / 1 ) » 14.06.2019 12:05
Hallo,

ja, eben.

Wie kann ich Inhalt von einem Feld aus einer Interne Tabelle prüfen, ob Format xx oder xx-xx oder xx-xx-xx
hat?

Vielen Dank & Grüße

Re: Format xx oder xx-xx oder xx-xx-xx

Beitrag von DeathAndPain (Top Expert / 1358 / 146 / 319 ) » 14.06.2019 12:47
Ist jetzt die interne Tabelle als Datenquelle das Problem oder die Feldprüfung selbst?

Die interne Tabelle kannst Du durchloopen und die Feldwerte einzeln prüfen. Die Feldprüfung lässt sich vermutlich per Regex machen, oder halt händisch in etwa so:

Code: Alles auswählen.

DATA: feldlaenge TYPE I,
      format_ist_richtig TYPE BOOLEAN_FLG.

LOOP AT tab ASSIGNING FIELD-SYMBOL(<tab>).
  CLEAR format_ist_richtig  .
  feldlaenge = STRLEN( <tab>-zu_pruefendes_feld ).
  case feldlaenge.
    when 2.
      format_ist_richtig  = 'X'.
    when 5.
      if <tab>-zu_pruefendes_feld+3(1) = '-'.
        format_ist_richtig  = 'X'.
      endif.
    when 8.
      if  <tab>-zu_pruefendes_feld+3(1) = '-'
      and <tab>-zu_pruefendes_feld+5(1) = '-'
        format_ist_richtig  = 'X'.
      endif.
  endcase.

* Abhängig von format_ist_richtig irgendwas machen
ENDLOOP.
Statt des CASE-Konstruktes kann man ab Release 7.40 natürlich auch einen eleganten SWITCH bauen.

Re: Format xx oder xx-xx oder xx-xx-xx

Beitrag von black_adept (Top Expert / 3358 / 64 / 630 ) » 14.06.2019 14:43

Code: Alles auswählen.

find regex '^(\d\d|\d\d-\d\d|\d\d-\d\d-\d\d)$' in ...
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Seite 1 von 1