Random随机数
seed(种子)随机数中的种子是指用于生成伪随机数的初始数值。
在计算机科学中,随机数种子(random seed)是一个重要的概念,它用于初始化伪随机数生成器。伪随机数生成器是一种算法,通过一定的数学运算生成看似随机的数字序列。这些数字序列在实际应用中通常具有真实随机数的所有概率性质和统计性质,尽管它们是通过确定的算法生成的,因此被称为伪随机数。种子数(seed)是这些算法的起点,它决定了生成的随机数序列的起始状态。
计算机所产生的随机数都是伪随机数,它们以一个真随机数(种子)作为初始条件,然后通过一定的算法不断迭代产生随机数。这个真随机数(种子)可以是基于某种真实随机事件的结果,如当前时间的毫秒数或其他不可预测的数值。通过这种方式,即使是在确定性的计算环境中,也能模拟出看似随机的行为。
此外,为了生成不同的随机数序列,可以将种子值设置为依赖于时间或其他变化因素的值。例如,在.NET Framework中,可以通过将种子值设置为当前时间的时钟周期数或使用系统时钟来生成种子值。这样做的好处是,每次程序启动时,由于种子值的变化,生成的随机数序列也会不同,从而增加了随机性的真实性。
在同样 ...
Random随机数
seed(种子)随机数中的种子是指用于生成伪随机数的初始数值。
在计算机科学中,随机数种子(random seed)是一个重要的概念,它用于初始化伪随机数生成器。伪随机数生成器是一种算法,通过一定的数学运算生成看似随机的数字序列。这些数字序列在实际应用中通常具有真实随机数的所有概率性质和统计性质,尽管它们是通过确定的算法生成的,因此被称为伪随机数。种子数(seed)是这些算法的起点,它决定了生成的随机数序列的起始状态。
计算机所产生的随机数都是伪随机数,它们以一个真随机数(种子)作为初始条件,然后通过一定的算法不断迭代产生随机数。这个真随机数(种子)可以是基于某种真实随机事件的结果,如当前时间的毫秒数或其他不可预测的数值。通过这种方式,即使是在确定性的计算环境中,也能模拟出看似随机的行为。
此外,为了生成不同的随机数序列,可以将种子值设置为依赖于时间或其他变化因素的值。例如,在.NET Framework中,可以通过将种子值设置为当前时间的时钟周期数或使用系统时钟来生成种子值。这样做的好处是,每次程序启动时,由于种子值的变化,生成的随机数序列也会不同,从而增加了随机性的真实性。
在同样 ...
正则表达式
支持正则表达式的语句:
1.FIND,REPLACE语句;2.Functions:count,count_xxx,contains,find,find_xxx,match,matches,replace,substring,substring_xxx;3.类:CL_ABAP_REGEX,CL_ABAP_MATCHER;
正则表达式语句规则Single Character Patterns单个普通字符:A-B,0-9等单个字符,以及一些特殊字符通过反斜杠()转义变成普通字符;
特殊字符\:. , [,],-,^这些字符作为特殊操作符,-,^只有在[]中有特殊意义;
示例:
"regex:A string:a 结果:不匹配
"regex:AB string:A 结果:不匹配
IF cl_abap_matcher=>matches( pattern = 'A' text = 'A' ) = abap_true.
WRITE:/ '1.true'.
ENDIF.
".,[,],-,^特殊操作字符
".可以替换任意单个字符;
"\使用反斜杠将特殊字符变成普通字符;
"\和一些字符一 ...
正则表达式
支持正则表达式的语句:
1.FIND,REPLACE语句;2.Functions:count,count_xxx,contains,find,find_xxx,match,matches,replace,substring,substring_xxx;3.类:CL_ABAP_REGEX,CL_ABAP_MATCHER;
正则表达式语句规则Single Character Patterns单个普通字符:A-B,0-9等单个字符,以及一些特殊字符通过反斜杠()转义变成普通字符;
特殊字符\:. , [,],-,^这些字符作为特殊操作符,-,^只有在[]中有特殊意义;
示例:
"regex:A string:a 结果:不匹配
"regex:AB string:A 结果:不匹配
IF cl_abap_matcher=>matches( pattern = 'A' text = 'A' ) = abap_true.
WRITE:/ '1.true'.
ENDIF.
".,[,],-,^特殊操作字符
".可以替换任意单个字符;
"\使用反斜杠将特殊字符变成普通字符;
"\和一些字符一 ...
Built-In Functions
Built-In FunctionsNum常见的数值表达式如下:
ABS:获取绝对值
CEIL:向上取整
FLOOR:向下取整
DIV:除法计算,取整数位
DIVISION:除法计算,保留 N 位小数
MOD:除法计算,取余数
ROUND:计算舍入值
DATA(lv_dec) = CONV zdec_3_demo( '-123.456' ).
abs( lv_dec )
ceil( lv_dec )
floor( lv_dec )
div( -4 , -3 )
division( -4 , -3 , 2 )
mod( -4 , -3 )
round( lv_dec , 2 )
round( lv_dec , -2 )
String
CONCAT:连接字符串,参数固定为2个,各个表达式之间可以嵌套使用,CONCAT内部也可以使用 &&
&&:连接字符串,参数没有个数限制,但不能将其他内嵌表达式当作参数使用,仅作为操作符使用,在非SELECT语句中也可以被使用
CONCAT_WITH_SPACE:连接 ...
Smartform表单转PDF文件流并且http上传
Smartform表单转PDF文件流 http上传 DATA: lv_fm_name TYPE rs38l_fnam.
DATA: l_cx_root TYPE REF TO cx_root.
DATA: lv_logo_sa TYPE string.
DATA: ls_formoutput TYPE ssfcrescl.
DATA: l_fncname TYPE rs38l_fnam, "smartform 动态函数名
lw_control_param TYPE ssfctrlop, "Smart Forms: 控制结构
lw_job_output_info TYPE ssfcrescl, "Smart Forms: 表格打印结束时返回值
lt_itcoo TYPE itcoo OCCURS 0, "Smart Forms: OTF 结构
lw_composer_param TYPE ssfcompop .
DATA: lv_inst_id TYPE ...
多文件zip压缩
多文件zip压缩标准工具类 cl_abap_zip
*&---------------------------------------------------------------------*
*& Report ZBM_TST_ZIP
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT zbm_tst_zip.
DATA: lo_zip TYPE REF TO cl_abap_zip.
CREATE OBJECT lo_zip.
DATA: l_file_path TYPE string.
DATA: lt_xml_rawtable TYPE dcxmllines.
DATA: lv_x ...
linux本地文件夹双向同步
linux本地文件夹双向同步方案
用inotify监控文件夹,如果文件夹内有文件变化则输出变化情况
每当inotify检测到文件变化时,就调用unison,把当前文件夹的变化发给另一个文件夹
创建两个进程分别进行单向同步,从而变成了双向同步。
安装sudo apt install -y inotify-tools unison
同步将下面代码保存为syncto.sh
#/bin/bash
# $1: from 工作文件夹
# $2: to 运行文件夹
unison -batch $1 $2
inotifywait -mrq -e create,delete,modify,move $1 | while read line; do
unison -batch $1 $2
done
单向同步nohup syncto.sh 工作文件夹 运行文件夹 &
双向同步
将下面代码保存为syncboth.shnohup syncto.sh $1 $2 &
nohup syncto.sh $2 $1 &
同步bash syncboth.sh 工作文件夹 ...
EntitySet通用技巧
EntitySet通用排序#SAP/Fiori/Segw/EntitySet通用排序
/iwbep/cl_mgw_data_util=>orderby( EXPORTING it_order = it_order CHANGING ct_data = et_entityset ).
SELECT * INTO TABLE @DATA(lt_etfields) FROM /IWBEP/I_SBO_PR
WHERE PARENT_UUID IN
( SELECT NODE_UUID FROM /IWBEP/I_SBO_ET WHERE PROJECT = 'ZCA90_TR_TRANS_ORDER' AND NAME = @IV_ENTITY_NAME ).
*"排序表动态排序
data:lt_sorted_table type abap_sortorder_tab.
LOOP AT IT_ORDER ASSIGNING FI ...
创建服务
创建服务
创建Entity Types复选框选择是否创建Entity Sets
导入Properties
创建Associations
字段类型需要保持一致