ABAP中如何检查字母数字类型(alpha numeric)的变量
2009-08-03 19:45
218 查看
Business requirment经常要求某个ID的值只能包含26个字母和10个数字字符,这就要求ABAP程序能够检查相应变量内容,辨别特殊字符。sap-img上的一个例子提供了这样的功能:
REPORT ZCHECK_ALPHA_NUMERIC.
* Declare the variable
* For Length
data: serial_length type i.
* For Alpha numeric
data: str type string.
data: valid_characters type string.
* Fill in those valid characters you need to check
concatenate ‘0123456789′ ‘ABCDEFGHIJKLMNOPQRSTUVWXYZ’
‘abcdefghijklmnopqrstuvwxyz’ into valid_characters.
* User Input
parameters testchar(10) default ‘12345abc’.
* Get User Input
str = testchar.
* The Checks
if str co valid_characters.
write: / str, ‘Characters are OK’.
else.
write: / str, ‘Characters are NOT OK’.
endif.
*– End Program
基于同样的原理,下面这个subroutine可以去掉一个字符串中的所有特殊字符
*&———————————————————————*
*& Form convert_character_entities
*&———————————————————————*
* This form removes all non-alpha-numeric characters from a string
*———————————————————————-*
* <–
*———————————————————————-*
FORM remove_non_alpha_numeric_char.
DATA: l_teststr TYPE string,
l_alpha_numeric TYPE string.
DATA: l_strlen TYPE i.
DATA: l_char TYPE c.
l_teststr = ‘ref0 0@2$45*8′.
l_strlen = strlen( l_teststr ).
WRITE: / l_teststr, ‘length:’, l_strlen.
l_alpha_numeric = ‘0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ’.
WHILE l_strlen <> 0.
l_strlen = l_strlen – 1.
l_char = l_teststr+l_strlen(1).
IF l_alpha_numeric NA l_char.
REPLACE SECTION OFFSET l_strlen LENGTH 1 OF l_teststr WITH ”.
ENDIF.
ENDWHILE.
l_strlen = strlen( l_teststr ).
WRITE: / l_teststr, ‘length:’, l_strlen.
ENDFORM.
REPORT ZCHECK_ALPHA_NUMERIC.
* Declare the variable
* For Length
data: serial_length type i.
* For Alpha numeric
data: str type string.
data: valid_characters type string.
* Fill in those valid characters you need to check
concatenate ‘0123456789′ ‘ABCDEFGHIJKLMNOPQRSTUVWXYZ’
‘abcdefghijklmnopqrstuvwxyz’ into valid_characters.
* User Input
parameters testchar(10) default ‘12345abc’.
* Get User Input
str = testchar.
* The Checks
if str co valid_characters.
write: / str, ‘Characters are OK’.
else.
write: / str, ‘Characters are NOT OK’.
endif.
*– End Program
基于同样的原理,下面这个subroutine可以去掉一个字符串中的所有特殊字符
*&———————————————————————*
*& Form convert_character_entities
*&———————————————————————*
* This form removes all non-alpha-numeric characters from a string
*———————————————————————-*
* <–
*———————————————————————-*
FORM remove_non_alpha_numeric_char.
DATA: l_teststr TYPE string,
l_alpha_numeric TYPE string.
DATA: l_strlen TYPE i.
DATA: l_char TYPE c.
l_teststr = ‘ref0 0@2$45*8′.
l_strlen = strlen( l_teststr ).
WRITE: / l_teststr, ‘length:’, l_strlen.
l_alpha_numeric = ‘0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ’.
WHILE l_strlen <> 0.
l_strlen = l_strlen – 1.
l_char = l_teststr+l_strlen(1).
IF l_alpha_numeric NA l_char.
REPLACE SECTION OFFSET l_strlen LENGTH 1 OF l_teststr WITH ”.
ENDIF.
ENDWHILE.
l_strlen = strlen( l_teststr ).
WRITE: / l_teststr, ‘length:’, l_strlen.
ENDFORM.
相关文章推荐
- ABAP数字类型合法性检查函数NUMERIC_CHECK
- Javascript如何判断一个变量是数字类型?
- c++里如何用string将中文编码的数字,字母转换成char类型
- (php的弱类型导致的小问题)某变量可能是数字或非数字(对象、字符串、json等)时,应该如何去判断
- (php的弱类型导致的小问题)某变量可能是数字或非数字(对象、字符串、json等)时,应该如何去判断
- SQL查询时常用,但不熟悉的相关语句-----邮标,行号,临时表,类型转换,字符串函数,sql 判断语句,检查是不是数字,变量,sql split 函数
- 测试输出变量类型 数字 字符串 null和undefined
- c#中如何判断字符串中只存在数字或字母
- jquery如何检查输入表单为整数或数字
- 如何一次改变word中的数字和字母的字体属性
- 如何生成8位无重复的随机数(数字+字母)
- 简易Java(04):Java如何进行静态类型检查?
- NUMERIC_CHECK用法及怎样判断小数类型的字符串为数字
- 7 如何检查一个数字是不是2的乘方
- Python中,如何初始化不同的变量类型为空值
- c++如何查询变量的类型
- ABAP:如何去掉ALV数字字段小数点后面的0
- ABAP--动态创建局部类型的变量
- ABAP--动态创建类型和变量的使用程序样例
- js如何将数字转化为对应的字母