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: 

contains pattern

Former Member
0 Kudos

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.

1 ACCEPTED SOLUTION

Former Member
0 Kudos

Hi ponraj,

1. We can use CS

2. if field1 CS ' Material 000000000075007654'

*----


code

endif.

regards,

amit m.

3 REPLIES 3

Former Member
0 Kudos

Hi ponraj,

1. We can use CS

2. if field1 CS ' Material 000000000075007654'

*----


code

endif.

regards,

amit m.

former_member184619
Active Contributor
0 Kudos

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

Former Member
0 Kudos

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