如何使用BAPI_ACC_GL_POSTING_POST进行f-02交易。

2020-09-20 08:31发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


尊敬的成员,
我是ABAP的新手。
我有使用BAPI_ACC_GL_POSTING_POST进行gl帐户发布的要求。

我有一个带有多个标题的平面文件,每个标题将有多个订单项。

1。如何使用Bapi发布这些类型的平面文件?

2。通过bapi_acc_gl_posting_post发布后,我必须生成一个报告,其中显示发生错误的行项目的详细信息。
我经历了很多线程,但找不到任何答案...

我在平面文件(Excel文件)中有以下字段

必填字段:凭证日期,过帐日期,凭证类型,公司代码,货币,凭证抬头文本,过帐密钥,帐号,金额,利润中心。 而且我也有一些可选字段。
我知道如何使用BDC记录来完成此操作,因为这一要求我被迫使用bapi进行。

致谢,
Moin。

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


尊敬的成员,
我是ABAP的新手。
我有使用BAPI_ACC_GL_POSTING_POST进行gl帐户发布的要求。

我有一个带有多个标题的平面文件,每个标题将有多个订单项。

1。如何使用Bapi发布这些类型的平面文件?

2。通过bapi_acc_gl_posting_post发布后,我必须生成一个报告,其中显示发生错误的行项目的详细信息。
我经历了很多线程,但找不到任何答案...

我在平面文件(Excel文件)中有以下字段

必填字段:凭证日期,过帐日期,凭证类型,公司代码,货币,凭证抬头文本,过帐密钥,帐号,金额,利润中心。 而且我也有一些可选字段。
我知道如何使用BDC记录来完成此操作,因为这一要求我被迫使用bapi进行。

致谢,
Moin。

付费偷看设置
发送
2条回答
N-Moskvin
1楼 · 2020-09-20 08:46.采纳回答

你好,穆罕默德,

请参考以下代码,这可能对您有用。

  1. 数据:
  2. *文档标题的结构
  3. g_docheader类似于bapiache08,
  4. *总帐科目行项目的表和标题
  5. bapiacgl08的gi_accountgl类型标准表
  6. g_accountgl类似于bapiacgl08,
  7. *订单项货币字段的表和标题
  8. bapiaccr08的gi_amount类型标准表
  9. g_amount类似于bapiaccr08,
  10. *返回
  11. bapiret2的gi_return类型标准表
  12. g_return类似于bapiret2。
  13. 开始选择。
  14. * ---------------------------------------------- -----------
  15. *标头数据
  16. * ---------------------------------------------- -----------
  17. g_docheader-obj_type ='BKPFF'。
  18. g_docheader-obj_key ='1'。
  19. g_docheader-obj_sys ='B3TCLNT800'。
  20. g_docheader-username = sy-uname。
  21. g_docheader-header_txt ='BAPI测试'。
  22. g_docheader-comp_code ='1000'。
  23. g_docheader-doc_date = sy-datum。
  24. * ---------------------------------------------- -----------
  25. *订单项
  26. * ---------------------------------------------- -----------
  27. *项目1
  28. g_accountgl-itemno_acc ='0000000001'。
  29. g_accountgl-gl_account ='0000192600'。
  30. g_accountgl-pstng_date = sy-datum。
  31. 将g_accountgl附加到gi_accountgl。
  32. *项目2
  33. g_accountgl-itemno_acc ='0000000002'。
  34. g_accountgl-gl_account ='0000192600'。
  35. g_accountgl-pstng_date = sy-datum。
  36. 将g_accountgl附加到gi_accountgl。
  37. * ---------------------------------------------- -----------
  38. *货币和金额
  39. * ---------------------------------------------- -----------
  40. *项目1
  41. g_amount-itemno_acc ='0000000001'。
  42. g_amount-currency ='EUR'。
  43. g_amount-amt_doccur =5000。
  44. APPEND g_amount至gi_amount。
  45. *项目2
  46. g_amount-itemno_acc ='0000000002'。
  47. g_amount-currency ='EUR'。
  48. g_amount-amt_doccur = -5000。
  49. APPEND g_amount至gi_amount。
  50. 选择结束。
  51. *调用BAPI函数
  52. 呼叫功能'BAPI_ACC_GL_POSTING_POST'
  53. 导出
  54. documentheader = g_docheader
  55. *导入
  56. * OBJ_TYPE =
  57. * OBJ_KEY =
  58. * OBJ_SYS =
  59. 表格
  60. accountgl = gi_accountgl
  61. currencyamount = gi_amount
  62. return = gi_return
  63. * EXTENSION1 =
  64. 在gi_return处循环输入INTO g_return。
  65. 写:/g_return-message。
  66. ENDLOOP。

致谢

Srujana

Alawn_Xu
2楼-- · 2020-09-20 08:54

使用任何搜索工具 (谷歌,启动板)上已经有很多带有示例代码的博客 以及BAPI_ACC_DOCUMENT_POST和BAPI_ACC_GL_POSTING_POST 阅读BAPI文档(建议:同时阅读两个BAPI)。 对于每次调用后的任何BAPI,每个文档一个,用返回的消息(成功,错误等)构建协议。 RETURN参数,如果没有错误,请使用BAPI_TRANSACTION_COMMIT,否则...等等。

一周热门 更多>