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系统的灵活性和适应性。

SAP delete version management log for released TR

Sometime, we need to delete the log of ABAP source code for sap object. It is have released changed version log in version management. Tr/Crs and logs are there.Table E070,VRSD. Today we will learn how to delete version for that. 今天我们学习SAP ABAP程序版本的删除。 注意2张表E070和VRSD。 Step1:Save the TRs you need to delete in TXT notepad Because after

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-MM07RFF0-MB21_MB22 Stock Place Required

Purpose: When use tcode MB21/MB22,  Stock Place are Mandatory, Use enhancement to do this.   Trigger Time: After click save button on MB21/MB22.   Steps: T-code:SE38 Report:MM07RFF0 Enhancement Spot:ZMB21 in Subroutine FUSSZEILE_SETZEN top. FORM FUSSZEILE_SETZEN. IF NOT FCAUSW-XNEUP IS INITIAL. CLEAR: RESB, DM07R. RESB-BWART = RKPF-BWART. RESB-BDTER = RKPF-RSDAT. RESB-XWAOK = X. DM07R-BTEXT = KM07R-BTEXT. DM07R-NAME1 = T001W-NAME1. ENDIF. ENDFORM. *eject *———————————————————————* *        FORM FUSSZEILE_RS                                            * *———————————————————————* *        Die Fusszeile fuer die Transaktionen Warenbewegungen ohne    * *        Referenzbeleg wird bearbeitet.                               * *———————————————————————* FORM FUSSZEILE_RS. “””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””” “$”$\SE:(1) Form FUSSZEILE_RS,

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

BADI-FI_HEADER_SUB_1300-F-02 FB01 addCustomer field

Purpose: add customer fields in tcode FB01,F-02 for postting document in SAP ABAP. enhancement:BADI-FI_HEADER_SUB_1300-F-02 会计凭证抬头增加字段。 T-code: SE19 BADI:FI_HEADER_SUB_1300     Step1: add a customer structure in TABLE BKPF. 首先在BKPF添加一个结构, RMTYP CHAR 2 Step2:然后创建一个函数组,包含一个子屏幕,TOP中添加定义。add field BKPF-RMTYP in dynpro. Step3:add below PBO code for function-group. MODULE pbo_process OUTPUT.   * 获取实例 IF go_exit IS INITIAL. CALL METHOD

ME21N/ME22N/ME23Ncustomer Screen Enhancement

Enhancement for ME21N/ME22N/ME23N customer Screen Enhancement. Purpose:SAP 中使用ME21N/ME22N/ME23N创建/修改/查看采购订单时, 需要在屏幕的头信息中增加以下字段以及相关按钮。 因此利用屏幕增强增加字段,以便用户输入内容并保存至自定义中。   触发时间: ME21N/ME22N/ME23N点击‘客户数据’标签页时触发 选中“创建”按钮进入界面以后,为新建的增强项目分配增强出口MM06E005并回车。   对出口中的相关组件进行实施。 首先向数据表中增加需要新建的字段, 具体操作为在包含表CI_EKKODB上双击,然后新增增强字段。 新增字段最好以ZZ_开头(如果要增强行项目,双击CI_EKPODB)。   双击“CI_EKKODB”进行新增字段。   使增强屏幕显示,在Screen exit中,双击要增强的SAPMM06(头信息增强屏幕编号为0101,行信息增强屏幕为0111), 进入以后即可绘制屏幕显示,查找要显示的CI_EKKODB中的字段显示到屏幕上。 查找字段(f6),输入表或字段名(ekko_ci),找到显示的字段。 在定义屏幕的PBO和PAI中分别增加如下代码:   PROCESS BEFORE OUTPUT. MODULE CHANGE_CUSTOM_TAB. PROCESS AFTER INPUT. MODULE USER_COMMAND_0101.     ========================== MODULE CHANGE_CUSTOM_TAB OUTPUT. IF BUKRS+0(2) = ’83’ OR BUKRS = ‘5140’ OR  BUKRS+0(2) = ’81’ OR BUKRS+0(2) = ’82’. IF GV_STATUS = CV_SHOW. LOOP AT SCREEN. IF SCREEN-NAME <> ‘HTWB’ AND SCREEN-NAME <> ‘HTMB’ AND SCREEN-NAME <> ‘PRVW’ . SCREEN-INPUT = 0. MODIFY SCREEN. ENDIF. ENDLOOP. ========================== MODULE USER_COMMAND_0101 INPUT. DATA: ACT TYPE SYUCOMM. DATA: Z001_HEAD LIKE THEAD. RANGES: LR_EBELN  FOR EKKO-EBELN. ACT = SY-UCOMM. CLEAR SY-UCOMM.

Enhancement:CJ20N/CJ20手工挂入交货件的库存地点检查SAVE

Purpose: 在使用CJ20/CJ20N修改项目计划时,需要控制网络作业下所挂交货件的库存的地点为指定的库存地点, 该功能可以通过增强进行实现。 TCODE:CJ20/CJ20N点击保存时触发 T-code: SMOD/cmod. 增强:CNEX0026 Function:EXIT_SAPLCOMK_005 DATA L_AUART LIKE AUFK-AUART. IF   RESBD_IMP-WERKS  = ‘8800’. SELECT SINGLE AUART INTO L_AUART FROM AUFK WHERE AUFNR = RESBD_IMP-AUFNR. IF L_AUART = ‘2D08’. IF RESBD_IMP-LGORT <> ‘8001’. MESSAGE ‘库存地点必须为[8001],请更正!’ TYPE ‘E’. ENDIF. ENDIF. ENDIF. 我的微信公众号【 hot583 】 或者在这个链接联系我 本文链接 :http://www.hot583.com/2022/06/27/cnex0026/ 本文为作者原创,如果这篇文章对您有用,欢迎转载, 转载请务必注明来源《今日热点在看》http://www.hot583.com/ 微信原文《全文完》