FB02更改会计凭证文本/分配

定义相关变量、结构、表

DATA : W_BSEG    TYPE BSEG,        “ 修改数据的内容结构
 
        W_MESSAGE TYPE T100-TEXT.  “ 返回的消息接收
 
 
 
  DATA : IT_ERRTAB TYPE TPIT_T_ERRDOC WITH HEADER LINE,
 
          IT_FLDTAB TYPE TPIT_T_FNAME WITH HEADER LINE,
 
          IT_BUZTAB TYPE TPIT_T_BUZTAB WITH HEADER LINE.
 

 

 

2、维护要更新的凭证文本字段名

* 更改需要更新凭证字段的字段名,多个就添加多个
IT_FLDTAB-FNAME = 'ZUONR'.  “ 字段名称
 
  APPEND IT_FLDTAB.
 
  CLEAR IT_FLDTAB.
3、调用函数前数据准备

*  数据初始化
 
  CLEAR: IT_ERRTAB[],
 
          IT_BUZTAB[].
 
  CLEAR: W_BSEG.
 
 
 
* 要更新的字段的值,根据实际情况赋值
 
  W_BSEG-ZUONR = LS_IDGT_INFO-GTVBELN. " 此业务场景的更新值
 
 
 
* 固定数据获取参照,按具体更新条件取出以下数据信息即可
 
  SELECT SINGLE
 
      BUKRS
 
      BELNR
 
      GJAHR
 
      BUZEI
 
      KOART
 
      UMSKZ
 
      BSCHL
 
      MWART
 
      MWSKZ
 
  FROM BSEG
 
  INTO CORRESPONDING FIELDS OF IT_BUZTAB
 
  WHERE BUKRS = LS_BKPF-BUKRS        " 公司代码
 
    AND BELNR = LS_BKPF-BELNR        " 会计凭证号码
 
    AND GJAHR = LS_BKPF-GJAHR        " 会计凭证号码
 
    AND KUNNR <> ''   " 客户编号   *此条件为具体业务添加
 
                  .   " 
 
  IF SY-SUBRC = 0.
 
    APPEND IT_BUZTAB.
 
    CLEAR IT_BUZTAB.
 
  ENDIF.
3、函数调用处理

  CALL FUNCTION 'FI_ITEMS_MASS_CHANGE'
 
    EXPORTING
 
      S_BSEG     = W_BSEG
 
    IMPORTING
 
      ERRTAB     = IT_ERRTAB[]   " 返回消息
 
    TABLES
 
      IT_BUZTAB  = IT_BUZTAB
 
      IT_FLDTAB  = IT_FLDTAB
 
    EXCEPTIONS
 
      BDC_ERRORS = 1
 
      OTHERS     = 2.
 
  IF SY-SUBRC <> 0.
 
*   MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
 
*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
 
    PERFORM GENERATE_MESSAGE.   “ 消息信息处理
 
    MESSAGE W_MESSAGE TYPE 'S' DISPLAY LIKE 'E'.
 
  ENDIF.
3、返回消息信息处理

FORM GENERATE_MESSAGE.
 
  CLEAR W_MESSAGE. “ 清空一下消息文本
 
 
 
  READ TABLE IT_ERRTAB INDEX 1.
 
  IF SY-SUBRC = 0.
 
    CALL FUNCTION 'FORMAT_MESSAGE'
 
      EXPORTING
 
        ID        = IT_ERRTAB-ERR-MSGID
 
        LANG      = SY-LANGU
 
        NO        = IT_ERRTAB-ERR-MSGNR
 
        V1        = IT_ERRTAB-ERR-MSGV1
 
        V2        = IT_ERRTAB-ERR-MSGV2
 
        V3        = IT_ERRTAB-ERR-MSGV3
 
        V4        = IT_ERRTAB-ERR-MSGV4
 
      IMPORTING
 
        MSG       = W_MESSAGE “ 消息文本整理返回
 
      EXCEPTIONS
 
        NOT_FOUND = 1
 
        OTHERS    = 2.
 
  ENDIF.
 
ENDFORM.

————————————————
版权声明:本文为CSDN博主「你说是什么就是什么」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/z_x_xing_/article/details/90080111

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值