BAPI_ACC_GL_POSTING_POST生成财务预制凭证
来源:互联网 发布:巨人网络股票行情 编辑:程序博客网 时间:2024/04/29 05:11
文章转自 http://hi.baidu.com/tsingwa
利用此BAPI生成预制凭证,首先要在如下用户出口做一个简单增强:
ACBAPI01 会计核算: 对 BAPI 界面的客户增强功能
对应的出口函数是:EXIT_SAPLACC4_001
相应的代码如下,核心内容是要让凭证抬头中的status_new值为2,即可生成预制凭证:
READ TABLE extension WITH KEY field1 = 'BAPI-PARK'.
IF sy-subrc = 0 .
MOVE 2 TO t_acchd-status_new. "to mark this is Park Document
ENDIF.
*此部分内容为BAPI标准参数中没有的字段,四个Field字段都是char250,如果字段太多,
可利用处理字符串拆分的方法进行
LOOP AT extension.
READ TABLE t_accit WITH KEY posnr = extension-field1.
IF sy-subrc = 0.
t_accit-bschl = extension-field2. "记帐码
t_accit-rstgr = extension-field3. "原因代码
t_accit-umskz = extension-field4. "特殊总帐标识
MODIFY t_accit INDEX sy-tabix.
ENDIF.
*在自己的程序或接口代码中调用BAPI,测试程序如下:
*&---------------------------------------------------------------------*
*& Report ZT_TEST_PARK_DOCUMENT
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT zt_test_park_document1 NO STANDARD PAGE HEADING.
TABLES: bkpf,
bseg,
bsec,
bset,
bsez.
DATA: header LIKE bapiache08,
accountgl LIKE STANDARD TABLE OF bapiacgl08 WITH HEADER LINE,
currencyamount LIKE STANDARD TABLE OF bapiaccr08 WITH HEADER LINE,
extension1 LIKE STANDARD TABLE OF bapiextc WITH HEADER LINE,
return LIKE STANDARD TABLE OF bapiret2 WITH HEADER LINE.
DATA: loc_cnt TYPE posnr_acc,
loc_amt TYPE bapiwrbtr.
DATA: obj_key LIKE bapiache02-obj_key,
obj_type LIKE bapiache02-obj_type,
obj_sys LIKE bapiache02-obj_sys.
START-OF-SELECTION.
header-username = sy-uname.
header-comp_code = '1200'.
header-fisc_year = sy-datum+0(4).
header-doc_date = sy-datum.
header-pstng_date = sy-datum.
header-fis_period = sy-datum+4(2).
header-doc_type = 'SA'.
accountgl-itemno_acc = '1'.
accountgl-gl_account = '6602070000 ' .
accountgl-costcenter = '1200AA01'.
accountgl-item_text = 'Test Bapi SGTXT'.
accountgl-alloc_nmbr = 'Test Bapi ZUONR'.
APPEND accountgl.
CLEAR accountgl.
extension1-field1 = '1'."Item No
extension1-field2 = '40'."记帐码
APPEND extension1.
loc_cnt = 1.
loc_cnt = loc_cnt + 1.
accountgl-itemno_acc = loc_cnt.
accountgl-gl_account = '1001010000' .
* accountgl-comp_code = '1200'.
* accountgl-pstng_date = sy-datum.
* accountgl-doc_type = 'SA'.
* accountgl-fisc_year = sy-datum+0(4).
* accountgl-fis_period = sy-datum+4(2).
* accountgl-costcenter = ‘13100’.
accountgl-item_text = 'Test Bapi SGTXT'.
accountgl-alloc_nmbr = 'Test Bapi ZUONR'.
APPEND accountgl.
CLEAR accountgl.
extension1-field1 = '2'. "Item No
extension1-field2 = '50'. "记帐码
extension1-field3 = '999'."原因代码
APPEND extension1.
loc_amt = 1111.
currencyamount-itemno_acc = '1'.
currencyamount-currency = 'CNY'.
currencyamount-amt_doccur = loc_amt. "( For Debit / ‘S’)
APPEND currencyamount.
CLEAR currencyamount.
currencyamount-itemno_acc = '2'.
currencyamount-currency = 'CNY'.
currencyamount-amt_doccur = ( -1 ) * ( loc_amt ). " ( For credit /‘H’)
APPEND currencyamount.
CLEAR currencyamount.
extension1-field1 = 'BAPI-PARK'.
APPEND extension1.
CALL FUNCTION 'BAPI_ACC_GL_POSTING_POST'
EXPORTING
documentheader = header
IMPORTING
obj_type = obj_type
obj_key = obj_key
obj_sys = obj_sys
TABLES
accountgl = accountgl
currencyamount = currencyamount
return = return
extension1 = extension1.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
wait = 'X'.
- BAPI_ACC_GL_POSTING_POST生成财务预制凭证
- BAPI_ACC_GL_POSTING_POST生成财务预制凭证
- BAPI_ACC_GL_POSTING_POST生成财务预制凭证
- 使用程序生成财务预制凭证的方法(一)
- 使用程序生成财务预制凭证的方法(二)
- 使用程序生成财务预制凭证的方法(三)
- BAPI_ACC_DOCUMENT_POST生成预制凭证增强
- BAPI_ACC_DOCUMENT_POST生成预制凭证增强
- BAPI_ACC_DOCUMENT_POST生成预制凭证增强
- SAP预制凭证测试
- BAPI:BAPI_ACC_DOCUMENT_POST创建预制凭证
- ABAP MIR7预制凭证BAPI
- SAP财务凭证冲销
- 财务凭证的替代
- SAP-SAP预制凭证相关的表
- ZFI002财务凭证查询报表
- 财务凭证过账增强 BAPI_ACC_DOCUMENT_POST
- sap 预制凭证与暂存凭证的区别
- JAVA异常基础
- 5.数字拆分成4段,怎样使得4段的乘积最小【dp】
- Java单例模式
- Coding?是不是Coder思维模式
- java学习路线
- BAPI_ACC_GL_POSTING_POST生成财务预制凭证
- Android 弹出对话框Dialog
- 易维触摸屏手写输入系统
- Oracle数据类型转换
- 易维触摸屏全能输入系统
- Android Asynchronous Http Client-Android异步网络请求客户端接口
- 在windows8上使用VS2012编译QT5.1.1
- 易维触摸屏浏览器
- 基础解系