用SAP ABAP如何转换输入字串为数值并输出!

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用SAP ABAP如何转换输入字串为数值并输出!相关的知识,希望对你有一定的参考价值。

如下ORCAL语句的作用是输入带逗号的字符串,如何用SAP ABAP转换为数字,并排序的形式输出?

SELECT str
FROM (SELECT ('regexp_substr(1,2,5,7,9)', '\d', 1, LEVEL) str FROM dual CONNECT BY LEVEL < = length('1,2,5,7,9')) WHERE str IS NOT NULL ORDER BY str DESC 输出结果需要为如下:97521

1.先定义画面元素来接这个输入的字串,假设定义为c1
SELECTION-SCREEN BEGIN OF BLOCK BLK2 WITH FRAME TITLE TEXT-002.
PARAMETERS : c1(100) type c. SELECTION-SCREEN END OF BLOCK BLK2. 2.再定义一个table: itab
types: begin of itab_type,
num(3) type n, end of itab_type.data: itab type STANDARD TABLE OF itab_type with HEADER LINE. 3.用split来切割c1
SPLIT c1 AT ',' INTO table itab.
然后在对itab里的值进行排序
sort itab DESCENDING BY num ASCENDING .
4.在用loop循环输出itab的值
LOOP AT itab.
WRITE: (3) itab-num,','. ENDLOOP.
参考技术A DATA : LV_STR TYPE STRING.
DATA : STR1 TYPE STRING, STR2 TYPE STRING, STR3 TYPE STRING, TEXT TYPE STRING.DATA : LT_TAB TYPE TABLE OF STRING.LV_STR = '9,3,8,4,1,7'.SPLIT LV_STR AT ',' INTO TABLE LT_TAB IN CHARACTER MODE.SORT LT_TAB ASCENDING.LOOP AT LT_TAB INTO STR1. CONCATENATE STR1 TEXT INTO TEXT.ENDLOOP.WRITE : / TEXT. 如果正确,给满意答案哈!

SAP abap 怎么拆分字符串?

参考技术A

在sap里面open sql最为普遍。在hana之前,sap只是ERP类型软件,不提供数据库,数据库需要另行安装。为了适应各种数据库,SAP提供了Open sql这种技术作为abap开发使用,在后端SAP负责将open sql转换为对应数据的SQL语句。

而native sql就是abap开发程序中建立与其他数据库的连接,并直接使用该数据库对应的sql语句进行操作。在实际开发中较少使用到。

    读取单一行数据

    select single * from [table] into [wa] where [field] = ...

    在读取单一行数据时,尽量使用KEY值去搜索。当sy-subrc = 0时,读取成功,当它为4时,数据不存在。

    读取多行数据

    select * from [table] into table [itab] where [field] = ...

    关注sy-dbcnt字段,但读取成功时,该字段存储数据条目信息

    只读取部分数据

    将数据读取出来后,可能仅仅使用其中的几个字段,这时就尽量不要读取整行的数据。读取到的数据是占用内存的,尽量控制占用量。

    读取单行的部分字段:

    select single [fields] from [table] into(variants) where [fields] = ....

    select single [fields] from [table] into cprresponding fields of [wa] where [fields] = ....

有些report的前后台执行逻辑不一致、或该JOB是某个report中触发的,入参不明确、或者入参过于复杂时,需要开发直接DEBUG该JOB。

勾选需要DEBUG的JOB,输入JDBG,即可进行DEBUG。

如果这个report可以前台执行时,就比较容易了。找到出错JOB的入参,前台直接DEBUG。

Tcode: SM37 勾选需要处理的JOB名字,点击"STEP"

(选中JOB,查看JOB的变式)

选择“Go to-Variant”

(显示变式内容)

以上是关于用SAP ABAP如何转换输入字串为数值并输出!的主要内容,如果未能解决你的问题,请参考以下文章

abap中创建函数时,如何将输入的参数设置为表格

abap语言的alv程序中,如何控制单元格的零显示空

ABAP系列SAP 一个完整的SAP的Abap例子(idoc,edi文件的相互转换)

进制转换十六转十

abap 本地包 生成请求号

SAP ABAP 运算符