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

T-CODE:SHDB

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

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

1.跳转类的:

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

DATA:   BDCDATA LIKE BDCDATA    OCCURS  WITH HEADER LINE.
DATA: MESSTAB LIKE BDCMSGCOLL OCCURS 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' ''.
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'
''.
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' ''.
CALL TRANSACTION 'COOIS' USING bdcdata OPTIONS FROM gs_ctu_params.

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

2.执行类的录屏

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

    PERFORM BDC_DYNPRO      USING 'SAPMM06I' ''.
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' ''.
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' ''.
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' ''.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'EINE-ANGNR'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=KO'.
PERFORM BDC_DYNPRO USING 'SAPLV14A' ''.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'VAKE-DATAB(01)'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=NEWD'.
PERFORM BDC_DYNPRO USING 'SAPMV13A' ''.
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和上面的那种是不同的方式,这种可以接收返回消息

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

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

SAP BDC说明的更多相关文章

  1. SAP BDC 交货增强无法进入

    最近碰到一个问题,使用BDC MODE 'N' UPDATE 'S' 无法进入增强: FV50XF0B_DELIVERY_PUBLISH DELIVERY_PUBLISH_AFTER_SAVE 前台操 ...

  2. SAP BDC 调用中 金额格式转换

    在BDC调用中,由于用户设置不同,导致金额.日期等字段的输入格式不正确.此处给出 自创 金额转换FM 并配有 调用方式. function zgm_conver_cuur. *"------ ...

  3. SAP BDC 用户输入日期转系统日期格式: CONVERT_DATE_TO_EXTERNAL

    BDC中,日期输入格式不正确:可调用FM  CONVERT_DATE_TO_EXTERNAL DATA:l_bdcfield LIKE bdcdata-fval."BDC field val ...

  4. 【ABAP系列】SAP ABAP诠释BDC的OK CODE含义

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP诠释BDC的OK ...

  5. 【ABAP系列】SAP ABAP基础-录制BDC的MODE定义解析

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP基础-录制BDC ...

  6. SAP 录屏BDC使用—实例

    1)  输入TCode:SHDB进入BDC录制初始界面,该界面可以实现已创建BDC Session信息的查看.删除及锁定等操作 2)  单击工具栏 Newrecording 按钮创建一个新的BDC,系 ...

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

    声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...

  8. SAP技术相关Tcode

    ABAP的常用tcode 开发----------------------------------------------- SE51  屏幕制作 SE91  MESSAGE OBJECT SE80  ...

  9. BDC、CATT批量数据维护

    声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...

随机推荐

  1. Java代码规范性

    ---------------------------------------------------------------------------------------------------- ...

  2. servlet&jsp高级:第四部分

    声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...

  3. poj 1106 Transmitters (叉乘的应用)

    http://poj.org/problem?id=1106 Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 4488   A ...

  4. python strip()函数

    转发:jihite-博客园-python strip()函数 函数原型 声明:s为字符串,rm为要删除的字符序列 s.strip(rm)        删除s字符串中开头.结尾处,位于 rm删除序列的 ...

  5. maven使用入门(pom)

    mvn clean complie mvn clean test mvn clean package mvn clean install(该任务将该项目输出的jar安装到了Maven本地仓库中) 各个 ...

  6. caffe里的blocking_queue.hpp与.cpp干了点什么呢???

    我看的一下午才明白的,因为吧,我之前都是不知道与boost::thread相关的任何知识,然后开始看各种资料啊... 妈的,我就是一个小白,没一点基础的.. 总的来说:blocking_queue实现 ...

  7. 转:程序员最值得关注的10个C开源项目

    程序员最值得关注的10个C开源项目 1. Webbench Webbench 是一个在 linux 下使用的非常简单的网站压测工具.它使用 fork ()模拟多个客户端同时访问我们设定的 URL,测试 ...

  8. flume Permission denied: user=flume, access=WRITE, inode

    My flume app is attempting to write to HDFS on a path thats not been created/granted for it. The pat ...

  9. ubuntu sudo apt-get update 失败 解决方法

    sudo apt-get update 报了一堆错误: Err http://cn.archive.ubuntu.com trusty InRelease Err http://cn.archive. ...

  10. Android Studio新建Jni工程

    2.2版本的Android Studio支持新建Jni工程,不用再像以前自己构建工程目录,首先把自己的升级自己的AS到2.2以上 然后打开Tools->Andorid->SDK manag ...