FB02-修改会计凭证抬头文本/行文本/FI_DOCUMENT_CHANGE/ZFI_ITEMS_MASS_CHANGE(FI_ITEMS_MASS_CHANGE)

"修改会计凭证抬头文本
DATA:lt_accchg TYPE TABLE OF accchg WITH HEADER LINE.
REFRESH lt_accchg.
CLEAR :lt_accchg.

    lt_accchg-fdname = 'BKTXT'.        "抬头文本-字段,也可以换其他字段
    lt_accchg-newval = ls_t_text-text. "新的值
    APPEND lt_accchg .

    CALL FUNCTION 'FI_DOCUMENT_CHANGE'
      EXPORTING
        "i_awtyp              = 'VBRK'   "参考过程
        "i_awref              =     "参考凭证号
        "i_aworg              = gt_data-aworg   "参考组织
        i_buzei              = '001'   "行项目
        i_belnr              = ls_bseg-belnr  "会计凭证
        i_bukrs              = ls_bseg-bukrs  "公司代码
        i_gjahr              = ls_bseg-gjahr  "财年
      TABLES
        t_accchg             = lt_accchg
      EXCEPTIONS
        no_reference         = 1
        no_document          = 2
        many_documents       = 3
        wrong_input          = 4
        overwrite_creditcard = 5
        OTHERS               = 6.
    IF sy-subrc <> 0.
      MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
      INTO <fs_alv_1>-msg1
    WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
    ENDIF.

"修改会计凭证行文本
在这里插入图片描述

DATA:wa_bseg LIKE bseg,
lt_buztab TYPE tpit_t_buztab WITH HEADER LINE,
lt_fldtab TYPE tpit_t_fname WITH HEADER LINE,
lt_errtab TYPE tpit_t_errdoc WITH HEADER LINE.

    CLEAR:
    wa_bseg ,
    lt_buztab,
    lt_fldtab,
    lt_errtab.

    REFRESH:
    lt_buztab,
    lt_fldtab,
    lt_errtab.

    wa_bseg-sgtxt = <fs_h_text>-text."你要更改的值

    lt_buztab-bukrs  = ls_bseg-bukrs.
    lt_buztab-belnr  = ls_bseg-belnr.
    lt_buztab-gjahr  = ls_bseg-gjahr.
    lt_buztab-buzei  = ls_bseg-buzei.
    lt_buztab-bschl  = ls_bseg-bschl. "过账码
    lt_buztab-umskz  = ls_bseg-umskz."特别总账标示
    APPEND lt_buztab .

    lt_fldtab-fname = 'SGTXT'."要更改的字段
    lt_fldtab-aenkz  = 'X'."给该字段打上标示
    APPEND lt_fldtab.

    CALL FUNCTION 'ZFI_ITEMS_MASS_CHANGE'
      EXPORTING
        s_bseg     = wa_bseg
      IMPORTING
        errtab     = lt_errtab[]
      TABLES
        it_buztab  = lt_buztab
        it_fldtab  = lt_fldtab
      EXCEPTIONS
        bdc_errors = 1
        OTHERS     = 2.
    IF sy-subrc <> 0.
    ENDIF .

    READ TABLE lt_errtab WITH KEY err-msgtyp = 'E'."dc消息處理.
    IF sy-subrc = 0.

      CALL FUNCTION 'FORMAT_MESSAGE'
        EXPORTING
          id        = lt_errtab-err-msgid
          no        = lt_errtab-err-msgnr
          v1        = lt_errtab-err-msgv1
          v2        = lt_errtab-err-msgv2
          v3        = lt_errtab-err-msgv3
          v4        = lt_errtab-err-msgv4
        IMPORTING
          msg       = <fs_alv_1>-vbeln
        EXCEPTIONS
          not_found = 1
          OTHERS    = 2.
    ENDIF.
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

放弃幻想_

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

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

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

打赏作者

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

抵扣说明:

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

余额充值