总帐凭证导入EXCEL,并且批量输入(FB50)的BDC

本文提供了一个总帐凭证通过BDC(批量数据通讯区)从Excel批量导入的示例,特别强调了循环添加项目前的原始状态,帮助读者理解整个流程。
摘要由CSDN通过智能技术生成

总帐凭证批量输入BDC示例,其中关于循环添加项目的部分,没有做便于大家清楚不循环前是怎样的个状态,

*&---------------------------------------------------------------------*
*& Report  Z_TEST_FB50
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

REPORT  Z_TEST_FB50.


DATA: BEGIN OF ITAB OCCURS 0,
   BLDAT LIKE BKPF-BLDAT,  "凭证日期
   WAERS LIKE BKPF-WAERS,  "公司代码 1000/2000
   BUDAT LIKE BKPF-BUDAT,  "过帐日期
   XBLNR LIKE BKPF-XBLNR,  "参照
   BKTXT LIKE BKPF-BKTXT,  "抬头文本
   BVORG LIKE BKPF-BVORG,  "往来凭证号
   HKONT LIKE BSEG-HKONT,  "科目
   SHKZG LIKE BSEG-SHKZG,  "借/贷 H/S
   WRBTR LIKE BSEG-WRBTR,  "金额
   MWSKZ like BSEG-MWSKZ,  "税金
   ZUONR LIKE BSEG-ZUONR,  "项目分配编号
   SGTXT LIKE BSEG-SGTXT,  "项目文本
   KOSTL LIKE BSEG-KOSTL,  "成本中心
   PRCTR LIKE BSEG-PRCTR,  "利润中心
  END OF ITAB.

DATA BEGIN OF IT_BDC OCCURS 0.  "IT_BDC是定义了内表,该内表就是存放BDC的操作步骤
        INCLUDE STRUCTURE BDCDATA.
DATA END OF IT_BDC.
DATA: BEGIN OF GT_MESSTAB OCCURS 10. "message table
        INCLUDE STRUCTURE BDCMSGCOLL.
DATA: END OF GT_MESSTAB.

DATA:   MESSTAB LIKE BDCMSGCOLL OCCURS 0 WITH HEADER LINE."MESSTAB中保存的是执行完BDC系统的返回信息

DATA:   WA_MESSTAB LIKE BDCMSGCOLL,
        LC_INFORECORD(10) TYPE C.
DATA:   LC_LINE TYPE I.
DATA: BEGIN OF WA_RE_VAL,
        ZZBID(18)   TYPE C,
        STATUS(10) TYPE C,
        TEXT(100)   TYPE C,
      END OF WA_RE_VAL.
DATA: GV_GROUP(12) TYPE C VALUE 'FB50L_ORD',      "BDC Name
      GV_USER(12)  TYPE C,                           "BDC User
      GV_KEEP(1)   TYPE C VALUE 'X',                 " ' '=Delete,'X'=keep after processing
      GV_HOLDDATE  LIKE SY-DATUM.                    "Date



TYPE-POOLS: slis.
DATA: i_fieldcat TYPE slis_t_fieldcat_alv WITH HEADER LINE,     "slis_t_fieldcat_alv WITH HEADER LINE,slis_t_fieldcat_alv
      i_fieldcat_alv TYPE slis_t_fieldcat_alv WITH HEADER LINE,
      i_events TYPE slis_t_event,              "alv事件
      w_events LIKE LINE OF i_events,
      gd_tab_group TYPE slis_t_sp_group_alv,
*      gd_layout    TYPE lvc_s_layo,     "slis_layout_alv,
      gd_layout    TYPE  slis_layout_alv,
      usercommand TYPE slis_fieldname VALUE 'USERCOMMAND',
      gd_repid     LIKE sy-repid.

CONSTANTS:
  c_begin_row TYPE i VALUE 1,       "Beginning row of excel file
  c_begin_col TYPE i VALUE 1,       "Beginning column of excel file
  c_end_row   TYPE i VALUE 9999,    "Ending row of excel file
  c_end_col   TYPE i VALUE 55.      "Ending column of excel file

PARAMETERS: BDCTYPE(1) TYPE C DEFAULT 'B' NO-DISPLAY,
*            BDCMODE    LIKE BDCRUN-BDC_AMODUS DEFAULT 'A' NO-DISPLAY.
            BDCMODE    LIKE BDCRUN-BDC_AMODUS DEFAULT 'N' NO-DISPLAY.

SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE t2.
*PARAMETERS:cc AS CHECKBOX DEFAULT 'X'.
PARAMETERS: pc_file(80).
SELECTION-SCREEN END OF BLOCK b2.

INITIALIZATION.
*  t1 = '查询条件'.
  t2 = '文件上传'.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR pc_file.
  PERFORM sub_find USING pc_file.

*&---------------------------------------------------------------------*
*&      Form  sub_find
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      -->PC_FILE    text
*----------------------------------------------------------------------*
FORM sub_find USING pc_file.
* Data for open dialog
  DATA: l_filetab   TYPE filetable,
        l_rc        TYPE i.
  CLEAR l_filetab.
  REFRESH l_filetab.
* Open dialog
  CALL METHOD cl_gui_frontend_services=>file_open_dialog
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

trassion

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值