Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

Validate the format of the User entry

Former Member
0 Kudos
199

Hi,

I need to validate a User Entry on screen field against a format XXX-XX-XXXX or XX-XXXXXXX where X is a numeric value.

How can I check for the position of hyphens in the user entry to match with the permissible format?

Can I use the any of the classes, cl_abap_regex or cl_abap_matcher to do the above-said validation?

Please advise.

Thanks,

Binu

3 REPLIES 3

former_member555112
Active Contributor
0 Kudos
114

Hi,

You can split your data at '-' into an internal table.

Then determine the length of the text before and after the '-' statement to find the position of the '-'.

On the basis of this you can validate your text.

Regards,

Ankur Parab

shaik_sajid
Active Contributor
0 Kudos
114

Hi Binu

If you want to check manually then i have written the logic for XXX-XX-XXXX

DATA: VAR(11) TYPE C.

DATA: VAR_I TYPE I.
VAR_I = STRLEN( VAR ).

IF VAR_I NE 11.
***error message
ELSE.
  IF VAR(1) EQ 1 OR VAR(1)  EQ 2 OR VAR(1) EQ 3 OR  VAR(1) EQ 4 OR  VAR(1) EQ 5 OR  VAR(1) EQ 6 OR VAR(1) EQ 7 OR  VAR(1) EQ 8 OR  VAR(1) EQ 9 OR  VAR(1) EQ 0.
    IF VAR(2) EQ 1 OR VAR(2)  EQ 2 OR VAR(2) EQ 3 OR  VAR(2) EQ 4 OR  VAR(2) EQ 5 OR  VAR(2) EQ 6 OR VAR(2) EQ 7 OR  VAR(2) EQ 8 OR  VAR(2) EQ 9 OR  VAR(2) EQ 0.
      IF VAR(3) EQ 1 OR VAR(3)  EQ 2 OR VAR(3) EQ 3 OR  VAR(3) EQ 4 OR  VAR(3) EQ 5 OR  VAR(3) EQ 6 OR VAR(3) EQ 7 OR  VAR(3) EQ 8 OR  VAR(3) EQ 9 OR  VAR(3) EQ 0.
        IF VAR(4) EQ '-'.
          IF VAR(5) EQ 1 OR VAR(5)  EQ 2 OR VAR(5) EQ 3 OR  VAR(5) EQ 4 OR  VAR(5) EQ 5 OR  VAR(5) EQ 6 OR VAR(5) EQ 7 OR  VAR(5) EQ 8 OR  VAR(5) EQ 9 OR  VAR(5) EQ 0.
            IF VAR(6) EQ 1 OR VAR(6)  EQ 2 OR VAR(6) EQ 3 OR  VAR(6) EQ 4 OR  VAR(6) EQ 5 OR  VAR(6) EQ 6 OR VAR(6) EQ 7 OR  VAR(6) EQ 8 OR  VAR(6) EQ 9 OR  VAR(6) EQ 0.
              IF VAR(7) EQ '-'.
                IF VAR(8) EQ 1 OR VAR(8)  EQ 2 OR VAR(8) EQ 3 OR  VAR(8) EQ 4 OR  VAR(8) EQ 5 OR  VAR(8) EQ 6 OR VAR(8) EQ 7 OR  VAR(8) EQ 8 OR  VAR(8) EQ 9 OR  VAR(8) EQ 0.
                  IF VAR(9) EQ 1 OR VAR(9)  EQ 2 OR VAR(9) EQ 3 OR  VAR(9) EQ 4 OR  VAR(9) EQ 5 OR  VAR(9) EQ 6 OR VAR(9) EQ 7 OR  VAR(9) EQ 8 OR  VAR(9) EQ 9 OR  VAR(9) EQ 0.
                    IF VAR(10) EQ 1 OR VAR(10)  EQ 2 OR VAR(10) EQ 3 OR  VAR(10) EQ 4 OR  VAR(10) EQ 5 OR  VAR(10) EQ 6 OR VAR(10) EQ 7 OR  VAR(10) EQ 8 OR  VAR(10) EQ 9 OR  VAR(10) EQ 0.
                      IF VAR(11) EQ 1 OR VAR(11)  EQ 2 OR VAR(11) EQ 3 OR  VAR(11) EQ 4 OR  VAR(11) EQ 5 OR  VAR(11) EQ 6 OR VAR(11) EQ 7 OR  VAR(11) EQ 8 OR  VAR(11) EQ 9 OR  VAR(11) EQ 0.
                      ELSE.
***error message
                      ENDIF.
                    ELSE.
***error message
                    ENDIF.
                  ELSE.
***error message
                  ENDIF.
                ELSE.
***error message
                ENDIF.
              ELSE.
***error message
              ENDIF.
            ELSE.
***error message
            ENDIF.
          ELSE.
***error message
          ENDIF.
        ELSE.
***error message
        ENDIF.
      ELSE.
***error message
      ENDIF.
    ELSE.
***error message
    ENDIF.
  ELSE.
***error message
  ENDIF.
ENDIF.

Regards

Sajid

Former Member
0 Kudos
114

Hi All,

I am looking for ways to use the classes, cl_abap_matcher or cl_abap_regex for this requirement.

Thanks,

Binu