sap Function Modules

Userful SAP standard function modules and function calls to accelerate development and meet complex business needs. SAP function mudules use demo. SAP ABAP Tutorial, ABAP Programming Guide, ABAP Performance Optimization SAP标准功能模块与函数调用,加速开发,满足复杂业务需求。

ABAP FMS to get Chinese Beijing time,China

Today, We need to get the Beijing Time in SAP system. As we know beijing is in UTC+8. So below is the sample code fms to get time.   Hope you like this. FUNCTION ZFM_GET_BEIJING_TIMES. *”———————————————————————- *”*”  *”  EXPORTING *”     VALUE(O_DATUM) TYPE  SY-DATUM *”     VALUE(O_UZEIT) TYPE  SY-UZEIT *”———————————————————————- DATA: l_tzone     TYPE sy–zonlo VALUE ‘UTC+8’, l_timestamp TYPE timestamp. GET TIME STAMP FIELD l_timestamp. CONVERT TIME STAMP l_timestamp TIME ZONE l_tzone INTO DATE o_datum TIME o_uzeit.   You can get any time zone times if

Use BAPI/FMs to delete SM12 LOCK object in SAP

Purpose:lots of object locked for a long time when the network is pool. I hate to be called to delete/Realease the SM12 lock object in the middle night. Sample Code as ABAP Source Code: DATA: lt_locks TYPE TABLE OF seqg3 . DATA ls_lock TYPE seqg3. CALL FUNCTION ‘ENQUEUE_READ’ EXPORTING *   GCLIENT               = SY-MANDT gname                 = ‘SEOCLSENQ’ *   GARG                  = ‘ ‘ *   GUNAME                = SY-UNAME *   LOCAL                 = ‘ ‘ *   FAST                  = ‘ ‘ *   GARGNOWC              = ‘ ‘ * IMPORTING *   NUMBER                = *   SUBRC                 = TABLES enq                   = lt_locks EXCEPTIONS communication_failure = 1 system_failure        = 2 OTHERS                = 3. IF sy-subrc <> 0.

BADI: MB_RES_BAPI_CREATE1 for MB21

We can use BAPI_RESERVATION_CREATE1 for tcode mb21 to create order. But it do not have field werks lgort umwrk umlgo  stock. So we need to enhancement. BADI: MB_RES_BAPI_CREATE1 for MB21. 创建项目预留的增强 在系统标准功能中使用MB21不能创建项目预留, 因此需要用BAPI:BAPI_RESERVATION_CREATE1来创建项目预留, 但BAPI里面没有提供可以传入特殊库存字段从而创建特殊预留的功能本中心,因此需要增强此BAPI。 触发时间: 用BAPI_RESERVATION_CREATE1创建预留时触发。 增强步骤: 1、使用TCODE:SE11创建结构ZSRESB_APPEND。 Fields: RSPOS SOBKZ PSPEL KNTTP KZBWS UMWRK UMLGO   2、使用事务代码SE19实施BADI: MB_RES_BAPI_CREATE1, 创建实施BADI:ZMB_RES_BAPI_CREATE1 对BADI中的方法EXTENSIONIN_TO_RESB进行实施。 METHOD if_ex_mb_res_bapi_create1~extensionin_to_resb. DATA: ls_extension LIKE LINE OF it_extension_in. DATA: ls_resb LIKE LINE OF resb. DATA: ls_zresb TYPE zsresb_append.

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.

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 可选 复制组的后缀   导出参数: 参数名称 关联类型 说明