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

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.