1.创建包(package)
SE80
选择Package,下面输入框输入包名。
如果是第一次建包,应该先建structure package(父包),然后再建development package(子包)。development package要挂在structure package下,只有development package才可以包括程序,structure package只能包含其它包。
回车,如果包不存在出现提示,包不存在是否创建。
点Yes,出现创建包窗口。
输入描述。选择application component。因为是创建structure package(父包),所以superpackage保持空白。Package level选择structure package。确定。
建立development package(子包)与建立structure package基本一致,只是superpackage中要输入刚才建立的structure package包。Package level中选择development package。
2.创建结构(structure)
SE11
选择data type,输入结构名。
点创建。出现类型选择窗口。
选择structure确定。
输入描述信息。输入结构字段、类型。激活结构。
注意:在建立表或者是结构的时候,如果有金额这种字段,要为这个字段明确引用表和引用字段。
3.建立function group
Function group的作用是对function module进行组织,相关功能模块的function module可以放到一个function group中。
SE80右键点击包名,选择createàfunction group。
输入function group的名称、描述。确定。
建立完function group后一定要先激活。
右键function group选择Activate。
4.创建Z_BAPI
BAPI其实就是function module,只是有一些设置要注意,与普通的function module不同。
选择建立的function group,右键Createàfunction module.
输入名称和描述。
注意:因为是创建Z_BAPI,所以按照命名约定,function module的名称要以Z_BAPI开头。
保存。
注:BAPI与普通function module的一点主要区别是,建立BAPI时Processing Type应该选择Remote-Enabled Module。提示此function module为可以远程调用。
Import、Export、Tables主要是用来设置输入、输出参数。
注: BAPI与普通function module的第二点主要区别是输入输出参数设置中,Pass Value的复选框一定要选中。因为BAPI是作为远程调用的,所以输入输出参数不能传引用。Optional不选中为必输项,选中为可选。
Import、Export中的Associated Type,可以是data element、structure、Table Type。TABLES中Associated Type可以是结构。Import、Export用type,Tables用like.
标准BAPI中通常有个返回值RETURN,类型为BAPIRET2,这个是BAPI的返回信息,表示BAPI有没有正常执行,有什么异常信息。Z_BAPI中应使用RETURN作为返回信息的方式。不要使用RETURN作为业务数据的返回方式。
Source code中进行编码,可以调用其它function module,也可以调用BAPI。
调用BAPI或function module,使用上面Pattern按钮。
5.测试Z_BAPI
Z_BAPI开发完成后,要激活才可以被调用。直接测试方法为,直接点execute 按钮。
点击输入参数
点返回 。执行,检查结果。
除了直接测试,也可以写一个Program调用Z_BAPI进行测试。
6.创建Business Object
首先,要在SE37中释放前面创建的Z_BAPI。
输入T CODE:SE37
输入创建的Z_BAPI,选择Function ModuleàReleaseàRelease.
窗口下面显示:
输入T CODE:SWO1
输入对象类型,以Z开头,然后点Create.
Supertype:只有当此Object Type存在父类型的时候才用输入。
Object Type:是一个Business Object内部的标识。
Object name:是一个Business Object的名称,便于查找ZBAPI。
Name:为了使用Object Type而定义的有意义的名称,可以与上面Object name相同。
Description:描述。
Program:建立Object Type的时候SAP系统要自动生成一些程序,这个输入项就是定义程序的名称。可以自定义名称。可以与上面Object Type输入项内容相同。
Application:选择应用程序的种类。
确定。输入Package和Request。
点击上面Object type,选择edit菜单,Change Release StatusàObject TypeàTo implemented,然后再选择,Change Release StatusàObject TypeàTo released激活。
Implemented
Released
激活时会有两个提示,不用管,直接确定就可以了。
增加Methods
点中Methods,选择UtilitiesàAPI MethodsàAdd Method.
输入Z_BAPI名称。确定。
点击按钮 ,进行确认。
再按 .
点击Yes
点中新增加的Z_BAPI Method,选择editàChange Release StatusàObject Type ComponentàTo implemented,再点击editàChange Release StatusàObject Type ComponentàTo released。
点击上面的按钮 ,进行生成。
输入T CODE:/nbapi,打开BAPI浏览器。
选择alphabetical标签。
向下找,应该可以找到新建的Object Type.