SAP-ABAP-屏幕增強文檔_第1頁
SAP-ABAP-屏幕增強文檔_第2頁
SAP-ABAP-屏幕增強文檔_第3頁
SAP-ABAP-屏幕增強文檔_第4頁
SAP-ABAP-屏幕增強文檔_第5頁
已閱讀5頁,還剩1頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

11.編寫用戶增強

用戶增強通常包括下面3類,顧名思義,就是增強SAP的可能沒有提供的功能(通過后臺配置也不能實現(xiàn)).

1.EEnhancementexits:就是常說User_exit(用戶出口)

使用SE37搜索EXIT*的函數(shù)大都是做exit用的,通常里面預包含了一個Z開頭

的程序.SE16查詢TFDIR(函數(shù)表)輸入EXIT*也可.

2.CGUIcodes(GUI接口增強)

3.SSubscreens(屏幕增強)

Enhancement在表MODSAP可看到,而TFDIR字段MAND(值為C表示此出口函數(shù)被激活).使用SMOD(CMOD)當然可激活exitfunction,有時候一時難以查詢到相關(guān)Enhancement時可使用下面程序?qū)⒊隹诤瘮?shù)激活.

REPORTZactexitfun.

dataztfdirliketfdir.

*selectsingle*fromtfdirintoztfdir

*whereFUNCNAME=

*'EXIT_SAPMM06E_013'.

*ztfdir-MAND='C'.

*updatetfdirfromztfdir.

*將EXIT_SAPMM06E_013換成實際所需exit函數(shù)名

updatetfdirsetMAND='C'.

whereFUNcname='EXIT_SAPMM06E_013'.

***當然也可SE16:MODSAP表enhancement輸入EXIT_SAPMM06E_013然后得到enhancementnameMM06E005后使用SMOD測試激活exit函數(shù).

增強相關(guān)函數(shù)和表格

Function:

[1].DYNP_VALUES_READ

[2].MODX_ALL_ACTIVE_MENUENTRIES(菜單增強)

[3].MODX_FUNCTION_ACTIVE_CHECK(出口函數(shù)增強)

由于讀者可能接觸userexit最多,除了附錄光盤有個查找ZFINDEXIT的程序外(有些exit使用它并不能找到),另一個直接有效的方法就是使用這個函數(shù),SE37設好斷點后執(zhí)行tcode如其有exit就會調(diào)用此函數(shù).

如圖2-11-1是運行MIGO時的一個截圖,表示相關(guān)exit被激活.

4].MODX_MENUENTRY_ACTIVE_CHECK(菜單增強)

[5].MODX_SUBSCREEN_ACTIVE_CHECK(屏幕增強)

Table:

[1].TFDIR->functionmoduletable

[2].MODSAP->sapenhancementtable

[3].TSDIR->DynproAreasCALLCUSTOMERSUBSCREEN(屏幕增強)

[4].CUATEXTS->GUIInterface:MenuTextsChanged(GUI菜單文本增強)

***注意,為了確保一個出口被真正應用,必須同時激活相關(guān)程序(SE38)和出口函數(shù)(SMOD|CMOD,反正就是要保證tfdir-mandt=’C’,用程序也可.)

關(guān)于增強中的userexit,在實戰(zhàn)篇中會有更多詳細的例子.

找屏幕增強有很多方法,讀者可從SE16:TSDIR中找尋,或者CMOD菜但utilities(M)->SAPEnhancements搜尋出所有的exitname,然后在搜尋結(jié)構(gòu)中再輸入’screen’關(guān)鍵字(通常在shorttext描述)一般能找到一些SAP預留的屏幕增強.

下面以建立PO舉個實例介紹什么是屏幕增強.

如圖2-11-2,很簡單,SE38輸入SAPMM06E.

SAPMM06E可看成專為PO增強的一個modulepool,可以增強的subscreenno一般還有0101,0111,0201,0211,0301,0311(增強的子屏作用讀者可從描述中就知).

SAPLXM06實際上包含四個include,INCLUDELXM06TOP(GlobalData在此為增強定義globaldata),INCLUDELXM06UXX.(FunctionModules實際上包含所有可用的userexit),INCLUDELXM06F00.(SAP-FormpoolforCustomer-Use可在此建立Formpool),INCLUDEZXM06ZZZ.(SubprogramsandModules,在此建立增強子屏)

在include程序ZXM06ZZZ中加入如下代碼.

*&----------------------------------------------------------

*&IncludeZXM06ZZZ*

*&----------------------------------------------------------

modulemodpohead.

callscreen0101."POheader增強子屏

endmodule.

modulemodpoitem.

callscreen0111."POitem增強子屏

endmodule.

注意上面的screen0101和0111在attributescreentype必須選subscreen.再ME22N(ME23N)進去后能發(fā)現(xiàn)在POheader和lineitem都多出了一customerdatatab頁,不妨這樣設想,假設用戶希望在操作PO時寫些額外的東西進自定義的表格,而且這些數(shù)據(jù)通過一般的userexit還做不到,因為這些字段在PO相關(guān)數(shù)據(jù)表中不存在,必須有用戶在屏幕上輸入(否則沒必要使用增強屏幕直接使用合適的userexit將數(shù)據(jù)寫到自定義表就可),就得使用增強屏幕.屏幕上文本框和tablecontrol都可用,想輸入怎樣的額外數(shù)據(jù)到自定義表都行.

如圖2-11-3,讀者可看到header和item都多出一Customerdata的增強屏幕.

1.有時實際需求會需要更改屏幕上某些字段的顯示,比如用戶希望物料主數(shù)據(jù)basicdata2視圖otherdata下的Prod./Insp.Memo(子段顯示)保存其它信息,同時為了避免不必要的誤會需要更改此字段顯示,嚴格地講,這并非屏幕增強.這是屏幕”強改”(強行更改).

2.所謂屏幕增強就是多出個子屏幕來,在此你可顯示一些數(shù)據(jù)或插入一些數(shù)據(jù)(到自定義表格中),global

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論