BDC的录制并使用程序调用
Step1. 录制BDC
-
运行T-Code:SHDB,SHDB中可查看修改创建BDC录屏记录
-
点击新建记录,创建一个新的BDC录屏
-
输入创建参数,然后点击开始记录(录屏界面可能和使用事务代码的界面不一样;如果需要两个界面一致;需勾选不是批输入会话)
-
输入物料编号,回车进入视图选择窗
-
选择基本数据 1视图视图;然后回车进入物料主数据视图界面
-
修改物料描述,物料组,然后切换到基本数据 2 视图;建议使用右边的视图切换按钮,保证BDC能够记录到
7.录入基本数据2 视图数据后;点击保存按钮结束录屏
-
点击保存按钮保存记录(录屏的数据就是我们要使用的数据格式;构造一样的格式就可通过ABAP程序实现调用)
-
DBC ZMM02_01创建完成
Step2. 通过标准创建ABAP程序调用BDC
- 在SHDB界面选择记录ZMM02_01,然后点击程序按钮
- 输入对应参数
- 输入程序描述,点击源代码,跳转到程序编辑界面(可通过修改修改标准程序达到目的,参照 Step3. )
Step3. 手动创建ABAP程序调用BDC
3.1 从EXCEL TXT文件取数据
- 详见代码:PERFORM FRM_GET_FILENAME.
- 详见代码:PERFORM FRM_GET_DATA.
3.2 根据录屏结果生成BDC调用数据
- 第一行记录事务代码的行可以省略
- BDC_SUBSCR 的行可以省略不填
- 未修改的值(MARA-MEINS = PC MARA-GEWEI = KG)也可省略不填
- 详见代码:PERFORM FRM_CONVERT_DATA USING WA_DATA.
3.3 执行BDC调用
- 方法一:使用Transaction方法,读入一条执行一次MM02
- 方法二:使用Session的方式,读入所有数据放到一个Session,再用MM02逐条执行;还需要使用SM35去执行Session
- 方法一详见代码:PERFORM FRM_EXEC_TRANSACTION.
- 方法二详见代码:PERFORM FRM_EXEC_SESSION.
4.4 代码
TYPE-POOLS: TRUXS.
TYPES: BEGIN OF TY_DATAS,
MATNR TYPE CHAR50, "料号
MAKTX TYPE CHAR50, "物料描述
MATKL TYPE CHAR50, "物料组
NORMT TYPE CHAR50, "开发案号
END OF TY_DATAS.
DATA: GT_D