如何使用 ABAP 生成随机数
如何 生成 ABAP 随机数 使用
2023-09-14 09:02:43 时间
使用的这个标准的工具类:cl_abap_random_int
.
*&---------------------------------------------------------------------*
*& Report Z_MY_TEST01
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT z_my_test01.
DATA: ls_literal TYPE i VALUE 100,
ls_random_gen TYPE REF TO cl_abap_random_int,
t0 type i,
t1 TYPE i,
t2 TYPE i,
t3 TYPE i,
t4 TYPE i.
DATA: lt_standard TYPE STANDARD TABLE OF i," WITH NON-UNIQUE KEY table_line,
lt_sorted TYPE SORTED TABLE OF i WITH NON-UNIQUE KEY table_line,
lt_hash TYPE HASHED TABLE OF i WITH UNIQUE KEY table_line.
* TRY.
CALL METHOD cl_abap_random_int=>create
EXPORTING
* SEED =
min = 0
max = 183647
RECEIVING
prng = ls_random_gen.
* CATCH CX_ABAP_RANDOM .
* ENDTRY.
GET RUN TIME FIELD t1.
DATA ls_rand_int TYPE i.
DO ls_literal TIMES.
CALL METHOD ls_random_gen->get_next
RECEIVING
value = ls_rand_int.
INSERT ls_rand_int INTO TABLE lt_standard.
ENDDO.
GET RUN TIME FIELD t2.
t0 = t2 - t1.
WRITE: / 'time: ', t0.
GET RUN TIME FIELD t3.
DO ls_literal TIMES.
CALL METHOD ls_random_gen->get_next
RECEIVING
value = ls_rand_int.
INSERT ls_rand_int INTO TABLE lt_sorted.
ENDDO.
GET RUN TIME FIELD t4.
t0 = t4 - t3.
WRITE: / 'time: ', t0.
*DO ls_literal TIMES.
* CALL METHOD ls_random_gen->get_next
* RECEIVING
* value = ls_rand_int.
* INSERT ls_rand_int INTO lt_hash.
*ENDDO.
DATA: ind TYPE i,
tmp TYPE i.
*DO ls_literal TIMES.
* READ TABLE lt_standard index ind INTO tmp.
* ind = ind + 1.
* WRITE: / tmp.
*ENDDO.
DO ls_literal TIMES.
READ TABLE lt_sorted INDEX ind INTO tmp.
ind = ind + 1.
WRITE: / tmp.
ENDDO.
相关文章
- Windows 如何在cmd命令行中查看、修改、删除与添加环境变量
- git 修改代码后如何提交
- Winfrom treeview 如何从多个数据表中获取数据动态生成
- C#如何生成release版本的程序,生成debug版本的程序
- 百科知识 手机QQ的视频如何保存
- Navicat for MySQL如何导入SQL文件
- AutoCAD如何打印
- Solidworks如何生成爆炸图
- php+tcpdf如何把生成的pdf文件保存在服务端
- 数据仓库专题(5)-如何构建主题域模型原则之站在巨人的肩上(一)IBM-FSDM主题域模型划分
- SpringBoot 如何生成接口文档
- 如何高效生成趋势有序的全局唯一ID
- 如何用R来定制个性化PPT
- 如何设置不让editplus生成bak文件
- 实战技能分享,如何让工程代码各种优化等级通吃,含MDK AC5,AC6,IAR和GCC
- Angular页面在开发模式(DevMode)下的ng-reflect-属性是如何生成的
- 在PostgreSQL中如何生成线性相关的测试数据
- 如何找到SAP UI5控件ID生成的准确时间点和代码位置
- 如何禁止 Mac OS X 在外接设备上生成 .DS_Store 文件?以及如何批量删除 .DS_Store 文件?
- swagger:如何生成漂亮的静态文档说明页
- 如何用webbrowser获取ajax动态生成的网页的源码?
- MATLAB 如何将视频和音频写入同一个文件?以视频上下颠倒为例,附带详细注释
- 如何在IDEA中自定义模板、快速生成完整的代码?
- Kafka创建Topic时如何将分区放置到不同的Broker中
- 手工测试如何转向自动化测试?字节5年自动化经验浅谈一下...
- 当深度学习遇上Web开发:Spring和OpenAI如何实现图片生成?
- 如何利用LoadRunner 11生成手机app脚本?