BAPI操作手册v2.docx
- 文档编号:10590134
- 上传时间:2023-02-21
- 格式:DOCX
- 页数:21
- 大小:330.12KB
BAPI操作手册v2.docx
《BAPI操作手册v2.docx》由会员分享,可在线阅读,更多相关《BAPI操作手册v2.docx(21页珍藏版)》请在冰豆网上搜索。
BAPI操作手册v2
BAPI操作手册
刚刚开始学BAPI,不知道从什么地方入手,因此好多的东西都不知道怎么去做。
前2天在网上看到一篇关于这样的文章,但是自己手动操作的时候还是出现了一些问题,现在把它整理成文档的形式,以供参考。
这里我非常感谢我的好朋友杜善晶,谢谢她给了我很大的帮助。
---题记(丑儿2007-10-31)
1)给BAPI创建数据结构
(1)
事务代码:
SE11-输入结构的名称:
ZBAPI_ORDER_STATUS_IMPORT
输入如下的3个字段
激活保存
2)给BAPI创建数据结构
(2)
事务代码:
SE11-输入结构的名称:
ZBAPISTAT
输入如下字段
激活保存
2)创建函数
事务代码:
SE37
创建函数组:
转到—〉函数组—〉创建组
输入函数组和函数组短文本
保存
输入Functionmodule:
Z_BAPI_GET_ORDER_STATUSWW点创建
输入函数模块和函数组()短文本SAVE
属性选择状态如下
Import输入如下的参数
Export输入如下参数
Tables选择参数
选择goto–〉Globaldata定义全局变量
激活保存
输入代码如下
Types:
beginofType_tj02t,
istat liketj02t-istat,
txt04 liketj02t-txt04,
txt30 liketj02t-txt30,
endoftype_tj02t.
DATA:
*DeclarationsforTABLEparameter
T_BAPISTATlikeZBAPISTAToccurs0,
G_BAPISTATlikeZBAPISTAT,
*Tableforobjecttexts
t_tj02t typetype_tj02toccurs0,
g_tj02t typetype_tj02t.
*Structureforreturnmessages
DATA:
BEGINOFMESSAGE,
MSGTYLIKESY-MSGTY,
MSGIDLIKESY-MSGID,
MSGNOLIKESY-MSGNO,
MSGV1LIKESY-MSGV1,
MSGV2LIKESY-MSGV2,
MSGV3LIKESY-MSGV3,
MSGV4LIKESY-MSGV4,
ENDOFMESSAGE.
Sourcecode中增加对应代码
激活保存
增加的代码如下:
FUNCTIONZ_BAPI_GET_ORDER_STATUSWW.
*"----------------------------------------------------------------------
*"*"Localinterface:
*"IMPORTING
*"VALUE(BAPI_ORDER_STATUS_IMPORT)TYPEZBAPI_ORDER_STATUS_IMPORT
*"EXPORTING
*"VALUE(RETURN)TYPEBAPIRETURN
*"TABLES
*"T_BAPISTATSTRUCTUREZBAPISTAT
*"----------------------------------------------------------------------
DATA:
l_aufnrLIKEafko-aufnr,
l_objnrLIKEjest-objnr.
********************************************
*Checkiforderexists
********************************************
SELECTSINGLEaufnr
FROMafko
INTOl_aufnr
WHEREaufnr=BAPI_ORDER_STATUS_IMPORT-orderid.
IFsy-subrcNE0.
CLEARmessage.
message-msgty='E'.
message-msgid='Z3'.
message-msgno='000'.
message-msgv1=BAPI_ORDER_STATUS_IMPORT-orderid.
PERFORMset_return_messageUSINGmessage
CHANGINGreturn.
IF1=2.
*Theonlyreasontoincludethisstatement,thatwillobviously
*neverexecute,isthatitwillcreateareferecencesothatyou
*canfindoutwhereaparticularmessageisbeingused.This
*functionalityisusedbytheBAPIsprogrammedbySAP
MESSAGEe000(z3).
ENDIF.
ENDIF.
CHECKreturnISINITIAL.
********************************************
*Readorderstatus
********************************************
CONCATENATE'OR'BAPI_ORDER_STATUS_IMPORT-orderidINTOl_objnr.
IFBAPI_ORDER_STATUS_IMPORT-i_excludeinactive='X'.
SELECTobjnrstatinact
FROMjest
INTOTABLEt_bapistat
WHEREobjnr=l_objnrAND
inact<>'X'.
ELSE.
SELECTobjnrstatinact
FROMjest
INTOTABLEt_bapistat
WHEREobjnr=l_objnr.
ENDIF.
IFsy-subrc<>0.
*Noobjectstatusfound
CLEARmessage.
message-msgty='E'.
message-msgid='Z3'.
message-msgno='001'.
message-msgv1=BAPI_ORDER_STATUS_IMPORT-orderid.
PERFORMset_return_messageUSINGmessage
CHANGINGreturn.
IF1=2.
MESSAGEe001(z3).
ENDIF.
ENDIF.
CHECKreturnISINITIAL.
********************************************
*Readorderstatustexts
********************************************
SELECTistattxt04txt30
FROMtj02t
INTOTABLEt_tj02t
FORALLENTRIESINt_bapistat
WHEREistat=t_bapistat-statAND
spras=BAPI_ORDER_STATUS_IMPORT-i_spras.
SORTt_tj02tBYistat.
LOOPATt_bapistatINTOg_bapistat.
READTABLEt_tj02t
WITHKEYistat=g_bapistat-statBINARYSEARCH
INTOg_tj02t.
IFsy-subrc=0.
MOVE:
g_tj02t-txt04TOg_bapistat-txt04,
g_tj02t-txt30TOg_bapistat-txt30.
MODIFYt_bapistatFROMg_bapistatTRANSPORTINGtxt04txt30.
ENDIF.
ENDLOOP.
ENDFUNCTION.
***INCLUDELZBAPISTATUSF01.
*----------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*&FormSET_RETURN_MESSAGE
*&---------------------------------------------------------------------*
*ThisroutineisusedforsettingtheBAPIreturnmessage.
*TheroutineisastandardroutineforBAPIsthathandlesthemessage
*structurefortheBAPIRETURNstructure.Ithasbeencopiedfromthe
*BAPICompanyCodeGetlist
*----------------------------------------------------------------------*
*-->P_MESSAGEtext
*<--P_RETURNtext
*----------------------------------------------------------------------*
formSET_RETURN_MESSAGEUSINGVALUE(P_MESSAGE)LIKEMESSAGE
CHANGINGP_RETURNLIKEBAPIRETURN.
CHECKNOTMESSAGEISINITIAL.
CALLFUNCTION'BALW_BAPIRETURN_GET'
EXPORTING
TYPE=P_MESSAGE-MSGTY
CL=P_MESSAGE-MSGID
NUMBER=P_MESSAGE-MSGNO
PAR1=P_MESSAGE-MSGV1
PAR2=P_MESSAGE-MSGV2
PAR3=P_MESSAGE-MSGV3
PAR4=P_MESSAGE-MSGV4
*LOG_NO=''
*LOG_MSG_NO=''
IMPORTING
BAPIRETURN=P_RETURN
EXCEPTIONS
OTHERS=1.
endform."SET_RETURN_MESSAG
3)创建APIMethod
事务代码:
SWO1
输入对象/接口类型:
ZORDERSTAW点创建
输入如下的参数
确定保存
选择实用程序—>API方法Add方法
输入Functionmodule:
Z_BAPI_GET_ORDER_STATUSWW
确定
选择
选择
确定
选择编辑—>更改版本状态—>对象类型—>ToImplemented
确定
NotethattheBAPIwizardhasaddedawrapperclassforthefunctionmodulesoitcanbesuedasmethodinthebusinessobject.
选择ChoosemenuGoto->Programtodisplaytheprogram
4)最后一步释放
事务代码:
SE37
释放模组
事务代码:
SWO1
释放业务对象类型选择对象类型—>修改版本状态到—>已实现
释放对象类型(把光标放在对象类型上)
选择编辑—更改版本状态—对象类型—已释放
ReleasetheBAPIasamethodintheBOR
把光标放在zproder…ZgetOrderSt…
选择编辑—更改版本状态—对象类型组件—已释放
保存后退
生成
选择对象类型—生成
成功的信息
5)查看BAPI
事务代码:
BAPI
结束
附件:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- BAPI 操作手册 v2