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系统增强技术,定制标准功能,无需修改核心代码,满足特定业务需求。

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/ 微信原文《全文完》

EnhancementCmod-CNEX0002 Authrity Check cj20n

Purpuse:Tcode CJ20N create project. Check the authority. 对项目创建或更改时触发. 根据项目参数文件的值,用于对项目的创建权限(权限对象为ZDQ_PS_001)和更改权限(权限对象为ZDQ_PS_002)进行检查。 根据项目参数文件的值,用于对项目的创建权限和更改权限进行检查 T-code: CMOD 项目:ZPS001 增强:CNEX0002 Function:EXIT_SAPLCNAU_001 Sample Demo Source Code:   *&———————————————————————* *&  包含                ZXCN1U05 *&———————————————————————*   DATA msg(50). CLEAR msg. IF sap_proj-vbukr+0(2) = ’83’. *  检查是否有对项目参数文件的创建权限 IF sap_actvt = ’01’. AUTHORITY-CHECK  OBJECT ‘ZDQ_PS_001’ ID ‘PROFIDPROJ’ FIELD sap_proj-profl. IF sy-subrc <> 0. CONCATENATE ‘无权限对项目参数文件’  sap_proj-profl ‘进行项目创建’ INTO msg. MESSAGE msg TYPE ‘E’. ENDIF. ENDIF. *  检查是否有对项目参数文件的更改权限 IF sap_actvt = ’02’. AUTHORITY-CHECK  OBJECT ‘ZDQ_PS_002’ ID ‘PROFIDPROJ’ FIELD sap_proj-profl. IF sy-subrc <> 0. CONCATENATE ‘无权限对项目参数文件’  sap_proj-profl ‘进行项目更改’ INTO msg. MESSAGE msg TYPE ‘E’. ENDIF. ENDIF. ENDIF. sap_x_actvt = ‘X’.   我的微信公众号【 hot583 】 或者在这个链接联系我 本文链接 :http://www.hot583.com/2022/06/27/cnex0002/ 本文为作者原创,如果这篇文章对您有用,欢迎转载, 转载请务必注明来源《今日热点在看》http://www.hot583.com/ 微信原文《全文完》

EnhancementBADI-BOM_UPDATE-CS02_CS72 Save interface

Today we learn enhancement BADI-BOM_UPDATE.Tcode CS02  CS72. It is for Saving data in  interface. Purpose: 使用TCODE:CS02/CS72更改物料BOM/WBS BOM的时候, 可以通过增强将相关信息(如订单号、更改日期等)存入自建表。 增强实现以后,使用CS02/CS72保存数据。   Trigger moment: During tcode CS02/CS72,After clicking “Save” button.   Step: T-code: SE19 Classic BAdI:ZBOM_AUFNR for bom_update. Method:CHANGE_AT_SAVE   Sample Source Code: method IF_EX_BOM_UPDATE~CHANGE_AT_SAVE. TYPES: BEGIN OF ty_sobsl, stlnr  TYPE mast-stlnr, stlal  TYPE mast-stlal, matnr  TYPE mast-matnr, werks  TYPE mast-werks, sobsl  TYPE marc-sobsl, END OF ty_sobsl, BEGIN OF ty_aufnr, aufnr TYPE afko-aufnr, END OF ty_aufnr, BEGIN OF ty_itab. INCLUDE TYPE ZDQ_PP_ORDER. TYPES END OF ty_itab.

Enhancement for BAPI_OBJCL_CREATE CLFM0002

Today we learn CMOD enhancement for bapi BAPI_OBJCL_CREATE. Enhancement project is CLFM0002, user exit function module EXIT_SAPLCLFM_002. Purpose: split AUSP-ATWRT to lines. 在使用自定义函数ZDQ_MDM_MATNR_CREATE批导物料主数据到SAP系统中的时候,某些特性值由于字符串过长, 需要将字符串分割以后显示。根据客户的需求,需要将分割后的字符串按照计数器有序显示。 因此,可以在调用BAPI:BAPI_OBJCL_CREATE批导物料主数据的过程中, 利用二代增强去根据计数器有序地显示某些特性值。 运行导入物料主数据的程序后,可以在数据表中看到相关特性值的排序显示   Sample code:调用BAP I: BAPI_OBJCL_CREATE时触发 T-code: CMOD 项目:ZDQ_CHAR 增强:CLFM0002 Function:EXIT_SAPLCLFM_002   功能出口“EXIT_SAPLCLFM_002”中的包含文件“ZXCLFU02”,实施代码如下: DATA: VALUESCHAR TYPE STANDARD TABLE OF BAPI1003_ALLOC_VALUES_CHAR WITH HEADER LINE. IMPORT VALUESCHAR FROM MEMORY ID ‘ZDQ_MDM_MATNR_CREATE’. FREE MEMORY ID ‘ZDQ_MDM_MATNR_CREATE’. IF VALUESCHAR[] IS NOT INITIAL. LOOP AT T_ALLAUSP. READ TABLE VALUESCHAR WITH KEY VALUE_CHAR = T_ALLAUSP-ATWRT . IF SY-SUBRC = 0. T_ALLAUSP-ATZHL = VALUESCHAR-INSTANCE. MODIFY T_ALLAUSP TRANSPORTING ATZHL. ENDIF. ENDLOOP. E_ACTIVE = ‘X’. ENDIF.

BW enhancement:RSRT/Bex Query running RSR_OLAP_BADI

Today we will learn BW enhancement for tcode RSRT/Bex Query running  use BADI RSR_OLAP_BADI for demo. Purpose: 在BW BEX出具报表时,有时一些信息需要动态展示出来,无法预先存储在数据模型中。比如用户在人员分析报表的时候,希望看到员工当前的状态。 Steps: BADI: RSR_OLAP_BADI Implementation: ZIM_RSR_OLAP_BADI Method: IF_EX_RSR_OLAP_BADI~DEFINE 描述:相关字段定义和读取。 读取0EMPLOYEE  YC_BEGDA2   YC_YISDL用来计算FOR CALCULATIONO 新建字段 YC_VIR01,用来展示FOR DISPLAY 。   Method: IF_EX_RSR_OLAP_BADI~ INITIALIZE 描述:通用代码,获取字段位置,复制即可。   Method: IF_EX_RSR_OLAP_BADI~ COMPUTE 描述:获取员工当前的实时状态。   Method: IF_EX_RSR_OLAP_BADI~ INITIALIZE 通用代码 DATA: l_global_name TYPE string. FIELD-SYMBOLS: <l_global> TYPE i, <l_s_sfc> TYPE rrkg_s_sfc, <l_s_sfk> TYPE rrkg_s_sfk. CLASS cl_exm_im_rsr_olap_badi DEFINITION LOAD. * get field postions for characteristics in structure LOOP AT i_th_sfc ASSIGNING <l_s_sfc> WHERE user_exit NE rrke_c_mode-none.

BADI-CUSTOMER_ADD_DATA-XD01_XD02 Enhancement

Today we will learn BADI-CUSTOMER_ADD_DATA- TCODE: XD01  XD02 Customer Master Screen Enhancement . Step by step to Add customer fields to XD01 XD02 XD03 SCREEN. 客户主数据屏幕增强.   Purpose: Add customer fiedls to tr-code XD01\XD02\XD03 add append structure in tcode se11 to table KNA1 find SPRO   SPRO->后勤-常规->业务伙伴->客户->控制->客户所有的主数据字段的采用进行配置 维护客户屏幕组ZA:added customer data附加数据 choose ZA,function code ZA01, icon=icon*add* Create