设为首页 收藏本站
查看: 1816|回复: 0

[经验分享] SAP ABAP模块BAPI函数开发及应用 创建BAPI程序的步骤

[复制链接]

尚未签到

发表于 2015-9-19 10:18:18 | 显示全部楼层 |阅读模式
创建BAPI程序的步骤
1.定义BAPI Structure (Structure不能在BAPI中重复使用,因为一旦BAPI被释放,其Structure被冻结)(T-CODE:SE11)
2.创建FUNCTION MODULE(T-CODE:SE37)

每个BAPI必须有自己的Function Group,Function Group属性必须为RFC

3.创建Business Object(T-CODE:SWO1)

4.使用BAPI WIZARD创建API Method (T-CODE:SWO1:Utilities--API methods--methods)

这样BAPI可以被外部程序调用

5.Function Module符合BOR Method

4.释放BAPI Function Module,释放Business Object Type,(先释放对象类型在释放对象类型下的组件)

释放BAPI作为BOR的一种Method

Path:CODE:SWO1àEditàchange release statusàObject typeàTo modeled、、、、

创建BAPI注意事项

1. 要注意 Function Module 要释放了之后, 在SWO1中才可以把 method设为 reaslse. 到se37中, Function Module ---> release ---> release.
2. 添加方法: swo1中, 把鼠标选中在Method上,然后点Create,输入Function的名字, Function加入到了Method中之后,双击这个method,进入method的属性,然后在"ABAP"选项卡中选择API. 然后释放Object和组件.
3. 改变 Object 和 component的状态: edit ----> change release status --->
4. 然后 "产生" 就可以了.
5. SOW1中创建对象的时候,必须要用package才可以,不然对象是不可传送的.

实例程序:
TABLES BAPI_PP_TIMETICKET.
TABLES BAPI2017_GM_ITEM_CREATE.
TABLES BAPI_LINK_CONF_GOODSMOV.
TABLES BAPIRET1.
DATA: wa_pdHeader TYPE BAPI_PP_TIMETICKET.
DATA: i_pdHeader LIKE TABLE OF   BAPI_PP_TIMETICKET.
DATA: wa_pdDetail LIKE   BAPI2017_GM_ITEM_CREATE.
DATA: i_pdDetail LIKE TABLE OF   BAPI2017_GM_ITEM_CREATE.
DATA: itab_return LIKE TABLE OF BAPI_CORU_RETURN.
DATA: wa_return TYPE   BAPIRET1.
DATA: wa_pdLink LIKE   BAPI_LINK_CONF_GOODSMOV.
DATA: i_pdLink LIKE TABLE OF   BAPI_LINK_CONF_GOODSMOV.
wa_pdHeader-ORDERID = AUFNR.
wa_pdHeader-CONF_NO = 2710.
wa_pdHeader-OPERATION = VORNR.
wa_pdHeader-POSTG_DATE = SY-DATUM.
wa_pdHeader-PLANT = WERKS.
wa_pdHeader-WORK_CNTR = ARBPL.
wa_pdHeader-CONF_QUAN_UNIT = MEINH.
wa_pdHeader-YIELD = LMNGA.
wa_pdHeader-SCRAP = XMNGA.
wa_pdHeader-REWORK = RMNGA.
wa_pdHeader-CONF_ACTI_UNIT1 = ILE01.
wa_pdHeader-CONF_ACTIVITY1 = ISM01.
wa_pdHeader-CONF_ACTI_UNIT2 = ILE02.
wa_pdHeader-CONF_ACTIVITY2 = ISM02.
wa_pdHeader-CONF_ACTI_UNIT3 = ILE03.
wa_pdHeader-CONF_ACTIVITY3 = ISM03.
wa_pdHeader-PERS_NO = PERNR.
APPEND wa_pdHeader TO i_pdHeader.
wa_pdDetail-MATERIAL = '20200122'.
wa_pdDetail-PLANT = '2000'.
wa_pdDetail-STGE_LOC = '2021'.
wa_pdDetail-MOVE_TYPE = '261'.
wa_pdDetail-ENTRY_QNT = '20'.
wa_pdDetail-NO_TRANSFER_REQ = ''.
wa_pdDetail-MOVE_MAT = '20200122'.
wa_pdDetail-MOVE_PLANT = '2000'.
wa_pdDetail-MOVE_STLOC = '2021'.
APPEND wa_pdDetail TO I_pdDetail.
wa_pdDetail-MATERIAL = '20200124'.
wa_pdDetail-PLANT = '2000'.
wa_pdDetail-STGE_LOC = '2021'.
wa_pdDetail-MOVE_TYPE = '261'.
wa_pdDetail-ENTRY_QNT = '20'.
wa_pdDetail-MOVE_MAT = '20200124'.
wa_pdDetail-MOVE_PLANT = '2000'.
wa_pdDetail-MOVE_STLOC = '2021'.
wa_pdDetail-NO_TRANSFER_REQ = 'x'.
APPEND wa_pdDetail TO I_pdDetail.
wa_pdLink-INDEX_CONFIRM = 1.
wa_pdLink-INDEX_GOODSMOV = 1.
APPEND wa_pdLink TO I_pdLink.
wa_pdLink-INDEX_CONFIRM = 1.
wa_pdLink-INDEX_GOODSMOV = 2.
APPEND wa_pdLink TO I_pdLink.
CALL FUNCTION 'BAPI_PRODORDCONF_CREATE_TT'
TABLES
   LINK_CONF_GOODSMOV              = I_pdLink
   TIMETICKETS                   = i_pdHeader
   GOODSMOVEMENTS                = I_pdDetail.
DATA: error_log TYPE c.
LOOP AT itab_return INTO wa_return.
IF wa_return-type = 'E'.
   error_log = 'X'.
   EXIT.
ENDIF.
CLEAR wa_return.
ENDLOOP.
IF error_log = 'X'.
CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.
WRITE '有错误存在,不能生成PO'.
LOOP AT itab_return INTO wa_return.
   WRITE: / wa_return-type,wa_return-message.
   CLEAR wa_return.
ENDLOOP.
ELSE.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
    EXPORTING
   wait       = 'X'.
LOOP AT itab_return INTO wa_return.
   WRITE: / wa_return-type,wa_return-message.
   CLEAR wa_return.
ENDLOOP.
ENDIF.

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-115705-1-1.html 上篇帖子: SAP系统的EAI技术分析研究(转) 下篇帖子: SAP系统是什么
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表