开发一个SAP通用会计凭证生成平台,用ABAP代码写一个出来
时间: 2023-06-12 12:03:35 浏览: 69
好的,下面是一个简单的SAP通用会计凭证生成平台的ABAP代码:
```
REPORT zgenerate_gj.
TABLES: bseg.
DATA: it_bseg TYPE TABLE OF bseg,
wa_bseg LIKE LINE OF it_bseg.
PARAMETERS: p_bukrs TYPE bukrs,
p_blart TYPE blart,
p_budat TYPE budat_d.
START-OF-SELECTION.
wa_bseg-bukrs = p_bukrs.
wa_bseg-blart = p_blart.
wa_bseg-budat = p_budat.
wa_bseg-shkzg = 'S'.
wa_bseg-hkont = '100000'.
wa_bseg-wrbtr = '1000'.
APPEND wa_bseg TO it_bseg.
CLEAR wa_bseg.
wa_bseg-bukrs = p_bukrs.
wa_bseg-blart = p_blart.
wa_bseg-budat = p_budat.
wa_bseg-shkzg = 'H'.
wa_bseg-hkont = '200000'.
wa_bseg-wrbtr = '-1000'.
APPEND wa_bseg TO it_bseg.
CALL FUNCTION 'BAPI_ACC_DOCUMENT_POST'
EXPORTING
documentheader = wa_bkpf
TABLES
accountgl = it_bseg
EXCEPTIONS
document_not_posted = 1
err_document_number = 2
err_date_invalid = 3
err_currency_not_found = 4
err_company_not_found = 5
OTHERS = 6.
IF sy-subrc = 0.
WRITE: / 'SAP通用会计凭证生成成功!'.
ELSE.
WRITE: / 'SAP通用会计凭证生成失败!'.
ENDIF.
```
代码中使用了SAP提供的BAPI_ACC_DOCUMENT_POST函数来生成通用会计凭证。首先,定义了一个bseg表的内部表it_bseg,用于存储会计凭证的分录数据。然后,根据输入的参数p_bukrs、p_blart、p_budat生成两条分录数据,并添加到it_bseg中。接着,调用BAPI_ACC_DOCUMENT_POST函数生成会计凭证,并根据返回值判断生成是否成功。最后,输出相应的结果信息。
需要注意的是,代码中只生成了两条分录,实际应用中需要根据业务需求生成相应的分录数据。