SAP BAPI_ACC_DOCUMENT_POST函数预制凭证失败报错--会计科目xxxxx 在会计科目表xxx 中没有定义

时间:2024-04-11 21:50:16

1、使用 BAPI_ACC_DOCUMENT_CHECK时:

CALL FUNCTION 'BAPI_ACC_DOCUMENT_CHECK'
    EXPORTING
      DOCUMENTHEADER    = HEADER
    TABLES
      ACCOUNTGL         = ACCOUNTGL
      ACCOUNTRECEIVABLE = ACCOUNTRECEIVABLE
      CURRENCYAMOUNT    = CURRENCYAMOUNT
      EXTENSION2        = IT_EXTENSION2
      RETURN            = RETURN.

  READ TABLE RETURN WITH KEY TYPE = 'E'.

读取BAPI_ACC_DOCUMENT_CHECK返回的RETURN值显示报错:

会计科目xxxxx 在会计科目表xxx 中没有定义

2、使用 BAPI_ACC_DOCUMENT_POST时:

CALL FUNCTION 'BAPI_ACC_DOCUMENT_POST'
      EXPORTING
        DOCUMENTHEADER    = HEADER
      IMPORTING
        OBJ_TYPE          = OBJ_TYPE
        OBJ_KEY           = OBJ_KEY
        OBJ_SYS           = OBJ_SYS
      TABLES
        ACCOUNTGL         = ACCOUNTGL
        CURRENCYAMOUNT    = CURRENCYAMOUNT
        ACCOUNTRECEIVABLE = ACCOUNTRECEIVABLE
        RETURN            = RETURN
        EXTENSION2        = IT_EXTENSION2.
  READ TABLE RETURN WITH KEY TYPE = 'E'.

读取BAPI_ACC_DOCUMENT_CHECK返回的RETURN值显示报错:

会计科目xxxxx 在会计科目表xxx 中没有定义

以上两种BAPI在debug下报错如下图:

SAP BAPI_ACC_DOCUMENT_POST函数预制凭证失败报错--会计科目xxxxx 在会计科目表xxx 中没有定义

可能是由于会计科目或成本中心位数不对造成的:

  ACCOUNTGL-GL_ACCOUNT = '55050118'.     "长度为10位
  ACCOUNTGL-COSTCENTER = '18230'.           "长度为10位
  ACCOUNTGL-VALUE_DATE = '20200331'.
  ACCOUNTGL-ITEM_TEXT  = 'Test Bapi SGTXT1'.
  APPEND ACCOUNTGL.
  CLEAR ACCOUNTGL.

需要补全前导零。