一. 相关问题概览

1. 固定资产业务过渡科目摘要增强功能-F-02

    需用表BKPF、BSEG、T001。通过BUKRS、BELNR、GJAHR三个字段相等关联BKPF与BSEG。通过BKPF-BUKRS = T001-BUKRS关联。

    在做SAP资产购置业务的财务凭证,包括手工凭证、以及集成采购凭证时,产生的科目BSEG-HKONT为1601990001,在资产购置SAP系统自动生成第二张自动凭证时,在BKPF- NUMPG =“ ”BSEG-SGTXT=原凭证摘要+原凭证(XXXXXXXXXX)。

2. 固定资产业务过渡科目摘要增强功能-MIGO

    类似F-02事务码的功能,在做MIGO收货的时候,也会同时生成两张会计凭证,要求自动生成第二张自动凭证时,在BSEG-SGTXT=原凭证摘要+原凭证(XXXXXXXXXX),且总账科目限定在1601990001内。

3. 主营业务收入等科目自动反记账功能

    新建科目反记账配置表ZFI_FJZ,字段包括从科目HKONTF(BSEG-HKONT)、到科目HKONTT(BSEG-HKONT)、SHKZG借贷方(CHAR 1) 值=H或S。

    科目若包含在配置表ZFI_FJZ中,在凭证过账时,按照BSEG-HKONT取出对应ZFI_FJZ-SHKZG:若BSEG-SHKZG=ZFI_FJZ-SHKZG,BSEG-XNEGP=空;若BSEG-SHKZG<>ZFI_FJZ-SHKZG, BSEG-XNEGP=X。

二. 问题图片描述

1. 固定资产业务过渡科目摘要增强功能-F-02











    问题概述:这个时候会产生两个财务凭证,一个是100000083,一个是100000084,按照要求需要把100000083原凭证的凭证号+凭证摘要放到100000084凭证上去,效果如下:



2. 固定资产业务过渡科目摘要增强功能-MIGO







    问题概述:这个时候会产生两个财务凭证,一个是5000000077,一个是5000000078,按照要求需要把5000000078原凭证的凭证号+凭证摘要放到5000000077凭证上去,效果如下:





3. 主营业务收入等科目自动反记账功能

    问题概述:科目若包含在配置表ZFI_FJZ中,在凭证过账时,按照BSEG-HKONT取出对应ZFI_FJZ-SHKZG:若BSEG-SHKZG=ZFI_FJZ-SHKZG,BSEG-XNEGP=空;若BSEG-SHKZG<>ZFI_FJZ-SHKZG, BSEG-XNEGP=X。

三. 增强位置及处理方法

1. MF05AFF0_FCODE_BEARBEITUNG程序-固定资产业务过渡科目摘要增强功能-F-02

    增强位置:MF05AFF0_FCODE_BEARBEITUNG程序3383行的transaktion_verlassen子例程。

    增强类型:隐式增强

    代码逻辑:此处增强是两个会计凭证都生成的地方,当总账科目是1601990001时,根据bkpf和bseg表查询出两张会计凭证,然后用CHANGE_DOCUMENT函数修改第二张会计凭证行项目的sgtxt字段。

ENHANCEMENT 2  ZEHENC_SAPMF05A.    "active version
* FI 20221215:固定资产业务过渡科目摘要增强功能
WAIT UP TO 1 SECONDS. READ TABLE xbseg WITH KEY hkont = '1601990001'.
IF sy-subrc = 0.
DATA: lt_bkdf TYPE TABLE OF bkdf,
lt_bkpf TYPE TABLE OF bkpf,
ls_bkpf TYPE bkpf,
lt_bsec TYPE TABLE OF bsec,
lt_bsed TYPE TABLE OF bsed,
ls_bseg TYPE bseg,
lt_bseg TYPE TABLE OF bseg,
lt_bset TYPE TABLE OF bset. DATA: ls_belnr_second TYPE belnr_d.
DATA: ls_xbkpf TYPE bkpf.
CLEAR: ls_bkpf,lt_bkpf[],lt_bseg[],ls_xbkpf. DATA: ls_bkpf_judge TYPE bkpf.
CLEAR: ls_bkpf_judge. ls_belnr_second = bkpf-belnr + 1. CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input = ls_belnr_second
IMPORTING
output = ls_belnr_second. SELECT SINGLE *
INTO CORRESPONDING FIELDS OF ls_bkpf_judge
FROM bkpf
WHERE bukrs eq bkpf-bukrs
AND gjahr eq bkpf-gjahr
AND belnr EQ ls_belnr_second. if ls_bkpf_judge IS NOT INITIAL. ls_bkpf-mandt = sy-mandt.
ls_bkpf-bukrs = bkpf-bukrs.
ls_bkpf-gjahr = bkpf-gjahr.
ls_bkpf-belnr = ls_belnr_second.
APPEND ls_bkpf TO lt_bkpf. LOOP AT xbseg.
CLEAR: ls_bseg.
ls_bseg-mandt = sy-mandt.
ls_bseg-bukrs = xbseg-bukrs.
ls_bseg-gjahr = xbseg-gjahr.
ls_bseg-buzei = xbseg-buzei.
ls_bseg-belnr = ls_belnr_second.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
EXPORTING
input = xbseg-belnr
IMPORTING
output = xbseg-belnr.
ls_bseg-sgtxt = xbseg-sgtxt && '-原凭证(' && xbseg-belnr && ')'.
APPEND ls_bseg TO lt_bseg.
ENDLOOP. CALL FUNCTION 'CHANGE_DOCUMENT'
TABLES
t_bkdf = lt_bkdf
t_bkpf = lt_bkpf
t_bsec = lt_bsec
t_bsed = lt_bsed
t_bseg = lt_bseg
t_bset = lt_bset. IF sy-subrc EQ 0.
COMMIT WORK AND WAIT.
ENDIF. ENDIF.
ENDIF.
* FI 20221215
ENDENHANCEMENT.

2. LMIGOKG1程序-固定资产业务过渡科目摘要增强功能-MIGO

    增强位置:LMIGOKD1程序的2076行的goods_movement_post方法。然后进入到LMIGOKE1程序的1094行,然后进入到LMIGOKG1程序的goods_movement_post具体方法中,创建Z_MIGO_CREATE_ACC_DOCUMENT隐式增强即可。

    增强类型:隐式增强

    代码逻辑:此处增强是MIGO两个会计凭证都生成的地方,当总账科目是1601990001时,根据bkpf和bseg表查询出两张会计凭证,然后用CHANGE_DOCUMENT函数修改第二张会计凭证行项目的sgtxt字段。

ENHANCEMENT 1  Z_MIGO_CREATE_ACC_DOCUMENT.    "active version
" FI 20221230:MIGO自动生成会计凭证增强 LIANG ED1K924636
DATA: lt_bkdf TYPE TABLE OF bkdf,
lt_bsec TYPE TABLE OF bsec,
lt_bsed TYPE TABLE OF bsed,
lt_bset TYPE TABLE OF bset. DATA: ls_BKPF1 TYPE BKPF,
ls_BKPF2 TYPE BKPF,
lt_BKPF TYPE TABLE OF BKPF.
DATA: LT_BKPF_RESULT TYPE TABLE OF BKPF. DATA: ls_bseg TYPE bseg,
lt_bseg TYPE TABLE OF bseg. DATA: ls_bseg_temp TYPE bseg. DATA: ls_AWKEY TYPE bkpf-AWKEY. CLEAR: lt_BKPF[],ls_BKPF1,ls_BKPF2,ls_AWKEY,ls_bseg_temp,ls_bseg,lt_bseg[],LT_BKPF_RESULT[]. ls_AWKEY = ls_emkpf-MBLNR && ls_emkpf-MJAHR. SELECT *
INTO CORRESPONDING FIELDS OF TABLE lt_BKPF
FROM BKPF
WHERE AWKEY EQ ls_AWKEY. SORT lt_BKPF BY BELNR ASCENDING. IF sy-subrc EQ 0.
READ TABLE lt_BKPF INTO ls_BKPF1 INDEX 1.
READ TABLE lt_BKPF INTO ls_BKPF2 INDEX 2.
APPEND ls_BKPF2 TO LT_BKPF_RESULT.
SELECT *
INTO CORRESPONDING FIELDS OF TABLE lt_bseg
FROM bseg
WHERE BUKRS EQ ls_BKPF2-bukrs
AND BELNR EQ ls_BKPF2-BELNR
AND GJAHR EQ ls_BKPF2-GJAHR. LOOP AT lt_bseg INTO ls_bseg.
IF ls_bseg-hkont EQ '1601990001'.
CLEAR: ls_bseg_temp.
" 取第一个行项目的行项目文本
SELECT SINGLE *
INTO CORRESPONDING FIELDS OF ls_bseg_temp
FROM bseg
WHERE BUKRS EQ ls_bseg-bukrs
AND BELNR EQ ls_BKPF1-BELNR
AND GJAHR EQ ls_bseg-GJAHR
AND BUZEI EQ ls_bseg-BUZEI. CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
EXPORTING
input = ls_bseg_temp-belnr
IMPORTING
output = ls_bseg_temp-belnr. ls_bseg-sgtxt = ls_bseg_temp-sgtxt && '-原凭证(' && ls_bseg_temp-belnr && ')'.
MODIFY lt_bseg FROM ls_bseg.
ENDIF.
ENDLOOP. CALL FUNCTION 'CHANGE_DOCUMENT'
TABLES
t_bkdf = lt_bkdf
t_bkpf = LT_BKPF_RESULT
t_bsec = lt_bsec
t_bsed = lt_bsed
t_bseg = lt_bseg
t_bset = lt_bset. ENDIF.
" FI 20221230 LIANG ED1K924636
ENDENHANCEMENT.

3. ZFIR_GGBS000程序-主营业务收入等科目自动反记账功能

    增强位置:LMIGOKG1程序





    增强类型:隐式增强

    代码逻辑:用的是出口增强,创建新的冲销凭证文本替代,替代子例程为U305,字段为bseg-xnegp。

* 反记账替代 Modify By LIANG ED1K924602 20221226
exits-name = 'U305'.
exits-param = c_exit_param_field.
exits-title = TEXT-305. "
APPEND exits.
* FI 20221226 主营业务收入等科目自动反记账功能
*
FORM u305 USING bseg-xnegp TYPE bseg-xnegp. DATA: ls_zfi_fjz1 TYPE zfi_fjz.
DATA: ls_zfi_fjz2 TYPE zfi_fjz.
CLEAR: ls_zfi_fjz1,ls_zfi_fjz2. SELECT SINGLE *
INTO CORRESPONDING FIELDS OF ls_zfi_fjz1
FROM zfi_fjz
WHERE hkontf <= bseg-hkont
AND hkontt >= bseg-hkont. IF sy-subrc EQ 0.
IF bseg-shkzg = ls_zfi_fjz1-shkzg.
bseg-xnegp = ''.
ELSE.
bseg-xnegp = 'X'.
ENDIF.
ELSE.
SELECT SINGLE *
INTO CORRESPONDING FIELDS OF ls_zfi_fjz2
FROM zfi_fjz
WHERE hkontf = bseg-hkont.
IF sy-subrc EQ 0.
IF bseg-shkzg = ls_zfi_fjz2-shkzg.
bseg-xnegp = ''.
ELSE.
bseg-xnegp = 'X'.
ENDIF.
ENDIF.
ENDIF.
ENDFORM.
* FI 20221226

SAP-FI模块 如何处理自动生成会计凭证增强的更多相关文章

  1. 【FICO系列】SAP FI模块-记账凭证FB01的BAPI

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[FICO系列]SAP FI模块-记账凭证FB0 ...

  2. java实现的一个maven多模块项目自动生成工具

    平时在做spring mvc web新项目时,都需要自己去搭建spring mvc的项目框架,包括基本pom 依赖引入,基本配置文件(web.xml,spring-mvc.xml,数据库配置文件等等) ...

  3. Thinkphp5 模块的自动生成

    首先到根目录下的build.php文件中去 是这样子滴: 然后去public目录中的index.php中去添加代码 这样子: 然后运行项目 就搞定了. 是不是美滋滋! 在public 下index.p ...

  4. SAP FI模块常用事务代码

    F.52 G/L: Acct Bal.Interest Calculation 总帐:计算科目余额利息 F-06       Post Incoming Payments 收款记帐 F-07      ...

  5. app控件唯一相对Xpath自动生成(增强版uiautomatorviewer)

    作者:cryanimal QQ:164166060 工具由来 前面的一篇博文较详细地介绍了uiautomatorviewer:扫描和分析Android应用程序的UI控件的工具. 熟悉控件获取的同学都知 ...

  6. python--selenium实用的自动生成测试HTML报告方法--HTMLTestRunner

    python--selenium实用的自动生成测试HTML报告方法--HTMLTestRunner 下面给大家介绍下用HTMLTestRunner模块自动生成测试报告的方法. 一.首先我们导入unit ...

  7. Thinkphp5.0实战开发二------自动生成目录结构

    序言 ThinkPHP5.0 具备自动创建功能,可以用来自动生成需要的模块及目录结构和文件等,自动生成主要调用\think\Build 类库.ThinkPHP5.0中模块文件夹在application ...

  8. 如何使用ThinkPHP5 ,自动生成目录?

    具体步骤: A.在build.php中按照实际需求修改定义模块的内容: B.修改Public/index.php,在代码中加入: // 读取自动生成定义文件 $build = include '/.. ...

  9. ThinkPHP 使用 SwaggerUi 自动生成 api 文档

    1.下载swagger-ui GitHub地址:https://github.com/swagger-api/swagger-ui 2.修改 ThinkPHP 的 build.php ,执行命令生成需 ...

  10. 自动生成admin(后台)

    public --->>>>index.php 入口文件如下: // +---------------------------------------------------- ...

随机推荐

  1. 洛谷P7167 [eJOI 2020 Day1] Fountain (单调栈+ST)

    开两个数组:to[i][j]表示从i这个位置向下的第2j个圆盘是哪个,f[i][j]表示流满从i这个位置向下的 2j 个圆盘需要多少体积的水. 详情见代码: 1 #include<bits/st ...

  2. 详解ROMA Connect API 流控实现技术

    摘要:本文将详细描述API Gateway流控实现,揭开高性能秒级流控的技术细节. 1.概述 ROMA平台的核心系统ROMA Connect源自华为流程IT的集成平台,在华为内部有超过15年的企业业务 ...

  3. MyBatis获取参数值的两种方式

    MyBatis获取参数值的两种方式:${}和#{} ${}的本质就是字符串拼接,#{}的本质就是占位符赋值 ${}使用字符串拼接的方式拼接sql,若为字符串类型或日期类型的字段进行赋值时,需要手动加单 ...

  4. spring boot+vue前后端项目的分离(我的第一个前后端分离项目)

    文章目录 1.前端vue的搭建 2.后端项目的构建 pom文件中引入的jar包 yml文件用来配置连接数据库和端口的设置 application.property进行一些整合 controller层( ...

  5. .NET周报【10月第3期 2022-10-25】

    国内文章 聊一聊被 .NET程序员 遗忘的 COM 组件 https://www.cnblogs.com/huangxincheng/p/16799234.html 将Windows编程中经典的COM ...

  6. 安装zabbix-agent2之ansible-playbook

    zabbix被监控端安装zabbix-agent2之ansible-playbook --- - name: install agent hosts: all vars: server_host: & ...

  7. Java安全之反序列化(1)

    序列化与反序列化 概述 Java序列化是指把Java对象转换为字节序列的过程:这串字符可能被储存/发送到任何需要的位置,在适当的时候,再将它转回原本的 Java 对象,而Java反序列化是指把字节序列 ...

  8. 【Virt.Contest】CF1321(div.2)

    第一次打虚拟赛. CF 传送门 T1:Contest for Robots 统计 \(r[i]=1\) 且 \(b[i]=0\) 的位数 \(t1\) 和 \(r[i]=0\) 且 \(b[i]=1\ ...

  9. docker使用bind9实现域名解析

    目录 刷新服务 修改配置文件 从 114 缓存 查询 数据 可以 dig 无法 ping 查看 已经 区域 解析,并添加 新的 解析 项 在 linux 安装 局域网 cert rndc 查看 默认的 ...

  10. 手把手,完整的从0搭建vite-vue3-ts项目框架:配置less+svg+pinia+vant+axios

    项目同步git:https://gitee.com/lixin_ajax/vue3-vite-ts-pinia-vant-less.git 为避免赘述,过于基础的点会直接省略或贴图,比如创建文件夹/文 ...