SAP ABAP

SAP ABAP programming language and development skills, supporting custom function development to enhance the flexibility and adaptability of SAP systems. SAP ABAP Tutorial, ABAP Programming Guide, ABAP Performance Optimization SAP各种技术.SAP ABAP编程语言与开发技巧,支持自定义功能开发,提升SAP系统的灵活性和适应性。

Enhancement:FMRESERV、FB01/FBV0/FBV1/FBVB财务利润中心新增增强

Purpose:使用TCODE:FB01直接创建凭证,或者使用TCODE:FBV0、FBV1、FBVB预制凭证时:对于客户发票凭证, 需要将50行的利润中心赋值给01行;对于客户付款凭证,需要将19行利润中心赋值给09行。   T-code: CMOD 项目:ZFI001 增强:FMRESERV Enhancement sample code: Function:EXIT_SAPLFMR4_002   *&—————————————————————–* *&  包含                ZXFMCU08 *&—————————————————————–* DATA L_ACCIT LIKE LINE OF T_ACCIT. CLEAR L_ACCIT. LOOP AT T_ACCIT. *&—————————————————————* *&  开票利润中心,将50行的利润中心赋值给01行,根据业务约定, *& 随意一张50行赋值给所有的01行 *&—————————————————————* IF ( SY-TCODE = ‘FB01’ “直接创建凭证 “预制凭证 OR SY-TCODE = ‘FBV0’ OR SY-TCODE = ‘FBV1’ OR SY-TCODE = ‘FBVB’ ) AND T_ACCIT-BUKRS = ‘8300’ AND T_ACCIT-BLART = ‘DR’ AND T_ACCIT-BSCHL = ’01’. READ TABLE T_ACCIT INTO L_ACCIT WITH KEY BSCHL = ’50’. IF L_ACCIT IS NOT INITIAL. T_ACCIT-PRCTR = L_ACCIT-PRCTR. CLEAR L_ACCIT. ENDIF. MODIFY T_ACCIT FROM T_ACCIT TRANSPORTING PRCTR PPRCTR. ENDIF. *&—————————————————————* *&   将ZFI_006_08 生成的DW 凭证19行利润中心赋值给 09行 *&—————————————————————* DATA: L_FLAG_FI00608. “指定FI_006_08 调用生效 IMPORT FLAG = L_FLAG_FI00608 FROM MEMORY ID ‘ZFI00608’. IF L_FLAG_FI00608 = ‘X’. IF SY-TCODE = ‘FB01’ AND T_ACCIT-BUKRS = ‘8300’ AND T_ACCIT-BLART = ‘DW’ AND T_ACCIT-BSCHL = ’09’. READ TABLE T_ACCIT INTO L_ACCIT WITH KEY BSCHL = ’19’. IF L_ACCIT IS NOT INITIAL. T_ACCIT-PRCTR = L_ACCIT-PRCTR. CLEAR L_ACCIT. MODIFY T_ACCIT FROM T_ACCIT TRANSPORTING PRCTR PPRCTR. CONTINUE. ENDIF. ENDIF. FREE MEMORY ID ‘ZFI00608’. ENDIF.

SAP ABAP BAPI 50连载38-K_HIERARCHY_TABLES_READ成本要素组明细

今天我们来学习FICO模块的成本要素明细读取函数K_HIERARCHY_TABLES_READ。 一般来说,有了这个函数之后,不用自己去写SQL读取了,真是爽歪歪。部分同学说调用的时候有性能瓶颈。 我只能说是您调用的方式不对了。老顾问说,性能问题?不存在,梭哈即可~   导入参数: 参数名称 关联类型 可选的 说明 E_CLASS SETHIER-SETCLASS 必选 组类型 E_SETID SETHIER-SETID 必选 集的标识 E_KOKRS SETHIER-KOKRS 必选 控制范围 E_MANDT SY-MANDT 可选 当前用户的客户端标识 E_MASTER_DATA GRPHP1 可选 Set/Get 参数 HP1的结构 E_STRUCTURE GRPHP2 可选 Set/Get 参数 HP2 的结构 E_REPLACE_CLASS SETHIER-SETCLASS 可选 组类型 E_REPLACE_UNIT SETHIER-KOKRS 可选 控制范围 E_SUFFIX GRPDYNP-SUFFIX 可选 复制组的后缀   导出参数: 参数名称 关联类型 说明

SAP ABAP BAPI 50连载37-BAPI_REQUIREMENTS_CHANGE-MD62

在SAP PP模块中,我们经常使用TCODE:MD62事务代码来修改生产计划的独立需求,可是如果想要批量修改的时候, 就要用BAPI来完成。今天我们来学习BAPI_REQUIREMENTS_CHANGE的demo示例。可以做成接口。直接就能用。   首先介绍这个函数的参数明细: 参数名称 关联类型 缺省值 可选的 值传递 说明 MATERIAL BAPISITEMR-MATERIAL   是 是 Material BAPISITEMR:通讯字段:独立需求项目数据表 (关联表见下文) PLANT BAPISITEMR-PLANT   否 是 Plant BAPISITEMR:通讯字段:独立需求项目数据表 (关联表见下文) REQUIREMENTSTYPE BAPISITEMR-REQU_TYPE   否 是 Requirements Type BAPISITEMR:通讯字段:独立需求项目数据表 (关联表见下文) VERSION BAPISITEMR-VERSION   否 是 Version BAPISITEMR:通讯字段:独立需求项目数据表 (关联表见下文) REQMTSPLANNUMBER BAPISITEMR-REQ_NUMBER   否 是 Requirements Plan Number BAPISITEMR:通讯字段:独立需求项目数据表 (关联表见下文) VERS_ACTIV

SAP ABAP BAPI 50连载36-BAPI_SALESORDER_CHANGE-VA02

今天,我们来学习SD模块的销售订单修改/删除的BAPI函数,也可以写成批量的接口。 前台的TCODE事务代码是VA02,非常好用。 修改或者删除销售订单BAPI:BAPI_SALESORDER_CHANGE 如果您想复习一下销售订单创建VA01的demo示例: SAP ABAP BAPI函数50连载31-BAPI_SALESORDER_CREATEFROMDAT2 VA01 函数参数如下: 参数名称 关联类型 可选的 说明 SALESDOCUMENT BAPIVBELN-VBELN 必选 销售订单编号 ORDER_HEADER_IN BAPISDH1 可选 SD 订单标题 ORDER_HEADER_INX BAPISDH1X 必选 复选框清单:SD 订单标题 ORDER_ITEM_IN常用输入参数字段,主要用来输入销售订单的相关行项目字段: 组件 类型 简短描述 ITM_NUMBER POSNR_VA 销售凭证项目 MATERIAL MATNR18 物料编号(18个字符) TARGET_QTY DZMENG 目标数量(采用销售单位) ORDER_ITEM_INX常用输入参数字段:除与ORDER_ITEM_IN中对应字段外(字段对应,类型不一定对应,具体需要字段,去bapi参数的关联类型结构中查找) SCHEDULE_LINES常用输入参数字段: 组件 类型 简短描述 ITM_NUMBER POSNR_VA 销售凭证项目 SCHED_LINE ETENR 计划行 REQ_QTY WMENG 各销售单位订单数量 SCHEDULE_LINESX,是和SCHEDULE_LINES一一对应的关系。

SAP ABAP BAPI 50连载35-BAPI_RESERVATION_CHANGES删除修改预留

在日常开发中,我们经常需要对表RESB中的预留单RESERVATION Order进行修改或者删除操作。 这个时候用到的BAPI是BAPI_RESERVATION_CHANGES,效果不错,可以用来做接口使用,也能批量进行操作处理。 取决于您SAP RFC函数的设计。 导入的参数: 参数名称 关联类型 可选的 说明 RESERVATION BAPI2093_RES_KEY-RESERV_NO 必选 预留/相关需求的编号 TESTRUN BAPI2093_TEST 可选 切换到模拟模式以写入BAPI ATPCHECK BAPI2093_ATPCHECK 可选 标识, ATP 检查是否应该执行 表RESERVATIONITEMS_CHANGED与RESERVATIONITEMS_CHANGEDX常用字段: 参数名称 关联类型 可选的 说明 RESERVATIONITEMS_CHANGED BAPI2093_RES_ITEM_CHANGE 必选 更改预留项目,行项目 RESERVATIONITEMS_CHANGEDX BAPI2093_RES_ITEM_CHANGEX 必选 更改预留项目,行项目 RESERVATIONITEMS_NEW BAPI2093_RES_ITEM_NEW 可选 预留项目字段 RETURN BAPIRET2 必选 返回信息 EXTENSIONIN BAPIPAREX 可选 增强,扩展字段 备注: RESERVATIONITEMS_CHANGED与RESERVATIONITEMS_CHANGEDX常用字段: 字段名 类型 简短描述 RES_ITEM

SAP ABAP BAPI函数50连载34-BAPI_PRODORD_RELEASE下达生产订单

今天我们来学习生产订单下达的标准BAPI函数BAPI_PRODORD_RELEASE,希望您喜欢。 一首打油诗,提醒自己是个有罪的胆怯的人。 前有丰县铁链女,今有唐山霸王龙。 事不关己人一多,到头终是一场空! BAPI_PRODORD_RELEASE对应的前台操作tcode是CO02,Functions==>Release. 函数的组成参数为: 参数名称 关联类型 缺省值 可选的 值传递 说明 RELEASE_CONTROL BAPI_ORDER_FUNC_CNTRL-RELEASE_CNTRL ‘1’ 否 是 Release control order. 批准控制订单 BAPI_ORDER_FUNC_CNTRL: 执行订单函数的输入参数 (关联表见下文) WORK_PROCESS_GROUP BAPI_ORDER_CNTRL_PARAM-WORK_PROC_GROUP ‘COWORK_BAPI’ 是 是 Logon/Server Group Name。 登录/服务器组名称 BAPI_ORDER_CNTRL_PARAM:并行处理的订单控制结构 (关联表见下文) WORK_PROCESS_MAX BAPI_ORDER_CNTRL_PARAM-WORK_PROC_MAX 99 是 是 Maximum number of work processes that can be used。 可以使用的最大工作进程数 BAPI_ORDER_CNTRL_PARAM:并行处理的订单控制结构 (关联表见下文)   执行订单函数的输入参数BAPI_ORDER_FUNC_CNTRL 字段 数据元素 数据类型

SAP ABAP开发时,如何防止GUI系统没动的时候就自动超时掉线

在日常SAP ABAP工作中,经常会遇到超时掉线的尴尬情形。 DEBUG调试着报表,茶水间接杯水,哐当,掉线了。 出去上个厕所回来,又掉线了。 虽然我们有自动SAP GUI登录的脚本神器,但是还是烦躁的很。 怎么办呢? 在请教了操作系统和数据库的终结者,垃圾开发的救星BASIS老王同学后, 告知我们1个管家参数:rdisp/gui_auto_logout   Solution 方法,一招暂时解决Auto Timeout的问题。 Step1:RZ11,Key in [rdisp/gui_auto_logout] Step2:Press display. Step3:Click Change, Key in 7200 second (2 hour) for the new auto logout time. Step4:Save it and log out, then login again. Attention note, This parameter will not use again after restart this SAP system. Also attention

SAP Cloud集成套件BTP收费方式价格和发展模式利弊,CPI的应用。

SAP BTP集成,全程SAP 业务技术云平台。是一款加速将数据转换为业务价值的集成解决方案组合。 它包括数据库和数据管理、应用程序开发、集成和分析以及智能技术 。 在最新的SAP项目中,SAP主打推荐采用云端部署方式。 这意味着将来企业可能无需BASIS了。将来的接口工作主要由CPI来完成。 SAP PO将逐步停止维护直到退出历史舞台。。。   从个人的实施经验来看,云这个东西有点摸不着边。 许多企业的老板考虑的是自身数据的安全性,迁移切换的快速性, 应付审计工作的便捷性。对于国内老板来说,实惠性更是一个重大的考虑因素。 毕竟全额交纳SAP ECC LICENCE费用的还是凤毛麟角啊。   自身数据安全性: 云端的IP地址都是开放的,可以通过白名单等形式限制接口调用,这个方面,只要管控和技术到位了,基本无差异。 毕竟,很多接口通过web dispatch/po暴漏出来的也是公网地址,别说是攻击,很多人拿到了报文想要去调整也会遇到各种必须先校验、存在性检查、逻辑性检查, 导致数据相对比较安全。   切换迁移的快速性: 如果上了云,想要一下子拿出大量的数据估计就是做梦了。因为企业本身没有basis了。即使您有, 想要到云上面去拿企业自己的数据下来,也不是一件容易的事情。提供了公网接口挨个访问的形式。 预测不会很快。曾经有企业切换迁移的时候,北京到广州的数据传输网络太慢,直接硬盘拷贝后顺丰快递过去还更快的。 因为企业的数据库级别都是T级别了。   应付审计工作的便捷性: 在非云端的时候,偶尔会接到一些审计入驻前批量修改再恢复的免责修改需求。 咱们打工人也不懂,撸起袖子加油干就是,吭呲吭呲就完工了。 老板说不要留下痕迹和审计日志,我们用内功和修为做到就是。 切换到云端后,如果再要干这个事情并且做到批量和不留痕迹。估计是比较难了。 打工人面临的压力和法律风险也会更大。   实惠性: 迁移到云上后,如果使用SCP,按照流量收费的模式在SAP来说还是比较新颖。 且不说价格贵还是便宜,仅仅从模式上来说,SAP在创新,这个方法的好处是能够扼住企业的咽喉~ 从网上公布的资料来看,这个基础版、标准版、白金版的数据量都还一般。不知道价格如何。 对于扣扣嗖嗖的企业来说,上了之后想要不续费?做梦去吧。可能分分钟企业业务停止且数据下不来。 但是作者永远认为:免费的才是最贵的。收费能够让这个云生态发展得更迅速,更好~     以上是鄙人的一些浅薄见识,欢迎各位大佬拍砖~   我的微信公众号【 hot583 】 或者在这个链接联系我 本文链接 : http://www.hot583.com/2022/06/15/sap-cloud/ 本文为作者原创,如果这篇文章对您有用,欢迎转载, 转载请务必注明来源《今日热点在看》http://www.hot583.com/ 微信原文《全文完》