barriers / 阅读 / 详情

SAP ABAP 编程问题

2023-05-19 14:02:44

请问exit和 return 有什么区别。在loop 里和不在loop 里作用一样吗?还有就是check 有什么用?比如check 变量 is初值。什么意思

TAG: ab ba ABA bap
共3条回复
苏州马小云

ABAP--关于ABAP流程处理的一些命令的说明(stop,exit,return,check,reject)

Stop 命令

使用该命令的程序位置

INITIALIZATION, AT

SELECTION-SCREEN, START-OF-SELECTION和GET

事件中

处理说明

1、 当在INITIALIZATION事件执行该命令,系统将直接触发应用服务器和客户端屏幕元素的发送;

2、 在其他事件中将直接触发END-OF-SELECTION事件的执行,如果不想执行END-OF-SELECTION,请使用RETURN或者 EXIT.

注意事项

EXIT命令

使用该命令的程序位置

用于循环和程序模块中:DO和其他处理模块中(event block, dialog module,procedure (function module, method, subroutine))...ENDDO,WHILE...ENDWHILE,LOOP...ENDLOOP,SELECT...ENDSELECT

处理说明

1、 循环处理中,EXIT只跳出当前的循环;

2、 在START-OF-SELECTION, GET,END-OF-SELECTION事件中,将直接触发List输出,将不执行END-OF-SELECTION事件;如果没有List输出,系统将直接返回选择屏幕;

3、 对于procedure系统返回调用处;

注意事项

Sap推荐EXIT只是用于循环处理,对于处理模块请使用Return。

RETURN命令

使用该命令的程序位置

用于处理模块中(eventblock, dialog module, procedure (function module, method, subroutine))

处理说明

1、 对于procedure ,RETURN将无条件退出当前的处理模块,不影响后续模块的执行;

2、 对于START-OF-SELECTION, GET,END-OF-SELECTION事件中,将直接触发List输出,将不执行END-OF-SELECTION事件;如果没有List输出,系统将直接返回选择屏幕;

注意事项

RETURN不管存在多少层次的循环,将直接退出当前处理模块,这一点和EXIT不同

CHECK命令

使用该命令的程序位置

用于循环和程序模块中:DO和其他处理模块中(event block,dialog module, procedure (function module, method, subroutine))...ENDDO,WHILE...ENDWHILE,LOOP...ENDLOOP,SELECT...ENDSELECT

处理说明

1、 循环处理中,CHECK只是不执行本次循环的后续处理,继续调到下一次循环;

2、 在START-OF-SELECTION, GET,END-OF-SELECTION事件中,只是中断本事件内的后续代码的执行 ,不影响其他后续模块的处理,这和EXIT,RETURN是不同的;

3、 对于没有循环procedure系统返回调用处;

4、 对逻辑数据库的GET事件,系统退出本次纪录和子节点的读取处理,将继续下一条纪录的处理;

注意事项

Sap推荐CHECK只是用于循环处理,对于处理模块请使用Return。

REJECT命令

使用该命令的程序位置

用于逻辑数据库的GET处理事件中

处理说明

REJECT的处理类似CHECK,但和CHECK不同的是:REJECT如果在循环内也同样退出本次的处理,而CHECK只是退出循环,不退出处理

注意事项

Chen

exit和return一般只在loop中使用,exit是退出整个循环,return是退出当前循环行

check和if类似

再也不做稀饭了

RETURN :This statement ends the current processing block immediately. 立即退出当前程序块

EXIT: When processing table controls or step loops with the statement LOOP in the dynpro flow logic, this statement causes the loop to be terminated immediately. 从当前循环立即退出

如果是两个loop嵌套,return退出整个大循环,exit退出当前包含exit的循环

check :如果是在loop里面 如果不满足条件 不执行check之后 继续下一次循环 如果在loop之后 退出当前程序块 比如在form里面 就退出这个form 继续往后

相关推荐

ABAP是什么?

ABAP(Adwanced Business Application Programming)是一种高级编程语言,起源于20世纪八十年代,由德国软件公司SAP开发,主要用作SAP的编程。
2022-12-31 18:01:571

如何评价abap,它的前景如何?

单说abap开发, 目前而言,如果在abap这条路上一路走到黑,不管是前途还是钱途,都不容乐观。因为abap只是sap的基础开发语言,正如其他朋友说的,ABAP 是SAP商用套件专用开发语言,受到开发环境和平台。说说sap的前景。 大家认同不认同这么一个观点,当前社会上绝大部分科技进步发展,人类做的任何事都是为了满足自己的需求。就如同当前炒的比较火的互联网开发一样,无非是为了更加方便,快捷的满足人们的需求,使用体验更。发展前景:说实话,这个很小众,就业限制也很多,只有大公司才会上SAP,但是因为从事这个的人比较少,所有这方面的人才比较稀缺,有些公司招一年都招不到人。但是如果可以选择还是选一些应用比较广泛的,比如JAVA,C#,薪资的话也没有这两种语言高,打个比方一个有3年以上的经验的薪资大概只要7000到10000,当然也要看城市。
2022-12-31 18:02:021

SAP ABAP开发是做什么?

sap软件开发的工作内容:1、SD模块业务流程的需求分析、蓝图编制、系统配置及实现、用户培训;2、根据业务需求,完成SD及相关模块的报表、增强、接口开发;3、SD模块用户的日常问题处理,协助其他模块完成系统任务。sap软件开发的任职要求,举例:1,大专或以上学历,计算机或相关信息专业,熟悉SAP ABAP开发;2、熟悉SD模块的业务流程及系统配置;3、至少3年以上SAP支持经验,至少全程参与过1个以上完整SAP ERP项目实施经验;4、有独立实施SD模块的能力,对企业和业务流程改进有深刻独到的理解尤佳;4、工作主动,具备良好的责任心、沟通能力、团队精神;5、有较强的分析问题、独立解决问题的能力。SAP 为小型企业、中型企业和大型企业开发了专门的软件解决方案。借助 SAP 的标准应用、行业解决方案、平台和技术,企业可以规划和设计每一个业务流程。从原材料采购到生产和客户满意度,SAP 软件能够基于统一的平台收集和处理所有数据。SAP 解决方案支持本地部署和云端部署,可以帮助企业分析和高效设计整个价值链。
2022-12-31 18:02:136

abap是什么语言

abap是sap的编程语言,sap的程序就是用这个语言开发的
2022-12-31 18:02:433

ABAP基本

定义数据类型用关键字 TYPES. 定义数据对象用关键字 DATA. 在abap程序中用abap基本数据类型(预定义类型)定义局部数据类型,还可以定义包含多个abap基本数据类型的结构体类型。 参考现有的数据对象(LIKE) DATA A2 LIKE A1."A1对象 参考现有的数据类型(TYPE) DATA A2 LIKE A1."A1类型 VALUE关键字来指定数据对象的初始值。 DATA NUM1 TYPE I VALUE 10. "NUM1初始值为10 LENGHT关键字指变量长度。 DATA NUM2 TYPE C LENGHT8. DATA NUM2(8) TYPE C. DATA语句没有指定 TYPE则默认长度为1的C类型。 SY-SUBRC:系统执行某命令后,表示执行成功与否的变量,"0"表示成功 SY-UNAME:当前使用者的name SY-DATUM:当前系统日期 SY-UZEIT:当前系统时间 SY-TCODE:当前执行程序的Tcode 数值文字不加单引号 123,-123 字符文字加单引号 "HELLO","123.4","123E4" CONSTANTS语句用来定义常数,必须有VALUE值 CONSTANTS a1 TYPE TNAME VALUE8. 一个汉字占两个长度 赋值 MOVE 对象/对象字段 TO 对象/对象字段. 对象/对象字段 = 对象/对象字段. 所有的符号都要用空格隔开,圆括号和操作符都是关键字需要跟操作数之间至少用一个空格隔开。 例:( 20 + 10) *10 + 10 / 2. 用"/"去大值 用DIV取小值 ABS(n):取绝对值 SIGN(n):判断数值符号 n为正,返回1;n为0,返回0;n为负,返回-1; CEIL(n):取大于数值n的最小整数. 例:WRITE CEIL(1.23). 输出2 WRITE CEIL(-2.23). 输出-2 FLOOR(n):取小于数值n的最小整数 例:WRITE FLOOR(1.23). 输出1 WRITE FLOOR(-2.23). 输出-3 TRUNC(n):去数值的整数部分 例:WRITE TRUNC(1.23). 输出1 WRITE TRUNC(-2.23). 输出-2 FRAC(n):去数值的小数部分 例:WRITE FRAC(1.23). 输出0.23 具体用法:
2022-12-31 18:02:531

ABAP是什么?

ABAP,是一种叫做SAP的ERP软件专用的开发语言,SAP是德国人开发的ERP软件,在全球,很多大公司都用这个,国内大公司也基本用这个。SAP本身就是用ABAP写的,所以关于SAP的二次开发,也是用这个语言,开始是结构化编程,现在也有面向对象写法,不过呢,语法不难,关键是得了解这个SAP系统,另外还得了解公司的业务,其实只要给你一个入门的机会,这些都不难。
2022-12-31 18:02:591

abap很厉害是怎么一种体验

abap很厉害的分2种,1. 就是精通abap的业务顾问, 能自己出需求, 自己完成开发. 不管什么需求给他, 只需要说个大概, 别人就能给出一份相差不大的东西出来. 2. 非常专业的abap, 不管程序出任何问题, 任何需求, 都能满足你的需求. 方式各种各样, 比如: 动态的程序, 总能做出你找不到的增强, 等等
2022-12-31 18:03:041

SAP的ABAP作为开发语言有什么优势

1.SAP不可能放弃ABAP的,放弃ABAP的历史成本太大。2.ABAP的最大好处是易学易用。3.ABAP有面向对象,有指针,比C++易读,debug方便。4.ECC平台的其他东西比较强大,这些不用ABAP语言无法使用,例如DDIC,LDB等。5.Webdynpro for ABAP很恶心,一点也不友好,不过Webdynpro for Java更恶心一些。6.ABAP也在进化,以后重点会放在描述业务底层上,前台代码应该都是 SAP UI5和Fiori了。
2022-12-31 18:03:101

ABAP的基本数据类型

数据类型的作用:用来定义数据变量。ABAP按照定义的方式 1.预定义数据类型:SAP中预定义的类型 关于预定义数据类型: 数字类型: I(整数类型) 默认初始值是0(4Byte) P(小数类型)默认初始值是0  在定义数据类型P时,需要指定小数位数。(8byte)(可变长度为1-16byte) P类型1字节前两位由数字构成,后面几位是符号位。 如:DATA test TYPE P LENGTH 10 DECIMALS  3.         这里定义了一个p型变量test 长度是10,小数位数是3. 字符类型: C(char/文本类型) 默认初始值为空(1byte) D(日期类型) 格式为:YYYYMMDD  默认初始值是"00000000".(8byte)sy-datum(存储当天日期的变量) T(时间类型) 格式为: HHMMSS 默认初始值是‘000000"(6byte)sy-uzeit(存储现在时刻的变量)字符串类型:STRING 默认长度为0,有效长度为任意长度,默认值为空字符串。                          这表示定义STRING类型变量不需要指定长度 在定义预定义数据类型时,我们知道所有数据类型都具有初始值,那么使用VALUE选项就可以设置初始值 如果使用VALUE IS INITAL语句,则变量使用默认初始值。(省略此语句,结果相同) 这里就知道了预定义数据类型可以分为:1.预定义可变长度数据类型                                                                   2.预定义固定长度数据类型 在定义预定义数据类型的变量时,D,F,I不用指定长度,而C,N,X需要指定其长度,其中类型P 还需要指定小数位数。(DECIMALS). 2.全局数据类型(数据字典类型):SE11里定义的数据类型, 所有程序都可以使用的数据类型 。 全局数据类型顾名思义就是所有程序都可以使用的数据类型。3.局部数据类型(用户自定义的数据类型):用户程序中 使用TYPES关键字来自定义的数据类型 如:TYPES ty_var_c10 TYPE c LENGTH 10. "这里就定义了一种长度为10的字符类型ty_var_c10DATA,TYPES,和TYPE 的区别 DATA 是用来直接声明实际的变量,可以指定变量类型是 预定义类型或自定义类型 DATE c1 TYPE c LENGHT 10. TYPES是用来定义局部数据类型的,定义的是类型而不是变量 TYPES ty_var_c10 TYPE c LENGTH 10. 这里的ty_var_c10 就时用户自定义的数据类型。TYPE是用来指定类型的,当TYPE和DATA关键字一起使用时,则是用于定义变量的类型; 当TYPE和TYEPES关键字一起使用时,就是用于定义自定义类型。 LINK(用来定义数据变量的类型) DATA: gv_num3  LINK gv_num1. 这里LINK的作用就是定义变量gv_num3且它的数据类型为gv_num1.按结构区分的数据类型 基本数据类型:固定长度数据类型                           可变长度数据类型 参考数据类型:数据参考类型                           对象参考类型 复杂数据类型:结构类型                           表类型
2022-12-31 18:03:161

abap什么意思

ABAP advanced business application programming 高级商业应用编程
2022-12-31 18:03:222

ABAP 主要有哪些作用

2022-12-31 18:03:333

ABAP的问题

SE80没有package选项 从未见过自定义表所参考的数据元素 对应的域 属性里面勾选上lower case 这样子就允许输入小写了。当然可以在代码里直接更新数据库,这样也是写入小写的EXPORT ctest 但是IMPORT ctest2,使用IMPORT ctest就可以得到值了 
2022-12-31 18:03:441

ABAP 怎么读?

[ʌbʌp] Advanced Business Application Program
2022-12-31 18:03:493

ABAP和JAVA如何抉择?

选择ABAP比较好。ABAP和SAP紧密结合,尤其在开发报表方面,坦率地讲,除了和SAP集成的好处,并且ABAP在报表开发上比Crystal report Tool要高效简单。和VB一样,ABAP是解释型的,如读者精通VB,学习ABAP应该毫不费力,倒是既然SAP是企业管理解决方案,ABAPer必须对企业管理流程熟悉。特点:1、在对数据库处理方面,除了可直接执行SQL,SAP在ABAP开发环境层还提供了一套Open SQL访问底层数据库。2、程序员都知道Windows平台下开发都支持事件驱动,Windows系统本身也支持事件驱动,ABAP也提供了事件驱动,这表Dialog编程方面,但是ABAP在此方面并不强,而且相对讲也比较难于掌握。3、基于面向对象的风靡,ABAP在此方面也有相当反应,在SAP强大的软件包中提供了大量可重复使用的程序,读者也可定义类并使用它快速建立新的对象。
2022-12-31 18:03:591

ABAP 程序有哪些类型

具体的可以在程序属性的程序类型选择列表里面看到,主要是下面这几类:1、可执行程序 (stand-along program类型为 1) ,特点是可以直接执行,而无需事务码,这个也是一般报表开发最常用的程序类型。2、为屏幕绘制器画出的屏幕所用的模块池 (module pool程序类型为 M) ,包含了来自业务的屏幕模块的处理步骤,它只能通过事务码或者菜单功能调用。 3、包含程序 (include program程序类型为 I) ,包含了不能独立运行的程序代码,也就是说,无论你是在 SE38 里用执行功能还是通过事务码或菜单调用,都无法打开一个包含程序。它们的作用主要是让程序变得清晰和可以被重用,在其他程序里,用 INCLUDE 语句可以把一个包含程序加到程序里。最终的效果相当于用被包含的程序里的全部内容替换调 INCLUDE 语句。 4、子程序 (subroutine pool程序类型为 S) ,这种类型的程序里只包含被外部 PERFORM 语句调用的程序块。也就是说,只包含形如 FORM ... ENDFORM 块的程序代码,从外部程序里,用 PERFORM IN PROGRAM [IF FOUND]. 来调用。 5、函数组 (function group程序类型为 F) ,这类程序包含了函数模块。函数组和函数模块用函数制作器进行管理,事务码 SE37。在创建函数组和函数模块时,函数制作器把程序类型设置为 F。 6、接口池 (interface definitions程序类型为 J) 包含了接口。类和接口都在类制作器中管理,事务码 SE24。 7、类池 (class definitions程序类型为 K) ,包含了类。类和接口都在类制作器中管理,事务码 SE24。
2022-12-31 18:04:101

ABAP 内表

内表:在程序内部定义并使用的表。 内表刚定义时不会事先指定占用实际内存的大小,用INITAL SIZE也并不能使内表占用实际内存空间,只是预约内存空间。 标准表:有顺次索引的树形结构内表,是可以利用索引和关键字操作的内表;标准表的关键字不唯一,在定义时不能使用WITH UNIQUE KEY语句。 DATA: 表名 LIKE/TYPE STANDARD TABLE OF 要参考的变量或类型                                                   WITH NO-UNIQUE KEY    字段名. 排序表:与标准表一样都是索引表,其中排序表是已经按照关键字排序好的内表类型,且可以使用WITH UNIQUE KEY 或 WITH NO-UNIQUE KEY;排序表是已经排序好的内表类型,所以不能使用SORT语句进行再次排序。 DATA: 表名 LIKE/TYPE SORTED TABLE OF 要参考的变量或类型                                                   WITH NO-UNIQUE KEY    字段名. 哈希表:没有索引,只能指定UNIQUE关键字(关键字内容不能重复)。 DATA:表名 LIKE/TYPE HASHED TABLE OF 要参考的变量或类型                                                   WITH UNIQUE KEY    字段名. 在定义内表时没有WITH HEADER LINE则该内表没有表头,在往内表里APPEND数据时,需要追加工作区(这里可以是结构体,也就是说需要先给工作区赋值,然后再APPEND 工作区 TO 内表)。其它对内表行内容执行的操作同样也要借助工作区才能实现。 如果在定义内表时追加WITH HEADER LINE(表头),这时就定义了一个带表头的内表,表头的下一行就是内表的第一行,这时内表的表头就承担了工作区的职能。 往带表头的的内表里追加数据时,只需要先给表头赋值,在APPEN 内表名就可以了 APPEND itab = APPEND itab TO itab.(这句话的意思就是把表头里的数据追加到内表中) 这是因为内表名与表头名相同 INSERT itab/wa INTO TABLE itab. = INSERT TABLE itab. COLLECT itab/wa INTO itab = COLLECT itab. READ TABLE itab INTO itab/wa = READ TABLE itab. ... 内表赋值 MOVE itab1 TO itab2. "这里需要注意的是带表头的内表用这种赋值方法只会赋值表头中的数据。 要想赋值表体中的数据,可以用以下的方式: MOVE itab1[] TO itab2[]. 当然这两种赋值方式执行成功的前提是两个表的类型需一致,要想赋值不同类型的内表可以使用如下: MOVE-CORRESPONDING itab1 TO itab2. "这种方式是赋值对应字段内表的初始化 CLEAR itab (带表头的内表只删表头,不带表头的内表删表体) CLEAR itab[] (删除带表头的表体)内表排序 1.SORT(可以排序标准表和哈希表) 用内表的关键字堆排序语法:SORT itab [ASCENDING | DESCENDING].其中ASCENDING是升序(默认排序),DESCENDING是降序。对于没有设有关键字的内表进行排序时,讲组合字符串类型的字段作为主键进行排序。 2.指定排序字段 SORT itab [ASCENDING | DECENDING]  BY f1 [ ASCENDING | DECENDING]                                      ... fn [ASCENDING | DECENDING].(如果字段f1出现空值,则会排出此列) 3.Stable SORT SORT itab ... STABLE. "保留序列号 内表属性 DESCRIBE TABLE itab [LINES gv_line] [OCCURS gv_init] [KIND kind]."LINES返回包含的数据件数,OCCURES返回内表的初始大小,KIND返回内表的类型T(标准表)S(排序表)H(哈希表)。 追加内表数据 1.INSERT 追加一条数据时(两个表的类型相同 ) INSERT wa INTO TABLE itab."没有定义表头的内表                                                               INSERT itab.  "定义过表头的内表 追加多条数据时(两个表类型相同)       INSERT lines OF itab1 [FROM n1] [TO n2] INTO TABLE itab2." 带不带表头的内表都可以使用这种方式。 2.利用索引追加一条数据(不能用于哈希表) INSERT line INTO itab [Index idx]."利用Index语句可以在指定的索引位置追加一条数据,语句执行成功时SY-SUBRC返回0,SY-TABIX返回索引值,带表头的内表INSERT itab INDEX 1. 利用索引还可以追加多条数据 INSERT LINES OF itab1 INTO itab2 INDEX idx. 不同类型的内表具有各自不同的INSERT效果 标准表:追加数据到内表的最后一行(与APPEND效果相同) 排序表:按照内表排序好的顺序追加数据(若关键字是不唯一的,重复数据会追加到相同数据的上一行中,若关键字唯一则报错) 哈希表:按照表关键字的哈希索引顺序追加数据 2.APPEND 只能利用索引追加数据,因此哈希表不能使用此语句 追加一条数据时(表类型相同): APPEND wa TO itab. (SY-TABIX保存追加数据的内表行,即追加后内表的索引编号) 追加多条数时(表类型相同):APPEND LINES OF itab1 [FROM n1] [TO n2] TO itab2.       注意:尽量不要使用APPEND往SORTED TABLE 里追加数据                                                                                                                  3.COLLECT:可以合计内表中数字类型的字段 除了关键字以外的数据都需要是数字类型(f,i,p)(这不代表关键字不能是数字类型),当存在相同关键字的数据时,合计数字类型的字段,不存在相同关键字的数据时,直接追加数据(不存在关键字的内表,则会把char类型的字段作为关键字进行相同的操作) COLLECT wa INTO itab.1.MODIFY(可以利用关键字或索引修改数据)     利用关键字修改一条数据(若内表关键字NON-UNIQUE,即存在重复数据时,会修改第一条数据):MODIFY TABLE itab FROM wa [TRANSPORTING f1 ...fn].( 利用transporting可以修改指定字段 );如果是带表头的内表可以省略FROM wa     利用WHERE条件修改多条数据:MODIFY itab FROM wa TRANSORTING f1 .. fn WHERE cond. (其中cond是字段限制条件)     利用索引修改一条数据:MODIFY TABLE itab FROM wa INDEX idx [TRANSPORTING f1 ... fn].(在loop循环中可以省略index选项,此时会修改当前行数据)在LOOP循环中,MODIFY TABLE itab变为MODIFY itab.     利用工作区删除内表中的一条数据:DELETE TABLE itab FROM wa.     在关键字不唯一的标准表中使用WITH TABLE KEY删除重复数据中的一条数据:DELETE TABLE itab WITH TABLE KEY k1 = f1 ... kn = fn.     利用WHERE条件删除多条数据:DELETE itab WHERE cond.     利用索引删除内表数据:DELTE itab INDEX idx.  利用索引也可以删除多条数据 DELETE itab FROM n1 TO n2."删除从n1到n2的数据 DELETE itab FROM n1."删除从n1开始之后的所有数据 DELETE itab TO n2."删除从开始到n2的数据     利用ADJACENT DUPLICATE语句删除重复行(执行此语句前,先用SORT语句进行排序) DELETE ADJACENT DUPLICATE FROM itab COMPARING  ALL FIELDS(所有字段相同才算重复)                                                            COMPARING 指定字段 (指定字段相同才算重复) 利用read读取内表数据。当存在表头时,对应得数据会保存到表头中。     利用关键字读取内表:READ TABLE itab FROM wa INTO result.(wa和result均是工作区,可以利用给wa赋值某关键字去唯一确定内表中的一行数据,然后读取到result中)如果内表存在表头可以省略FROM以及之后的内容。                                                                          READ TABLE itab WITH TABLE KEY k1=f1 ... kn=fn INTO result.(带表头的内表可以省略INTO之后的内容)     利用索引读取内表:READ TABLE itab INDEX INTO result.(带表头的内表省略INTO之后的内容)
2022-12-31 18:04:151

请教一下,ABAP有哪些特性和优点呢?

1、ABAP/4是面向对象语言。它支持封装性和继承性。封装性是面向对象的基础,而继承性则是建立在封装性基础上的重要特性。2、ABAP/4具有事件驱动的特性。3、ABAP/4和COBOL具有类似之处。4、ABAP/4适合生成报表。5、ABAP/4支持对数据库的操作。希望能帮到你,详情的话你可以咨询成都启航动力sap abap开发部
2022-12-31 18:04:222

ABAP基础-字符串处理

该语句连接字串s1...sn并将结果赋给s_dest,其中s_dest也可以是s1...sn中的某个变量。选项SEPARATED BY 用于指定一个字串作为分隔符,在构成新字串时插入在s1...sn之间。如果连接后的长度超过了目标数据定义长度,则把截断赋给c。如结果出现截断情况,SY-SUBRC返回4,否则该值返回0.要避免截断,可以将将c定义为String,该类型长度自适应。 该语句在源字串中搜索分隔符sep,并根据该分割符将元字串拆成各个小串放到目标字段s1 ... sn中,这些子串不包括分隔符。与连接语句类型,如结果出现截断情况,SY-SUBRC返回4,否则该值返回0。如果源子串能够拆分的子串多过指定数目,则源子串最后剩余部分包括其后的分割符都将写入最后一个子串,要避免这种情况,需要使用内表进行操作。 SPLIT s_source AT sep INTO TABLE itab. 语句LOOP AT用于循环输出内表的每一行数据。 改语句在字段c中查找字符串str。如果找到,则将SY-SUBRC返回0,SY-FDPOS返回字段c中该字符串的位置(从做算起的字节偏移量),否则将SY-SUBRC返回4。所谓模式是指要查找的字串不一定与str完全一致,可以设定忽略或保留str末尾的空格,或利用通配符“*”扩大其查找灵活性,由下列几种模式: 该语句对字段s_dest进行搜索,如果在其中出现了字符串str1,则用str2替换第一次出现的部分。如果未指定长度,则搜索整个s_dest。如果指定长度len,则只搜索前len个字节。如果字段SY-SUBRC返回0,则说明已经替换;非0则意味着未进行替换。 字符型逻辑表达式用于判断两个字符串之间的包含关系 CO,CN,CA,NA比较时要区分大小写,并且尾部空格也在比较的范围之内;使用CS,NS,CP,NP比较时忽略尾部空格并且比较不区分大小写。比较结束后,如果结果为真,系统字段SY-FDPOS将给出s2在s1中偏移量信息。 CP和NP被称为模式比较逻辑表达式,意义在于可以使用通配符。 “*”用于替代任何字符串,“+”用于替代任何单个字符。 如需对大小写或尾部空格进行区分比较,需要将换码字符“#”放到相应的字符前。下面列出可以使用“#”指定的功能: 通常,必须将偏移量和长度指定为无符号数。然而,一下情况中可以使用变量动态指定: 对字符类型,数值文本字段,十六进制字段,日期和时间字段指定偏移量是有意义的;类型F,I,P数值字段则不要使用指定偏移量。
2022-12-31 18:04:301

现在做ABAP开发前景怎么样

ABAP的东西很容易学的,基本的语句1个月就都会了。 2年左右基本就瓶颈期了,编程水平基本就不再提高了。ABAP是做SAP里面地位比较底的一个角色,被人差遣。基本也就是个码农,但相对来说比C或C++之类的要稳定,在企业里面最近10年内应该还是比较稳定的。ABAP水平高低很大程度上并不是在coding 能力的强弱,这个在企业里面的应用层面很难体现,主要还是看你对生产业务的理解和熟悉程度,是否能和业务人员或顾问沟通,把他们的需求快速准确的实现。你刚毕业的话,还是建议你去尝试一下, SAP的前景目前看还是不错, 从ABAP开始也是一个踏入SAP圈子的机会。以后有机会可以装BASIS或业务的工作。
2022-12-31 18:04:351

ABAP发展前景怎样

首先,ABAP的发展前景还是不错的,ABAP主要在ERP的二次开发上用的比较多,学习ABAP比较好的话,以后钱不是问题的,就算以后转BW话,有ABAP基础和相关模组的业务经验了。SAP产品链比较长,目前发展的前景不错,国外有名的企业基本都在用,不管你精通哪个部分都是不错的,说的明白点就是薪资算中上等了。目前国内的企业没有多少在使用SAP,因为价钱的问题,不过现在会越来越好,SAP的市场也从一线城市在向二线转移,不过需要一段时间了,如果楼主想从事这方面的工作的话,基本上出差和Base在北上广、大连、成都的较多,你可以考虑下自己的以后发展方向。这是过来人给你讲了,因为我目前也是在外面跑,没有家的感觉...所以还是要考虑下自己的具体情况总的来讲,如果楼主是刚毕业就接触ABAP,是很不错的机会了,如果是半路出家,从模组转向ABAP,那也不错,把自己模组相关的经验巩固好后学ABAP再转BW,那就无敌了。
2022-12-31 18:04:406

abap 是什么东西啊。提示提示 a

ABAP是一种高级企业应用编程语言(Advanced Business Application Programming),起源于20世纪80年代。经过不断的发展,现在的版本为ABAP/4,SAP R/3的应用程序就是用ABAP/4编写的。
2022-12-31 18:05:051

ABAP基础之什么是ABAP指针

ABAP里面叫Field-symbol,定义用<XXX>表示,赋值用ASSIGNFIELD-SYMBOLS: <FS_DATA> TYPE ANY....LOOP AT GT_TAB ASSIGNING <FS_DATA>. "这里面对<FS_DATA>的操作就是对内表GT_TAB的操作ENDLOOP.
2022-12-31 18:05:101

SAP的ABAP作为开发语言有什么优势

小众,竞争不激烈,容易上手。
2022-12-31 18:05:152

ABAP几种内表的操作

ABAP中有三类内表,标准表,排序表和哈希表。 三种内表介绍 标准表的每一行对应一个逻辑索引-SY-TABIX,填充内表的时候,可以将数据附加在现有行 之后,也可以插入到指定的位置,程序对内表行的寻址操作可通过关键字或索引进行。在对表 进行插入删除等操作时,各数据行在内存中的位置不变,系统仅重新排列各数据行的索引值。 排序表也有逻辑索引,不同的是排序表总是按其表关键字升序排列后再进行存储,也就是在 内存中的位置发生改变。 哈希表没有索引,只有关键字。系统用哈希算法管理表中的数据,因而其寻址一个数据行的时间与表的行数无关。 表关键字 内表关键字在访问内表以及排序时非常之关键,定义时通过With key来定义,这也是一个可选项,即如果没有显式声明,那么内表中的非数值型栏位都为Key。 还有Unique的问题,即唯一性关键字声明,标准表不能使用此关键字,排序表可以用UNIQUE 或NON-UNIQUE,哈希表不能使用NON-UNIQUE,只能使用唯一表关键字。 行访问方式标准表排序表哈希表索引访问允许允许不允许关键字访问允许允许允许相同值关键字行可重复 可重复或不可重复不可重复推荐访问方式 主要通过索引 主要通过关键字 只能通过关键字 对于一个小于100行的内表,且很少使用关键字操作,则使用标准表没有效率问题;数据量 比较巨大,切不存在重复行,只需使用关键字访问的内表应定义为哈希表;排序表适用于运行 期内必须以某种排序形式出现的内表。
2022-12-31 18:05:231

abap 中form和perfrom 都是干什么用的

form是一段代码,类似java中类里的方法。perform是调用form的关键字
2022-12-31 18:05:292

SAP ABAP 运算符

ABAP提供了一组丰富的运算符来操纵变量。 所有ABAP运算符分为四类 : 01-算数运算符 02-比较运算符 03-按位运算符 04-字符串运算符 算术运算符在数学表达式中使用的方式与在代数中使用的方式相同。 以下列表描述了算术运算符。 假设整数变量A保持20并且变量B保持40。 算数运算符的例子: 不同操作数的各种类型的比较运算符 注意 - 如果变量的数据类型或长度不匹配,则执行自动转换。 在比较不同数据类型的两个值时,对一个或两个值执行自动类型调整。 转换类型由数据类型和数据类型的首选顺序决定。 以下是自动转化的顺序 : • 如果一个字段是类型I,则另一个字段转换为类型I. • 如果一个字段是P类型,则另一个字段转换为类型P. • 如果一个字段是类型D,则另一个字段转换为类型D.但是C和N类型不转换,它们直接比较。 类似于类型T的情况。 • 如果一个字段是类型N,另一个是类型C或X,则两个字段都转换为类型P. • 如果一个字段是类型C,另一个是类型X,则X类型转换为类型C. 比较运算符例1: 比较运算符例1: ABAP还提供了一系列可以用于构建 布尔代数表达式 的逐位逻辑运算符。 位运算符可以使用括号等组合在复杂表达式中。 例如,以下是真值表,其示出了当对包含在字段A和字段B中的两个比特值应用布尔AND,OR或XOR运算符时生成的值。 说明: 1.(BIT-NOT)非门:逆转输入的高低状态。逻辑函数表示为F=A"。 2.和(BIT-AND)与门:所有输入为高时,才会有输出高。逻辑函数表示为F=A*B。 3.要么(BIT-OR)或门:所有输入为低时,才会有输出低。逻辑函数表示为F= A + B。 4.XOR(BIT-XOR)或非门:所有输入为低时,才会有输出高。逻辑函数表示为F=(A + B)"。 例子:
2022-12-31 18:05:371

有谁知道ABAP开发需要掌握的技术有哪些

ABAP基本技术有: Report(Lists&ALV), Dialog, RFC, Forms, BAPI, Enhancements(BADI), Webdynpro(ABAP&JAVA), BSP, ALE&Idoc, LSMW, Workflow, Dictionary, BDC&CATT&eCATT。现在SAP推出的ECC是基于NetWeaver平台的,所以对NetWeaver平台也要有一定了解。
2022-12-31 18:05:426

ABAP ALV 单击时如何获取行号?

获取行号的代码如下:FORMuser_commandUSINGu_ucommLIKEsy-ucommu_selfieldTYPEslis_selfield.READTABLEGT_SHOWINDEXu_selfield-tabindex.
2022-12-31 18:06:041

ABAP程序有具体的结构吗?一般结构是什么?

在程序里面你可以把它看作一个工作区,相对表来说就是一行数据(表可以有多行数据,结构只能有一行)。
2022-12-31 18:06:093

sap 的ABAP 是什么意思??

SAP R/3系统是德国SAP公司制作的大型商用ERP软件,ABAP是在这一专用平台上的开发语言。ERP(Enterprise Resource Planning)企业资源计划。
2022-12-31 18:06:201

abap在医学上是什么意思

ABAP是德国思艾普公司的ERP产品SAP的二次开发语言,医学上没有找到相关术语。是不是哪家医院的管理系统是SAP的ERP,在系统做客户化的时候需要用到ABAP语言
2022-12-31 18:06:291

ABAP几种内表的操作

ABAP中有三类内表,标准表,排序表和哈希表。 三种内表介绍 标准表的每一行对应一个逻辑索引-SY-TABIX,填充内表的时候,可以将数据附加在现有行 之后,也可以插入到指定的位置,程序对内表行的寻址操作可通过关键字或索引进行。在对表 进行插入删除等操作时,各数据行在内存中的位置不变,系统仅重新排列各数据行的索引值。 排序表也有逻辑索引,不同的是排序表总是按其表关键字升序排列后再进行存储,也就是在 内存中的位置发生改变。 哈希表没有索引,只有关键字。系统用哈希算法管理表中的数据,因而其寻址一个数据行的时间与表的行数无关。 表关键字 内表关键字在访问内表以及排序时非常之关键,定义时通过With key来定义,这也是一个可选项,即如果没有显式声明,那么内表中的非数值型栏位都为Key。 还有Unique的问题,即唯一性关键字声明,标准表不能使用此关键字,排序表可以用UNIQUE 或NON-UNIQUE,哈希表不能使用NON-UNIQUE,只能使用唯一表关键字。 行访问方式标准表排序表哈希表索引访问允许允许不允许关键字访问允许允许允许相同值关键字行可重复 可重复或不可重复不可重复推荐访问方式 主要通过索引 主要通过关键字 只能通过关键字 对于一个小于100行的内表,且很少使用关键字操作,则使用标准表没有效率问题;数据量 比较巨大,切不存在重复行,只需使用关键字访问的内表应定义为哈希表;排序表适用于运行 期内必须以某种排序形式出现的内表。
2022-12-31 18:07:081

ABAP 字段汇总

首先可以将满足条件的数据取出来放入内表,然后对内表循环累加处理,可以实现你的需求(注意该表中金额本身带有正负号的)或者使用聚合函数SUM处理也可以,处理完之后再将16个字段的合计进行汇总即可,
2022-12-31 18:07:131

请问abap开发和java开发哪个好一点?会java基础的话,abap就不难吗

abap开发和java开发差不多。会java基础的话,abap相对上手比较快。有关开发问题,推荐千锋教育,千锋教育采用全程面授高品质、高体验培养模式,学科大纲紧跟企业需求,拥有国内一体化教学管理及学员服务,在职业教育发展道路上不断探索前行。ABAP开发环境包括设计和开发程序、屏幕、菜单、功能模块等所需的一切工具。它还包括了程序调试、性能和在线分析、测试所需的实用程序。ABAP/4是SAP自己的第四代编程语言。从4.0版本开始,它简称为ABAP;它是经技术改进的I刮名语言,主要添加了新特性以成为面向对象的语言。ABAP的意思是“先进经营应用编程语言”,这表明SAP编程语言用于开发R/3套件中所有的标准经营应用程序。java开发经常涉及的几个主要技术内容包括java的流技术、线程、网络通信、jdbc技术、web编程、struts框架、分布式编程、ejb、java数据结构等。想要了解更多有关开发的相关信息,。千锋教育成立教研学科中心,推出贴近企业需求的线下技能培训课程。课程包含HTML5大前端培训、JavaEE+分布式开发培训、Python人工智能+数据分析培训、全链路UI/UE设计培训、云计算培训、全栈软件测试培训、大数据+人工智能培训、智能物联网+嵌入式培训、Unity游戏开发培训、网络安全培训、区块链培训、影视剪辑包装培训、游戏原画培训、全媒体运营培训。采用全程面授高品质、高体验培养模式,非常值得选择。
2022-12-31 18:07:191

sap abap 前景怎么样?请大侠赐教?

个人觉得ABAP因为封闭的关系,只能跟着SAP大船起伏了,基于SAP的地位,短期内应该还是发展机会比较稳定,将来不太好说
2022-12-31 18:07:373

ABAP 中如何输出换行符?

/ 前后有空格
2022-12-31 18:07:493

abap编程,字符如何分割?

ABAP里面的偏移量标准语法:<f1>[+<o1>][(<l1>)]表示字段 <f1> 中从 <o1>+1 位置开始且长度为 <l1> 的内容比如data: lv_date like sy-datum value ‘20130704‘.lv_date+0(4) 就是截取从第一位开始,长度为4的字符串"2013‘.
2022-12-31 18:08:002

用ABAP语言编程实现:当用户双击某一行数据时,显示具体的明细信息,使用ALV格式显示数据。

刚好写完一个,发你邮箱了
2022-12-31 18:08:083

如何提高ABAP程序运行效率

•尽量使用SELECT(MAX,MIN,SUM,AVG)和SELECTSINGLE;•尽量使用SELECT…INTO TABLE tab ,避免使用SELECT*;•不要使用SELECT…ENDSELECT语句;•所需的数据时来自簇表BSEG时,可使用透明表代替。•BSAD:应收明细(已清帐)•BSID:应收明细(未清帐)•BSAS:总帐明细(已清帐)•BSIS:总帐明细(未清帐)•BSAK:应付明细(已清帐)•BSIK:应付明细(未清帐)•尽量避免在LOOP 中访问数据库,可以再之前先将数据取到内表,然后在LOOP中使用二分法查找READ TABLE tab WITH KEY ….BINARY SEAECH。
2022-12-31 18:08:202

ABAP提示消息几种写法

3种吧。。。。。。。。。。。
2022-12-31 18:08:293

sap abap 怎么读

啊 靶
2022-12-31 18:09:075

SAP内存和ABAP内存的区别

这个总结的就很好啊,给你分享下:1、读取和使用方法不同SAP内存使用SET/GETparameters方法;ABAP内存使用 EXPORT 和 IMPORT 方法;2、共享范围不同SAP内存可以被所有的主session访问,内存数据可以同一个session中不同程序之间,或者不同session之间;ABAP只能在同个session的不同程序之间共享数据;3、作用范围不同SAP内存在整个终端session时间内都有效;ABAP内存只能在一个session时间内有效;4、使用一般原则SAP内存用于屏幕默认值输入;ABAP内存用于模块之间传替数据
2022-12-31 18:09:261

想学sap,abap推荐几本书

最有名的是黄佳的那本黄皮书,上网查黄佳 abap就可以还有一些其他的如:《SAP从入门到精通》《实战SAP程序开发——从实例学SAP ABAP编程 》《ABAP速查指南》。如果想用java进行开发的话《SAP应用服务器的JAVA编程(影印版·精装此)》此外有很多网站上或是论坛也可以学习abap开发,如sapwho 这个论坛
2022-12-31 18:09:326

[讨论]ABAP难学吗?

ABAP/4要做到专精,比顾问好! 如你能做到在一个介面管理整个Sales Order的过程. S/O出货,Billing,收款等等状况.并且还留有你自己开发的User_Exit,让你的用户可以进行类似SAP Enhancement的开发. 此时,你的薪水也是很高的哦
2022-12-31 18:09:542

abap中有数组吗?

ABAP中没有数组的概念. 但是有内表这种数据库表的内存抽象数据类型. 一般的内表(结构非深层结构)就可以认为是一个二维数组. 如果你需要三维,四维数组的话,需要在定义内表结构的时候将结构定义为深层的结构,也就是说结构的某个字段是一个内表.
2022-12-31 18:10:036

abap 如何锁表

bpkdww回答的使用方法没有问题,但是原理解释有些不好。实际上在ABAP字典中创建的锁对象后使用时应称之为逻辑锁,如果需要锁表,必须遵从使用规范即:在操作前必须调用锁表的FM进行锁表,如果不进行锁表或者锁表失败后直接对数据库操作是完全没有限制的。调用FM进行锁表时系统中实际上是在一张特定数据库表中记录了一条锁定记录,当DEQUEUE或者进程结束时该记录会被删除,以此来控制数据库表的锁定。
2022-12-31 18:10:252

abap 英文怎么发音?

A~BA~P(u), 我是做SAP培训的,我们就这么叫,老外一般也这么叫,语言么,约定俗成。
2022-12-31 18:10:333

abap 过程化事件

1、LOAD-OF-PROGRAM 程序执行时,自动触发该事件 2、INITIALIZATION 初始化 3、AT SELECTION-SCREEN OUTPUT 选择屏幕PBO事件,显示选择屏幕之前触发 4、AT SELECTION-SCREEN 选择屏幕PAI事件,在选择屏幕上执行功能时触发 5、START-OF-SELECTION 数据选择行开始 6、END-OF-SELECTION 数据选择行结束 7、TOP-OF-PAGE 页眉控制 8、END-OF-PAGE页脚控制 9、AT LINE-SELECTION 行选择控制,用户选择或者双击某行时触发 10、AT USER-COMMAND用户交互控制,用户选择某个GUI功能时触发。
2022-12-31 18:10:441

ABAP中三种基本的数据对象是

表、结构、数据元素
2022-12-31 18:10:493

abap减法怎么用

DATA: l_int1 TYPE i,      l_int2 TYPE i,      l_int3 TYPE i.l_int1 = 10.l_int2 = 4.l_int3 = l_int1 - l_int2.WRITE:/ l_int3.
2022-12-31 18:11:031