- 浏览: 294558 次
- 性别:
- 来自: 深圳
文章分类
最新评论
-
Kisses99:
怎么锁了?readonly?
tomcat不能正常启动 -
zhangliixi:
老板果然还是要厉害点~~
tomcat不能正常启动
本文是BC425中BAPI部分的内容,闲来无事学习一下,顺便翻译记录下来。
Business Add-ins
本章主要内容以及目标
寻找badi
实现badi
创建badi
业务情景(business scenario):
你想对航班维护事务添加一个新功能,但为了对下次升级做最小的调整,所以你希望实现 的方式上修改(modification)用的越少越好,这里你就可以使用SAP提供的方式:BAdls
动机:
1:早期增强技术的缺点(disadvantage)
1.1 只能被使用一次(customer exits)
1.2 没有屏幕增强(business trasaction events(BTES)
1.3 没有菜单增强(BTES)
1.4 没有管理级别(no administration level,BTES)
2:新的增强技术的要求:
2.1 重用
2.2 所有增强类型(程序/菜单/屏幕出口)
2.3 管理级别
2.4 通过最新的技术实现
对象:
1:类是一个对象的抽象描述,每个对象仅仅在程序运行的时候存在。在这个单元里面,当我们谈论对象,我们可能真正指的是抽象的描述(类),依内容而定。
2:一个对象由它的类描述,并且由两层组成 - 内部和外部层。
2.1公有组件:公有组件是类里面对外部可见的组件(例如,属性和方法)。所有类的用户可以直接使用公有组件。一个对象的公有组件组成它的接口。
2.2私有组件:这些组件仅仅只在对象内部可见,像公有组件一样,私有组件可能是属性和方法。
3:面向对象的目标是保证一个类能确保它自己的一致性。所以,类的数据通常来说是内部的,也就是说,使用私有属性,一个类的内部(私有)属性只能被这个类的方法所改变。作为一个规则,类的公有的组件是方法,在类里面的方法同数据一起工作,从而确保了类总是一致的。
4:类通常有个ID来区别于同它拥有同样属性和方法的类。
函数组作为对象的实例
1:直到版本4.0,与对象最接近的是函数组和函数。
2:当你调用一个函数的时候,函数组的实例-同它所有定义的数据-被装载进内部回话的内存区。一个实例是一个真正的软件对象,一个abap程序能因此装载不同函数组实例,通过调用函数组包含的函数,但是,在同一时刻一个函数组只能有一个实例存在。
3:真正的面向对象和函数组的原理区别在于程序能否同时与多个函数组实例工作,而不是一个函数组的多个实例。举个例子,假如一个程序想要同时管理多个独立的计数器,或者是多条指令。如果我们使用函数组完成这件事,我们可能不得不使用实例管理编程以区别于不同的实例(使用数字,例如)。
Classes Generalize Function Groups(标题不知道怎么翻译)
1:在实际当中,使用函数组来实现实例管理将会非常麻烦,所以,数据通常在调用的程序里面,函数组同这些数据一个工作,这就导致了不同的问题。例如,所有的用户不得不与相同的作为函数组的数据结构一起工作。如果你想要去改变函数组的内部数据结构,这就将会影响到很多调用这个函数组的用户,隐式的改变非常难预测。
2:另外一个问题是所有的用户拥有同一份数据的拷贝,当修改数据的时候就非常难于保证数据的一致性。
3:在函数组里面使用全局数据非常危险,因为在一个复杂的事物里面,当每个函数组都被装载进来的时候,几乎是不可控的。
4:这些问题随着类的引入都会迎刃而解,数据和方法都在类里面被定义而不是在函数组里面。abap程序可以与任意数量的同一个类的实例工作。abap程序可以显示的创建运行时类实例,这取代了当函数组被调用时隐式装载单一函数组的运行实例。类的单个的运行实例是唯一的可标识的对象,而且通过对象引用寻址(addressed)。
未完,待续。。。
Business Add-ins
本章主要内容以及目标
寻找badi
实现badi
创建badi
业务情景(business scenario):
你想对航班维护事务添加一个新功能,但为了对下次升级做最小的调整,所以你希望实现 的方式上修改(modification)用的越少越好,这里你就可以使用SAP提供的方式:BAdls
动机:
1:早期增强技术的缺点(disadvantage)
1.1 只能被使用一次(customer exits)
1.2 没有屏幕增强(business trasaction events(BTES)
1.3 没有菜单增强(BTES)
1.4 没有管理级别(no administration level,BTES)
2:新的增强技术的要求:
2.1 重用
2.2 所有增强类型(程序/菜单/屏幕出口)
2.3 管理级别
2.4 通过最新的技术实现
对象:
1:类是一个对象的抽象描述,每个对象仅仅在程序运行的时候存在。在这个单元里面,当我们谈论对象,我们可能真正指的是抽象的描述(类),依内容而定。
2:一个对象由它的类描述,并且由两层组成 - 内部和外部层。
2.1公有组件:公有组件是类里面对外部可见的组件(例如,属性和方法)。所有类的用户可以直接使用公有组件。一个对象的公有组件组成它的接口。
2.2私有组件:这些组件仅仅只在对象内部可见,像公有组件一样,私有组件可能是属性和方法。
3:面向对象的目标是保证一个类能确保它自己的一致性。所以,类的数据通常来说是内部的,也就是说,使用私有属性,一个类的内部(私有)属性只能被这个类的方法所改变。作为一个规则,类的公有的组件是方法,在类里面的方法同数据一起工作,从而确保了类总是一致的。
4:类通常有个ID来区别于同它拥有同样属性和方法的类。
函数组作为对象的实例
1:直到版本4.0,与对象最接近的是函数组和函数。
2:当你调用一个函数的时候,函数组的实例-同它所有定义的数据-被装载进内部回话的内存区。一个实例是一个真正的软件对象,一个abap程序能因此装载不同函数组实例,通过调用函数组包含的函数,但是,在同一时刻一个函数组只能有一个实例存在。
3:真正的面向对象和函数组的原理区别在于程序能否同时与多个函数组实例工作,而不是一个函数组的多个实例。举个例子,假如一个程序想要同时管理多个独立的计数器,或者是多条指令。如果我们使用函数组完成这件事,我们可能不得不使用实例管理编程以区别于不同的实例(使用数字,例如)。
Classes Generalize Function Groups(标题不知道怎么翻译)
1:在实际当中,使用函数组来实现实例管理将会非常麻烦,所以,数据通常在调用的程序里面,函数组同这些数据一个工作,这就导致了不同的问题。例如,所有的用户不得不与相同的作为函数组的数据结构一起工作。如果你想要去改变函数组的内部数据结构,这就将会影响到很多调用这个函数组的用户,隐式的改变非常难预测。
2:另外一个问题是所有的用户拥有同一份数据的拷贝,当修改数据的时候就非常难于保证数据的一致性。
3:在函数组里面使用全局数据非常危险,因为在一个复杂的事物里面,当每个函数组都被装载进来的时候,几乎是不可控的。
4:这些问题随着类的引入都会迎刃而解,数据和方法都在类里面被定义而不是在函数组里面。abap程序可以与任意数量的同一个类的实例工作。abap程序可以显示的创建运行时类实例,这取代了当函数组被调用时隐式装载单一函数组的运行实例。类的单个的运行实例是唯一的可标识的对象,而且通过对象引用寻址(addressed)。
未完,待续。。。
发表评论
-
程序方法添加SAP_ALL权限
2012-04-10 14:28 2005REPORT ZTEST_001. data zUSR04 ... -
维护成本控制凭证的编号范围报错:co area have different elements
2011-08-19 16:30 1371在做维护成本控制凭证的编号范围时,从0001控制范围cop ... -
初级成本要素和次级成本要素 .
2011-08-18 16:40 2838初级成本要素与次级成本要素。SAP除总帐的及时集成外,它的另一 ... -
SAP query传输以后需要重新生成程序
2011-07-26 10:53 5832最近有个需求,需 ... -
ABAP程序启动后台作业
2011-07-15 10:03 5057FORM frm_set_bgex . DATA: ... -
SAP菜单显示事务码
2011-07-11 16:34 2879SAP的菜单项上,默认不显示该菜单项的事务码,进行如下操作可显 ... -
程序查找Customer Exit
2011-04-11 10:27 1092REPORT ZEXIT_HELP no standard p ... -
inner join on, left join on, right join on区别(转)
2011-03-31 14:06 16391.理论 只要两个表的公共字段有匹配值,就将这两个表中的记录 ... -
For all entries使用中注意的问题
2011-03-30 21:54 12271.SELECT CARRID CONNI ... -
ABAP memory中的Export和Import
2011-03-30 17:02 3590REPORT z_barry_export_import . ... -
ABAP中的各种接口技术(转)
2011-03-30 12:19 2334下面总结一下ABAP中的各 ... -
导入现成的安装有SAP的虚拟机报错:Failed to lock the file解决方法
2011-03-23 10:52 2251虚拟机文件来源:windows server 200 ... -
sap 标准abap程序优化example
2011-03-22 11:11 1384用se38进入程序编辑器,然后在Environment-Exa ... -
BADI 入门
2011-03-21 22:17 1119badi入门的文章看了不少,感觉下面这一片讲的挺好的。 地址: ... -
根据事物码查找BADI(转)
2011-03-21 20:29 1441对于根据事务代码查找对应的BADI,网上介绍的方法很多,但总结 ... -
SAP IMG的概念
2011-03-05 11:14 2146SAP - IMG IMG是SAP后台配置的入口。 Imp ... -
abap debug中设置watchpoint
2011-03-02 23:12 5118拿一个实例来说:先将文件写入服务器,然后再从应用服务器上读取, ... -
abap screen parameters自动转化成大写
2011-02-22 13:32 1836当我们写下面这段代码时 PARAMETERS: name ty ... -
使用Call Transaction来实现BDC(转)
2011-02-22 10:54 2340data: ls_bdc like bdcdata, lt ... -
使用Batch Input Session来实现BDC(转)
2011-02-22 10:53 2381data: ls_bdc like bdcdata, lt ...
相关推荐
### SAP Business Add-Ins (BAdIs) #### 定义 SAP Business Add-Ins(简称BAdIs)是SAP提供的一种增强技术,允许客户在不修改原生SAP源代码的情况下添加自定义逻辑。这种机制基于ABAP Objects框架,使得用户能够...
SQL Server 2008 Data Mining Add-ins for Office 2007 是一款微软推出的用于增强Excel和Visio的数据挖掘功能的工具集。这个软件包旨在帮助用户在Microsoft Office环境中进行数据分析和数据挖掘,尤其适合那些熟悉...
企业客户在使用SAP SD模块的过程中,经常会遇到需要对标准流程进行个性化调整或功能扩展的情况,而SAP提供的BADI (Business Add-Ins) 正是用于实现这种业务增强的技术手段。 BADI是SAP开发中用于业务增强的一种技术...
SAP Concur Integration - BADI Guide 是一个详细指导,旨在帮助用户理解和利用SAP的Business Add-Ins(BAdIs)来实现与Concur解决方案的集成。Concur是一款流行的差旅和费用管理软件,而SAP是全球领先的业务流程...
在SAP系统中,为了提供高度的定制化能力,开发了许多扩展点,即所谓的BADI(Business Add-Ins)和User Exits。这两种机制允许客户在不修改标准代码的前提下,对SAP的应用程序进行扩展或自定义。 **BADI**(Business...
在SAP系统中,"User Exits"、"Customer Exits"、"BAdIs"(Business Add-Ins)和"BTEs"(Business Transaction Events)是四种关键的扩展机制,它们允许用户根据业务需求定制标准软件功能。下面将详细阐述这四种技术...
根据给定的信息,我们可以深入探讨SAP ABAP BADI(Business Add-Ins)的相关知识点,特别是针对初学者如何理解和运用这一强大的增强开发机制。 ### SAP ABAP BADI基础概念 SAP ABAP BADI(Business Add-Ins)是SAP...
使用 Business Add-Ins (BADI) 可以实现对客户主数据的屏幕增强。本文档将详细介绍如何使用 BADI 对 XD01/XD02/XD03 进行附加屏幕,字段的增强。 首先,我们需要使用 SE19 创建一个 BADI 实现,名为 CUSTOMER_ADD_...
本程序代码主要针对SAP系统的用户出口(Enhancements/Business Add-ins)进行查询与展示,旨在帮助用户了解特定事务代码或程序中可用的增强功能。通过该程序,用户可以基于输入的事务代码或程序名称来获取与其相关的...
本文档旨在帮助SAP用户和技术人员了解如何寻找与SAP标准事务代码相关的用户出口(User-Exits)或BADI(Business Add-Ins)。通过这些方法,用户可以在不修改SAP标准程序的情况下扩展功能。本文档适用于SAP ECC 6.0版本。...
Enhancements包含字典增强、Funciton Module Exits、菜单和屏幕出口及Business Add-ins。自定义ABAP程序可以与SAP对象或自定义开发的对象一起工作。 4. 在字典中创建表的步骤:创建表需要三个步骤,首先创建域...
- **BADI (Business Add-Ins)**:面向对象的增强方法,分为Classic BADI和NEW BADI,通过实例化特定接口来实现增强。 - **Source Code Enhancements**:基于源代码的增强,包括显式增强(使用ENHANCEMENT-POINT...
增强通常分为多种方式,包括ABAP编程、使用SAP enhancement framework、BADI(Business Add-Ins)和Lumira等工具。 在"源码"标签下,我们可以期待这篇文档可能会涉及到一些ABAP编程的内容。ABAP(Advanced Business...
Develop Office 365 applications, Office Add-ins, and SharePoint Add-ins Invoke Microsoft Graph API endpoints from any platform via bare HTTP requests Authenticate users against online tenants with ...
通常,这些增强是通过业务添加件(Business Add-ins, BAdIs)来实现的。BAdIs是SAP提供的一种可扩展性机制,允许开发者在不修改标准代码的情况下对系统进行定制。以下是如何在SAP ABAP环境中查找和利用BAdIs的三种...
1. **增强概念**:了解SAP的增强机制,如增强点(Enhancement Points)、增强集(Enhancement Sets)、增强包(Enhancement Packages)以及BADI(Business Add-Ins)等,这些都是SAP系统允许用户不修改标准代码就能...
除了用户退出,SAP还提供了Badis(Business Add-Ins)作为另一种增强方式。Badis是一种面向对象的增强机制,相比用户退出更加灵活,允许开发人员实现更复杂的逻辑而不会干扰标准代码。Badis可以通过`CALL METHOD`...
25. SE18, SE19 - 这些不是BW的TCODE,而是SAP的ABAP开发工具相关的TCODE,用于业务添加组件(Business Add-Ins)的定义和实现。 以上提到的TCODE涵盖了SAP BW模块中数据提取、转换、加载(ETL)、数据存储、数据...
6. 除了用户出口,ABAP还有其他增强方式,如:BADI(Business Add-Ins)、Enhancement Spot(增强点)、Enhancement Package(增强包)等。这些方式提供了更灵活的扩展选项,可以根据项目需求选择合适的方法。 总之...
2. **增强技术**:探讨SAP提供的各种增强技术,如BADI(Business Add-Ins)、Enhancement Spot等。 3. **定制与修改示例**:通过实际案例分析,展示如何利用SAP提供的工具和技术进行定制开发。 4. **最佳实践**:...