Skip to Content
avatar image
Former Member

contains pattern

Hi All,

one of my int table field will be like this

" Material 000000000075008845"

" Material 000000000013245678".

please note space before letter "M" and a space between letter "l" and number zero ,and also letter"M" will be in caps.

Here i want to check whether my field contains like this " Material 000000000075007654" or not.

could anybody help?

Thanks,

Ponraj.s.

Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

3 Answers

  • Best Answer
    avatar image
    Former Member
    Jul 31, 2006 at 06:47 AM

    Hi ponraj,

    1. We can use CS

    2. if field1 CS ' Material 000000000075007654'

    *----


    code

    endif.

    regards,

    amit m.

    Add comment
    10|10000 characters needed characters exceeded

  • Jul 31, 2006 at 06:50 AM

    Hi Ponraj,

    Just check these Examples:-

    CP (Contains Pattern):

    The complete string c1 matches the pattern c2 (c1 "matches"

    c2).

    The pattern c2 can contain ordinary characters and

    wildcards.

    '*' stands for any character string and '+' denotes any

    character.

    If the result of the comparison is positive, the system

    field SY-FDPOS contains the offset of the first character

    of c2 in c1. The wildcard character '*' at the beginning of

    the pattern c2 is ignored when determining the value of

    SY-FDPOS.

    If the result of the comparison is negative, the system

    field SY-FDPOS contains the length of c1.

    Examples:

    'ABCDE' CP 'CD' is true; SY-FDPOS = 2.

    'ABCDE' CP '*CD' is false; SY-FDPOS = 5.

    'ABCDE' CP '+CD' is true; SY-FDPOS = 0.

    'ABCDE' CP '+CD*' is false; SY-FDPOS = 5.

    'ABCDE' CP 'BD*' is true; SY-FDPOS = 1.

    The character '#' has a special meaning. It serves as an

    escape symbol and indicates that the very next character

    should be compared "exactly".

    This allows you to search for:

    - characters in upper or lower case

    e.g.: c1 CP '#A#b'

    - the wildcard characters '*', '+' themselves

    e.g.: c1 CP '#' or c1 CP '#+*'

    - the escape symbol itself

    e.g.: c1 CP '##'

    - blanks at the end of c1

    e.g.: c1 CP '*# '

    If c2 does not contain the wildcard character '*', the

    shorter field is padded with "soft blanks" to bring it up

    to the length of the longer field.

    Examples:

    'ABC' CP 'ABC ' is true,

    'ABC ' CP 'ABC' is true,

    but

    'ABC' CP 'ABC+' is false,

    'ABC' CP 'ABC# ' is false,

    because a "soft blank" is neither any character ('+') nor a

    "real" blank ('# ').

    The escape symbol does not affect the length of f2 ('A#a#B'

    still has the length 3).

    The comparison is not case-sensitive.

    Hope this helps u.

    Regards

    -


    Sachin

    Add comment
    10|10000 characters needed characters exceeded

  • avatar image
    Former Member
    Jul 31, 2006 at 06:53 AM

    Hi,

    Try this

    Itab-material cp '# Material# ++++++++++++++++++'

    Note: 1. There is a space immediately after '#'.

    2. And there are 18 '+' sign.

    Reward if useful.

    Message was edited by: vinodh balasubramaniam

    Message was edited by: vinodh balasubramaniam

    Add comment
    10|10000 characters needed characters exceeded