SAP BDC说明

简单说一下这个DBC,之前也一直在用,每次找记录都很麻烦,所以今天干脆就记下来吧

T-CODE:SHDB

输入个NAME,T-CODE.然后执行。。。最后用保存或者返回来结束录屏。

然后选择记录,创建程序,放到本地,这个时候,记录的所有东西都在程序里了。。。下面就是处理部分了

1.跳转类的:

开头定义的地方加上两个变量

DATA:   BDCDATA LIKE BDCDATA    OCCURS 0 WITH HEADER LINE.
DATA:   MESSTAB LIKE BDCMSGCOLL OCCURS 0 WITH HEADER LINE.
DATA:   GS_CTU_PARAMS TYPE CTU_PARAMS.

BDCDATA是存这些录屏过程中的变量及常量等

GS_ctu_PARAMS是调事务代码时带的一些参数,是否前台执行,报错停止等等。。。。

然后从程序中选一些dynpro 和field的BDC行。。。

有些不需要的字段或者屏幕,可以直接删除对应代码

CLEAR bdcdata[].
     gs_ctu_params-updmode = ‘S‘.
     gs_ctu_params-dismode = ‘E‘.
     gs_ctu_params-defsize = ‘‘."设置窗口非默认大小
     "调用BDC执行 T-code COOIS 显示订单抬头
     PERFORM bdc_dynpro      USING ‘PPIO_ENTRY‘ ‘1000‘.
     PERFORM bdc_field       USING ‘BDC_OKCODE‘
                                   ‘=ONLI‘.
     PERFORM bdc_field       USING ‘PPIO_ENTRY_SC1100-PPIO_LISTTYP‘
                                   ‘PPIOM000‘.
     PERFORM bdc_field       USING ‘PPIO_ENTRY_SC1100-ALV_VARIANT‘
                                   ‘000000000001‘.
     PERFORM bdc_field       USING ‘BDC_CURSOR‘
                                   ‘S_WERKS-LOW‘.
*          perform bdc_field       using ‘S_AUFNR-LOW‘
*                                        GS_AFKO-AUFNR.
     PERFORM bdc_field       USING ‘S_AUART-LOW‘
                                   ‘DL01‘.
     PERFORM bdc_field       USING ‘S_ECKEN-LOW‘
                                   gw_zstybcp-gstrp.
*                                     GS_AFKO-GSTRP.
     PERFORM bdc_field       USING ‘S_WERKS-LOW‘
                                   gw_zstybcp-werks.
*                                     GS_AFKO-WERKS.
     PERFORM bdc_field       USING ‘S_COMPO-LOW‘
                                   gw_zstybcp-matnr.
*                                     GS_AFKO-MATNR.
     PERFORM bdc_dynpro      USING ‘SAPLCOISOUTPUT‘ ‘0100‘.
     CALL TRANSACTION ‘COOIS‘ USING bdcdata OPTIONS FROM gs_ctu_params.

至于上面的s和E是什么意思,你运行一下刚生成的程序,你就看到了。。。

2.执行类的录屏

这类的录屏在有些没有标准函数或者太简单,或者太复杂的函数处理的时候偷懒的做法。。。能简单就简单嘛。和上面同样的方法生成程序。然后选择需要的代码段。。。不需要的可以注释,或者删除
CLEAR BDCDATA[].

    PERFORM BDC_DYNPRO      USING ‘SAPMM06I‘ ‘0100‘.
    PERFORM BDC_FIELD       USING ‘BDC_CURSOR‘
                                  ‘EINE-WERKS‘.
    PERFORM BDC_FIELD       USING ‘BDC_OKCODE‘
                                  ‘/00‘.
    PERFORM BDC_FIELD       USING ‘EINA-LIFNR‘
                                  GW_EXCEL-LIFNR.
    PERFORM BDC_FIELD       USING ‘EINA-MATNR‘
                                  GW_EXCEL-MATNR.
    PERFORM BDC_FIELD       USING ‘EINE-EKORG‘
                                  GW_EXCEL-EKORG.
    PERFORM BDC_FIELD       USING ‘EINE-WERKS‘
                                  GW_EXCEL-WERKS.
    PERFORM BDC_FIELD       USING ‘RM06I-NORMB‘
                                  ‘X‘.
    PERFORM BDC_DYNPRO      USING ‘SAPMM06I‘ ‘0101‘.
    PERFORM BDC_FIELD       USING ‘BDC_OKCODE‘
                                  ‘=EINE‘.
*    PERFORM BDC_FIELD       USING ‘EINA-MEINS‘
*                                  RECORD-MEINS_006.
*    PERFORM BDC_FIELD       USING ‘EINA-UMREZ‘
*                                  RECORD-UMREZ_007.
*    PERFORM BDC_FIELD       USING ‘EINA-UMREN‘
*                                  RECORD-UMREN_008.
    PERFORM BDC_DYNPRO      USING ‘SAPMM06I‘ ‘0102‘.
    PERFORM BDC_FIELD       USING ‘BDC_CURSOR‘
                                  ‘EINE-MWSKZ‘.
    PERFORM BDC_FIELD       USING ‘BDC_OKCODE‘
                                  ‘/00‘.
*    PERFORM BDC_FIELD       USING ‘EINE-APLFZ‘
*                                  RECORD-APLFZ_009.
*    PERFORM BDC_FIELD       USING ‘EINE-EKGRP‘
*                                  RECORD-EKGRP_010.
*    PERFORM BDC_FIELD       USING ‘EINE-NORBM‘
*                                  RECORD-NORBM_011.
*    PERFORM BDC_FIELD       USING ‘EINE-WEBRE‘
*                                  RECORD-WEBRE_012.
    PERFORM BDC_FIELD       USING ‘EINE-MWSKZ‘
                                  GW_EXCEL-MWSKZ.
*    PERFORM BDC_FIELD       USING ‘EINE-IPRKZ‘
*                                  RECORD-IPRKZ_014.
    PERFORM BDC_DYNPRO      USING ‘SAPMM06I‘ ‘0105‘.
    PERFORM BDC_FIELD       USING ‘BDC_CURSOR‘
                                  ‘EINE-ANGNR‘.
    PERFORM BDC_FIELD       USING ‘BDC_OKCODE‘
                                  ‘=KO‘.
    PERFORM BDC_DYNPRO      USING ‘SAPLV14A‘ ‘0102‘.
    PERFORM BDC_FIELD       USING ‘BDC_CURSOR‘
                                  ‘VAKE-DATAB(01)‘.
    PERFORM BDC_FIELD       USING ‘BDC_OKCODE‘
                                  ‘=NEWD‘.
    PERFORM BDC_DYNPRO      USING ‘SAPMV13A‘ ‘0201‘.
    PERFORM BDC_FIELD       USING ‘BDC_CURSOR‘
                                  ‘KONP-KBETR(01)‘.
    PERFORM BDC_FIELD       USING ‘BDC_OKCODE‘
                                  ‘=SICH‘.
    PERFORM BDC_FIELD       USING ‘RV13A-DATAB‘
                                  GW_EXCEL-LIFAB.
    PERFORM BDC_FIELD       USING ‘RV13A-DATBI‘
                                  GW_EXCEL-LIFBI.
    PERFORM BDC_FIELD       USING ‘KONP-KBETR(01)‘
                                  GW_EXCEL-NETPR.
    PERFORM BDC_FIELD       USING ‘KONP-KPEIN(01)‘
                                  GW_EXCEL-KPEIN.
*    PERFORM BDC_TRANSACTION USING ‘ME12‘.
    CALL TRANSACTION ‘ME12‘ USING BDCDATA
                            MODE   ‘N‘
                            UPDATE ‘S‘
                           MESSAGES INTO MESSTAB.

这段是做的采购信息记录,修改价格,税码和单位数量的。。。

这种最后CALL TRANSACTION和上面的那种是不同的方式,这种可以接收返回消息

然后处理返回消息,判断是否成功等。。。

好了,就说到这,有不懂得,自己研究研究。。。

时间: 2024-11-06 07:07:28

SAP BDC说明的相关文章

SAP RFC 获取BDC 消息文本的实现

SAP RFC 获取BDC 消息文本的实现 最近做RFC时 ,有调用一个BDC 用于 信息录入 调试程序时,单纯的处理正确.处理异常不能满足,希望获取具体的类似GUI上的提示消息 消息文本该如何获取呢? messtab内容: 初步猜测  可能是存放表 或者 用什么函数 转化,找到下面的内容: SE11  TABLE:T100 SE37  Function module:WRITE_MESSAGE  另外,需要注意一点,   messtab里有一个参数MSGNR不能直接被函数接口,需要类型转化处理

SAP ABAP BDC录屏工具使用

BDC(batch data communication)是SAP常用的一种数据传输方法.用于一些数据量大,但是对速度又要求不高的数据传输 BDC的两种通用写法. 1.    Call Transaction: 顾名思义,就是直接调用BDC进行数据批量导入.优点:方便快捷,程序处理方便.缺点:日志管理能力差,需自己建透明表来维护数据.我只是把它用作测试用途,不做正式使用. 2.    BDC Insert:这是一种不直接运行,而是将BDC程序生成session,间接运行的一种方法.优点:通过T-

SAP事务码 一

SE80 -- edit source code. SE24 -- class create or display. SFP -- created and maintained independently of Web Dynpro applications using the Form Builder. SFW1 SFW2 SFW3 -- 与增强有关 SY-SUBRC 返 回代码值( 0,如果操 作成功)   SY-UNAME 用 户的登录名   SY-DATUM 当 前日期   SY-UZE

SAP 常用T-CODE

Plant Maintenance (PM) IW32 - Change Plant Maintenance Order IW33 - Display Plant Maintenance Order IW34 - Create Notification Order IW51 - Create Service Notification IW52 - Change Service Notification IW53 - Display Service Notification IW54 - Crea

SAP ABAP 库存盘点注意点及BAPI的使用

欢迎看到文章的朋友加入SAP技术交流QQ群:160061507 关于盘点的一点介绍: 盘赢:帐面库存小于实际库存.盘亏:帐面库存大于实际库存 盘点在系统中的步骤: 1.创建盘点凭证MI01 告知系统在需要盘点的:工厂,库存地,物料,是否批次,是否特殊库存. 2.冻结上述物料的库存移动 如果在盘点凭证中的Posting Block打勾,那么在盘点凭证中登记的物料就自动block了. 当然在实际操作中,最好就是把仓库大门一关,送货进来的供应商敲破大门就是不开,^_^,玩笑. 3.库存盘点MI04 盘

打破传统天价SAP培训,开创SAP师徒之路,经验丰富的老顾问带徒弟

SAP领航社区,开设了一个导师性质的师徒圈子,类似大学导师带研究生,导师给学生安排课题.分配任务.分享资料,让学生自学提高.我们的教学方法是以自学为主,辅导为辅助,在实践中积累经验掌握原理.主要方向ABAP.FICO.SD.MM.PP.HR.CS.CRM.Webdynpro.BO.BW 等等,经验丰富的老顾问带新徒弟,既可以教徒弟技术,又可以给徒弟推荐项目机会 (特殊说明:非线下或者网络授课,通过分享资料,让学生自学,不懂问导师,引导之路) 教学方法: SAP领航推出的导师性质的培训(经验老道的

SAP 金税接口代码 供参考

程序可以通过抓取 客户 开票信息等 下载文本 导出 需要事先创建好几个structure zc0000sdt0016, zc0000sdt0017 REPORT zc0000sdr0016 NO STANDARD PAGE HEADING LINE-COUNT 58 LINE-SIZE 170. TABLES:vbrk,vbrp,t001. *----------------------------------------------------------------------* * typ

ABAP开发顾问必备:SAP ABAP开发技术总结

声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将追究法律责任!原文链接:http://www.cnblogs.com/jiangzhengjun/p/4260224.html 该文档是根据我过去多年学习文档与工作文档总结而成,项目开发过程中我都会参考此文档,主要ABAP很多细节上的东西不可能你记得很牢固,或者你记得一时,但过不了几天做别的项目就会

QP01 BAPI、QP02 BDC

近期在改动一个检验计划分配的一个程序.上网查了一些资料,分别对QP01检验计划创建.改动QP02.删除物料等操作.分享一下. 一.QP01 BAPI BAPI_INSPECTIONPLAN_CREATE 二.BDC for QP02 REPORT  ZQM_BDC_QP02. ************************************************************************ *TYPE-POOLS