SAPBAPI函数使用及示例
更新时间:2024-01-11 00:25:01 阅读量: 教育文库 文档下载
- sapbapi是什么推荐度:
- 相关推荐
1 bapi概述
(1) bapis是\的简写,中文翻译为\业务应用编程接口\。
不同的系统或模块进行通讯时,就需要用到编程接口。
(2) bapi时外部应用程序访问sap业务对象的方法。在面向对象编程方面,业务对象(business object)和bapi是sap的两个很重要的内容,业务对象就是类,bapi就是业务对象的方法。他们的关系描述如下:
kernel --> intergrity --> interface -->access: kernel为内核,对数据库直接进行操作
intergrity为业务对象,将实际业务定义成一个类
interface为应用编程接口,通过该接口,对业务对象进行操作 access为访问方式,直接面向对象编程或远程函数调用
(3) 每一个bapi都有与之对应的以”bapi_“开头的函数。例如:业务对象”user“表示”系统用户“,它有bapi(方法)“lock”和“unlock”,它们用来锁定系统用户和对系统用户解锁。这两个方法对应的函数为“bapi_user_lock”和“bapi_user_unlock”。
2 查看bapi
(1) 运行bapi,进入sap bapi浏览器,在这里,我们能够通过业务层次迅速找到需要的业务对象和方法。 如:
业务对象 --> bussines object 关键字段 --> short description bapi --> method
与bapi对应的函数 --> function module
3 bapi编程 -- abap中访问bapi
由于ABAP不是面向对象的语言,所以在abap程序中使用bapi实际上是调用bapi函数。把皮的函数名称,可以在bapi exploer中的“function module”见到。
例:进行月末结帐时,为了防止用户进行物料移动,在订单结算之前,需要锁定系统用户。 下面这一段代码就用来完成这个功能,它利用了bapi函数\和\。
------------------------------------------------------------------------------- report z_fi_f13 no standard page heading line-size 100.
* 声明全局变量
tables:usr21.
data:begin of itab occurs 0, bname like usr21-bname, end of itab.
data rtn like bapiret2 occurs0.
* 选择屏幕
selection-screen begin of block blk0 with frame title text-010. parameters: p_lock radiobutton group rad1 default 'X', \锁定 p_unlock radiobutton group rad1. \解锁 selection-screen end of block blk0.
selection-screen begin of block blk1 with frame title text-020. select-options p_bname for user21-bname. selection-screen end of block blk1.
* 初始化选择屏上的变量 initialization.
p_bname-sign = 'I'. p_bname-option = 'EQ'. p_bname-low = 'AD003'. append p_bname. p_bname-sign = 'I'. p_bname-option = 'EQ'. p_bname-low = 'TMSADM'. append p_bname.
* 主要数据处理逻辑 start-of-selection. select bname
into corresponding fields of table itab from use21
where bname not in p_bname
and persnumber not in ( select persnumber from adrp where name_last = '000' ).
loop at itab.
if p_lock = 'X'.
call function 'bapi_user_lock' exporting
username = itab-bname tables
return = rtn. endif.
if p_unlock = 'X'.
call function 'bapi_user_unlock' exporting
username = itab-bname tables
return = rtn. endif. endloop.
if p_lock = 'X'.
message i846(so) with '所有用户解锁完成!'. else.
message i846(so) with '所有用户解锁完成!'. endif.
4. 得到输入的对象(如项目定义)的层次结构(BAPI函数)
CALL FUNCTION 'BAPI_PROJECT_GETINFO' EXPORTING
with_subtree = '1' TABLES
i_wbs_element_table = i_proj 原始表
e_wbs_hierarchie_table = i_hierarchie_tab. 得到正确层次后的表 IF sy-subrc NE 0 .
MESSAGE '无法获得项目的层次结构!' TYPE 'E'. ENDIF.
5.使用对话框
CALL FUNCTION 'POPUP_TO_CONFIRM_WITH_MESSAGE' EXPORTING
* DEFAULTOPTION = 'Y'
diagnosetext1 = '删除类别' \显示文本的主题
* DIAGNOSETEXT2 = ' ' * DIAGNOSETEXT3 = ' '
textline1 = l_str \显示的内容
* TEXTLINE2 = ' '
titel = '删除一级类别' \标题栏
* START_COLUMN = 25 * START_ROW = 6
* CANCEL_DISPLAY = 'X' IMPORTING
ANSWER = l_answer. \执行的“是/否” 返回值,是返回“J”,否返回“N”
如果l_answer = ‘J’说明用户选择的为“是”如果是‘N’则选择的为“否”
6 选择文件对话框
如果在程序里要选择一个文件,则使用“WS_FILENAME_GET”BAPI函数就会弹出一个对话框然后选择需要的文件,其中def_path 对就的是接收此地址的输入框,mask是过滤文件类型,title是对话框标题栏显示的文本,filename也是接收地址的输入框 CALL FUNCTION 'WS_FILENAME_GET' \弹出及设置对话框属性的函数
EXPORTING
def_path = p_basic
mask = ',*.xls,*.xls.' \文件过滤器,只能选择*.xls文件
mode = ' ' title = text-001 IMPORTING
filename = p_basic EXCEPTIONS
inv_winsys = 1 no_batch = 2 selection_cancel = 3 selection_error = 4 OTHERS = 5
7.
将字符串尾的负号放在字符串首(用se37查看)
将字符串尾的负号放在字符串首 将字符串尾的负号放在字符串首 CLOI_PUT_SIGN_IN_FRONT CALL FUNCTION 'CLOI_PUT_SIGN_IN_FRONT' CHANGING VALUE = EXCEPTION OTHERS = 1. 2 目的 Func 程序代码 注意事项 8. 使用BAPI:“DATE_STRING_CONVERT”可以将输入的日期字
符串(20070803)转换为日期格式的(2007-08-03)见下面的句子:
DATA: dat TYPE sy-datum, str(10) TYPE c, df TYPE usr01-datfm. dat = '20070803'.
WRITE dat TO str .
SELECT SINGLE datfm INTO df FROM usr01 WHERE bname = sy-uname. CALL FUNCTION 'DATE_STRING_CONVERT' EXPORTING
date_format = df date_string = str IMPORTING
result_date = dat.
WRITE dat . 结果如下:
图12
9. BAPI执行后,正确则提交,错误则回滚.
DATA:i_return_2 TYPE bapiret2,
i_return LIKE bapiret2.
IF i_return-type = 'S'. \判断返回状态“S”创建成功,则提交 CALL FUNCTION 'BAPI_TRANSACTION_COMMIT' EXPORTING wait = 'X' IMPORTING
return = i_return_2.
ELSEIF i_return-type = 'E'. \创建“物料组件”失败,则回滚 CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'. ENDIF.
该方法根据BAPI执行后返回的(type)类型不同而有所不同,有的返回’S’,有的返回空格为正确执行.
正在阅读:
SAPBAPI函数使用及示例01-11
架线工程施工方案06-24
烟草专卖行政许可文书规范08-29
公司经营思路调整转型历程01-06
小李集医院2019年安全生产责任书03-16
不锈钢的防锈能力说明04-12
可乐大战案例分析答案(工商管理案例分析)05-30
第二单元有理数及计算复习教案06-07
PLSQL编程基础12-28
反间谍法学习心得体会06-07
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 示例
- 函数
- SAPBAPI
- 使用
- 开题报告1
- 2014无锡事业单位考试试题:公共基础知识(二十三)
- 江西省赣州市四校协作体17—18学年下学期高二期中考试物理试题(附答案).doc$862464
- 基于ArcGIS空间分析技术的基本农田划定方法研究
- PB对excel的操作
- 2016-2020年中国县域经济发展模式深度分析及发展战略研究报告 - 图文
- 浙江省防雷检测考试大纲答案第二部分 - 图文
- 造价工程师应具有的职业道德及行为规范浅论
- 国际私法综合测评
- 结构主义 解构主义
- 2014年第一季度院感工作情况通报
- 大数据在智慧城市发展中的作用与应用
- 大机调车作业指导书 - 图文
- 实验室间比对报告书
- 瑞和新城经济适用住房综合住宅楼(一期)改造项目
- 2016年土壤修复市场调研及发展趋势预测
- 硫酸新霉素内控质量标准
- 菜单制作
- 苏教版三年级数学下册乘法和加法的混合运算教学设计
- 2017 - 2018学年新版人教新目标版八年级英语上册Unit6Imgoingtostudycomputerscience单元综合测试题1