<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      SAP-增強

      概念

      • 增強的概念其實很廣,SAP標準系統(tǒng)之上的所有二次開發(fā),都可以理解為增強。
      • 做增強的目的就是標準的sap正常的業(yè)務(wù)系統(tǒng)不能滿足實需求,需要增加不同的功能來達到不同企業(yè)的要求
      • ABAP開發(fā)的增強主要指的是標準系統(tǒng)事先預(yù)留好的接口,根據(jù)不同業(yè)務(wù)需求,進行開發(fā),這種開發(fā)稱為增強,又叫出口,如果增強滿足不了,就只能修正。

      SAP四種用戶出口的類型

      • 菜單出口-Menu Exits
      • 屏幕出口-Screen Exits
      • 功能模塊出口-Function Module Exits
      • 表/結(jié)構(gòu)出口-structureExits

      增強的發(fā)展

      • 第一代,基于代碼的增強
      • 第二代,基于函數(shù)模塊的增強出口
      • 第三代,基于面向?qū)ο蟾拍畹脑鰪夿ADI
      • 第四代,新BADI

      第一代,基于源代碼的增強

      簡介

      • sap提供一個空代碼的子例程,在這個子過程中用戶可以添加自已的代碼,控制自己的需求。
      • 屏幕增強以客戶屏幕形式發(fā)布,它們包含在標準程序中,沒有什么特別規(guī)律。
      • 表/結(jié)構(gòu)的增強是append sturcture
      • 源代碼增強和屏幕增強的說明可以從事務(wù)碼spro后臺配置中相關(guān)的路徑里面找到
      • 需要修改sap的標準代碼,集中在一些名稱倒數(shù)第二個字符為Z的include程序中,所有程序的全局數(shù)據(jù)都可以使用
      • 一般是以UserExit_打頭的子例程
      • 這類增強因為系統(tǒng)升級時會被新版覆蓋后不能使用,且如果在代碼中改變了全局變量,還可以會破壞系統(tǒng)原有的邏輯,因而現(xiàn)在很少使用使用

      查找此類增強的事務(wù)里面,點擊工具欄上的"Display Object List"按鈕,選擇* Subroutines,查找以"UserExit"開頭的子例程,根據(jù)子例程的注釋來找到對應(yīng)的用戶出口。

      • 這類增強事先要到Service Marketplace 申請對象鍵(ACCESS KEY),然后才能修改這些子程序。

      第二代,基于函數(shù)模塊的增強Exit

      簡介

      • 源代碼增強以函數(shù)模塊形式發(fā)布,在SAP的發(fā)行版中,使用CALL CUSTOMER-FUNCTION調(diào)用這些函數(shù)模塊,它們在發(fā)布時只有一句代碼INCLUDE xxxxxxx.
      • 用戶增強時,無需申請對象鍵,直接創(chuàng)建這個INCLUDE xxxxxxxx,編寫相應(yīng)的代碼。
      • 這些函數(shù)模塊中只能使用接口中傳遞的參數(shù),不能使用調(diào)用程序的全局變量

      第二代增強中主要有4類

      1. 功能模塊增強:這些出口是以Exit_打頭的函數(shù),可以在se37中查看,也可以在數(shù)據(jù)字典中TFDIR(函數(shù)表)中查詢Exit_打頭的函數(shù)
      2. 子屏幕增強
      3. GUI status功能碼
      4. Include structure增強
      增強相關(guān)函數(shù)和表格
      • Function
        • DYNP_VALUES_READ
        • MODX_ALL_ACTIVE_MENUENTRIES(菜單增強)
        • MODX_FUNCTION_ACTIVE_CHECK(出口函數(shù)增強)
        • MODX_MENUENTRY_ACTIVE_CHECK(菜單增強)
        • MODX_SUBSCREEN_ACTIVE_CHECK(屏幕增強)
      • Table
        • TFDIR->function module table
        • MODSAP->sap enhancement table
        • TSDIR->Dynpro Areas CALL CUSTOMER SUBSCREEN(屏幕增強)
        • CUATEXTS->GUI Interface: Menu Texts Changed(GUI菜單文本增強)
      • MODSAP,這個表里重要的字段增強名(Name),組件類型(TYPE:E C S T),組件功能模塊名(Member):里面記錄了所有enhancement的增強。
      • TFDIR,所胡的函數(shù)表,重要字段FUNCName(函數(shù)名),MAND(功能模塊激活狀態(tài)如果是C代表此函數(shù)模塊激活)

      Exit實現(xiàn)方法

      • Enhancement exits實現(xiàn)方法
        • SMOD:查看增強組件,CMOD:實現(xiàn)增強
          • T-CODE:CMOD中創(chuàng)建一個Projec,添加所要使用的Enhancement,激活目標Components
          • 在目標Function module中編寫功能代碼
      • Subscreens實現(xiàn)方法
        • T-code:CMOD中創(chuàng)建一個Project,添加所要用的Enhancement,激活目標Components
        • 通過SMOD定位到目標程序,創(chuàng)建與其對應(yīng)的屏幕屬性為Subscreen,并編寫功能代碼。
      SMOD和CMOD
      • SMOD包含具體的增強
      • CMOD是包含一組SMOD編寫的增強,通過CMOD激活增強程序。
      查找增強的方法
      • 代碼找增強(有些exit使用它并不能找到)
      • 利用函數(shù)(MODX_FUNCTION_ACTIVE_CHECK)尋找增強

      BADI簡介

      • 第三代增強(基于面向?qū)ο蟾拍畹脑鰪夿ADI[business add-in],源代碼發(fā)布以接口的方式,通過接口的方法調(diào)用來實現(xiàn)使用的)。用戶增強實際上是實現(xiàn)一個或多個基于這個接口的實現(xiàn)類,因為接口類實際上是一個抽象類,所以對同一個增強會出現(xiàn)不同的源代碼,這些不同的源代碼是通過過濾器(adapter)來區(qū)別用于不同的業(yè)務(wù)場景的。這種 增強是用SE18,SE19來實現(xiàn)的。
      • BADI和EXIT的區(qū)別:Exit中一個Enhancement只能使用一次,BADI一個接口可以被實現(xiàn)多次。
      SE18和SE19
      • SE18是查看BADI
      • SE19是為BADI接口創(chuàng)建一個實例,從而在里面實現(xiàn)想要增加的功能。
      BADI存儲
      • badi對象的信息存儲在SXS_INTER,SXC_EXIT,SXC_CLASS和SXC_ATTR這四個表中(參見SECE包)
      • SAP程序都會調(diào)用cl_exithandler=>get_instance來判斷對象是否存在,并返回實例,其實get_instance就是對上述幾個表和他們的視圖(V_EXT_IMP和V_EXT_ACT)進行查詢和搜索。
      • 基于這個機理,我查用ST05來監(jiān)控一個TODE來跟蹤,然后選擇查找有關(guān)上述幾個表和視圖的操作,就可獲得相關(guān)BADI
      BADI查找方法
      • 通過st05跟蹤,badi對應(yīng)的數(shù)據(jù)表為sxs_inter,sxc_exit,sxc_class和sxc_attr,而這些表都是通過視圖V_EXT_IMP和V_EXT_ACT來查詢的。
      1. 打開運行事務(wù)碼:STO05先擇"table buffer trace"而不是常用的"SQL trace"
      2. activatetrace(開始跟蹤)
      3. 運行事務(wù)碼:me21n
      4. 創(chuàng)建一個采購訂單,保存
      5. deactivate trace(結(jié)束跟蹤)
      6. 點擊displaytrace,在出來的選擇條件中:objects中輸入:V_EXT_IMP和V_EXT_ACT;在operations中輸入"OPEN"
      7. 查詢通過查詢的結(jié)果可以看出,視圖V_EXT_IMP的BADI的接口類名字都是以IF_EX_開頭的,其中IF_EX_之后的就是對應(yīng)BADI接口的定義。

      New BADI

      簡介
      • New BADI就是所謂的enhancement spot中多BADI Definition.
      • enhancement spot的結(jié)構(gòu)是個樹形結(jié)構(gòu)
      • enhancement sopt下面可以定義若干個BADI definition,SAP官方的說法是,下面的BADI Definition的數(shù)量是沒有限制的的,BADI Definition可以通過SE18進行創(chuàng)建查看修改。
      • BADI Definiton里面包含了一個interface,有且僅有一個interface,是一一對應(yīng)的一個關(guān)系,除此以外,還包含若干個filter,這些filter的數(shù)量也沒有什么限制,filter可以通過se18進行創(chuàng)建查看修改。
      • enhancement sopt可以創(chuàng)建無數(shù)enchancement Implementation,通過se19進行創(chuàng)建修改和刪除,因為enhancement spot下面定義無數(shù)BADI definition,因此enhancement spot下面固然也可以創(chuàng)建無數(shù)個相應(yīng)的BADI implementation,在創(chuàng)建BADI implementation的時候需要指定BADI implementation的名字,每個BADI definition都對應(yīng)一個interface,那么BADI implementation就對應(yīng)一具class,并且該class實現(xiàn)了相應(yīng)的interface
      posted @ 2025-06-11 08:11  小章子  閱讀(146)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 深夜释放自己在线观看| 在线精品亚洲区一区二区| 国产成人亚洲精品狼色在线| 国产69精品久久久久乱码免费| 亚洲欧美在线观看一区二区| 三亚市| www国产成人免费观看视频| 超碰成人人人做人人爽| 麻花传媒在线观看免费| 在线 欧美 中文 亚洲 精品| 色综合 图片区 小说区| 国产成人一区二区三区在线观看| 少妇高潮喷水正在播放| 欧美寡妇xxxx黑人猛交| 国产精品鲁鲁鲁| 不卡国产一区二区三区| 2019国产精品青青草原| 国产国产久热这里只有精品| 中文无码乱人伦中文视频在线| 人妻夜夜爽天天爽三区麻豆av| 日韩最新中文字幕| bt天堂新版中文在线| 国产午夜视频在线观看| 国内精品一区二区在线观看| 国产一区二区不卡在线| 干老熟女干老穴干老女人| 免费看男女做好爽好硬视频| 九九在线精品国产| 亚洲国产成人精品无色码| 国产激情视频在线观看首页 | 97无码人妻福利免费公开在线视频| 青岛市| 中文字幕国产精品一区二 | 亚洲精品欧美综合二区| 少妇宾馆粉嫩10p| 日韩中文字幕有码午夜美女| 亚洲男人天堂2018| 亚洲国产欧美在线观看片| 日韩精品一区二区都可以| 快好爽射给我视频| 午夜福利院一区二区三区|