- 余辉
-
由于SAP软件的费用非常昂贵,所以只有大型企业才能负担得起,所以abap不像java等其他开发语言,有兴趣的人安装一个IDE,就可以自学了, 故入门机会不是很多,懂得ABAP开发的人也不像JAVA程序员那般多。 当然也正因为只有大企业才用得起SAP,那么就业机会也不会像JAVA程序员那样多。
如果有机会进入一些上了SAP的企业,或者一些咨询公司边做项目,边学ABAP的话,个人感觉还是很不错的,发展前景也不错,至少薪资比一般的程序员会高。
但是鉴于你的问题我猜测,您是否是打算参加一些纯的ABAP开发的培训,然后拿个证书再去找工作? 如果是这样的话,那么找工作就比较困难了。(除非你是在大学毕业之前学会ABAP,那么毕业找工作将会有很大优势)
希望能帮助到您,如果还有其他问题,尽管问我吧^^
- 牛云
-
不错,自己搞本书看看就好了,现在需求量不错,没去bw了!
- 南yi
-
看看 hatelove85911 的吧,他说的很中肯。
ABAP是什么?
ABAP(Adwanced Business Application Programming)是一种高级编程语言,起源于20世纪八十年代,由德国软件公司SAP开发,主要用作SAP的编程。2023-06-21 08:25:101
SAP ABAP开发是做什么?
对SAP系统进行二次开发2023-06-21 08:25:185
如何评价abap,它的前景如何?
单说abap开发, 目前而言,如果在abap这条路上一路走到黑,不管是前途还是钱途,都不容乐观。因为abap只是sap的基础开发语言,正如其他朋友说的,ABAP 是SAP商用套件专用开发语言,受到开发环境和平台。说说sap的前景。 大家认同不认同这么一个观点,当前社会上绝大部分科技进步发展,人类做的任何事都是为了满足自己的需求。就如同当前炒的比较火的互联网开发一样,无非是为了更加方便,快捷的满足人们的需求,使用体验更。发展前景:说实话,这个很小众,就业限制也很多,只有大公司才会上SAP,但是因为从事这个的人比较少,所有这方面的人才比较稀缺,有些公司招一年都招不到人。但是如果可以选择还是选一些应用比较广泛的,比如JAVA,C#,薪资的话也没有这两种语言高,打个比方一个有3年以上的经验的薪资大概只要7000到10000,当然也要看城市。2023-06-21 08:25:431
abap是什么语言
ABAP是一种高级企业应用编程语言(Advanced Business Application Programming),起源于20世纪80年代。经过不断的发展,现在的版本为ABAP/4,SAP R/3的应用程序就是用ABAP/4编写的。 ABAP/4是面向对象语言。它支持封装性和继承性。封装性是面向对象的基础,而继承性则是建立在封装性基础上的重要特性。 ABAP/4具有事件驱动的特性。 ABAP/4和COBOL具有类似之处。 ABAP/4适合生成报表。 ABAP/4支持对数据库的操作。 SAP最初开发ABAP/4(高级商业应用程序设计)语言仅为内部使用,为应用程序员提供优化的工作环境。经过不断的改进和修改以满足商业领域的需要。现在,ABAP/4已成为SAP开发所有自己的应用程序的仅有工具。 SAP客户用ABAP/4进行其自身开发。这样的开发对R/3标准解决方案适应特殊问题非常重要。ABAP/4开发工作平台包含所有用于创建和维护ABAP/4程序的工具。 ABAP/4的可解释特性使其易于生成、测试并运行程序的中级版本,以便将来生成最终版本。此过程也叫做早期原形处理,意味着您不必丢弃中级版本。 ABAP/4是第四代支持结构化程序设计的语言。它合并了所有通常的控制结构和模块化概念。 在ABAP/4开发宝典中文版的第一部分,对ABAP/4的基本特性进行了详细描述。这些特性包括: · ABAP/4包括 - 带有各种类型和结构的声明数据的声明元素 - 数据制作的操作元素 - 控制程序流的控制元素 - 反应外部事件的事件元素 · ABAP/4支持多种语言。文本摘要(例如,标题、页眉和其他文本)将根据程序代码分别存储。您可以随时在不改变程序代码的情况下更改、转换和维护这些文本摘要。 · ABAP/4支持商业数据类型和操作。您可以用特殊日期和时间字段进行计算。系统会自动执行必需的类型转换。 · ABAP/4提供一系列功能处理字符串。 · ABAP/4包含一个叫OpenSQL的SQL子集。用OpenSQL,您可以读取和访问数据库表,与所用的数据库系统无关。 · ABAP/4允许您定义和处理内部表,该表只在运行程序时存在。内部表使其更容易处理数据表,并帮助使用程序中的复杂数据结构。 · ABAP/4允许您定义和调用子程序。也可以调用其他程序的子程序。参数能够以各种方式从子程序传递或传递到子程序。 · ABAP/4包含一种特殊子程序,叫做功能模块。您可以在中央库中创建和维护功能模块。在调用程序和子程序之间功能模块有一个明确定义的数据接口。它们能够以调用程序的独立模式进行分别测试。 这里有两种主要的ABAP/4程序类型: · 报表程序 报表程序用于分析数据库表中的数据。这种分析的结果可以显示在屏幕上或发送到打印机上。逻辑数据库支持报表程序。逻辑数据库是特殊的ABAP/4程序,使开发者不必编码所有的数据库访问2023-06-21 08:26:001
ABAP学习是否困难,要用多长时间才能学好ABAP
有程序基础的话,入门需要2周左右。真正方方面面都做到,就需要在工作中慢慢学习、积累。2023-06-21 08:26:102
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了。2023-06-21 08:26:261
ABAP 怎么读?
ABAP巴西景观设计师协会?ABAP是巴西景观设计师协会的缩写Associa o Brasileira de Arquitetos Paisagistasquinnyo.spaces.live.com2023-06-21 08:26:332
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 具体用法:2023-06-21 08:26:411
abap什么意思
ABAP advanced business application programming 高级商业应用编程2023-06-21 08:26:482
SAPABAP开发是做什么_sapabap开发入门
abap语言是在SAP系统环境下面的一种编程语言,abap的基本语法还是比较容易掌握的,但是前提是你需要有这样的开发环境,一般如果是自己所在的公司使用的SAP公司的R3系统,则学起来就方便很多了。abap的外围扩展可以使用JAVA语言,abap语言本身也向外围在扩展,前景还是不错的。2023-06-21 08:27:081
ABAP是什么?
ABAP,是一种叫做SAP的ERP软件专用的开发语言,SAP是德国人开发的ERP软件,在全球,很多大公司都用这个,国内大公司也基本用这个。SAP本身就是用ABAP写的,所以关于SAP的二次开发,也是用这个语言,开始是结构化编程,现在也有面向对象写法,不过呢,语法不难,关键是得了解这个SAP系统,另外还得了解公司的业务,其实只要给你一个入门的机会,这些都不难。2023-06-21 08:27:151
[讨论]ABAP难学吗?
就是因为这该死的破ABAP TMD太容易学了,去年我学ABAP时,大概花了三分钟然后一周内俺就将BS sheet, P&L sheet, FI doc. print全给整出来了,因为比起自己写个delphi control,搭好一Java系统架构小小的ABAP太微不足道了.是的,看看SE80,ABAP也可弄interface,Class(类Java),BADI等,可是企业通常连dialog programming都用不到上(其实这些鸟东西也不难,一句话,当你对任何一门语言玩熟的话其他任何语言都是极其容易上手的),你只要熟悉那破SAP query, script form ,smartform再整几个破report就Ok,如需要再整几个enhancement,从某种程度上, 如你没有志向是到SAP AG给破SAP升级,能写report就Ok,没前途呀,兄弟! 所以俺溜的贼快跑去混FICO了,听说这玩意比价容易蒙俩小钱,哈哈.有同感!ABAP是低级的,业务才是高级的;ABAP是无聊的,业务是多变的。2023-06-21 08:27:231
SAPABAP开发是做什么?
abap是开发语言,sap是德国的ERP软件公司它的产品也叫SAP是ERP软件。abap是sap核心开发语言。abap和java,.net,c+,c,c++一样的。2023-06-21 08:27:301
请教一下,ABAP有哪些特性和优点呢?
1、ABAP/4是面向对象语言。它支持封装性和继承性。封装性是面向对象的基础,而继承性则是建立在封装性基础上的重要特性。2、ABAP/4具有事件驱动的特性。3、ABAP/4和COBOL具有类似之处。4、ABAP/4适合生成报表。5、ABAP/4支持对数据库的操作。希望能帮到你,详情的话你可以咨询成都启航动力sap abap开发部2023-06-21 08:27:382
ABAP基础-动态数据对象
ABAP的动态数据对象包括字段符号(filed symbols)和数据引用(data reference)两种形式。 普通数据对象的寻址静态地通过该对象名称进行;而上述两种数据对象则只有在运行时,系统才知道该数据对象的名称和属性,并进行寻址。 在程序运行期内可将数据对象分配给字段符号。成功分配后,使用字段符号或其所代表数据对象本身,是没有任何区别的。换句话说,如果用赋值语句修改字段符号的值,字段符号所代表的数据对象本身的值也随之改变。 声明字段符号需使用 FIELD-SYMBOLS 语句,基本语法格式如下 FIELD-SYMBOLS <fs> [ TYPE type | LIKE dobj ]. 声明字段符号时可以指定类型,该类型决定了运行时何种数据对象可以被分配给一个字段符号,此处可以指定一般性类型和完全限定类型,如果不指定类型,则系统默认该字段符号为一般性类型ANY。 字段符号声明之后,可以进行字段分配,所分配的数据对象应符合字段符号定义时的类型说明。字段符号可以反复进行分配,且分配方式有静态和动态之区分。 在将数据对象分配给字段符号的过程中,可以进行类型的强制转换,即所有数据对象都可以被视为一个特定类型。强制类型转换通过ASSIGN语句中的CASTING附加项指定,该选项的出现意味着可以将一个与字段符号指定类型不兼容的数据对象赋给字段符号。强制类型转换分为显式和隐式两种情况。 如果一个字段符号的类型是完全指定的,或者是ABAP内置类型C,N,P,X之一,可以使用下列格式实现隐式强制类型转换 ASSGIN f TO <fs> CASTING. 当字段分配后,无论其原始数据对象类型如何,系统内表都按照字段符号定义类型对分配的数据对象进行处理。程序中使用的所有数据对象均存储在运行时分配的内存中,每一个对象均对应有其起始的内存地址,该地址是由编译器分配的,一般不能被随意操作。数据对象的内存地址也常常被称作引用。通常情况下,声明数据后,程序通过数据对象的名称对其进行操作,然而有时也通过字段符号或者引用通过其他地址进行操作。 在ABAP中,引用以数据引用和对象引用两种形式存在。 引用变量中包含地址引用,是指向其它数据对象的指针,其实际内容代表某数据对象的内存地址,在ABAP程序中是不可见的。引用类型定义和引用变量声明的语法格式如下: TYPES t_dref TYPE REF TO DATA. DATA dref TYPE REF TO DATA. 引用变量在ABAP作为结构类型的组件时可以被视为时普通基本类型,即引用变量可以作为复杂类型的结构组件或者独立出现。 引用变量声明时没有指向任何数据对象,因而也不能进行解除引用操作。下述操作可以使该引用对象指向实际的数据对象。 数据引用变量之间可以相互赋值,目标对象和源引用变量指向相同的数据对象,但不能将对象引用或非引用对象的值传递给引用变量。 所有通过DATA语句创建的数据对象都属于静态创建的数据对象,当程序开始运行时,这些变量已经存在。要在程序运行期间动态的创建对象,可通过数据引用变量进行。 CREATE DATA dref TYPE type | LIKE obj. 该语句在运行期间内动态创建一个数据对象,同时引用变量dref指向这一对象。该对象没有名称,只能通过数据引用变量进行寻址,但在操作该数据对象之前,需要通过字段符号解除引用。当没有任何数据引用变量指向该对象时,他将被sap中的垃圾收集装置从系统内存中删除。 在该语句中,必须指定数据类型。也可以通过变量动态的指定所创建的数据对象类型,这种指定类型的方式在所有ABAP语句中是唯一的。 CREATE DATA dref TYPE (name). 此处的变量name中包含具体的类型名称(如“C”)。 使用GET语句可以使一个引用变量获得已经存在的数据对象的地址引用。 GET REFERENCE OF obj INTO dref. 其中obj可以是一个通过DATA语句定义的静态变量,也可以是指向某数据对象的字段符号。如果将引用变量指向一个过程内部的局域变量,则该变量在离开过程后将不能再使用,也不能进行解引用操作。 解除引用是访问引用所指向的数据对象的前提,ABAP数据引用变量的解引用语法格式如下 ASSGIN dref->* TO <fs> [CASTING ...] . 该语句将数据引用变量dref指向的数据对象赋给字段符号,如果操作成功,系统字段SY-SUBRC将返回0。系统将检查数据对象类型是否与字段符号声明类型相匹配,且该过程中可能出现强制类型转换。如果数据引用变量的值为初始值或者不正确,则无法进行解引用操作,字段符号将保持原值不变,而系统字段SY-SUBRC将返回。对于动态创建的数据对象,解引用是获取其内容的唯一方式。2023-06-21 08:27:461
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强大的软件包中提供了大量可重复使用的程序,读者也可定义类并使用它快速建立新的对象。2023-06-21 08:27:521
[讨论]ABAP难学吗?
俺非高手,SAP是有前途,估计ABAPer就难说,MD,现在不是有招ABAPer才给那么1000大元就打发你走的吗?就是因为这该死的破ABAP TMD太容易学了,去年我学ABAP时,大概花了三分钟然后一周内俺就将BS sheet, P&L sheet, FI doc. print全给整出来了,因为比起自己写个delphi control,搭好一Java系统架构小小的ABAP太微不足道了.是的,看看SE80,ABAP也可弄interface,Class(类Java),BADI等,可是企业通常连dialog programming都用不到上(其实这些鸟东西也不难,一句话,当你对任何一门语言玩熟的话其他任何语言都是极其容易上手的),你只要熟悉那破SAP query, script form ,smartform再整几个破report就Ok,如需要再整几个enhancement,从某种程度上, 如你没有志向是到SAP AG给破SAP升级,能写report就Ok,没前途呀,兄弟! 所以俺溜的贼快跑去混FICO了,听说这玩意比价容易蒙俩小钱,哈哈.有同感!ABAP是低级的,业务才是高级的;ABAP是无聊的,业务是多变的。2023-06-21 08:28:151
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功能时触发。2023-06-21 08:28:221
如何入门SAP,目前只是有2个月的ABAP经验_sapabap开发从入门到精通
不知道怎么说,反正如果是我认识的刚毕业的人的话,我不会推荐他学ABAPSAP的实施的整体前景是走下坡路的,特别是最近这七八年的大量人员进来之后,开发的人天也是每况愈下,我所知道的就是1000人天就基本可以找一个经验比较丰富的开发了(3-5年)而且这个圈子里面有大量的5-10年的开发,当然也有一些转顾问了,但是剩下的还是很多,这波人短时间内不会退休,所以现在进入这个行业还是比较苦逼的当然也有一些小的外包公司现在会培训新人入职,因为成本比较低,一些比较简单、要求比较低的项目会需要,但是个人发展前景一般不太好另外,ABAP是一种比较老的开发语言了,SAP想淘汰它也有好几次了,虽然暂时还没成功2023-06-21 08:28:411
[讨论]ABAP难学吗?
就是因为这该死的破ABAP TMD太容易学了,去年我学ABAP时,大概花了三分钟然后一周内俺就将BS sheet, P&L sheet, FI doc. print全给整出来了,因为比起自己写个delphi control,搭好一Java系统架构小小的ABAP太微不足道了.是的,看看SE80,ABAP也可弄interface,Class(类Java),BADI等,可是企业通常连dialog programming都用不到上(其实这些鸟东西也不难,一句话,当你对任何一门语言玩熟的话其他任何语言都是极其容易上手的),你只要熟悉那破SAP query, script form ,smartform再整几个破report就Ok,如需要再整几个enhancement,从某种程度上, 如你没有志向是到SAP AG给破SAP升级,能写report就Ok,没前途呀,兄弟! 所以俺溜的贼快跑去混FICO了,听说这玩意比价容易蒙俩小钱,哈哈.有同感!ABAP是低级的,业务才是高级的;ABAP是无聊的,业务是多变的。2023-06-21 08:28:481
初学者如何看懂abap代码
大家好, 学习abap一个来月了,对程序的基本构架有一定的了解,基本语法有一定的了解。但是整个程序 总是不能很好的理解,特别是在看到form 中select ?,if 和write 头就疼了,不想往下看,前 ....... 我觉得最好的办法是一边看一边测试,你可以自己创建一个程序,然后把那个程序拷贝过来,删掉几 行,或者慢慢添加,每添加几行执行一下看看结果,你就可以很明了的知道,这几行到底是干什么用 的,呵呵,其次就是多看看F1,遇到不知道的变量,记住双击可以追述的,这个功能一定要用好,呵呵, 能帮上大忙呢!2023-06-21 08:28:581
ABAP 中内表的复制
MOVE-CORRESPONDING itab1 to itab2.2023-06-21 08:29:122
SAP ABAP 运算符
ABAP提供了一组丰富的运算符来操纵变量。 所有ABAP运算符分为四类 : 01-算数运算符 02-比较运算符 03-按位运算符 04-字符串运算符 算术运算符在数学表达式中使用的方式与在代数中使用的方式相同。 以下列表描述了算术运算符。 假设整数变量A保持20并且变量B保持40。 算数运算符的例子: 不同操作数的各种类型的比较运算符 注意 - 如果变量的数据类型或长度不匹配,则执行自动转换。 在比较不同数据类型的两个值时,对一个或两个值执行自动类型调整。 转换类型由数据类型和数据类型的首选顺序决定。 以下是自动转化的顺序 : u2022 如果一个字段是类型I,则另一个字段转换为类型I. u2022 如果一个字段是P类型,则另一个字段转换为类型P. u2022 如果一个字段是类型D,则另一个字段转换为类型D.但是C和N类型不转换,它们直接比较。 类似于类型T的情况。 u2022 如果一个字段是类型N,另一个是类型C或X,则两个字段都转换为类型P. u2022 如果一个字段是类型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)"。 例子:2023-06-21 08:29:201
ABAP基础之什么是ABAP指针
ABAP里面叫Field-symbol,定义用<XXX>表示,赋值用ASSIGNFIELD-SYMBOLS: <FS_DATA> TYPE ANY....LOOP AT GT_TAB ASSIGNING <FS_DATA>. "这里面对<FS_DATA>的操作就是对内表GT_TAB的操作ENDLOOP.2023-06-21 08:29:271
ABAP中三种基本的数据对象是
表、结构、数据元素2023-06-21 08:29:363
abap在医学上是什么意思
ABAP是德国思艾普公司的ERP产品SAP的二次开发语言,医学上没有找到相关术语。是不是哪家医院的管理系统是SAP的ERP,在系统做客户化的时候需要用到ABAP语言2023-06-21 08:29:571
ABAP "~" 是什么
连接符,相当于‘-",不过好像有语法的不同,只能这样理解大概是说从KNVV中选取VKORG字段。。。。。。后面的就是这样对应的2023-06-21 08:30:183
SAP ABAP开发是做什么?
刚刚提到, NetWeaver是取代SAP Basis的新一代技术平台(TP). 简单说, NetWeaver体现了在2000年到目前为止的以Java/SOA为主要商务应用实现技术的时代里, SAP在技术上与业界技术的整合. 它主要是在J2ee application server和ABAP application Server的基础上提供了统一的技术基础设施. 除了J2EE以外, NetWeaver还提供了WebDynpro和Protal作为 Web 开发的基础设施, 用户管理, 和.NET 或其他J2EE平台的集成, 于R/3的连接, ESA的实现等等. 所有开发都在NetWeaver Studio中进行.NetWeaver Studio是基于ecllipse 的开发环境. 下面这张图描述了NetWeaver技术平台的主要功能: 这张图显示了NetWeaver的最基本组件. 事实上整个NetWeaver几乎涵盖了所有电子商务会用到的技术, 下面简单列一下主要的部分: 01 SAP Web AS: 包括了SAP J2EE engine和abap application server 下面就是SAP WEBAS 的架构 server 架构: Cluster 架构: CIM: Internet Communication Manager. 负责接受Web请求. 支持HTTP, HTTPS, SMTP. 通过URL, 它可以区分是对ABAP BSP(Business Server Page)的请求, 还是对J2EE的请求, 从而dispatch到不同的engine上. Message Server: 是全局的消息服务器, 负责server间的异步或同步通信 Engueue Server: 是全局的队列服务器, 负责保存全局队列和锁.任何应用都可以申请使用它. Work Process: 是ABAP engine中的一个工作进程. JCO/Fast RFC: 用于基于SAP自己的远程调用规范RFC的调用 Gateway: 我的理解是用于翻译RFC call, RFC call的协议是CPI-C(Common Programming Interface – Communications, SAP专门用于程序对程序的远程调用的协议, 说白了就是一个定义描述函数名,参数之类调用需要的信息的数据格式). 05 SAP J2EE Engine: 2002年, SAP收购了保加力亚的J2EE Application Server 开发商Inqmire(全称In-Q-My). 开发自己的J2EE Engine.目前的稳定版本为6.4. 这个Engine给人的感觉就是三个字”巨无霸”. 没有2G的内存是很难看到它在工作的. 通常巨无霸给人的另一个柑桔就是笨重和土气. 7.0以前的版本的管理方式比较土, 是基于rich client的. 7.0以后才逐步使用web和IDE作为管理工具. 下面是SAP J2EE Engine 的简单架构图 下图是SAP J2ee engine的Cluster 架构 05 NetWeaver Studio: 是SAP的NetWeaver 开发平台. SAP的几乎所有开发解决方案都通过这个IDE实现. NetWeaver Studio IDE和WebSphere Studio一样, 是在Ecllipse的基础上开发的.目前的稳定版本也是6.4. 05 SAP DB: 就是MAXDB. 现在与MySQL技术合作. 把源代码提供给MySQL. SAP将不在放更多人力在DB的开发上了.也许DB和OS是SAP唯一暂时不愿去占领的技术. 05 WebDynpro: MVC架构的Web 开发解决方案. 提供所见即所得的UI开发方式. 不但是基于SAP J2EE engine, 也可以用ABAP开发 05 Portal: Portals是一家Israel公司Top Tier的产品, 2001SAP收购Top Tier并组建SAP Portals公司. Top Tier的总裁Shai Agaci, 现在是SAP Border Member, 是呼声最高的未来SAP CEO. Portal提供了另一种Web开发模式, 同时提供Content Management和Knowledge management, Portal 可以基于Tomcat, 但现在是SAP J2EE engine的一部分. 05 XI(Exchange Infrastucture): SAP 的系统总线. 05 TREX: SAP的搜索引擎 05 RFC: Remote Function Call. SAP 的远程调用技术. 支持ABAPJAVA, JAVAJAVA, ABAPABAP之间的调用, 旧的RFC使用SAP CPI-C协议, 必须通过SAP Gateway进行翻译, 新的fast RFC则不需要使用CPI-C协议. 下图是RFC在Web AS中的位置. 下图是JCO(Java connector)和SAP RFC之间的关系: 05 WebService: SAP J2EE engine 和NetWeaver Developer Studio提供了WebService 和UDDI的支持.通过studio, 可以使用wizard简单的生成Web Service 的client proxy和server side, 不需要写任何WSDL. 但是WebService server端必须先implement成EJB(session bean). 05 SLD: System Landscape Directory. SAP Web AS提供的系统管理方案。 使用SLD可以方便的管理整个庞大SAP 系统群。2023-06-21 08:30:251
这么多ABAP技术,兄弟们掌握了多少
在SAP Tutor上看到了一张图,基本涵盖了所有的ABAP技术,兄弟们看看,到底掌握了多少。。。BSP:虽然是过时的东西,但是目前翱翔的一个项目就用到啦,看来并非过时的就是不用的。。。Web Dynpro:新兴的技术,新兴的就业机会,兄弟们抓紧学习,有项目机会一定要上积累经验,这个东西相对传统的ABAP来说,值钱些。ITS:04年我在汉得的时候曾经配置成功并递交顾问使用,这个是在SAP WAS还未成熟之前的东西,现在已经基本绝迹。Dynpro:就是对话编程啦,国内项目用的较少,对日开发将会大量应用。ALV:不说了,多看看翱翔的ALV生成器,这东西比较简单的说。BDC:最早的add-on开发中常用,数据迁移中常用,目前一般要求BAPI取代BDC。Enhancement:现在的新的增强框架你掌握了么?Smart Forms:04年在对日开发中广泛应用,国内还有不少的script。SAPScript:太老啦,不过很多财务凭证方面的打印还在使用,我指的是非对日的。Adobe Forms:新的东西,国内应用较少,不过随着WD的普及,这东西会使用的更多。LSMW:数据迁移利器,一般归属于模块顾问领域,不过ABAPer也必须掌握。Workflow:国内是用的好像真的不多,或者只是小范围使用,因为与其用sap的,还不如搞外部的。ALE/EDI;自从有了XI之后,这东西越来越不值钱。RFC:现在都讲究安全,用的少啊,走XI,或者外部接口比较多些。BAPI:我想大多数人只能在使用层面上吧,你自己尝试写过增强,以及根据项目的需求,开发新的BAPI么?Web Service:这个东西说新也不新,一般RF中常用的技术,共外部系统调用,挺好。SAP Query:偏模块顾问领域,ABAPer最好还是掌握,因为有些报表需求直接用这个就好了,何必写程序呢?BAPI/Funciton Module:不多说了,基本。Table:这个东西要设计的,你自建的表设计的合理么?Services/Tools:不确定是啥,估计翻译工具啦,性能测试工具啦,脚本工具啦之类的。2023-06-21 08:30:331
ABAP程序有具体的结构吗?一般结构是什么?
在程序里面你可以把它看作一个工作区,相对表来说就是一行数据(表可以有多行数据,结构只能有一行)。2023-06-21 08:30:413
如何提高ABAP程序运行效率
影响ABAP程序的运行效率主要是在程序中大量数据的取得,如果取数不得方法,很影响报表的运行效率,所有优化ABAP程序主要是优化数据取数的方法。下面这几点可以有效的提高取数的效率,从而来提高程序的运行效率。 1.选择最有效率的表名顺序(只在基于规则的优化器中有效): ORACLE的解析器按照从右到左的顺序处理FROM子句中的表名,FROM子句中写在最后的表(基础表drivingtable)将被最先处理,在FROM子句中包含多个表的情况下,你必须选择记录条数最少的表作为基础表。如果有3个以上的表连接查询,那就需要选择交叉表(intersectiontable)作为基础表,交叉表是指那个被其他表所引用的表。 2.WHERE子句中的连接顺序: ORACLE采用自下而上的顺序解析WHERE子句,根据这个原理,表之间的连接必须写在其他WHERE条件之前,那些可以过滤掉最大数量记录的条件必须写在WHERE子句的末尾. 3.SELECT子句中避免使用‘*‘: ORACLE在解析的过程中,会将"*"依次转换成所有的列名,这个工作是通过查询数据字典完成的,这意味着将耗费更多的时间 4.减少访问数据库的次数: ORACLE在内部执行了许多工作:解析SQL语句,估算索引的利用率,绑定变量,读数据块等。2023-06-21 08:30:501
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。2023-06-21 08:30:571
ABAP开发工程师是做什么的
做牛做马的2023-06-21 08:31:075
ABAP学习中的难点?
问的范围比较大,项目中常用的都需要掌握的,基本功也要扎实,不然像ABAP中的高级应用(ALE/IDOC,WORKFLOW等)学起来就很吃力;另外英语要好,很多有价值的文档都是英文的;ABAP都是为业务模块服务的,基本的业务流程要清楚,这样开发起来也会事半功倍。2023-06-21 08:31:302
现在做ABAP开发前景怎么样
ABAP的东西很容易学的,基本的语句1个月就都会了。 2年左右基本就瓶颈期了,编程水平基本就不再提高了。ABAP是做SAP里面地位比较底的一个角色,被人差遣。基本也就是个码农,但相对来说比C或C++之类的要稳定,在企业里面最近10年内应该还是比较稳定的。ABAP水平高低很大程度上并不是在coding 能力的强弱,这个在企业里面的应用层面很难体现,主要还是看你对生产业务的理解和熟悉程度,是否能和业务人员或顾问沟通,把他们的需求快速准确的实现。你刚毕业的话,还是建议你去尝试一下, SAP的前景目前看还是不错, 从ABAP开始也是一个踏入SAP圈子的机会。以后有机会可以装BASIS或业务的工作。2023-06-21 08:31:371
SAP的ABAP作为开发语言有什么优势_sapabap开发
1.SAP不可能放弃ABAP的,放弃ABAP的历史成本太大。2.ABAP的最大好处是易学易用。3.ABAP有面向对象,有指针,比C易读,debug方便。4.ECC平台的其他东西比较强大,这些不用ABAP语言无法使用,例如DDIC,LDB等。5.WebdynproforABAP很恶心,一点也不友好,不过WebdynproforJava更恶心一些。6.ABAP也在进化,以后重点会放在描述业务底层上,前台代码应该都是SAPUI5和Fiori了。2023-06-21 08:31:571
abap接口方法有哪些
ABAP的一些特性。 1、ABAP/4 支持商业数据类型和操作。您可以用特殊日期和时间字段进行计算。系统会自动执行必需的类型转换。 2、ABAP/4 报表程序用于分析数据库表中的数据。这种分析的结果可以显示在屏幕上或发送到打印机上。逻辑数据库支持报表程序。 3、ABAP/4 允许您定义和调用子程序。也可以调用其他程序的子程序。参数能够以各种方式从子程序传递或传递到子程序。 4、ABAP/4 包含一种特殊子程序,叫做功能模块。您可以在中央库中创建和维护功能模块。在调用程序和子程序之间功能模块有一个明确定义的数据接口。它们能够以调用程序的独立模式进行分别测试。 5、ABAP/4 包含一个叫 Open SQL 的SQL子集。用Open SQL,您可以读取和访问数据库表,与所用的数据库系统无关。 6、ABAP/4将对话程序组织为包含对话模块的模块池。每个动态程序(由一个屏幕及其流逻辑组成的“动态程序”)都基于一个ABAP/4 对话程序。流逻辑包含对 ABAP/4对话模块的调用。 ABAP的一些优点。 1、ABAP/4是面向对象语言。它支持封装性和继承性。封装性是面向对象的基础,而继承性则是建立在封装性基础上的重要特性。 2、ABAP/4具有事件驱动的特性。 3、ABAP/4和COBOL具有类似之处。 4、ABAP/4适合生成报表。 5、ABAP/4支持对数据库的操作。2023-06-21 08:32:051
SAP的ABAP作为开发语言有什么优势
小众,竞争不激烈,容易上手。2023-06-21 08:32:142
sap的ABAP是什么意思?_sap是什么意思呢
SAPABAP就是一种语言啊。难道你认为下面很多分支嘛?SAP支持多种语言开发,JAVA.NET都支持,这里的支持是说用JAVA.NET开发SAP报表。同样的,abap也是一样。2023-06-21 08:32:221
从sap系统怎么进入abap开发平台_sapabap开发是干什么的
对于ABAP用户而言,服务器是基于什么平台,什么数据库,都无关紧要。ABAP是跨平台,使用统一opensql访问数据的开发语言。进入ABAP开发环境。通过SAPgui登陆SAP系统后,访问如下几个事务:SE39ABAP程序开发SE37FunctionMole开发SE80ABAP对象统一开发平台SE11SAPDDIC开发环境2023-06-21 08:32:281
ABAP 中如何输出换行符?
/ 前后有空格2023-06-21 08:32:363
abap中%的意思
是ABAP中的通配符,通常在SQL语句中用到2023-06-21 08:32:432
ABAP提示消息几种写法
提示消息的语法格式如下:有两种方式提示消息:1、消息类msg;2、直接提示消息text消息类提示的方法如下:有四种表达方式:1.如果在程序report后指定消息类,即REPORT...MESSAGE-ID....这时,可直接用选项tn,即消息类型加消息号,如:MESSAGEs028提示指定消息类的028号消息,消息类型为s2.可手动指定消息类的某个消息tn(id),如:MESSAGEs028(00)提示00消息类的028号消息,消息类型为s3.以某种消息类型提示指定消息类的某个消息,如:MESSAGEID00TYPE"S"NUMBER028提示00消息类的028号消息,消息类型为s4.用对象的方式提示消息,这个比较复杂,很少使用直接提示要提示的消息,如:MESSAGE"Error"TYPE"S"提示消息Error提示消息有如下附加选项1.DISPLAYLIKEdtype将类种消息类型的提示改变,如:MESSAGEs028(00)DISPLAYLIKE"E"这样就把消息类00的成功消息028显示成错误消息2.RAISINGexception在提示消息的同时抛出异常,一般用于功能模块FUNCTION或METHOD中3.INTOtext将提示的消息存放到某个程序变量中而不直接提示,如MESSAGEs028(00)INTOg_message将消息类00的028号消息存放到变量g_message中4.WITHdobj1...dobj4在消息类中的消息中的变量用程序中的值替代,如:MESSAGEs007(00)WITH"订单号"则提示消息类00的007号消息,并将其中的占位符&1用“订单号”替代,即提示“订单号为空”2023-06-21 08:32:501
ABAP内部顾问是做什么的
内部顾问一般是指的甲方,但是由于现在能上SAP系统的企业体量都比较大. 所以内部顾问就有2个概念了,(以前我以内部技术顾问角度举例, 内部业务顾问角色类比一下就可以了)1.纯粹的内部顾问 ,就是说在这个企业里面负责现有SAP系统的维护,比如传统的ERP系统,这样的内部顾问,一般只需要具有一定的ABAP技能并且有一定的业务能力.2.企业子公司的内部顾问,这种内部顾问只是相对于外包公司乙方(比如 四大之类的)来说的,这种类型的内部顾问有可能也要出差. 但属于做内部项目开发.这种的一般不止于要求掌握ABAP技能,具体要求 还得看项目 类型.以上,谢谢~2023-06-21 08:32:591
ABAP几种内表的操作
ABAP中有三类内表,标准表,排序表和哈希表。 三种内表介绍 标准表的每一行对应一个逻辑索引-SY-TABIX,填充内表的时候,可以将数据附加在现有行 之后,也可以插入到指定的位置,程序对内表行的寻址操作可通过关键字或索引进行。在对表 进行插入删除等操作时,各数据行在内存中的位置不变,系统仅重新排列各数据行的索引值。 排序表也有逻辑索引,不同的是排序表总是按其表关键字升序排列后再进行存储,也就是在 内存中的位置发生改变。 哈希表没有索引,只有关键字。系统用哈希算法管理表中的数据,因而其寻址一个数据行的时间与表的行数无关。 表关键字 内表关键字在访问内表以及排序时非常之关键,定义时通过With key来定义,这也是一个可选项,即如果没有显式声明,那么内表中的非数值型栏位都为Key。 还有Unique的问题,即唯一性关键字声明,标准表不能使用此关键字,排序表可以用UNIQUE 或NON-UNIQUE,哈希表不能使用NON-UNIQUE,只能使用唯一表关键字。 行访问方式标准表排序表哈希表索引访问允许允许不允许关键字访问允许允许允许相同值关键字行可重复 可重复或不可重复不可重复推荐访问方式 主要通过索引 主要通过关键字 只能通过关键字 对于一个小于100行的内表,且很少使用关键字操作,则使用标准表没有效率问题;数据量 比较巨大,切不存在重复行,只需使用关键字访问的内表应定义为哈希表;排序表适用于运行 期内必须以某种排序形式出现的内表。2023-06-21 08:33:311
abap前途如何,abap转顾问怎样转
据我了解,银行这块也就CMBC在做,而且做的不是很好,SAP毕竟在传统的制造行业有优势。如果你ABAP开发做的不错的话,可以出来换个行业涨涨见识。至于业务不用我说了,就是那几大模块,工作中慢慢学吧。2023-06-21 08:33:394
abap的主要工作原理是什么?
解释型语言,但被SAP称为所谓的“第四代”语言。支持OOP。语言功能一般,运行速度较慢,并 且只能用于SAP平台。通过调用SAP的内核模块(C或C++写成的)来完成所请求的功能。 SAP大部分大部分业务逻辑都是用ABAP来表达的。也是SAP的二次开发工具。2023-06-21 08:33:461
abap中有数组吗?
你定义一个只含一个字段的内表结构,就是数组了2023-06-21 08:33:545
abap 如何锁表
bpkdww回答的使用方法没有问题,但是原理解释有些不好。实际上在ABAP字典中创建的锁对象后使用时应称之为逻辑锁,如果需要锁表,必须遵从使用规范即:在操作前必须调用锁表的FM进行锁表,如果不进行锁表或者锁表失败后直接对数据库操作是完全没有限制的。调用FM进行锁表时系统中实际上是在一张特定数据库表中记录了一条锁定记录,当DEQUEUE或者进程结束时该记录会被删除,以此来控制数据库表的锁定。2023-06-21 08:34:082
ABAP 什么是事务变式
对既有的T-CODE做画面上栏位的隐藏,必填,不可输入,设定执行固定值等实现T-CODE : SHD02023-06-21 08:34:242