修改SAP 预制会计凭证 BAPI

修改SAP 预制会计凭证 BAPI PRELIMINARY_POSTING_DOC_WRITE

修改预制会计凭证

DATA:TVBKPF LIKE TABLE OF FVBKPF WITH HEADER LINE,
      TVBSEC LIKE TABLE OF FVBSEC WITH HEADER LINE,
      TVBSET LIKE TABLE OF FVBSET WITH HEADER LINE,
      TVBSEG LIKE TABLE OF FVBSEG WITH HEADER LINE.



SELECT * into CORRESPONDING FIELDS OF TABLE TVBKPF  FROM vbkpf WHERE ausbk = '1000' and bukrs = '1000' and belnr = '0100000045' and gjahr = '2018'.

SELECT * into CORRESPONDING FIELDS OF TABLE TVBsec  FROM vbsec WHERE ausbk = '1000'  and belnr = '0100000045' and gjahr = '2018'.

SELECT * into CORRESPONDING FIELDS OF TABLE TVBseg  FROM vbsegs WHERE ausbk = '1000' and bukrs = '1000' and belnr = '0100000045' and gjahr = '2018'.

SELECT * into CORRESPONDING FIELDS OF TABLE TVBset  FROM vbset WHERE ausbk = '1000' and belnr = '0100000045' and gjahr = '2018'.




LOOP AT TVBKPF.

TVBKPF-BKTXT = '23'.
TVBKPF-KZ  = 'U'.

modify TVBKPF.

ENDLOOP.




LOOP AT TVBSEG.
TVBSEG-SGTXT = '123'.
TVBSEG-MENGE = '85'.
TVBSEG-KZ    = 'U'.
"TVBSEG-BZALT = TVBSEG-BUZEI.
MODIFY TVBSEG.
ENDLOOP.

LOOP AT TVBSEC.
TVBSEC-KZ    = 'U'.
MODIFY TVBSEC.
ENDLOOP.

LOOP AT TVBSEt.
TVBSEt-KZ    = 'U'.
MODIFY TVBSEt.
ENDLOOP.


CALL FUNCTION 'PRELIMINARY_POSTING_DOC_WRITE'
 EXPORTING
*   I_UF05A                    =
   I_BSTAT                    = 'V'
  TABLES
    T_VBKPF                    = TVBKPF
    T_VBSEC                    = TVBSEC
    T_VBSEG                    =  TVBSEG
    T_VBSET                    = TVBSET
*   T_VACSPLT                  =
*   T_VSPLTWT                  =
* EXCEPTIONS
*   ABNORMAL_TERMINATION       = 1
*   INSERT_ERROR               = 2
*   UPDATE_ERROR               = 3
*   READ_ERROR                 = 4
*   OTHERS                     = 5
          .
IF SY-SUBRC <> 0.
* Implement suitable error handling here
ENDIF.

修改会计凭证文本



  data :
       lv_bktxt type mkpf-bktxt,
       lv_awkey type bkpf-awkey,
       ls_bkpf2 type bkpf,
       lv_msg(255).

DATA: lt_bkdf TYPE TABLE OF bkdf,
      lt_bkpf TYPE TABLE OF bkpf,
      ls_bkpf TYPE bkpf,
      lt_bsec TYPE TABLE OF bsec,
      lt_bsed TYPE TABLE OF bsed,
      lt_bseg TYPE TABLE OF bseg WITH HEADER LINE,
      lt_bset TYPE TABLE OF bset.



        ls_bkpf-mandt = sy-mandt.
        ls_bkpf-bukrs = '1000'.
        ls_bkpf-gjahr = '2018'.
        ls_bkpf-belnr = '0100000008'.
        ls_bkpf-bktxt = '123'.
        APPEND ls_bkpf TO lt_bkpf.

        lt_bseg-mandt = sy-mandt.
        lt_bseg-bukrs = '1000'.
        lt_bseg-gjahr = '2018'.
        lt_bseg-belnr = '0100000008'.
        lt_bseg-BUZEI = '001'.
        lt_bseg-sgtxt = '223'.
        APPEND lt_bseg.



         CALL FUNCTION 'CHANGE_DOCUMENT'
            TABLES
              t_bkdf           = lt_bkdf
              t_bkpf           = lt_bkpf
              t_bsec           = lt_bsec
              t_bsed           = lt_bsed
              t_bseg           = lt_bseg
              t_bset           = lt_bset
              .

          commit work and wait.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值