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 / 116 / 38 / 1 ) » 13. Jun 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 / 3964 / 164 / 366 ) » 14. Jun 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 / 116 / 38 / 1 ) » 14. Jun 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 / 1052 / 122 / 230 ) » 14. Jun 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 / 3243 / 54 / 568 ) » 14. Jun 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

Aktuelle Forenbeiträge

Adobe LiveCycle Designer - Ausblenden Text auf letzter Seite
vor 32 Minuten von a-dead-trousers 2 / 34
ABAP Clean Code
vor 12 Stunden von ralf.wenzel 68 / 2197
Variable footer lines für line count
vor 15 Stunden von ewx 4 / 67
Quellcodeänderung mehrerer Programme
vor 16 Stunden von Ben2408 12 / 359
Formular 'HR_DE_BEA_AB_V03_MV' hochladen gelöst
vor 20 Stunden von Kerstin 4 / 92

Unbeantwortete Forenbeiträge

DOCVARIABLE in Worddokument setzen (OLE?)
vor 20 Stunden von msfox 1 / 24
BAPI_PO_CREATE1 und Einkaufsinfosatz
vor 2 Tagen von SweetRuedi 1 / 68
WCOCO: Gruppe für Betragsfelder 0S01
vor 4 Tagen von SAP_ENTWICKLER 1 / 44
CAS-Nr.: Chemical Abstracs Service
vor 6 Tagen von SAP_ENTWICKLER 1 / 81
Interaktives Skript, Rolle IC-Manager
vor 2 Wochen von erubadhron86 1 / 119