溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何使用SMOD和CMOD進行SD的用戶增強

發(fā)布時間:2020-08-06 23:06:36 來源:ITPUB博客 閱讀:237 作者:dicksonjyl560101 欄目:大數(shù)據(jù)

如何使用SMOD和CMOD進行SD的用戶增強

1、關(guān)于增強的簡單介紹

1.1 SMOD包含具體的增強,而CMOD是包含一組SMOD編寫的增強. 

1.2 User exits (Function module exits)是sap提供出口,它的命名規(guī)則如下:

EXIT_<program name><3 digit suffix> 

示例:

sd的VA01事務,對應的程序是SAPMV45A ,你會在程序里查到(用CALL CUSTOMER-FUNCTION字符串)如下代碼:

CALL CUSTOMER-FUNCTION '003'

  exporting

    xvbak   = vbak

    xvbuk   = vbuk

    xkomk   = tkomk

  importing

    lvf_subrc = lvf_subrc

  tables

    xvbfa = xvbfa

    xvbap = xvbap

    xvbup = xvbup.

則exit calls function module的名稱就是:EXIT_SAPMV45A_003

2、先試用SMOD建立一個SAP增強

2.1、選擇一個增強,如:SDVFX001 ,點擊修改,進入sap增強維護屏幕;

2.2、點擊“組件”按鈕,進入組件維護屏;

2.3、將光標移到“功能模塊名”,輸入模塊名,如:EXIT_SAPLV60B_001;

2.4、選擇“代碼修改”按鈕進入函數(shù)模塊;

2.5、雙擊函數(shù)模塊的包含單元,進入包含單元加入自定義代碼并激活保存;

3、使用CMOD建立增強項目

3.1、輸入自定義的項目名,點擊“創(chuàng)建”;

3.2、進入增強項目,選擇“配置增強”,進入增強配置屏幕;

3.3、輸入增強名如:SDVFX001

3.4、保存,并退出;

4、使用CMOD將增強項目激活,便大工告成。

如何查找

*判斷是否存在相應增強的定義(SMOD)

    select single name from modsapa into mod0-name

           where name   = 'PPCO0002'.

  if sy-subrc = 0.

  endif.

  select single * from tadir into ps_tadir_db

                             where pgmid      =   'R3TR'

                             and   object        =  'SMOD'

                             and   obj_name   =  'PPCO0002'.

*判斷是否存在相應增強項目的定義(CMOD)

          SELECT SINGLE name FROM MODATTR into mod0-name

                 WHERE NAME   = 'PPCO0002'..

*提取增強的定義的組件 (可以用此反查增強定義)

  select * from modsap

         where name = 'PPCO0002'.

*判斷該增強是否移植到BADI實現(xiàn)

*Enhancement & has already been migrated in Business Add-In definition

  select single migrated badi_def       into (migrated, exit_name)

        from modsapa where name = modname.

  if sy-subrc = 0 and migrated = seex_true.

    message s621 with modname exit_name.

    check mode ne 'CHAM'.

  endif.

MODTYP 類型:

E : 功能退出

S : 屏幕

T : 表

C : GUI代碼

SAP增強存在MODSAP表內(nèi)

*獲取增強組件的參見函數(shù)MOD_SAP_MEMBER_TEXT

*獲得退出功能模塊的信息

      select single * from tftit

             where "SPRAS" = '1' AND "FUNCNAME" = 'EXIT_SAPLCORE_001'

      if sy-subrc = 0.

      endif.

*值得學習的函數(shù)

MOD_KUN_ACTIVATE(會操作相關(guān)報表)

https://mp.weixin.qq.com/s/aCzXtfJeT-QTTQvPl6Lz0g

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI