当前位置: 首页 > news >正文

SAP FI之批量修改财务凭证的BAPI

文章目录

  • 前言
  • 一、pandas是什么?
  • 二、使用步骤
    • 1.引入库
    • 2.读入数据
  • 总结


前言

一般涉及修改财务凭证,或者其它凭证,不应直接更新数据库,而是使用系统提供的function module,或者BAPI,或者使用BDC。

一、

示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。

二、使用步骤

1.FI_DOCUMENT_CHANGE

注意一般调用结束后还应该考虑commit work,和rollback work。

如果手动SE37测试发现在S/4没更新ACDOCA可能是就是这个原因导致的,具体可查看解释:

2713775 - FI_DOCUMENT_CHANGE is not updating ACDOCA - SAP for Me

代码如下(示例):

*&---------------------------------------------------------------------*
*& Report ZTEST
*&---------------------------------------------------------------------*
*& Test program: Update FI document
*&---------------------------------------------------------------------*
report ztest.* Constants document to be changed - TO BE CHANGED
constants:lc_bukrs type bukrs      value 'BEN0',lc_belnr type belnr_d    value '0560000096',lc_gjahr type gjahr      value '2017',lc_buzei type buzei      value '001'.* Constants
constants:lc_k     type koart      value 'K',              " Vendor Account Typelc_gname type eqegraname value 'BKPF',           " Elementary Lock of Lock Entry (Table Name)lc_zuonr type char05     value 'ZUONR'.          " Field name for assignment at line item* Variables
data: lv_garg  type eqegraarg.                     " Argument String of Lock Entry* Structures
data: ls_accchg     type accchg.                   " Changing FI Document Work Area* Tables
data:lt_accchg type standard table of accchg,         " Changing FI Documentlt_enq    type standard table of seqg3.          " Lock entry details*     Filling the fields to be changed
ls_accchg-fdname = lc_zuonr.
ls_accchg-newval = 'TEST UPDATE'.              " New value assignment field - TO BE CHANGED
append ls_accchg to lt_accchg.** UPDATE FI DOCUMENT
if lt_accchg is not initial.
*     Check if there is lock on document before proceedingcall function 'ENQUEUE_READ'exportinggclient               = sy-mandtgname                 = lc_gname             " BKPFgarg                  = lv_gargtablesenq                   = lt_enqexceptionscommunication_failure = 1system_failure        = 2others                = 3.if sy-subrc eq 0 and lt_enq is initial.*     Call the FM to update the FI documentcall function 'FI_DOCUMENT_CHANGE'exportingi_bukrs              = lc_bukrsi_belnr              = lc_belnri_gjahr              = lc_gjahri_buzei              = lc_buzeitablest_accchg             = lt_accchgexceptionsno_reference         = 1no_document          = 2many_documents       = 3wrong_input          = 4overwrite_creditcard = 5others               = 6.if sy-subrc = 0.
*       Commit the changescall function 'BAPI_TRANSACTION_COMMIT'exportingwait = 'X'.endif.endif.
endif.

2.FI_ITEMS_MASS_CHANGE

这个FM里面其实是在使用BDC进行修改,

代码如下(示例):

CALL FUNCTION 'FI_ITEMS_MASS_CHANGE'
EXPORTING
S_BSEG = wa_bseg
IMPORTING
ERRTAB = it_errtab[]
TABLES
IT_BUZTAB = it_buztab
IT_FLDTAB = it_fldtab
EXCEPTIONS
BDC_ERRORS = 1
OTHERS = 2


http://www.lryc.cn/news/158643.html

相关文章:

  • Spring Boot + Vue的网上商城之商品分类
  • Docker 容器逃逸漏洞 (CVE-2020-15257)复现
  • Python 如何使用 csv、openpyxl 库进行读写 Excel 文件详细教程(更新中)
  • $nextTick属性使用与介绍
  • 【群智能算法改进】一种改进的鹈鹕优化算法 IPOA算法[2]【Matlab代码#58】
  • k8s 入门到实战--部署应用到 k8s
  • 编程语言新特性:instanceof的改进
  • 数据挖掘的学习路径
  • 逻辑回归Logistic
  • Flink提交jar出现错误RestHandlerException: No jobs included in application.
  • 【数仓基础(一)】基础概念:数据仓库【用于决策的数据集合】的概念、建立数据仓库的原因与好处
  • 电商类面试问题--01Elasticsearch与Mysql数据同步问题
  • 天线材质介绍--FPC天线
  • vue3 的 ref、 toRef 、 toRefs
  • WebRTC中 setup:actpass、active、passive
  • ModuleNotFoundError: No module named ‘lavis‘解决方案
  • 双指针的问题解法以及常见的leetcode例题。
  • python容器模块Collections
  • 排序算法学习记录-快速排序
  • 安装windows版本的ros2 humble的时候,最后报错
  • Nginx 学习(十)高可用中间件的配置与实现
  • [刷题记录]牛客面试笔刷TOP101
  • 降水预报之双重惩罚
  • 一条SQL语句的执行过程(附一次两段式提交)
  • Python基础知识详解:数据类型、对象结构、运算符完整分析
  • 基于Streamlit的应用如何通过streamlit-authenticator组件实现用户验证与隔离
  • [虚幻引擎插件介绍] DTGlobalEvent 蓝图全局事件, Actor, UMG 相互回调,自由回调通知事件函数,支持自定义参数。
  • 2023数学建模国赛选题建议及BC题思路
  • vue3:4、组合式API-setup选项
  • 【C刷题训练营】第三讲(c语言入门训练)