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

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

更新一波SAP CONSTANT 招聘需求,快到碗里来哦~20220622

需求更新,最新最靠谱! 1. 西安 CO 5年以上经验 周期8个月 7月初到位 2. 深圳 MM 5年以上经验 懂SD优先 周期半年 随时到位 3. 北京 PP 5年以上经验 周期到年底 随时到位 4. 上海 APO 5年经验 周期4个月 随时到位 5. 益阳 FICO 6年以上经验 要求CO 周期6个月 随时到位 6. 伊拉克 不限模块 应届或1年左右经验即可 英语流利 长期入职 待遇丰厚 7. 天津 SSF/ABAP/FICO 4年经验 周期4个月 随时到位 8. 泰安 BPC合并 5年经验 周期半年 随时到位 9. 大连 SD

增强:BADI-MB_MIGO_BADI_MIGO-采购订单收货交货单必输

SAP ABAP Enhancement Purpose:For Migo,When it is Purchase Order (PO), Delevey Nunmber is Must key in (Requred) MIGO 对采购订单收获时候,交货单字段必须是必填的. Steps: 1、T-code SE19 创建MB_MIGO_BADI的实现 2、新增G_CECHK属性(Attribute) 3、Write Sample abap code in   MODE_SET POST_DOCUMENT CHECK_HEADER   3 method. METHOD:MODE_SET ************************************************************************ *                                                                                  *  检查标识 ************************************************************************ IF i_action = ‘A01’ AND i_refdoc = ‘R01’.“ g_check = ‘X’. ELSEIF i_action = ‘A01’ AND i_refdoc = ‘R08’.“.生产订单入库 g_check = ‘P’. ELSE. g_check = ”. ENDIF.     METHOD:POST_DOCUMENT *&——————————————————————————–* *&      收货时检查抬头交货字段是否为空                                                                             * *&——————————————————————————–* DATA:lt_marc TYPE TABLE OF marc, ls_marc TYPE marc.

增强:VA01~SAPMV45A~MM06E005~USEREXIT_CHECK_VBAK

Purpose:Sales Order AUARTQ  参考凭证类型 校验不合格的时候,不让保存VA01成功创建销售订单。 T-code: SE38 程序:SAPMV45A 增强:MM06E005 Form:USEREXIT_CHECK_VBAK   Businesses Design业务设计:   判断现在的操作是否是订单的创建:sy-tcode = ‘VA01’。只有当订单创建的时候才进行强制参考的检查; 读取自建表ZTSD001,当满足条件VKORG = XVBAK-VKORG AND VTWEG = XVBAK-VTWEG AND SPART = XVBAK-SPART AND VKBUR = XVBAK-VKBUR AND AUART = XVBAK-AUART.的数据存在时,将数据存入lt_ZTSD001,并进行强制参考的检查;当数据不存在时,则不用检查。 检查当前参考的单据类型是否符合LT_ZTSD001中可以参照的数据类型的要求。如果参照的类型不符合要求,则报错。 自建表:ZTSD001—销售订单参考报价单检查表 字段名 描述 类型 长度 主键 备注 MANDT 客户端 CLNT 3 Y   VKORG 销售组织 CHAR 4 Y