![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
语法
语法相关
椰子皮不皮
白云黄鹤道人家,一琴一剑一杯茶。
羽衣常带烟霞色,不染人间桃李花。
展开
-
ABAP常用FUNTION(持续更新)
加前导零:CONVERSION_EXIT_ALPHA_INPUT去前导零:CONVERSION_EXIT_ALPHA_OUTPUT负号提前:CLOI_PUT_SIGN_IN_FRONT读取文本:STATUS_TEXT_EDITTcode权限检查(可在28行打断点跳过Tcode权限检查):AUTH_CHECK_TCODE原创 2020-09-11 15:45:47 · 251 阅读 · 0 评论 -
锁对象
ABAP数据锁定... 3SM12锁查看与维护... 344通用加锁与解锁函数... 344ABAP程序锁定... 345数据库锁... 347锁的分类和兼容性... 347并发性与锁的权衡... 348数据库的事务隔离级别... 348在JDBC应用程序中设置隔离级别... 349在应用程序中采用悲观锁和乐观锁... 349由数据库系统独占锁实现悲观锁... 349利用版本控制实现乐观锁... 349阻塞... 350死锁ABAP数据锁定数据库锁定:与DB LU...转载 2020-09-07 18:58:04 · 387 阅读 · 0 评论 -
S4语法
转载自 https://blog.csdn.net/weixin_42396921/article/details/83142350 1. VALUE type( ... ),DATA(WA)临时定义类型并且赋值给构造 TYPES: BEGIN OF TY_TAB, ZCHAR1 TYPE C LENGTH 10, ZCHAR2 TYPE C LENGTH 10, ZCHA转载 2020-07-30 19:46:42 · 314 阅读 · 0 评论 -
abap负号提前
转载自:https://blog.csdn.net/zhongguomao/article/details/6731820SAP中的负号是放后面的,其实也无所谓,谁看不出来啊,关键人家要你改也没有办法。有个函数CLOI_PUT_SIGN_IN_FRONT是把负号提前的,但是它是把字符转化为字符型输出的。就是把负号split下然后放前面,这样的问题就是在显示的时候字符型数字没有3位一分的千位分隔符。再把字符型赋予数字型输出,但是输出的时候负号还是会自动加后面滴~CALL FUNCTION ‘CLOI_PU转载 2020-07-28 15:59:46 · 1020 阅读 · 0 评论 -
abap常用异常类(持续更新)
涉及除零的系统异常CX_SY_ZERODIVIDE转换字符集系统异常CX_SY_CONVERSION_CODEPAGE所有异常类的抽象类CX_ROOT原创 2020-07-28 10:05:32 · 704 阅读 · 0 评论 -
abap常用特殊字符
abap中常用特殊字符可在class cl_abap_char_utilities中查看。cl_abap_char_utilities=>horizontal_tab TAB符cl_abap_char_utilities=>cr_lf 回车换行cl_abap_char_utilities=>vertical_tab 垂直制表符cl_abap_char_utilities=>newline原创 2020-07-06 10:42:19 · 3031 阅读 · 0 评论 -
abap MD5值计算测试
通过function 'CALCULATE_HASH_FOR_CHAR’可以计算MD5值,但是发现通过notepad++计算出的MD5值为小写,SAP中计算出的MD5值为大写,实际使用时需要用TANSLATE… TO UPPER CASE转换一下大写。示例需要转换字符串eyJBVUZOUl9JTiI6IjAwMDAxMDEyOTQ0In0。notepad++结果704a92f3f39a725a99bf9939d6fe7c73SAP结果704A92F3F39A725A99BF9939D6FE7C原创 2020-06-29 11:24:09 · 297 阅读 · 0 评论 -
abap base64转码
DATA: l_json TYPE string, l_xstr TYPE xstring, l_encode TYPE string.l_json = '{"I_INT_NAME":"Z_TEST_FUNCTION","I_KEY":"123456","I_JSON":{"AUFNR":"0000123456"}}'.* String to XstringCALL FUNCTION 'SCMS_STRING_TO_XSTRING' EXPORTING t原创 2020-06-28 21:31:57 · 1035 阅读 · 0 评论 -
abap internal table delete
Jack最近比较忙,所以没有更新博客。今天一个程序上线正式环境之后,log记录比较奇怪,看起来像是程序只执行了开头。ST22查询后发现有产生dump,发现问题是一个很低级的错误。有一段根据条件筛选对内表进行delete处理。以spfli表为例。DATA: gt_spfli TYPE STANDARD TABLE OF spfli, gw_spfli LIKE LINE OF gt_spfli.SELECT * FROM spfli INTO TABLE gt_spfli.LOOP原创 2020-06-23 22:24:33 · 861 阅读 · 0 评论 -
abap MD5值计算
目前算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。所以.转载 2020-06-19 13:41:52 · 509 阅读 · 0 评论 -
abap base64解码
json字符串内容{ "I_INT_NAME":"Z_TEST_FUNCTION", "I_KEY":"123456", "I_JSON":{ "AUFNR":"0000123456" }}用notepad++插件中的Base64 Encode功能转码转码结果:eyJJX0lOVF9OQU1FIjoiWl9URVNUX0ZVTkNUSU9OIiwiSV9LRVkiOiIxMjM0NTYiLCJJX0pTT04iOnsiQVVGTlIiOi原创 2020-06-19 11:41:42 · 536 阅读 · 0 评论 -
abap字符串中换行
有时消息中内容需要换行,可以通过class cl_abap_char_utilities中的cr_lf 或 newline属性实现。分别使用cr_lf 和 newline,效果一样。代码DATA: message TYPE char100.DATA: cpcodepage TYPE cpcodepage.DATA: w_lf TYPE c VALUE cl_abap_char_utilities=>cr_lf.CONCATENATE 'test:' cl_abap_char_utilit原创 2020-06-18 11:35:55 · 3328 阅读 · 0 评论 -
abap 选择屏幕将CheckBox同行显示
选择屏幕中CheckBox正常默认是同列的,有小伙伴问如何改成一行。话不多说上代码。示例SELECTION-SCREEN BEGIN OF BLOCK bk1 WITH FRAME TITLE text-101.SELECTION-SCREEN BEGIN OF LINE.PARAMETERS: p1 AS CHECKBOX.SELECTION-SCREEN COMMENT (30) text-102.PARAMETERS: p2 AS CHECKBOX.SELECTION-SCREEN C原创 2020-06-15 20:08:24 · 4377 阅读 · 0 评论 -
abap concatenate拼接
concatenate可以拼接自己想要的信息。但是对数据字典中的QUAN类型字段不能直接拼接。QUAN13类型对应到程序中为P类型三位小数,可以先转成C类型再进行拼接,需要注意C类型要定义长度,不然会自动四舍五入。示例DATA: num TYPE labst VALUE '10.000', text TYPE c LENGTH 10.text = num.CONCATENATE 'test:' text INTO text.WRITE:/ text.结果发现text有1原创 2020-06-15 19:53:54 · 3926 阅读 · 0 评论 -
abap perform的using与changing区别
abap程序中面向过程写法经常会使用到子程序,我们都知道perform可以附加选项using和changing,但是两者有什么区别呢?一般回答都是using的参数在子程序中只能使用,不能修改。changing的参数在子程序中可以修改。那我们通过简单代码进行测试两者区别。示例一 只使用using按照using只能使用,不能修改的说法,输出结果应该是两个1。DATA: l_num1 TYPE i VALUE 1, l_num2 TYPE i VALUE 1.START-OF-SELE原创 2020-06-11 21:43:24 · 5038 阅读 · 2 评论 -
abap指针分配显性强制转换
问题:最近用到动态调用RFC时发现exception-table中的message字段类型为data,想要将message的值统一拼接到返回参数消息字段中。返回参数消息字段类型为string。exception-table结构如下:传出参数:解决方法:定义一个field-symbol,通过casting type强制转换类型。 LOOP AT lt_exceptab INTO lw_exceptab. ASSIGN lw_exceptab-message->* TO <f原创 2020-06-03 16:32:33 · 435 阅读 · 0 评论