• BDC处理时用到结构BDCDATA


       在使用BDC批量输入数据的时候,有两个系统结构是要经常使用的,一个是BDCDATA和BDCMSGCOLL。今天查了一些资料,先了解一下第一个结构BDCDATA。

       在SE11里看到BDCDATA包含五个字段,分别为:PROGRAM(BDC module pool)  DYNPRO(BDC Screen number)  DYNBEGIN(BDC screen start) FNAM(Field name)  FVAL(BDC field value)。这五个字段代表的意思在括号里面。

        我们在通过SM35录好屏幕之后,系统会字段产生一个包括五列若干行的表格。这里的五列就分别对应BDCDATA中的五个字段。bdc的工作原理,就是通过sm35记录的每个屏幕上输入的字段来实现批处理(批处理时,将变量赋值给FVAL,随着变量的改变,实现批处理)。

        通过sm35产生的那个表格其实相当于一个内部表,我们要做的就是把通过录屏产生的这些内容加到程序中的内部表中:定义内部表 data it_bdcdata type standard table of bdcdata.

              定义工作区域 data wa_bdcdata type bdcdata.

        因为要加入到内表中的值很多,所以建子程序。代码如下

       perform p_bdcdata using:'' '' '' '' '',

                                '' '' '' '' '',

                                '' '' '' '' ''.

    将录屏产生的内部表中每一行的值填入到对应的''中取(有关鼠标位置的可以不管)

      form p_bdcdata using P_PROGRAM P_DYNPRO P_DYNBEGIN P_FNAM P_FVAL.

       clear wa_bdcdata.

       wa_bdcdata-program = P_PROGRAM.

       wa_bdcdata-dynpro =  P_DYNPRO.

       wa_bdcdata-dynbegin =  P_DYNBEGIN.

       wa_bdcdata-fnam =  P_FNAM.

       wa_bdcdata-fval =  P_FVAL.

       append wa_bdcdata into it_bdcdata.

      endform.

    call transaction ‘TCODE’ USING it_bdcdata mode ‘A’.

    进过上面这个字程序,录屏所产生的字段和ok-code,全部加到了内表it_bdcdata中。如果说我们要进行批处理的数据已经上传到了另外一个内表中,那么我只要loop这个内表,在loop中perform,将工作区域的值赋值给form中wa_bdcdata-fval 。这样就实现了一个简单的bdc处理。

  • 相关阅读:
    uniapp路由插件使用爬坑
    uniapp原生插件开发及打包发布
    JAVA视频教程、安卓Android视频教程、IOS视频教程、Spring Boot/Spring Cloud学习视频教程、MySql视频教程、Redis、大数据、分布式,性能优化等视频教程下载,不断更新中
    css 图片/元素旋转代码
    常见的数据结构
    golang性能优化
    centos配置多个网卡地址
    centos升级python后,要修改的文件
    姿态估计-openpiapaf
    Taro实现VirtualList虚拟列表
  • 原文地址:https://www.cnblogs.com/liaojunbo/p/2208253.html
Copyright © 2020-2023  润新知