SAP enhancement

SAP ABAP enhancement Tutorial, ABAP enhancement Programming Guide, ABAP Performance Optimization Skill. SAP system enhancement technology, customizing standard functions without modifying core code to meet specific business needs. 增强增强,越做越强。SAP系统增强技术,定制标准功能,无需修改核心代码,满足特定业务需求。

SAP F-44 BTE ENHANCEMENT:Check with Error.00000940

Purpose: Check BSEG-XREF2 IF THE same when in TCODE F-44, If not , thorow error message. Solution:Do SAP ABAP enhancement in BTE event 00000940. Config: ***** TABLES TPS01. TPS01-PROCS = ‘00000940’. MODIFY TPS01. *** TABLES TPS01T. TPS01T-SPRAS = ‘1’. TPS01T-PROCS = ‘00000940’. MODIFY TPS01T. ***** TABLES TBE24. TBE34-AKTIV = ‘X’. TBE34-PRDKT = ‘ZF_44’. MODIFY TBE34.

CRM BADI:ADDRESS_UPDATE check communication address

Last post, we learn the amazing of  access CHATGPT for SAP ABAP develop of a SQL demo. Chatgpt  will code ABAP source quickly. Today we learn BADI:ADDRESS_UPDATE to check CRM field communication address. Purpose: 对于角色为服务商的员工在保存时,如果状态变为“启用中”,则需要检查通讯方式中的数据是否填写了。如果检查到没有填写,则不能保存。 When to trigger: 创建或者修改CRM服务商员工主数据上的“通讯数据” 保存CRM员工主数据时触发 How to do enhancement T-code: SE19 BADI:ADDRESS_UPDATE 实施:ZSV_ADDRESS_UPDATE 实施类:ZCL_IM_SV_ADDRESS_UPDATE 方法:ADDRESS2_SAVEDT 示例代码Sample Code METHOD if_ex_address_update~address2_saved. *———————————————————————————–* *”———————————————————————————-*

BADI增强:MIGO物料凭证过账保存前的各种检查MB_CHECK_LINE_BADI

SAP系统中,最初很重要的是会计凭证。而在后勤模块中,息息相关的就是物料凭证。 为了定制各种规则,我们可以对物料凭证进行增强处理。 Tcode MIGO SE19, badi ENHANCEMENT MB_CHECK_LINE_BADI, Method:CHECK_LINE. Purpose:在使用migo收货过账的时候,检查物料无标准成本不允许过账 SE19写入BADI MB_CHECK_LINE_BADI的方法CHECK_LINE。 详细的代码如下: METHOD if_ex_mb_check_line_badi~check_line. TYPES: BEGIN OF ty_ckmlpr, pprdl TYPE ckmlpr-pprdl, kalkl’ TYPE ckmlpr-kalkl. lplpr TYPE ckmlpr-lplpr, END OF ty_ckmlpr. DATA: wa_ckmlpr TYPE ty_ckmlpr.   SELECT SINGLE pprdl kalkl lplpr INTO wa_ckmlpr FROM ckmlpr WHERE kalnr IN ( SELECT kaln1 FROM mbew WHERE matnr=is_mseg-matr

BADI: MB_RES_BAPI_CREATE1 for MB21

We can use BAPI_RESERVATION_CREATE1 for tcode mb21 to create order. But it do not have field werks lgort umwrk umlgo  stock. So we need to enhancement. BADI: MB_RES_BAPI_CREATE1 for MB21. 创建项目预留的增强 在系统标准功能中使用MB21不能创建项目预留, 因此需要用BAPI:BAPI_RESERVATION_CREATE1来创建项目预留, 但BAPI里面没有提供可以传入特殊库存字段从而创建特殊预留的功能本中心,因此需要增强此BAPI。 触发时间: 用BAPI_RESERVATION_CREATE1创建预留时触发。 增强步骤: 1、使用TCODE:SE11创建结构ZSRESB_APPEND。 Fields: RSPOS SOBKZ PSPEL KNTTP KZBWS UMWRK UMLGO   2、使用事务代码SE19实施BADI: MB_RES_BAPI_CREATE1, 创建实施BADI:ZMB_RES_BAPI_CREATE1 对BADI中的方法EXTENSIONIN_TO_RESB进行实施。 METHOD if_ex_mb_res_bapi_create1~extensionin_to_resb. DATA: ls_extension LIKE LINE OF it_extension_in. DATA: ls_resb LIKE LINE OF resb. DATA: ls_zresb TYPE zsresb_append.

BTE-FBL1N_FBL3N_FBL5N SAMPLE_INTERFACE_00001650

Today we learn enhancement for BTE SAMPLE_INTERFACE_00001650. Tcode:FBL1N_FBL3N_FBL5N Add detail customer fields to line item . Result is like this.   Steps:科目行项目明细个性化字段增加. Below is Sample code: Step1:SE11 创建结构ZFI_TEXT 字段:KKTEXT,NKTEXT。 Step:2,SE38,run程序RFPOSXEXTEND 该步目的是激活拓展的结构。RFPOSX,  T021S,  RFPOSXEXT   Step3:Tcode:FIBF 维护业务框架 进入环境-》信息系统。 执行,并选中函数事件 00001650, 选中事件1650“行项目显示:每行增加数据”,执行“样本函数模块”,进入函数创建窗口, 实现函数(建议将该函数Copy一份实现)   FUNCTION SAMPLE_INTERFACE_00001650. *”———————————————————————- *”*”Lokale Schnittstelle: *”       IMPORTING *”             VALUE(I_POSTAB) LIKE  RFPOS STRUCTURE  RFPOS *”       EXPORTING *”             VALUE(E_POSTAB) LIKE  RFPOS STRUCTURE  RFPOS *”———————————————————————- *————– Initialize Output by using the following line ———- * E_POSTAB = I_POSTAB. “””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””$”$\SE:(1) Function Module SAMPLE_INTERFACE_00001650, End                                                                                                    A *$*$-Start: (1)———————————————————————————$*$* ENHANCEMENT 1  ZFI_FBL3N.    “active version

Enhancement for BAPI_PR_CREATE ME_BAPI_PR_CUST

Purpose: When create purchase request. None numbmic type process. 在使用BAPI:BAPI_PR_CREATE创建采购申请时, 如果在EBAN中的增强字段中存在非UNICODE类型的字段(如数值型), 则需要使用增强才能传值到BAPI的extensionin参数。   Trigger Time: 调用BAPI:BAPI_PR_CREATE时触发   How to Enhancement: 使用TCODE:SE18进入下面界面,输入ME_BAPI_PR_CUST 双击增强实施类ZDQ_ME_BAPI_PR_CUST进入以下界面, 对方法if_ex_me_bapi_pr_create_02~map2i_extensionin进行实施。 双击方法if_ex_me_bapi_pr_create_02~map2i_extensionin。   对其进行实施的代码如下: METHOD if_ex_me_bapi_pr_create_02~map2i_extensionin. *define local data DATA: lr_struct TYPE REF TO cl_abap_structdescr, lt_comp   TYPE cl_abap_structdescr=>component, lf_done   TYPE mmpur_bool.  “conversion done DATA: l_perc(13) TYPE n, l_cieban_conv TYPE bapi_te_mereqitem.    FIELD-SYMBOLS: <comp> LIKE LINE OF cl_abap_structdescr=>components.   CHECK im_error EQ cl_mmpur_constants=>yes. * get type for name lr_struct ?= cl_abap_typedescr=>describe_by_name( im_name ).   Active enhancement 激活增强。使用BAPI:BAPI_PR_CREATE创建采购订单时,可以进行测试   More enhancement post. 我的微信公众号【 hot583 】 或者在这个链接联系我 本文链接 :http://www.hot583.com/2022/06/30/me_bapi_pr_cust/ 本文为作者原创,如果这篇文章对您有用,欢迎转载, 转载请务必注明来源《今日热点在看》http://www.hot583.com/

SAP ABAP TCODE MR8M Enhancement Cancel Invoice Save

Demo Souce About: SAP ABAP TCODE MR8M Enhancement Cancel Invoice Save. Enhancement Point: CMOD-LMR1M001 , Function Module: EXIT_SAPLMRMP_010 Purpose: After Click Save Button on tcode MR8M, modify the cancel flag in customer table.   Demo Source Code: Learn More Enhancement IF sy-tcode = ‘MR8M’ AND e_trbkpv-bukrs+0(2) = ’83’. *  根据冲销发票凭证,更新自建表冲销标记 IF e_trbkpv-stblg IS NOT INITIAL. *    先从单物料发票子件表中找 SELECT COUNT(*) FROM zd_cancel_log WHERE belnr_id = e_trbkpv-stblg AND   gjahr    = e_trbkpv-stjah . IF sy-subrc = 0. UPDATE zd_cancel_log SET    cxbz = ‘X’ WHERE  belnr_id = e_trbkpv-stblg