【SAP-ABAP】-BTE增强

BTE增强的概念:

有点类似财务的替代增强

SAP有很多这种增强方式,就是相当于复制一个原有FM,替换FM里面的逻辑

事务码:FIBF--维护事务BTE

一、操作步骤:FIBF->环境->信息系统,查找事件号及需要替换的函数

双击或者点击样本函数模块可以查看具体的FM

二、复制一个函数,更名(一般是在前面加一个Z*原函数名,也可以随意)

三、FIBF->设置->产品->一个客户(这里为创建是否激活)

四、FIBF->设置->处理函数模块->一个客户的

备注:此需求一般为配置请求,所以TR产生的请求为定制请求TR,而非工作台TR,这个需要注意一下

(很多时候,SAP给了这种可以配置的TR,一般建议在100环境执行,当然在200开发环境执行也没啥问题,反正对应的800都一样,看个人和整体规划,我一般都是建议,类似于配置的TR在100执行,开发的TR在200执行,先配置再开发的,也区分开)

以下为操作具体案例:也可以不看

需求:在函数BAPI_ACC_DOCUMENT_POST生成凭证时,增强一下,使得某个字段能够增强进入表BKPF-XREF1_HD这个字段中

找到对应的需要替换的函数:/SAPPCE/DPC_PROCESS_EXTENSION (不要问我是怎么找到这个函数的,大佬直接告诉我的,这个我没有找到,我是渣渣😭)

一、拷贝函数/SAPPCE/DPC_PROCESS_EXTENSION,函数命名自定义为ZSAMPLE_PROCESS_RWBAPI01

二、修改函数ZSAMPLE_PROCESS_RWBAPI01的代码,不要修改出入参(防止出问题)

代码如下:

  DATA gs_extension TYPE bapiacextc.

  IF NOT extension[] IS INITIAL.

    LOOP AT extension INTO gs_extension.

      IF gs_extension-field1 EQ 'XREF1_HD' AND gs_extension-field2 IS NOT INITIAL.

        it_accit-xref1_hd = gs_extension-field2 .

      ENDIF.

      IF gs_extension-field1 EQ 'XREF2_HD' AND gs_extension-field2 IS NOT INITIAL.

        it_accit-xref2_hd = gs_extension-field2 .

      ENDIF.

      CLEAR gs_extension.

    ENDLOOP.

    MODIFY it_accit INDEX 1 TRANSPORTING xref1_hd xref2_hd.

  ENDIF.

三、FIBF->设置->产品->一个客户(这里为创建是否激活)

四、FIBF->设置->处理函数模块->一个客户的

五、保存生成TR

六、运用到实际代码中

  DATA:lt_extension1 LIKE TABLE OF bapiacextc,        "增强结构

          ls_extension1 LIKE bapiacextc.

  ls_extension1-field1 = 'XREF1_HD'.

  ls_extension1-field2 = gs_receipt-notecode+0(17).

  APPEND ls_extension1 TO lt_extension1.

  CALL FUNCTION 'BAPI_ACC_DOCUMENT_POST'

  EXPORTING

    documentheader          = gs_documentheader

*     CUSTOMERCPD             =

*     CONTRACTHEADER          =

*   IMPORTING

*     OBJ_TYPE                =

*     OBJ_KEY                 =

*     OBJ_SYS                 =

  TABLES

   accountgl               = gt_accountgl

   accountreceivable       = gt_accountreceivable

   accountpayable          = gt_accountpayable

*     ACCOUNTTAX              =

    currencyamount          = gt_currencyamount

*     CRITERIA                =

*     VALUEFIELD              =

     extension1              = lt_extension1 在这里

    return                  = gt_return

*     PAYMENTCARD             =

*     CONTRACTITEM            =

   extension2              = gt_extension2

*     REALESTATE              =

*     ACCOUNTWT               =

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

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

【云原生开发】K8S集群管理后端开发设计与实现

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,…

爱普生SG-8201CG可编程振荡器的应用领域

在科技飞速发展的今天,电子设备的性能和稳定性成为各个行业关注的焦点。爱普生 SG - 8201CG 可编程振荡器以其卓越的性能,在众多领域中大放异彩,成为推动行业进步的关键力量。 1.通信领域:高速通信的精准守护者 在通信领域&…

计算机网络常见面试题(二):浏览器中输入URL返回页面过程、HTTP协议特点,GET、POST的区别,Cookie与Session

文章目录 一、HTTP协议的特点1.1 特点1.2 HTTP是不保存状态的协议,如何保存用户状态? 二、浏览器中输入URL返回页面过程(重)三、HTTP状态码四、HTTP相关协议对比4.1 HTTP和HTTPS的区别(重)4.2 HTTP1.0和HTTP1.1的区别…

基于Spring Boot的网上商品订单转手系统设计与实现,LW+源码+讲解

摘 要 传统办法管理信息首先需要花费的时间比较多,其次数据出错率比较高,而且对错误的数据进行更改也比较困难,最后,检索数据费事费力。因此,在计算机上安装网上商品订单转手系统软件来发挥其高效地信息处理的作用&a…

设备的设计流程和风险评估

为了保证机器的安全性,在机器设计和开发过程中必须降低风险。该过程如下列流程图所示。 风险评估的含义以及如何进行

【MATLAB源码-第209期】基于matlab的MSK调制解调仿真,对比三种解调方法的误码率分别是相干解调,1比特差分,2比特差分。

操作环境: MATLAB 2022a 1、算法描述 最小频移键控(Minimum Shift Keying,简称MSK)是一种特殊的连续相位频移键控(CPFSK),它以其频谱效率高、抗干扰能力强而著称,广泛应用于无线通…

Git 的分支管理

一、分支介绍 1、分支是什么 Git作为一个分布式版本控制系统,提供了强大而灵活的分支管理功能,使得开发团队能够高效地协作开发、管理不同的功能和版本。 2、为什么有分支 一般情况下主分支(master/main)应始终保持可部署的状…

论文速读:简化目标检测的无源域适应-有效的自我训练策略和性能洞察(ECCV2024)

中文标题:简化目标检测的无源域适应:有效的自我训练策略和性能洞察 原文标题:Simplifying Source-Free Domain Adaptation for Object Detection: Effective Self-Training Strategies and Performance Insights 此篇文章为论文速读&#xff…

mac找到主目录下的文件夹

访达-(上方状态栏显示)-然后在

FFmpeg 4.3 音视频-多路H265监控录放C++开发十二:在屏幕上显示多路视频播放,可以有不同的分辨率,格式和帧率。

上图是在安防领域的要求,一般都是一个屏幕上有显示多个摄像头捕捉到的画面,这一节,我们是从文件中读取多个文件,显示在屏幕上。 一 改动UI文件 这里我们要添加两个label,为了区分我们设置一下背景色(这个是…

RK3576 LINUX RKNN SDK 测试

安装Conda工具 安装 Miniforge Conda wget -c https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-Linux-x86_64.sh chmod 777 Miniforge3-Linux-x86_64.sh bash Miniforge3-Linux-x86_64.shsource ~/miniforge3/bin/activate # Miniforge 安装的…

新能源行业必会基础知识-----电力现货市场理论篇-----主目录-----持续更新

新能源行业知识体系-------主目录-----持续更新https://blog.csdn.net/grd_java/article/details/140004020 这本书是2023年出版的,是当下了解国内电力市场最好的途径了。 电力现货市场理论篇 一、电力市场概述1. 电力市场总体架构2. 电力市场模式选择3. 电力市场建…

docker 拉取MySQL8.0镜像以及安装

目录 一、docker安装MySQL镜像 搜索images 拉取MySQL镜像 二、数据挂载 在/root/mysql/conf中创建 *.cnf 文件 创建容器,将数据,日志,配置文件映射到本机 检查MySQL是否启动成功: 三、DBeaver数据库连接 问题一、Public Key Retrieval is not allowed 问题…

#Prompt | AI | LLM # 人类如何写出LLM理解的Prompt

一、如何写好Prompt 结构化Prompt 结构化Prompt是对信息进行组织,使其遵循特定模式和规则,以便于有效理解信息。常用模块包括: Role: 指定角色,使模型聚焦于特定领域。Profile: 包括作者、版本、语言和描述。Goals: 描述Prompt的…

vue计算属性

概念:基于现有的数据,计算出来新属性。并依赖数据的变化,自动重新计算 使用场景: 语法:声明在computed配置项中,一个计算属性对应一个函数,使用起来和普通属性一样使用{{计算属性名}} 代码&…

playground.tensorflow神经网络可视化工具

playground.tensorflow 是一个可视化工具,用于帮助用户理解深度学习和神经网络的基本原理。它通过交互式界面使用户能够构建、训练和可视化简单的神经网络模型。以下是一些主要的数学模型和公式原理,它们在这个平台中被应用: 1. 线性模型 线…

Zabbix监控架构

目录 1. Zabbix监控架构-CS架构 2. Zabbix极速上手指南 主机规划 2.1 部署ngxphp环境并测试 检查安装结果 2.2 部署数据库 2.3 编译安装zabbix-server服务端及后续配置 2.4 部署前端代码代码进行访问 前端的配置文件(连接数据库与主机名等信息) 2.5 欢迎来到zabbix 2…

后台管理系统:登录页

本次项目为后台管理系统,在本系统内第一个页面是登录页面 登录页的各种功能介绍 作为登录页需要具有的功能有:点击登录时记录账户密码,对比账户密码的正确性,提示用户当前状态,登录完成后跳转至首页等功能。 一、网页设…

go语言解决rtsp协议只播放部分的问题(业务问题)

背景 之前不是写过一个项目嘛,就之前有更改过存储对接的项目 go语言对接S3存储的SDK(支持minio和OSS) 这个项目主要的业务是就一个,点播rtsp协议的码流,视频来源在存储服务器上。 这次的问题是rtsp协议只播放部分,需要我们进行排…

移位寄存器设计—FDRE、SRL16E及原语约束

信号处理中,实现数据对齐时,常常对单bit或多bit信号进行打拍操作,这个可以通过移位寄存器实现,SLICEM中的SRL即为移位寄存器。 这里主要记录下不同写法的效果。 1 //同步复位2 module static_multi_bit_sreg_poor #(3 parame…