SAP-ABAP-实用培训教程_第1页
SAP-ABAP-实用培训教程_第2页
SAP-ABAP-实用培训教程_第3页
SAP-ABAP-实用培训教程_第4页
SAP-ABAP-实用培训教程_第5页
已阅读5页,还剩101页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 SAPSAP基本知识培训基本知识培训-ABAP-ABAP培训内容培训内容ABAP简介1ABAP基础2ALV报表 3Function4Smartforms5Enhancement6BDC7ABAPABAP简介简介ABAPABAP简介简介ABAPABAP简介简介ABAPABAP简介简介谢谢!谢谢!ABAPABAP基础基础ABAPABAP基础基础ABAPABAP基础基础客户端客户端物料物料工厂工厂调度员调度员操作人操作人日期日期MANDTMATNRWERKSFEVOR自定义BLDATABAP基础ABAPABAP基础基础谢谢!谢谢!ABAPABAP基础基础16进位数X001-65535Byte1X时

2、间数据, 格式为HHMMSS0000006Byte6TPacked 数, 用在小数点数01-16Byte8P数值0001-65535Byte1N整数0-231至231-14I浮点数08Byte8F日期数据, 格式为YYYYMMDD000000008Byte8D字符串数据, 如ProgramSpace1-65535Byte1CDescriptionInitial ValueRangeLengthTypeABAPABAP基础基础名称作用SPACE空白字符串SY-SUBRC系统执行返回值,0表示执行成功SY-UNAME登陆帐号名称SY-DATUM系统日期SY-UZEIT系统时间SY-TCODE目前的

3、事务代码ABAPABAP基础基础ABAPABAP基础基础ABAPABAP基础基础ABAPABAP基础基础谢谢!谢谢!ABAPABAP基础基础ABAPABAP基础基础ABAPABAP基础基础ABAPABAP基础基础ABAPABAP基础基础ABAPABAP基础基础符号功能* 乘幂* 乘/ 除+ 加- 减DIV 整数除法MOD余数除法ABAPABAP基础基础ABAPABAP基础基础ABAPABAP基础基础ABAPABAP基础基础批量重复操作的时候,可以定义sap宏来进行操作语法:DEFINE . . &1 . &9 . END-OF-DEFINITION.DATA: x TYPE i

4、, y TYPE i, l TYPE i. DEFINE write_frame. x = sy-colno. y = sy-linno. WRITE: | NO-GAP, &1 NO-GAP, | NO-GAP. l = sy-colno - x. y = y - 1. SKIP TO LINE y. POSITION x. ULINE AT x(l). y = y + 2. SKIP TO LINE y. POSITION x. ULINE AT x(l). y = y - 1. x = sy-colno. SKIP TO LINE y. POSITION x. END-OF-DE

5、FINITION. SKIP. write_frame In a frame!. 谢谢!谢谢!结语结语ABAPABAP基础基础ABAPABAP基础基础ABAPABAP基础基础实例:SELECT-OPTIONS AIRLINE FOR SPFLI-CONNID.SELECT * FROM SPFLI WHERE CONNID IN AIRLINE.WRITE: / SPFLI-CONNID,SPFLI-CITYFROM,SPFLI-CITYTO. ENDSELECT.实例:SELECT-OPTIONS AIRLINE FOR SPFLI-CONNID.SELECT * FROM SPFLI.CH

6、ECK AIRLINE.WRITE: / SPFLI-CONNID,SPFLI-CITYFROM,SPFLI-CITYTO.ENDSELECT.实例:SELECT-OPTIONS AIRLINE FOR SPFLI-CONNID.SELECT * FROM SPFLI.IF SPFLI-CONNID IN AIRLINE.WRITE: / SPFLI-CONNID,SPFLI-CITYFROM,SPFLI-CITYTO.ENDIF.ENDSELECT. ABAPABAP基础基础ABAPABAP基础基础ABAPABAP基础基础ABAPABAP基础基础语法语法: WRITE : WRITE 资料项

7、资料项 显示格式参数显示格式参数: : LEFT-JUSTIFIED LEFT-JUSTIFIED 资料靠左显示资料靠左显示 CENTERED CENTERED 资料靠中间显示资料靠中间显示 RIGHT-JUSTIFIED RIGHT-JUSTIFIED 资料靠右显示资料靠右显示 UNDER UNDER 在资料项在资料项的的X X轴开始坐标显示轴开始坐标显示 NO-GAP NO-GAP 紧接着显示紧接着显示, , 不留空格不留空格 USING EDIT MASK USING EDIT MASK 使用内嵌字符显示使用内嵌字符显示, , 如如 11:20:3011:20:30 USING NO E

8、DIT MASK USING NO EDIT MASK 不使用内嵌字符不使用内嵌字符 NO-ZERO NO-ZERO 数字前面数字前面0 0 的部分不显示的部分不显示 NO-SIGN NO-SIGN 不显示正负号不显示正负号 DECIMALS DECIMALS 显示显示 d d 位小数字数位小数字数 EXPONENT F(EXPONENT F(浮点数浮点数) )的科学计数法表示的科学计数法表示 ROUND ROUND 四舍五入至小数位数下四舍五入至小数位数下 r r 位位 CURRENCY CURRENCY 币别显示币别显示 DD/MM/YY DD/MM/YY 日期显示格式日期显示格式ABAP

9、ABAP基础基础ABAPABAP基础基础ABAPABAP基础基础谢谢!谢谢!结语结语ABAPABAP基础基础n内表 定义内表ABAPABAP基础基础n内表 APPEND指令ABAPABAP基础基础n内表 COLLECT指令ABAPABAP基础基础 Insert Line在指定的内表位置之前插入新数据语法: INSERT INTO INITIAL LINE INTO INDEX 插入另一Internal Table元素语法: INSERT LINES OF FROM TO INTO INDEX 将中自至的范围的数据插入至中, 位置在 之前。n内表 INSERT指令ABAPABAP基础基础循环读取

10、Internal Table元素数据语法: LOOP AT INTO FROM TO WHERE ENDLOOP.根据设定的范围选取数据, 读完后自动移往下一笔。读取Internal Table指定位置的元素语法: READ TABLE INTO INDEX 自指定位置 读取元素数据。根据字段内容寻找语法: READ TABLE INTO COMPARING .n内表 读取内表数据ABAPABAP基础基础 更新数据内容语法: MODIFY FROM INDEX TRANSPORTING WHERE TRANSPORTING . : 指定更新的字段名称。 Delete Lines删除Intern

11、al Table 的数据语法: DELETE INDEX 加上删除条件:DELETE FROM TO WHERE n内表 修改内表数据ABAPABAP基础基础内表数据排序语法: SORT BY . : 可分成递减(DESCENDING)和递增(ASCENDING)。 : 为指定的字段 。计算数值字段总和语法: SUMSUM只能在 LOOP 中使用,计算所得总和存在工作区中。REFRESH 使用在有 HEADER LINE 的 Internal Table中, 清除所有元素CLEAR 使用在没有 HEADER LINE 的 Internal Table中, 清除所有元素FREE 释放(Relea

12、se) Internal Table所占的内存空间, 用在 REFRESH 和 CLEAR指令之后n内表 内表操作谢谢!谢谢!结语结语ABAPABAP基础基础自数据库读取记录语法: SELECT DISTINCT FROM INTO WHERE GROUP BY ORDER BY 加上DISTINCT会自动去除重复的记录。以循环方式读取所有记录(这种方法效率不高,不建议使用) 语法: SELECT * ENDSELECT.读取单笔记录语法:SELECT SINGLE * FROM WHERE.将读取的记录存放至指定的工作区语法: SELECT INTO WHERE 将读取的数据写入内表中 m语

13、法: SELECT INTO TABLE WHERE 语法: SELECT INTO TABLE PACKAGE SIZE SELECT UP TO ROWS INTO TABLE 一次读取 笔记录至 中n数据库指令SELECT 指令 ABAPABAP基础基础条件叙述语法: WHERE (1).BETWEEN AND 在 至 之间的条件范围 (2).LIKE 表示条件包含的字符串 _ : 表示一个字符 % : 表示一个字符串 (3).IN (.) 包含在 的条件ORDER BY 叙述根据关键字排序 (1). .ORDER BY PRIMARY KEY.根据指定的字段顺序排序 (2)ORDER

14、BY DESCENDING DESCENDING/不建议用ORDER语句句关联多个表查询数据语法: SELECT AAF1 AAF2 BBF1 BBF2 CCF1 CCF2 INTO CORRESPONDING FIELDS OF TABLE ITAB_NAME(INTO CORRESPONDING FIELDS OF TABLE ITAB_NAME(INTO CORRESPONDING FIELDS OF TABLE ITAB_NAME表示按匹配数据字段保存进去表示按匹配数据字段保存进去) ) FROM TABLE1 AS A INNER JOIN TABLE2 AS B ON AAF1 =

15、 BBF1 AND AAF2 = BBF2 INNER JOIN TABLE3n数据库指令SELECT 指令 ABAPABAP基础基础 自工作区加入一笔记录至数据库语法: INSERT INTO VALUES 自内表加入一笔记录至数据库语法: INSERT FROM TABLE ACCEPTING DUPLICATE KEY将 中非 NULL的数据加入 中。 ACCEPTING DUPLICATE KEY检查是否有关键字重复的记录, 若有则此关键字重复的记录不插入。n数据库指令INSERT 指令 ABAPABAP基础基础 使用Primary Key更新已存在的记录内容语法: UPDATE FR

16、OM 使用条件式更新已存在的记录内容语法: UPDATE SET = WHERE 根据条件式更新符合条件式的记录n数据库指令UPDATE 指令 ABAPABAP基础基础根据 Primary Key 寻找数据文件中符合的记录, 若找到则更新, 若找不到则新增记录语法: MODIFY FROM Example: WA-NO = 34051920. WA-COMPANY = DELTA. MODIFY SPFLI FROM WA.n数据库指令MODIFY 指令 ABAPABAP基础基础 删除数据文件的记录使用 Primary Key语法: DELETE FROM 使用条件式语法: DELETE FR

17、OM WHERE 根据条件式删除符合条件式的记录n数据库指令DELETE 指令 ABAPABAP基础基础要确定数据成功写入数据库, 可使用COMMIT WORK 指令, 如: COMMIT WORK.相反的, 如果反悔要复原, 可使用 ROLLBACK WORK, 可复原在上个COMMIT WORK 指令之后更新的数据, 如: ROLLBACK WORK.n数据库指令COMMIT WORK 与 ROLLBACK WORK谢谢!谢谢!结语结语ABAPABAP基础基础= 或 EQ 等于 或 或 NE 不等于 或 LT 小于 或 GT 大于= 或 GE 大于等于AND 且OR 或NOT 非n逻辑控制

18、指令比较符号ABAPABAP基础基础IF 叙述语法: IF . ELSEIF . ELSEIF . . ELSE. ENDIF. (1).在每个判断叙述之后要加上 .。 (2).在巢状循环之中无法使用 ELSE 叙述, ELSE 叙述属 IF 叙述CASE 叙述语法: CASE . WHEN . WHEN . . WHEN OTHERS. ENDCASE.n逻辑控制指令条件叙述ABAPABAP基础基础 计次循环语法: DO . VARYING dobj FROM dobj1 NEXT dobj2 RANGE range. statement_block ENDDO. 条件循环语法: WHILE

19、 . ENDWHILEn逻辑控制指令循环叙述ABAPABAP基础基础 CONTINUE:跳至循环的下一次 CHECK CHECK 之后条件成立才继续往下执行循环,否则调到下一次循环中。 EXIT:结束循环叙述 无穷循环。DO . ENDDO.无穷循环必须配合 EXIT 叙述来执行。n逻辑控制指令循环控制叙述ABAPABAP基础基础 在ABAP/4中可以使用 Include 加载另一个程序, 通常用于共享数据项的定义,与C 中Include header file 的做法很类似。语法: INCLUDE Global 变量定义应用。语法: DATA: BEGIN OF COMMON PART ,

20、END OF COMMON PART .此常使用在 Include 的档案中 n程序模块简介Include ProgramABAPABAP基础基础 在ABAP/4中子程序的调用可分成内部调用和外部调用, 前者编写在程序中, 后者存在另一程序中, 通常为专存放子程序的公用程序集,可提供结不同的子程序调用。 Subroutine 的定义 FORM . ENDFORM.n程序模块简介Subroutine ProcedureABAPABAP基础基础Call By Reference:(引用调用传参数时将数据的存放地址传至参数中, 也就是子程序中的参数变量与外部实际变量共享地址内的值, 又称为Call

21、By Address, 若在子程序中地址中的值改变了, 外部实际变量的值也会跟着改变。语法: FORM USING CHANGING PERFORM USING CHANGING Using 之后接在子程序中不会改变的变量, CHANGING接会改变值的变量但实际上USING之后的参数在子程序中也可将值改变。Call By Value(值调用传参数时将数据的值复制一份至另一地址中, 所以在子程序中参数变量值改变, 并不会影响外部实际变数的值.语法: FORM USING VALUE() CHANGING 使用 VALUE()表示只使用的值但不改变的值PERFORM USING Call By

22、Value and Return Result传入参数值的方式同Call By Value相同, 但在子程序结束执行时会将传入的参数值复制一份传回给外部实际变数。语法: FORM CHANGING VALUE() PERFORM CHANGING n程序模块简介参数值的传递ABAPABAP基础基础 CHECK CHECK 之后条件成立才继续向下执行子程序 EXIT强迫结束子程序执行, 返回上一层程序叙述。n程序模块简介Subroutine 的控制ABAPABAP基础基础 INITIALIZATION在选择屏幕出现之前执行,在这里可以给选择屏幕中的字段和备注中的字段赋值 AT SELECTION

23、-SCREEN在这个事件里响应的是屏幕上选择条件中的事件 START-OF-SELECTION报表程序必须执行的事件,在进入第二屏幕之前触发。 END-OF-SELECTION选择屏幕结束处理。n事件介绍谢谢!谢谢!结语结语ALVALV什么是什么是ALVALV在在R/3 4.6CR/3 4.6C之前之前ALVALV列表全称为列表全称为ABAP List ViewerABAP List Viewer,在其,在其后的版本中,已经更名为后的版本中,已经更名为SAP List ViewerSAP List Viewer。简单来说就是。简单来说就是一种一种SAPSAP列表输出的方式。在列表输出的方式。在

24、SAPSAP系统中,系统中,ALVALV是以表格控是以表格控件的形式出现在用户屏幕中实现的,具体还有两种情况:件的形式出现在用户屏幕中实现的,具体还有两种情况:作为整个屏幕输出,是唯一的屏幕元素。作为整个屏幕输出,是唯一的屏幕元素。作为屏幕元素之一与其他屏幕元素结合出现。作为屏幕元素之一与其他屏幕元素结合出现。ALVALV的特点的特点ALVALV列表是列表是SAPSAP系统中新的列表标准,可以在系统中新的列表标准,可以在ABAPABAP程序或者程序或者SAP QuerySAP Query等报表中输等报表中输出,除了传统列表出,除了传统列表输出时可以显示数据和少量的交互功能(退出,下翻页等)之外

25、,还提供了大量的其输出时可以显示数据和少量的交互功能(退出,下翻页等)之外,还提供了大量的其他交互功能,包括他交互功能,包括排序,汇总等。相对于排序,汇总等。相对于SAPSAP的传统列表输出形式,的传统列表输出形式,ALVALV列表有以下优点:列表有以下优点:ALVALV是独立的二进制软件元素。是独立的二进制软件元素。安装在系统的前台(即安装在系统的前台(即SAPGUISAPGUI中),将列表处理功能从应用服务器移至显示层,中),将列表处理功能从应用服务器移至显示层,因而因而提高了相应速度。提高了相应速度。可以通过可以通过ABAP ObjectsABAP Objects中的系统全局类实现。中的

26、系统全局类实现。nALV列表概述ALVALV 目前为止,最常用的ALV有以下两种类型: LIST型与GRID型 LISTLIST型型ALVALV列表列表LIST型的ALV列表与传统WRITE输出的列表样式更为相近,只是除标准菜单栏之外,在工具栏上还有许多功能按钮。 GRIDGRID型型ALVALV列表列表GRID型ALV列表比较类似EXCEL的样子,与LIST一致的是它也有很多功能按钮。n两种简单的ALV列表类型ALVALV ALV列表可以比较自由的调整栏位的宽度,直接通过拖拽来调整栏位的顺序,通过使用Optimum width功能自动优化栏位宽度为最优宽度这些基本功能 .nALV列表最常用的

27、功能显示明细排序筛选列汇总列打印列表使用EXCEL打开使用WORD打开下载至文件使用SAP邮寄图表和ABC分析表改变布局最终用户文档ALVALV LISTLIST列表型显示函数列表型显示函数REUSE_ALV_LIST_DISPLAY: 输出LIST型列表REUSE_ALV_POPUP_TO_SELECT:在弹出的对话框中显示LIST列表 GRIDGRID列表型显示函数列表型显示函数REUSE_ALV_GRID_DISPLAYREUSE_ALV_GRID_DISPLAY:输出:输出GRIDGRID型列表型列表 nALV常用函数介绍ALVALV调用ALV的函数,除了输出使用的内表是之外,还有两个

28、部分是必需确认的列栏位属性和布局属性。顾名思义列栏位属性就是设置输出中列的位置,列的参照,列的标题等信息;同样布局属性是设置输出ALV列表的整体布局的属性。之前的示例中,没有调用列栏位属性是因为输出表是某个系统结构表,直接输入系统结构名函数可参照此结构创建列属性,从而输出。没有调用布局属性时,系统按默认布局输出,不做任何调整。针对这两个属性对应的输入,下面分别对IT_FIELDCAT与IT_LAYOUT的参数值做简单介绍,学员可据此进行练习。IT_FIELDCATIT_FIELDCAT中常用参数,函数中,中常用参数,函数中,IT_FIELDCATIT_FIELDCAT参照参照SLIS_T_FI

29、ELDCAT_ALVSLIS_T_FIELDCAT_ALV,IT_LAYOUTIT_LAYOUT常用参数,函数中常用参数,函数中IT_LAYOUTIT_LAYOUT参照参照SLIS_LAYOUT_ALVSLIS_LAYOUT_ALV,nALV常用参数ALVALVALV列表包含一些预定义的功能,之前讲过的筛选,汇总等都是ALV列表设置好的标准功能。ALV列表如果需要打印表头是否能处理呢?如果需要在标准的ALV中增加功能是否能处理呢?答案当然是可以的。ALVALV输出标题函数,输出标题函数, REUSE_ALV_COMMENTARY_WRITE: 是在ALV中输出表头的函数,应在ALV的TOP-O

30、P-PAGE事件中调用。 nALV事件谢谢!谢谢!结语结语FunctionFunctionFunction中文翻译为功能模块是存储在中央库内的特殊外部子程序. R/3系统提供大量预定义的功能模块,可以从ABAP/4程序中进行调用,而且可以创建自己的功能模块。每个功能模块都有其独立的功能,调用功能模块时通过输入输出参数进行数据的传递实现其本身的功能.n Function的基本组件 FunctionFunction输入参数:用于将数据从调用程序传递到功能模块; 输出参数:用于将数据从功能模块传递回调用程序; 更改参数:既是输入参数又是输出参数,更改传递给功能模块的值,并将其返回给调用程序; 表格参

31、数:是通过内表进行参数传递,处理方式与更改参数一样; 例外:用于处理功能模块中可能发生错误的情况,调用程序检查是否发生了错误,然后采取相应的措施. n Function简介FunctionFunction使用语句:CALL FUNCTION EXPORTING f1 = a1 . fn = an IMPORTING f1 = a1 . fn = an CHANGING f1 = a1 . fn = an TABLES f1 = a1 . fn = an EXCEPTIONS e1 = r1 . en = rn OTHERS = ro.nFunction的调用 使用TCODE:SE37nFunc

32、tion的创建 创建实例:创建一个取物料描述的function。输入物料代码,输出物料描述,最后写report调用。需要支持批量查询。PS:物料表MARA,物料描述表MAKT。nFunction的创建 谢谢!谢谢!结语结语SMARTFORM 当需要从系统中打印出一张单据的时候,需要用到form这种开发工具。例如:系统中针对某一笔交易开了发票,那客户付款后也应该收到一张收款证明,写明购买的商品信息以及价格信息,购买日期等,这样双方都对这笔交易的历史保留了一定的依据,那这张给客户的纸制发票就是取了系统中的交易数据打印出来的发票.nSmartform简介SMARTFORMnSmartform界面SM

33、ARTFORM 制作Smartform时是在form编辑器里面设置,我们在编辑器里用到的工具分为三部分: 最左边是导航树:导航树里面包含了设计smartform时用到的所有元素,包括页,窗口,文本等; 中间是主屏幕,在这个屏幕里,被选中的元素都会有对应的几个页面去设置元素的属性,例如可以设置窗口的宽度/高度等;最右边是form画板,在这里一般都会设置页面的布局,如窗口的位置大小等,可以通过单击工具栏的表格绘制器按钮,设置form画板的显示/不显示状态; 如果需要设置某个元素的属性,可以在左边的导航树中选中该元素双击,中间的主屏幕中会出现该元素的属性设置页面;Form编辑器的组成SMARTFOR

34、M Smartform中所有的元素都在左边的导航树中以节点的形式表示; 子节点继承上层节点的属性,例如格式.如果一个节点没有被执行,那么它下面所有的子节点将都不被执行.但是子节点是独立的,它在父节点执行完之后开始执行; 如果一个节点包含有子节点,可以在左边导航树单击三角形符号展开它的结构看到子节点; 在最上层的节点中,有两个默认存在的节点:全局设置;页和窗口. n导航树SMARTFORM 菜单:工具-打印表格-SMRTFORMS-智能表格;(T-CODE:SMARTFORMS) 双击进入表格绘制器 输入事务代码:SMARTFORMS,点执行按钮进入表格绘制器; 输入一个名称,此名称必须以Z/Y

35、开头,点创建按钮进入开发界面; 输入一个短描述; 表格属性-输出选项:这里设置全局的表格属性,例如纸张大小,默认页面的行间距,字间距等; 表格接口是用来定义输入输出参数的; 系统会自动创建一个PAGE,为这个PAGE修改容易识别的短描述; 一般属性中设置PAGE的属性; 在PAGE下面,系统自动创建了一个MAIN WINDOW; 如需创建其他窗口,可将光标定位在PAGE上,右键-创建-窗口.n创建SMARTFORMS步骤SMARTFORM在窗口的输出选项中可以设置窗口的一些属性,如边距,高度,宽度等;单击工具栏中的按钮表格绘制器,可以在弹出的窗口中,使用鼠标拖动窗口,设置窗口布局,再次单击按钮

36、表格绘制器,可将绘制窗口暂时关闭,进行其他设置;在窗口下面创建一个模板:选中窗口,右键-创建-模板;为模板输入一个短描述;单击编辑按钮,可以为行绘制列,需要几列就绘制几列;要添加行,点细节按钮,插入一行,这里也可以设置列宽;模板下面创建一个文本,用来输出内容;文本的输出选项中,可以设置此文本的内容是在表格的第几行、第几列中输出文本的一般属性中可以输入要输入的内容,如果是变量,可以在工具栏选择按钮,在左下角弹出的对话框中有所有的数据来源,选择所要输出的变量名,拖到文本中的相应位置(变量输出时要放在两个&符号之间).nSMARTFORMS操作SMARTFORM 选中样式按钮 输入一个以Z/

37、Y开头的程序名称,单击创建按钮; 进入Style编辑器,选中段落格式-右键-创建节点; 在弹出的对话框中输入段落格式名,如P1,点确定; 给段落格式输入一个短描述,然后就可以设置段落格式的属性了; 在表头数据标准设置选项页的标准设置选择一个已设置好的段落格式作为标准段落格式,该格式在SMARTFORMS中是被默认引用的.即SMARTFORMS的表格属性中选择该样式,则文本中的字体默认使用样式中的标准格式. 设置好之后保存并激活,此格式便可在Form中被调用; 字符格式的创建方法同段落格式.nSMARTFORMS样式SMARTFORM 这个Function主要是用来取你要调用的Smartform

38、对应的Function Module的名字然后赋值给FM_NAME,因为SMARTFORM对应的Function Module名字很长,并且难以记忆;可以通过Call function SSF_FUNCTION_MODULE_NAME 获取.获取完后同样以Call Function的方式调用已经设计好的Smartform. Smartforms同Function Module一样有输入参数,输出参数,更改参数,表格参数,异常等支持同其它程序的交互.n调用SMARTFORMS谢谢!谢谢!结语结语Enhancement增强(enhancement)的概念其实很广,SAP标准系统之上的所有二次开发,

39、我们都可以理解为增强,做增强的目的就是标准的sap正常的业务系统不能满足实际需求,所以我们在标准的系统基础进行增加不同的功能来达到不同企业的要求,换句话说我们今天开发过程中所有的ADD-ON都可以说是增强开发。但作为开发人员所说的增强主要是标准系统事先预留好的接口,根据不同业务需求,进行开发,我们称为增强,又叫出口。nEnhancement介绍 Enhancement 出口就是一段程序执行到最后必经的一段程序。正常的业务系统不能满足实际需求,这时可以在出口中增加一些功能,来达到要求,这也就是为什么它还叫增强。在Sap中出口就是标准程序最后要调用的一个函数或者功能模块,这个函数或功能模块的输入已

40、经由Sap定义好。 SAP目前有四种增强方式 1、 UserExit ; 2、 Ehancement exits; 3、 BADI; 4、 Enhancement Implementation 。nExits简介EnhancementUserExit (基于源代码的增强)是sap提供一个空代码的子过程,在这个子过程中用户可以添加自己的代码,控制自己的需求。这类增强都需要修改sap的标准代码,它们在发布的时候都是空的,集中在一些文件名倒数第二个字符为Z的包含程序中,由于在标准程序中,所以所有程序的全局数据都可以使用,但同时系统升级时会被新版本覆盖;这种源代码增强和屏幕增强的说明可以从事务码 spro 后台配置中相关模块的路径里面找到;一般是以UserExit_打头的子模块。找到所要增强的的程序,查找UserExit关键字。n UserExit EnhancementEhancement exits (基于函数模块的增强),用SMOD和CMOD维护;在SAP发布的版本中,使用Call customer-function xxx调用函数模块的,所以你可以通过在程序中收cusomer

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论