BDC

Session 和  transaction方式: 都要注意在录屏的时候一定要勾选"def size"。比如va22默认在满5行item的时候要换屏。
 换屏后,第5行会在第二屏中的第一行, 也就是我们要填充的行号又要重新变为2。
 
Call transaction方式的时候,最好要用到OPTION, 将其中参数defsize 设为'X'.这样能避免出现换屏的问题。 本人曾经没这个的时候出现过如下状况:
    (1) 代码中没有换屏, call transaction没有设置defsize.
            跑前台是没有问题的,跑job的时候会出现某些字段不存在
     (2) 代码中换屏了, call transaction没有设置defsize
           跑后台是没有问题的, 跑前台的时候会出现某些字段不存在。
 
   data: lwa_opt type ctu_params.
    lwa_opt-dismode = 'N'.
    lwa_opt-updmode  = 'L'.
    lwa_opt-defsize = 'X'.
 
   CALL TRANSACTION TCODE USING BDCDATA
                     OPTIONS FROM lwa_opt
                     MESSAGES INTO MESSTAB.
 
 
Session 方式要用到functions:
    BDC_OPEN_GROUP
    BDC_INSERT
    BDC_CLOSE_GROUP
最终的处理可以手动在sm35中处理对应的session,
如果不想手动处理,我们可以用程序RSBDCSUB来处理,如下图示:
  SUBMIT RSBDCSUB WITH MAPPE = 'ROBBINTEST'
                  WITH VON = sy-datum
                  WITH BIS = sy-datum
                  EXPORTING LIST TO MEMORY AND RETURN.
 
  DATA list_tab TYPE TABLE OF abaplist.
 
  CALL FUNCTION 'LIST_FROM_MEMORY'
    TABLES
      listobject = list_tab
    EXCEPTIONS
      not_found  = 1
      OTHERS           = 2.
 
  IF sy-subrc = 0.
    CALL FUNCTION 'WRITE_LIST'
      TABLES
        listobject = list_tab.
  ENDIF.

 

转载于:https://www.cnblogs.com/wangxiaowen/p/8992430.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值