小心BDC录屏带有行项目输入的坑
首先基本步骤还是简单介绍下
SHBD
以MI09为例
回车进去后
先点新建
一直保证填写的数据在第一行
是为了防止一直往后填数据的时候丢掉数据,有时候仅仅是屏幕显示的问题,都有可能丢掉数据。一直点新建,可以保证数据永远在第一行录制
录完后,再点新建
然后再点保存
完成录制
至于后续跟进录屏生成或者自己写代码部分,不做赘述
附录:自己写bdc程序的时候用到的form代码
*------------------------------------------------------------------*
* 录入屏幕号
* -->PV_PROGRAM 程序名
* -->PV_DYNPRO 屏幕号
*------------------------------------------------------------------*
FORM FRM_BDC_DYNPRO USING PV_PROGRAM
PV_DYNPRO.
CLEAR GT_BDCDATA.
GT_BDCDATA-PROGRAM = PV_PROGRAM.
GT_BDCDATA-DYNPRO = PV_DYNPRO.
GT_BDCDATA-DYNBEGIN = 'X'.
APPEND GT_BDCDATA.
ENDFORM. " BDC_DYNPRO
*-------------------------------------------------------------------*
*录入字段
* PV_FNAM 字段名称 PV_FVAL 字段值
*-------------------------------------------------------------------*
FORM FRM_BDC_FIELD USING PV_FNAM
PV_FVAL.
DATA: LV_VALUE TYPE CHAR20.
LV_VALUE = PV_FVAL.
CONDENSE: LV_VALUE.
CLEAR GT_BDCDATA.
GT_BDCDATA-FNAM = PV_FNAM.
GT_BDCDATA-FVAL = LV_VALUE.
APPEND GT_BDCDATA.
ENDFORM. "frm_bdc_field
* BDC
DATA: BEGIN OF GT_BDCDATA OCCURS 0.
INCLUDE STRUCTURE BDCDATA.
DATA: END OF GT_BDCDATA.
DATA: GT_MESSTAB LIKE BDCMSGCOLL OCCURS 0 WITH HEADER LINE.
DATA: LS_BDCOPT TYPE CTU_PARAMS.
最后调用call transaction
LS_BDCOPT-DISMODE = 'N'. "N,A,E* 三种模式 测试使用A模式可以全屏跟踪
LS_BDCOPT-UPDMODE = 'S'. "S,L
LS_BDCOPT-CATTMODE = SPACE.
LS_BDCOPT-DEFSIZE = 'X'.
LS_BDCOPT-RACOMMIT = 'X'.
LS_BDCOPT-NOBINPT = 'X'.
LS_BDCOPT-NOBIEND = 'X'.
CALL TRANSACTION 'MI09' USING GT_BDCDATA[]
OPTIONS FROM LS_BDCOPT
MESSAGES INTO GT_MESSTAB [].
CLEAR GT_BDCDATA[]. "每次处理完成一批必须清空录屏数据表
CLEAR GT_MESSTAB [].
写在最后的话:现在ECC可能还用BDC,之后恐怕用BDC的时候会越来越少,毕竟这个灵活性不够,会有更多的其他解决方案。
更多相关文章
- ALV显示红绿灯(FM ALV 和 OO ALV两种实现方式)
- FM实现F4帮助系列一:常规实现
- FM实现F4帮助系列四:弹出框多筛选条件的搜索帮助(自定义筛选字段)
- OO ALV常用功能完整简例(热键单击,双击,帮助,编辑,自定义工具条等)
- FM实现F4帮助系列三:弹出框多筛选条件的搜索帮助(根据搜索帮助筛选
- FM实现F4帮助系列二:联动的搜索
- php数据类型的转换与检测技术, 变量声明与常用声明的方式与使用,
- 第2章 0126-细说变量与常量,课程笔记、心得(数据类型的转换与检测
- 谷歌也翻车了?全球数亿安卓设备难逃一“劫”,用户隐私数据库被利用