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

Enhancement:FMRESERV、FB01/FBV0/FBV1/FBVB财务利润中心新增增强

Purpose:使用TCODE:FB01直接创建凭证,或者使用TCODE:FBV0、FBV1、FBVB预制凭证时:对于客户发票凭证, 需要将50行的利润中心赋值给01行;对于客户付款凭证,需要将19行利润中心赋值给09行。   T-code: CMOD 项目:ZFI001 增强:FMRESERV Enhancement sample code: Function:EXIT_SAPLFMR4_002   *&—————————————————————–* *&  包含                ZXFMCU08 *&—————————————————————–* DATA L_ACCIT LIKE LINE OF T_ACCIT. CLEAR L_ACCIT. LOOP AT T_ACCIT. *&—————————————————————* *&  开票利润中心,将50行的利润中心赋值给01行,根据业务约定, *& 随意一张50行赋值给所有的01行 *&—————————————————————* IF ( SY-TCODE = ‘FB01’ “直接创建凭证 “预制凭证 OR SY-TCODE = ‘FBV0’ OR SY-TCODE = ‘FBV1’ OR SY-TCODE = ‘FBVB’ ) AND T_ACCIT-BUKRS = ‘8300’ AND T_ACCIT-BLART = ‘DR’ AND T_ACCIT-BSCHL = ’01’. READ TABLE T_ACCIT INTO L_ACCIT WITH KEY BSCHL = ’50’. IF L_ACCIT IS NOT INITIAL. T_ACCIT-PRCTR = L_ACCIT-PRCTR. CLEAR L_ACCIT. ENDIF. MODIFY T_ACCIT FROM T_ACCIT TRANSPORTING PRCTR PPRCTR. ENDIF. *&—————————————————————* *&   将ZFI_006_08 生成的DW 凭证19行利润中心赋值给 09行 *&—————————————————————* DATA: L_FLAG_FI00608. “指定FI_006_08 调用生效 IMPORT FLAG = L_FLAG_FI00608 FROM MEMORY ID ‘ZFI00608’. IF L_FLAG_FI00608 = ‘X’. IF SY-TCODE = ‘FB01’ AND T_ACCIT-BUKRS = ‘8300’ AND T_ACCIT-BLART = ‘DW’ AND T_ACCIT-BSCHL = ’09’. READ TABLE T_ACCIT INTO L_ACCIT WITH KEY BSCHL = ’19’. IF L_ACCIT IS NOT INITIAL. T_ACCIT-PRCTR = L_ACCIT-PRCTR. CLEAR L_ACCIT. MODIFY T_ACCIT FROM T_ACCIT TRANSPORTING PRCTR PPRCTR. CONTINUE. ENDIF. ENDIF. FREE MEMORY ID ‘ZFI00608’. ENDIF.

SAP ABAP BAPI 50连载38-K_HIERARCHY_TABLES_READ成本要素组明细

今天我们来学习FICO模块的成本要素明细读取函数K_HIERARCHY_TABLES_READ。 一般来说,有了这个函数之后,不用自己去写SQL读取了,真是爽歪歪。部分同学说调用的时候有性能瓶颈。 我只能说是您调用的方式不对了。老顾问说,性能问题?不存在,梭哈即可~   导入参数: 参数名称 关联类型 可选的 说明 E_CLASS SETHIER-SETCLASS 必选 组类型 E_SETID SETHIER-SETID 必选 集的标识 E_KOKRS SETHIER-KOKRS 必选 控制范围 E_MANDT SY-MANDT 可选 当前用户的客户端标识 E_MASTER_DATA GRPHP1 可选 Set/Get 参数 HP1的结构 E_STRUCTURE GRPHP2 可选 Set/Get 参数 HP2 的结构 E_REPLACE_CLASS SETHIER-SETCLASS 可选 组类型 E_REPLACE_UNIT SETHIER-KOKRS 可选 控制范围 E_SUFFIX GRPDYNP-SUFFIX 可选 复制组的后缀   导出参数: 参数名称 关联类型 说明

SAP ABAP BAPI 50连载37-BAPI_REQUIREMENTS_CHANGE-MD62

在SAP PP模块中,我们经常使用TCODE:MD62事务代码来修改生产计划的独立需求,可是如果想要批量修改的时候, 就要用BAPI来完成。今天我们来学习BAPI_REQUIREMENTS_CHANGE的demo示例。可以做成接口。直接就能用。   首先介绍这个函数的参数明细: 参数名称 关联类型 缺省值 可选的 值传递 说明 MATERIAL BAPISITEMR-MATERIAL   是 是 Material BAPISITEMR:通讯字段:独立需求项目数据表 (关联表见下文) PLANT BAPISITEMR-PLANT   否 是 Plant BAPISITEMR:通讯字段:独立需求项目数据表 (关联表见下文) REQUIREMENTSTYPE BAPISITEMR-REQU_TYPE   否 是 Requirements Type BAPISITEMR:通讯字段:独立需求项目数据表 (关联表见下文) VERSION BAPISITEMR-VERSION   否 是 Version BAPISITEMR:通讯字段:独立需求项目数据表 (关联表见下文) REQMTSPLANNUMBER BAPISITEMR-REQ_NUMBER   否 是 Requirements Plan Number BAPISITEMR:通讯字段:独立需求项目数据表 (关联表见下文) VERS_ACTIV