1:QF05_RANDOM
2:QF05_RANDOM_INTEGER
本文作者: GavinDong
版权属于: GavinDong博客
文章链接: https://gavindong.com/297.html
如果使用过程中遇到问题,可 **点击此处** 交流沟通。
版权所有,转载时必须以链接形式注明作者和原始出处及本声明。
1:QF05_RANDOM
2:QF05_RANDOM_INTEGER
本文作者: GavinDong
版权属于: GavinDong博客
文章链接: https://gavindong.com/297.html
如果使用过程中遇到问题,可 **点击此处** 交流沟通。
版权所有,转载时必须以链接形式注明作者和原始出处及本声明。
评论列表(2条)
目前算MD5都用MD5_CALCULATE_HASH_FOR_CHAR和MD5_CALCULATE_HASH_FOR_RAW。在对字符串算 md5的时候,使用前者比较多,不过如果字串中包含了中文的话,如果用其他语言解析(例如java)会造成md5值不一样。因为MD5_CALCULATE_HASH_FOR_CHAR在算HASH值之前先对字符进行了一次处理。
通过读代码可以知道其核心用到了函数 CALCULATE_HASH_FOR_RAW,同理也有CALCULATE_HASH_FOR_CHAR。所以可以直接用这两个函数来计算md5。
例如:
CALL FUNCTION ‘CALCULATE_HASH_FOR_CHAR’
EXPORTING
alg = ‘MD5’
data = xml_string
IMPORTING
hash = hash
EXCEPTIONS
internal_error = 1
OTHERS = 2.
这样就可以计算出md5值了。
在ABAP程序中有两种方式可以获取随机数:
方式一:
使用 function QF05_RANDOM_INTEGER 来获得随机数, 第一次使用的时候只是获得种子. 所以在程序中使用的时候,要在最开始设置种子. 如, 我想获得一个1-10的随机数,应该在
CALL FUNCTION ‘QF05_RANDOM_INTEGER’
EXPORTING
ran_int_max = 10
ran_int_min = 1
IMPORTING
ran_int = my_value.
之前,用
CALL FUNCTION ‘QF05_RANDOM_INTEGER’
EXPORTING
ran_int_max = 2 “随便用什么
ran_int_min = 1
IMPORTING
ran_int = my_seed. “随便一个变量
这样 得到的 my_value 才会不一样.
方式二:
DATA: cl_random TYPE REF TO cl_random_number,
m TYPE i.
START-OF-SELECTION.
CREATE OBJECT cl_random.
CALL METHOD cl_random->if_random_number~init .
CALL METHOD cl_random->if_random_number~get_random_int
EXPORTING
i_limit = 99999
RECEIVING
r_random = m.
WRITE m.