sy-index:做无条件循环是的次数值.
sy-subrc:系统执行后的返回值,如果为0就表示成功,否则为失败。
sy-fdpos:子字符串在源串中的位置。
sy-uzeit:获取系统时间。
sy-datum:获取系统日期。
shift string:左移字符串。长度减1。
concatenate:连接字符串。
split:拆分字符串。
search:查询字符串。
replace:替换字符串。
condense:删除多余的空格。 CONDENSE WA_TAB-ZADRRES NO-GAPS.
translate:转换字符格式,如将’ABC’转换为’abc’,大小转换
convert text:创建一个可排序的字符串。
overlay:用一个字符串覆盖另一个字符串。
strlen:字符串长度。
abs:取绝对值。
cos、sin、tan:取三角函数值。
acos、asin、atan:反三角函数。
cosh、sinh、tanh:双曲函数。
exp:e的幂函数。
Log:底数为e的对数。
log10:底数为10的对数。
sqrt:平方根。
sign:返回参数符号。
trunc:返回参数的整数部分。
frac:输入参数的小数部分。
ceil:返回不小于参数的最小整数。
floor:返回不大于参数的最小整数。
UNPACK WA_CXDFF-AUFNR TO WA_CXDFF-AUFNR.”字符中补零
cl_abap_char_utilities=>newline 生成换行符字符
得到程序运行时间:GET RUN TIME FIELD t2.
1 / 1000000.秒
1. 换行符,TAB KEY等的表示
在数据文件输出的时候,有时候需要使各个字段间用TAB KEY进行分割。
那么,TAB KEY在ABAP中是如何表示的,就是写入一个TAB KEY吗?
事实上,在类对象CL_ABAP_CHAR_UTILITIES中已经事先定义好了如换行符,TAB KEY等。
CR_LF 换行符
HORIZONTAL_TAB 水平方向的TAB KEY
VERTICAL_TAB 竖直方向的TAB KEY
FORM_FEED 改页
例: CONCATENATE COL1 COL2 CL_ABAP_CHAR_UTILITIES=>HORIZONTAL_TAB INTO …
如果是要单独取得回车或换行(不是回车加换行),可以采用:
cl_abap_char_utilities=>CR_LF(1)
cl_abap_char_utilities=>CR_LF 1(1)
换行符,TAB KEY等在DB中保存
换行符,TAB KEY等在SAP的DB中被存为“#“。
虽然被保存为#,但在报表中仍能正常显示。
2.
换行符,TAB KEY等的置换处理
换行符,TAB KEY等的置换不能简单的用REPLACE命令进行处理。
正确的处理如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
CALL FUNCTION 'NLS_GET_FRONTEND_CP' EXPORTING LANGU = SY-LANGU IMPORTING FRONTEND_CODEPAGE = CPCODEPAGE EXCEPTIONS ILLEGAL_SYST_CODEPAGE = 1 NO_FRONTEND_CP_FOUND = 2 INTERNAL_OR_DB_ERROR = 3 OTHERS = 4. CALL FUNCTION 'SCP_REPLACE_STRANGE_CHARS' EXPORTING INTEXT = INTEXT INTER_CP = CPCODEPAGE REPLACEMENT = 32 IMPORTING OUTTEXT = OUTTEXT EXCEPTIONS INVALID_CODEPAGE = 1 CODEPAGE_MISMATCH = 2 INTERNAL_ERROR = 3 CANNOT_CONVERT = 4 FIELDS_NOT_TYPE_C = 5 OTHERS = 6. |