*&---------------------------------------------------------------------*
*& Report  Z002
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT Z002.
DATA LV_HEADER TYPE BAPIACHE08.       "凭证抬头
DATA LT_ITEM TYPE TABLE OF BAPIACGL08."凭证行项目-科目
DATA LT_CURR TYPE TABLE OF BAPIACCR08."凭证行项目-金额
DATA LT_RETURN TYPE TABLE OF BAPIRET2."返回
LV_HEADER-COMP_CODE = '8000'.
LV_HEADER-DOC_DATE = SY-DATUM.
LV_HEADER-PSTNG_DATE = SY-DATUM.
LV_HEADER-DOC_TYPE = 'SA'.
LV_HEADER-HEADER_TXT = 'this is bapi'.
LV_HEADER-USERNAME = SY-UNAME.
*借方科目  银行存款-工商银行1169
DATA WA_ITEM TYPE BAPIACGL08.
WA_ITEM-ITEMNO_ACC = '1'.
WA_ITEM-GL_ACCOUNT = '0010020400'.
WA_ITEM-COMP_CODE = '8000'.
WA_ITEM-PSTNG_DATE = SY-DATUM.
WA_ITEM-DOC_TYPE = 'SA'.
WA_ITEM-ITEM_TEXT = '银行取现'.
APPEND WA_ITEM TO LT_ITEM.
CLEAR WA_ITEM.
*贷方科目 银行存款-招商银行7785
WA_ITEM-ITEMNO_ACC = '2'.
WA_ITEM-GL_ACCOUNT = '0010020400'.
WA_ITEM-COMP_CODE = '8000'.
WA_ITEM-PSTNG_DATE = SY-DATUM.
WA_ITEM-DOC_TYPE = 'SA'.
WA_ITEM-ITEM_TEXT = '银行取现'.
APPEND WA_ITEM TO LT_ITEM.
CLEAR WA_ITEM.
DATA WA_CURR TYPE BAPIACCR08.
WA_CURR-ITEMNO_ACC = '1'.
WA_CURR-CURRENCY = 'CNY'.
WA_CURR-AMT_DOCCUR = '100.00'.
APPEND WA_CURR TO LT_CURR.
WA_CURR-ITEMNO_ACC = '2'.
WA_CURR-CURRENCY = 'CNY'.
WA_CURR-AMT_DOCCUR = '-100.00'.
APPEND WA_CURR TO LT_CURR.
CALL FUNCTION 'BAPI_ACC_GL_POSTING_POST'
  EXPORTING
    DOCUMENTHEADER       = LV_HEADER
* IMPORTING
*   OBJ_TYPE             =
*   OBJ_KEY              =
*   OBJ_SYS              =
  TABLES
    ACCOUNTGL            = LT_ITEM
    CURRENCYAMOUNT       = LT_CURR
    RETURN               = LT_RETURN
*   EXTENSION1           =
          .
  IF SY-SUBRC IS INITIAL.
    CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
      EXPORTING
        WAIT = 'X'.
    COMMIT WORK AND WAIT.
  ENDIF.
  IF SY-SUBRC IS INITIAL.
    DATA RESULT TYPE BAPIRET2.
    READ TABLE LT_RETURN INTO  RESULT INDEX 1.
    WRITE : / '创建成功',RESULT-MESSAGE.
  ENDIF.