SAP FI财务凭证冲销

冲销调用FUNCTION 'FI_REFERENCE_CREATE'实现

主要参数:冲销凭证,会计年度,公司代码。冲销原因,本期冲销还是上期冲销期间的选择。

FUNCTION ZFIFM_XXXX.
*"----------------------------------------------------------------------
*"*"本地接口:
*"  IMPORTING
*"     VALUE(I_BELNR) TYPE  BELNR_D
*"     VALUE(I_BUKRS) TYPE  BUKRS
*"     VALUE(I_GJAHR) TYPE  GJAHR
*"     VALUE(I_RE_DATE) TYPE  BUDAT OPTIONAL
*"     VALUE(I_REASON_REV) TYPE  STGRD OPTIONAL
*"  EXPORTING
*"     REFERENCE(E_BELNR) TYPE  BELNR_D
*"     REFERENCE(E_BUKRS) TYPE  BUKRS
*"     REFERENCE(E_GJAHR) TYPE  GJAHR
*"     REFERENCE(E_BUDAT) TYPE  BUDAT
*"  TABLES
*"      ET_RETURN STRUCTURE  BAPIRET2 OPTIONAL
*"----------------------------------------------------------------------

  DATA:
    LV_BUKRS    TYPE ACCIT-BUKRS,
    LV_GJAHR    TYPE ACCIT-GJAHR,
    LV_BELNR    TYPE ACCIT-BELNR,
    LV_RE_DATE  TYPE BUDAT,
    LT_REVERSAL TYPE BAPIACREV,
    LS_REVERSAL TYPE BAPIACREV,
    LV_OBJ_TYPE TYPE BAPIACREV-OBJ_TYPE,
    LV_OBJ_KEY  TYPE BAPIACREV-OBJ_KEY,
    LV_OBJ_SYS  TYPE BAPIACREV-OBJ_SYS,
    LV_BUS_ACT  TYPE BAPIACHE09-BUS_ACT VALUE 'RFBU',
    LT_RETURN   TYPE STANDARD TABLE OF BAPIRET2,
    LS_RETURN   TYPE BAPIRET2.

  DATA: LS_BKPF TYPE BKPF.

  DATA: LV_BUKRS1 TYPE BUKRS,
        LV_GJAHR1 TYPE GJAHR,
        LV_MONAT1 TYPE MONAT.
  DATA:LV_STR TYPE STRING.
  DATA:LV_TCODE TYPE SY-TCODE.

  CLEAR: LV_BELNR,
         LV_BUKRS,
         LV_GJAHR,
         LV_RE_DATE,
         LV_TCODE.

  LV_BELNR   = I_BELNR.
  LV_BUKRS   = I_BUKRS.
  LV_GJAHR   = I_GJAHR.
  LV_RE_DATE = I_RE_DATE.
  SELECT SINGLE *
    INTO CORRESPONDING FIELDS OF LS_BKPF
    FROM BKPF
   WHERE BELNR = LV_BELNR
     AND BUKRS = LV_BUKRS
     AND GJAHR = LV_GJAHR.

  IF SY-TCODE = 'ZFI1143'.
    "ADD BY C-ZHANGQ15 20210910 修正BKPF - TCODE 记录
    IMPORT LV_TCODE = LV_TCODE FROM MEMORY ID 'ZFI1143_TCODE'.
    IF LV_TCODE IS NOT INITIAL.
      SY-TCODE =  LV_TCODE.
    ELSE.
      SY-TCODE = 'ZFI1004'.
    ENDIF.
    FREE MEMORY ID 'ZFI1143_TCODE'.
    "ADD END
  ENDIF.


  CALL FUNCTION 'FI_REFERENCE_CREATE'
    EXPORTING
      I_AWTYP           = 'BKPFF'
      I_BUKRS           = LV_BUKRS
      I_GJAHR           = LV_GJAHR
      I_BELNR           = LV_BELNR
*     I_AWKEY           = ' '
    IMPORTING
      E_AWTYP           = LS_REVERSAL-OBJ_TYPE
      E_AWKEY           = LS_REVERSAL-OBJ_KEY
      E_AWSYS           = LS_REVERSAL-OBJ_SYS
    EXCEPTIONS
      OBJECT_TYPE       = 1
      MISSING_PARAMETER = 2.
  IF SY-SUBRC = 0.
    LS_REVERSAL-OBJ_KEY_R  = LS_REVERSAL-OBJ_KEY.
    LS_REVERSAL-PSTNG_DATE = LV_RE_DATE."gv_rev_data.

*    IF i_reason_rev IS NOT INITIAL.
    IF LV_RE_DATE+0(6) = LS_BKPF-BUDAT+0(6).
      LS_REVERSAL-REASON_REV = '03'."uf05a-stgrd.
      LS_REVERSAL-PSTNG_DATE = LS_BKPF-BUDAT.
      E_BUDAT = LS_BKPF-BUDAT.
    ELSE.
      "ELSEIF lv_re_date+4(2) > ls_bkpf-budat+4(2).
      LS_REVERSAL-REASON_REV = '04'."uf05a-stgrd.
      E_BUDAT = I_RE_DATE.
    ENDIF.
*    ELSE.
*      ls_reversal-reason_rev = i_reason_rev."uf05a-stgrd.
*    ENDIF.
*     IMPORT BUKRS = LV_BUKRS1 GJAHR = LV_GJAHR1 MONAT = LV_MONAT1 FROM MEMORY ID 'ZFI017A'.
*     IF LV_BUKRS1 IS NOT INITIAL AND LV_GJAHR1 IS NOT INITIAL AND LV_MONAT1 IS NOT INITIAL.
*            LV_STR =  '该公司代码' && lv_BUKRS1 && '年度'&& lv_GJAHR1 && lv_MONAT1 &&'期间'&&'已经执行过月结平台,凭证过账之后请再次执行月结平台!'.
*           MESSAGE W000(ZMSG_FI) WITH  LV_STR.
*          ls_return-type = 'W'.
*          ls_return-id = 'ZMSG_FI'.
*          ls_return-number = '000'.
*          ls_return-message = LV_STR.
*          APPEND ls_return TO LT_RETURN.
*      ENDIF.
*      CLEAR:LV_BUKRS1,LV_GJAHR1,LV_MONAT1.
    CALL FUNCTION 'BAPI_ACC_DOCUMENT_REV_POST'
      EXPORTING
        REVERSAL = LS_REVERSAL
        BUS_ACT  = LV_BUS_ACT
      IMPORTING
        OBJ_TYPE = LV_OBJ_TYPE
        OBJ_KEY  = LV_OBJ_KEY
        OBJ_SYS  = LV_OBJ_SYS
      TABLES
        RETURN   = LT_RETURN.
    LOOP AT LT_RETURN INTO LS_RETURN WHERE TYPE CA 'EAX'.
      EXIT.
    ENDLOOP.
    IF SY-SUBRC <> 0.
*      CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
*        EXPORTING
*          wait = abap_true.
      E_BELNR = LV_OBJ_KEY+0(10).
      E_BUKRS = LV_OBJ_KEY+10(4).
      E_GJAHR = LV_OBJ_KEY+14(4).
    ELSE.
      CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.
    ENDIF.
  ENDIF.

  ET_RETURN[] = LT_RETURN.


ENDFUNCTION.
 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/71542.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【JavaScript】《JavaScript高级程序设计 (第4版) 》笔记-附录D-JavaScript 工具

附录D、JavaScript 工具 JavaScript 工具 编写 JavaScript 代码与编写其他编程语言代码类似&#xff0c;都有专门的工具帮助提高开发效率。JavaScript开发者可以使用的工具一直在增加&#xff0c;这些工具可以帮助开发者更容易定位问题、优化代码和部署上线。其中有些工具是在 …

【AI学习从零至壹】Pytorch逻辑回归

Pytorch逻辑回归 线性回归简单线性回归的参数估计概率和似然的区别 最⼤似然估计似然函数对数似然函数 逻辑回归梯度下降法下⼭问题梯度与学习率学习率 梯度下降法的模拟与可视化学习率对梯度的影响学习率的最佳取值 梯度更新逻辑回归模型构建及训练流程 线性回归 线性回归的⽬…

mybatisplus 开发流程

目录 什么是mybatisplus&#xff1f; 创建项目 先创建一个简单的Java项目​编辑 引入依赖 1.引入父依赖 2.引入其他依赖 springboot配置 application.yml qppication-dev.yml 创建包 实体类 映射&#xff08;创建一个接口&#xff09; 构建测试环境 进行方法的实…

使用 uniapp 开发标准体重计算小程序

引言 在现代生活中&#xff0c;健康管理越来越受到重视&#xff0c;而体重是衡量健康状况的重要指标之一。为了方便用户快速计算自己的标准体重并了解体重状态&#xff0c;我使用 uniapp 开发了一款简单的标准体重计算小程序。本文将详细介绍开发过程&#xff0c;并分享核心代…

如何使用SSH命令安全连接并转发端口到远程服务器

ssh -p 22546 rootconnect.westc.gpuhub.com d6IS/mQKq/iG ssh -CNgv -L 6006:127.0.0.1:6006 rootconnect.westc.gpuhub.com -p 22546 第一条命令&#xff1a;用于登录远程服务器&#xff0c;进行交互式操作。第二条命令&#xff1a;用于建立 SSH 隧道&#xff0c;进行端口转…

File文件和目录

一、文件和目录相关概念 计算机文件&#xff08;File&#xff09;:以计算机硬盘为载体存储在计算机上的信息集合,可以是文本&#xff08;.txt&#xff09;、图片(.jpg、.png、.jpeg)、视频(.mp4)、程序(.exe)等&#xff0c;文件一般有拓展名&#xff0c;表示文件的类型。 文件…

Linux部署java项目

前言 Xshell下载地址 点击连接 常见命令 ls ls:显示当前目录下的文件 ll:可以显示隐藏文件和非隐藏文件与ls -l一样 ls -a -l这两个掌握就可以了 ls --help就可以知道这个后面可以跟什么 ls -al还可以这样 cd cd&#xff1a;进入文件夹 cd后面可以跟相对路径&#xff0…

如何使用 Python+Flask+win32print 实现简易网络打印服务1

Python 实现网络打印机&#xff1a;Flask win32print 在工作场景中&#xff0c;我们可能需要一个简单的网页接口&#xff0c;供他人上传文档并自动打印到指定打印机。 本文将演示如何使用 Python Flask win32print 库来实现这一需求。 代码详见&#xff1a;https://github.…

Java接口(3)与图书管理系统

抽象类与接口的区别 1.抽象类包含普通类和抽象方法&#xff0c;子类可以直接调用普通类方法不用重写。接口包含抽象方法和全局变量。 2.抽象类有各种权限&#xff0c;接口只有pubilc。 3.子类使用抽象类用extend&#xff0c;使用接口用implement。 4.一个抽象类可以实现若干…

基于Matlab的多目标粒子群优化

在复杂系统的设计、决策与优化问题中&#xff0c;常常需要同时兼顾多个相互冲突的目标&#xff0c;多目标粒子群优化&#xff08;MOPSO&#xff09;算法应运而生&#xff0c;作为群体智能优化算法家族中的重要成员&#xff0c;它为解决此类棘手难题提供了高效且富有创新性的解决…

Python 爬取唐诗宋词三百首

你可以使用 requests 和 BeautifulSoup 来爬取《唐诗三百首》和《宋词三百首》的数据。以下是一个基本的 Python 爬虫示例&#xff0c;它从 中华诗词网 或类似的网站获取数据并保存为 JSON 文件。 import requests from bs4 import BeautifulSoup import json import time# 爬取…

美股回测:历史高频分钟数据的分享下载与策略解析20250305

美股回测&#xff1a;历史高频分钟数据的分享下载与策略解析20250305 在金融分析和投资决策的精细化过程中&#xff0c;美股历史分钟高频数据发挥着至关重要的作用。这些数据以其详尽性和精确性&#xff0c;记录了股票每分钟的价格波动和成交量变化&#xff0c;为投资者提供了…

辛格迪客户案例 | 深圳善康医药科技GMP培训管理(TMS)项目

01 善康医药&#xff1a;创新药领域的探索者 深圳善康医药科技股份有限公司自2017年创立以来&#xff0c;便扎根于创新药研发领域&#xff0c;专注于成瘾治疗药物的研究、生产与销售。公司坐落于深圳&#xff0c;凭借自身独特的技术优势与研发实力&#xff0c;在行业内逐渐崭露…

【长安大学】苹果手机/平板自动连接认证CHD-WIFI脚本(快捷指令)

背景&#xff1a; 已经用这个脚本的记得设置Wifi时候&#xff0c;关闭“自动登录” 前几天实在忍受不了CHD-WIFI动不动就断开&#xff0c;一天要重新连接&#xff0c;点登陆好几次。试了下在网上搜有没有CHD-WIFI的自动连接WIFI自动认证脚本&#xff0c;那样我就可以解放双手&…

Vue+el-upload配置minIO实现大文件的切片并发上传、上传进度展示、失败重试功能

vue3el-upload实现切片上传 效果图 初始界面 上传中的界面 上传完成的界面 上传失败的界面 <template><div><el-uploadclass"BigFileUpload"ref"uploadRef"action"#"drag:show-file-list"false":on-change"…

Kubespray部署企业级高可用K8S指南

目录 前言1 K8S集群节点准备1.1 主机列表1.2 kubespray节点python3及pip3准备1.2.1. 更新系统1.2.2. 安装依赖1.2.3. 下载Python 3.12源码1.2.4. 解压源码包1.2.5. 编译和安装Python1.2.6. 验证安装1.2.7. 设置Python 3.12为默认版本&#xff08;可选&#xff09;1.2.8. 安装pi…

无人机端部署 AI 模型,实现实时数据处理和决策

在无人机端部署 AI 模型&#xff0c;实现实时数据处理和决策&#xff0c;是提升无人机智能化水平的关键技术之一。通过将 AI 模型部署到无人机上&#xff0c;可以实现实时目标检测、路径规划、避障等功能。以下是实现这一目标的详细方案和代码示例。 一、实现方案 1. 硬件选择…

审批流AntV框架蚂蚁数据可视化X6饼图(注释详尽)

大家好&#xff0c;这次使用的是AntV的蚂蚁数据可视化X6框架&#xff0c;类似于审批流的场景等&#xff0c;代码如下&#xff1a; X6框架参考网址&#xff1a;https://x6.antv.vision/zh/examples/showcase/practices#bpmn 可以进入该网址&#xff0c;直接复制下方代码进行调试…

用于管理 Elasticsearch Serverless 项目的 AI Agent

作者&#xff1a;来自 Elastic Fram Souza 由自然语言驱动的 AI 代理&#xff0c;可轻松管理 Elasticsearch Serverless 项目 - 支持项目创建、删除和状态检查。 这个小型命令行工具让你可以用简单的英语管理你的无服务器 Elasticsearch 项目。它通过AI&#xff08;这里是 Ope…

通过计费集成和警报监控 Elasticsearch Service 成本

作者&#xff1a;来自 Elastic Alexis Charveriat 使用 Elasticsearch 服务计费集成来跟踪、定制和提醒 Elasticsearch 服务费用。 监控和管理你的Elasticsearch服务&#xff08;ESS&#xff09;使用情况和成本对高效运营至关重要。 Elasticsearch服务计费集成提供了一种简化的…