sap-ABAP開(kāi)發(fā)入門到進(jìn)階_第1頁(yè)
sap-ABAP開(kāi)發(fā)入門到進(jìn)階_第2頁(yè)
sap-ABAP開(kāi)發(fā)入門到進(jìn)階_第3頁(yè)
sap-ABAP開(kāi)發(fā)入門到進(jìn)階_第4頁(yè)
sap-ABAP開(kāi)發(fā)入門到進(jìn)階_第5頁(yè)
已閱讀5頁(yè),還剩11頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、SAP-ABAPBAP 開(kāi)發(fā)入門到進(jìn)階開(kāi)發(fā)入門到進(jìn)階 基礎(chǔ)篇 - 以簡(jiǎn)短的篇幅介紹最基本的語(yǔ)法 增強(qiáng)篇 - 介紹了常用的 ABAP 技術(shù) 希望此書(shū)對(duì)想從事 ABAP 開(kāi)發(fā)的讀者有相當(dāng)幫助。 一一. .基礎(chǔ)篇基礎(chǔ)篇 如果讀者已經(jīng)有一定 ABAP 經(jīng)驗(yàn),可不看此篇,在此篇中,花了很少篇幅回顧 ABAP 編程的基本常識(shí),讀者如有其他開(kāi)發(fā)工具的知識(shí),花很少時(shí)間就可理解這些常 識(shí). 1.1.什么是什么是 ABAPABAP ? ? 了解一下 ABAP 的發(fā)展歷史是必要的,ABAP 產(chǎn)生的最初的目的是用以生成簡(jiǎn) 單打印報(bào)表程序,我們知道 SAP 最初是為解決財(cái)務(wù)實(shí)時(shí)數(shù)據(jù)處理問(wèn)題的, ABAP(Advance

2、d Business Application Programming-高級(jí)業(yè)務(wù)應(yīng)用編程語(yǔ)言)現(xiàn)在用 于編寫 SAP AG 的幾乎全部產(chǎn)品源代碼. 嚴(yán)格地講,ABAP/4 不僅僅是一個(gè)開(kāi)發(fā)工具,而且是一套完整的 client/server 開(kāi)發(fā) 環(huán)境,這很好理解,微軟的 Visiual Studio 是一開(kāi)發(fā)環(huán)境,VB,VC+等是開(kāi)發(fā)工具. ABAP 開(kāi)發(fā)環(huán)境包含支持程序開(kāi)發(fā)的一些函數(shù)和包等. 如圖 1-1,是 SAP 開(kāi)發(fā)環(huán)境的一個(gè)三層架構(gòu)的例圖,三層(多層)的概念也不新鮮, 比如在安裝 SAP 時(shí)也可將 DB instance 安在一臺(tái) server, Central instance 在另

3、一臺(tái)所 謂的 Application server(我想這應(yīng)是相關(guān) SAP 基礎(chǔ)系統(tǒng)包括各種應(yīng)用程序所在),而通 ??蛻舳税惭b的 SAP Logon Front End,SAP 會(huì)話管理器等是所謂的表示層,它通過(guò) TCP/IP,SAP 演示協(xié)議或 RFC 和應(yīng)用服務(wù)器進(jìn)行數(shù)據(jù)傳輸,用戶看到的只是處理后的 數(shù)據(jù)返回. 和 Delphi 的三層邏輯相近,在應(yīng)用層包含多個(gè)組件象 ABAP 開(kāi)發(fā)平臺(tái),身份驗(yàn)證, 系統(tǒng)管理維護(hù)等用以處理會(huì)話,更新,排隊(duì),網(wǎng)關(guān),數(shù)據(jù)層處理 native 和 Open SQL 等 (這是從內(nèi)部機(jī)制方面看),SAP 各模塊應(yīng)用的業(yè)務(wù)邏輯都在應(yīng)用層被處理(從用戶角 度)然后結(jié)果

4、被返回. 圖 1-2 是 SAP Logon 的一個(gè)截圖,1表示應(yīng)用服務(wù)器(通常企業(yè)為了節(jié)省成本和方便 管理可能會(huì)將應(yīng)用服務(wù)器和數(shù)據(jù)庫(kù)安裝在同一起),2System number,舉個(gè)實(shí)例,開(kāi)發(fā) 和測(cè)試服務(wù)共用一臺(tái)服務(wù)器,開(kāi)發(fā)使用 system number00,而測(cè)試使用 system number 01,通過(guò) system number 邏輯地將一臺(tái) physical server 邏輯地分成了兩臺(tái) application server. 學(xué)習(xí) ABAP 并不難,有人說(shuō) SAP 系統(tǒng)重在管理思想,不在技術(shù),通常對(duì)有編程經(jīng) 驗(yàn)的讀者不用任何培訓(xùn)參考一些相關(guān)資料就可立即上手. 簡(jiǎn)單介紹下 AB

5、AP/4 的一些特征: 1.和 SAP 緊密結(jié)合,尤其在開(kāi)發(fā)報(bào)表方面,坦率地講,除了和 SAP 集成的好處,.我定 認(rèn)為 ABAP 在報(bào)表開(kāi)發(fā)上比 Crystal report Tool 要高效簡(jiǎn)單. 2.和 VB 一樣 ,ABAP 是解釋形的,如讀者精通 VB,學(xué)習(xí) ABAP 應(yīng)該豪不費(fèi)力,倒是 既然 SAP 是企業(yè)管理解決方案,ABAPer 必須對(duì)企業(yè)管理流程熟悉. 解釋性的另一好處是可以很好跟蹤程序邏輯(使用/H),這對(duì)了解業(yè)務(wù)邏輯的實(shí)和 追蹤錯(cuò)誤很有效. 和 VB 不同的是,VB 跟蹤時(shí)允許程序運(yùn)行指針隨意往回或往 全拉而 ABAP 程序去不行, 但是 ABAP 程序允許在運(yùn)行時(shí)修改變

6、量的值,這是 編譯程序不能做到的. 當(dāng)然通常編譯比解釋執(zhí)行的速度會(huì)更快. ABAP 程序執(zhí)行并不直接讀取源代碼,而是執(zhí)行內(nèi)部經(jīng)過(guò)“生成”的描述,對(duì)于 ABAP/4 字典的修改激活后將觸發(fā)內(nèi)部描述的重新生成,如程序并沒(méi)激活就執(zhí)行 原版本,或者出現(xiàn)錯(cuò)誤(程序沒(méi)激活可能造成 ABAP Dumping ABAP). 3.在對(duì)數(shù)據(jù)庫(kù)處理方面,除了可直接執(zhí)行 SQL(使用 native sql,缺點(diǎn)是錯(cuò)誤處理很難 控制,相當(dāng)于有開(kāi)發(fā)環(huán)境將 SQL 語(yǔ)句直接傳給 DB 去執(zhí)行),SAP 在 ABAP 開(kāi)發(fā)環(huán) 境層還提供了一套 Open SQL 訪問(wèn)底層數(shù)據(jù)庫(kù). 4. 程序員都知道 Windows 平臺(tái)下開(kāi)發(fā)

7、都支持事件驅(qū)動(dòng),Windows 系統(tǒng)本身也支持 事件驅(qū)動(dòng),ABAP 也提供了事件驅(qū)動(dòng),這表現(xiàn)在 Dialog 編程方面,但是 ABAP 在此 方面并不強(qiáng),而且相對(duì)講也比較難于掌握(在后面會(huì)討論). 5.基于面向?qū)ο蟮娘L(fēng)靡,ABAP 在此方面也有相當(dāng)反應(yīng),在 SAP 強(qiáng)大的軟件包中提 供了大量可重復(fù)使用的程序,讀者也可定義類并使用它快速建立新的對(duì)象. 6.類似 Java,ABAP 開(kāi)發(fā)的程序能運(yùn)行于任何操作系統(tǒng)(Java 有 Java 虛擬機(jī),ABAP 也有 ABAP processor),多種數(shù)據(jù)庫(kù)(比如在 ABAP 字典中實(shí)現(xiàn)了透明表對(duì)各種底 層數(shù)據(jù)庫(kù)表的映射,這樣在 ABAP 層看到的透明

8、表就和具體數(shù)據(jù)庫(kù)無(wú)關(guān)),各種網(wǎng) 絡(luò)系統(tǒng). 圖 1-3 是一個(gè) ABAP 開(kāi)發(fā)和運(yùn)行環(huán)境的圖例. 1 使用 C|C+建立 ABAP 開(kāi)發(fā)工具,數(shù)億行 ABAP source code 組成 SAP AG 多個(gè)產(chǎn) 品. 姑且不論國(guó)內(nèi) ERP 產(chǎn)品設(shè)計(jì)在解決企業(yè)流程上的局限性,在大多數(shù)國(guó)外的 ERP 產(chǎn) 品中我們都可看到結(jié)合自身 ERP 自帶的開(kāi)發(fā)工具,在技術(shù)上這也是落后人家.所以建 議國(guó)內(nèi) ERP 界能少談點(diǎn)象什么”不上 ERP 等死,上 ERP 找死”,”百分之百的企業(yè)上 ERP 都失敗”諸如的空洞口號(hào)(實(shí)際上我并不知道他們是憑什么得出這樣的結(jié)論的), 多干點(diǎn)實(shí)際的事情. 2 既然 ABAP 是

9、解釋型的,運(yùn)行速度會(huì)有影響嗎?我想多少會(huì)有的,為了解決這個(gè)問(wèn)題, 除了要加大相關(guān)服務(wù)器內(nèi)存外(相對(duì)日新月異的硬件技術(shù)這已非主要瓶頸) ),SAP 本身在提高性能也提供了相當(dāng)?shù)?ABAP 技術(shù),比如使用 Cluster table, Pooled table 和 Logical database ,在接下來(lái)會(huì)有詳細(xì)介紹. 2.ABAP2.ABAP 開(kāi)發(fā)環(huán)境的建立開(kāi)發(fā)環(huán)境的建立 一個(gè) ABAP 顧問(wèn)和我討論說(shuō),大學(xué)畢業(yè)我做 ABAP 開(kāi)發(fā)不久做了顧問(wèn),薪資相當(dāng) 可觀,最要好同學(xué)在 unix 平臺(tái)下寫 Cobar 組件, 薪資卻并不理想. 從技術(shù)角度,我認(rèn)為使用 C+寫組件肯定比 ABAP 開(kāi)發(fā)難度

10、要高,用其人話說(shuō)他 是坐的廟好.是的,SAP 行業(yè)特別是早些年是個(gè)被異化的行業(yè),人們可看到某些人出于 經(jīng)濟(jì)目的鋪天蓋地的對(duì) ERP 不正確的宣傳,這同樣反應(yīng)在 IT 各行業(yè),”拿到 XX 牌 Route 認(rèn)證,拿到 XX 網(wǎng)絡(luò)認(rèn)證,拿到 XX 數(shù)據(jù)庫(kù)認(rèn)證,拿到 XX 管理學(xué)位年薪基本的 都在十幾萬(wàn)以上”,現(xiàn)在人們發(fā)現(xiàn)實(shí)際不是這回事,從現(xiàn)在,SAP 也已經(jīng)開(kāi)始降溫了,我 想這趨勢(shì)還會(huì)持續(xù). 和學(xué)習(xí)其它語(yǔ)言唯一不同的是,ABAP 是集成在 SAP 基礎(chǔ)平臺(tái)系統(tǒng)中的,為了學(xué) 習(xí) ABAP,你必須安裝一套 SAP(可選擇可選擇 R/3,miniSAP,或或 IDES),而通常的情況是安裝光 盤渠道比較

11、難找(只有一些大企業(yè)實(shí)施了只有一些大企業(yè)實(shí)施了 SAPSAP 才可能有才可能有, ,而且還必須注意版權(quán)問(wèn)題而且還必須注意版權(quán)問(wèn)題, ,其他開(kāi)發(fā)其他開(kāi)發(fā) 工具隨便都可找到安裝程序工具隨便都可找到安裝程序),對(duì)想學(xué)習(xí) ABAP 的程序員這是個(gè)主要門檻. 掌握基本的 ABAP 開(kāi)發(fā)環(huán)境對(duì) ABAPer 是有益的,似乎多數(shù) ABAPer 對(duì)底層并不感 興趣, 3.3.獲得獲得 AccessAccess KeyKey . . 4.ABAP4.ABAP workbenchworkbench 和和 ABAPABAP dictionarydictionary 5.5.第一個(gè)程序第一個(gè)程序-Hello-Hell

12、o World.World. 如何進(jìn)行 ABAP 開(kāi)發(fā)呢?本節(jié)使用老套的做法,介紹如何建立一個(gè)”Hello World”的 ABAP 程序, 為了讓讀者盡快掌握 ABAP 開(kāi)發(fā)熟悉 ABAP 開(kāi)發(fā)環(huán)境是必須的,請(qǐng)看 圖圖 1.5-1. 程序的原代碼如下: ReportReport ZHELLO.ZHELLO. WriteWrite HelloHello World!.World!. 按 F8 運(yùn)行,運(yùn)行成功在屏幕上顯示 Hello World!的字樣,恭喜你,第一個(gè)程序運(yùn)行成功. 6.ABAP6.ABAP 語(yǔ)法簡(jiǎn)介語(yǔ)法簡(jiǎn)介 數(shù)據(jù)類型 控制流程 文本摘要 輸出格式 程序調(diào)試 7.Open7.Op

13、en SQLSQL 和和 NativeNative SQLSQL 8.8.內(nèi)表和工作區(qū)內(nèi)表和工作區(qū) 9.9.使用字段符號(hào)使用字段符號(hào) 10.10.模塊化程序模塊化程序 11.11.文件處理文件處理 12.12.簇?cái)?shù)據(jù)庫(kù)和邏輯數(shù)據(jù)庫(kù)簇?cái)?shù)據(jù)庫(kù)和邏輯數(shù)據(jù)庫(kù) 13.13.消息和錯(cuò)誤處理消息和錯(cuò)誤處理 盡管消息這詞還用在其他地方比如 PO,SO 打印傳真等所謂的 output message(請(qǐng)看 ABAP 百夜 談),系統(tǒng)出現(xiàn)異常,在這里消息只談在程序運(yùn)行邏輯異常處理時(shí)的消息. 1 定義消息定義消息(參考圖參考圖 7-7). 使用 Tcode SE91 可自定義包含多消息號(hào)的消息類,在圖 7-7 中就

14、定義了一個(gè)消息 類 ZFIMSG,同時(shí)消息號(hào) 017 中使用了倆&消息變量 2 運(yùn)用消息運(yùn)用消息. 1.可在程序Title中使用MESSAGE-ID加入消息類. REPORT ZMSGTEST MESSAGE-ID ZFIMSG . MESSAGE I017. 使用消息 IMG 有這樣的畫(huà)面,12的 appl 和 work area 實(shí)際上對(duì)應(yīng)的就是程序的 message_id(SE91:message class). 2.在程序 Title 中定義直接在語(yǔ)句中使用. REPORT ZMSGTEST . MESSAGE I017(ZFIMSG). 1. 將變量賦給消息. REPORT ZMSG

15、TEST . MESSAGE I017(ZFIMSG) with Var1 Var2 Var3 . 或者 MESSAGE ID ZFIMSG TYPE I NUMBER 0171 with Var1 Var2 Var3 . 盡管 017 只定義了兩消息變量,但是可 With 多個(gè)值,當(dāng)然只有前倆生效. 4.SAP 程序消息類型有下列幾種. I:信息窗口 W:警告 E:錯(cuò)誤 S:成功 A:終止程序或 Tcode X:未知. 5.和標(biāo)準(zhǔn) SAP 一樣,你可配置消息,比如你需要由用戶決定消息類型,使用下面程序. PROGRAM ZMSGTEST . CALL FUNCTION READ_CUSTOM

16、IZED_MESSAGE EXPORTING I_ARBGB = ZFIMSG I_DTYPE = I_MSGNR = 017 IMPORTING E_MSGTY = SY-MSGTY. 假設(shè)你做了 Tcode 和 OBA5 一樣可配置消息類型,在程序中你就可根據(jù)返回值 SY- MSGTY 判斷下步工作,E 停止處理,A 退出程序等. 在標(biāo)準(zhǔn)程序中,接下來(lái)會(huì) PERFORM MESSAGE_SEND 來(lái)決定發(fā)送消息類型. 3常用消息表格和各模塊常用消息配置Tcode. 在消息配置中,Application Area和SE91的Message Class實(shí)際上是同一概念. 1 1消息相關(guān)最常用的

17、消息相關(guān)最常用的table:table: T100: SAP能用到的消息都應(yīng)該在此表中找到. T160M :MM模塊相關(guān)消息表,此表可完全直接維護(hù).就是說(shuō)只要記住它,MM的消息配置直接使 用SE16就可以. T100C: FI模塊中用戶自定義的消息,比如使用OBA5, OFMG等自定義的消息會(huì)寫入此表,CO配 置消息不在此表. T100S: 此表保存著允許用戶更改的應(yīng)用區(qū)域和消息號(hào),舉例假設(shè)你刪除了KI 005則在OBA5 中再不能配置此消息.(對(duì)MM模塊有些例外,M7不在此表,使用OMCQ依舊可設(shè)置,M3不 在此表,OMT4依舊可設(shè)置) 此表也可直接維護(hù).和T160M不同的是,你必須在SE1

18、6輸入T100S按新建按鈕 才可維護(hù).查詢時(shí)只可Display. T100U: 哪個(gè)用戶最后更改了消息,從此表能找到. T100W: For Workflow 2 2常用常用Tcode(Tcode(部分部分):): FI: OBA5|OFMG|OFPM MM: OMRM|OKZZ|OMT4|OMCQ |O04C| SD: OVAH CO: OPR4_ACT|OPR4_CK|OPR4_CKML|OPR4_CKPF|OPR4_KKA|OPR4_KKP|OPR4_KKS| OPR4_KKS1|OPR4_PPCOPP Others: OPR5|OPR1|OPR3|OPR6|OPR7|OPR8|OPR9

19、|OPRCMFE|MSW1|MSW2 3 3應(yīng)用舉例應(yīng)用舉例. . 物料價(jià)格維護(hù)問(wèn)題 Case 1如何在物料價(jià)格未維護(hù)時(shí)依舊可估算成本. 比如在CK11N(CK40N)計(jì)算成品標(biāo)準(zhǔn)成本時(shí),其中有一些Component沒(méi)維護(hù)價(jià)格.就可使用 OPR4_CK將默認(rèn)的錯(cuò)誤消息Switch Off掉(從Tcode OKKN-Misc.-Error Management按鈕也 可). *另外臨時(shí)處理方法一是將相關(guān)一是將相關(guān)componentcomponent的物料的物料CostCost 1 1 ViewView選上選上DoDo notnot CostingCosting. 對(duì)需要計(jì)算標(biāo)準(zhǔn)成本的材料選上它就

20、不再允許計(jì)算標(biāo)準(zhǔn)成本,不妥,但是對(duì)原材料無(wú)所謂,因 為系統(tǒng)會(huì)這樣處理,如此材料沒(méi)維護(hù)價(jià)格,BOM用到它的成品不計(jì)算其成本,但是如此物料維 護(hù)了價(jià)格后,還是以物料價(jià)格為先的.(當(dāng)然CK11N去估算此原材料是不行的,用戶也不需如此 做).二是按二是按SAPSAP推薦的如果將推薦的如果將priceprice設(shè)成設(shè)成0.01,price0.01,price unitunit設(shè)置成設(shè)置成100100. Case 2如何限定物料價(jià)格必須維護(hù). (1)對(duì)采用S price control的.SAP默認(rèn)是Warning(Tcode :OMT4 M3-132,如需要限定必須維 護(hù)價(jià)格,將其改成W就可. (2)對(duì)

21、采用V price control的,OMT4找不到其消息號(hào)M3-131,但系統(tǒng)默認(rèn)是Warning,如果用 戶認(rèn)為也有相關(guān)配置就有犯了認(rèn)為SAP萬(wàn)能的錯(cuò)誤,再次強(qiáng)調(diào)SAP只是一堆代碼并不神秘. 好讓我們看看其邏輯. *實(shí)際上直接使用SE16:T160M可直接配置MM相關(guān). 如圖:1SE38找到程序LMG11F01 2在此處設(shè)置斷點(diǎn) 3如價(jià)格為0(空格) 寫死的,當(dāng)然配置無(wú)效. 再看S Price control(如下圖,顯然從T160M表讀了IMG數(shù)據(jù)). 4 4靈活運(yùn)用消息靈活運(yùn)用消息. . 對(duì)于消息的運(yùn)用,除了可配置消息類別外,另外一個(gè)重要用處就在于,可根據(jù)消息找到程序彈 出消息的確切行

22、,然后稍微花點(diǎn)時(shí)間看看程序邏輯就可大概知道異常發(fā)生的根本原因. 從某 種程度來(lái)講,即使對(duì)某模塊很陌生,只要掌握得好,依舊可排除一些問(wèn)題. 5 5 配置自定義的消息配置自定義的消息. . 倆方法可模妨SAP的消息配置 1 從上我們已經(jīng)知道既然 T160M 是可直接使用 SE16 維護(hù)的,我們就可直接將相關(guān)設(shè)置寫入 T160M.然后就可根據(jù)相關(guān)設(shè)置取得消息類別(如上圖我們使用函數(shù) ME_CHECK_T160M),這樣 比類似MESSAGE E017(ZFIMSG)Hard code 要安全得多,假設(shè)不管三七二十一就給 出錯(cuò)誤消息,除非在程序中確信已考慮了所有情況,否則還是在 T160M 這樣設(shè)置比

23、較 好(萬(wàn)一在生產(chǎn)環(huán)境還可更改 E 成 W 什么的). 2我們知道T100C是所謂的可配置消息表,我們可使用SE16:T100C和V_T100C. (1)SE16:T100S定義消息可配置信息. 如圖1在此新建.(進(jìn)去browse數(shù)據(jù)似乎不可新建) 設(shè)置消息.如下圖. 1Appl Area消息類ZFIMSG. 2表示允許配置的消息類型 3沒(méi)選則表示不能關(guān)閉消息. (2)SE16:V_T100C配置消息. 如圖: 1表示直接使用程序(Tcode)的消息類型2當(dāng)當(dāng)程序以BDC方式運(yùn)行時(shí)的消息類型 3就是上圖設(shè)置的允許的消息類型,可看到警告和關(guān)閉都沒(méi)出現(xiàn)(T100CT100C沒(méi)允許沒(méi)允許) 同樣在程

24、序中避免使用淚水MESSAGE E017(ZFIMSG)而采用 CALL FUNCTION READ_CUSTOMIZED_MESSAGE EXPORTING I_ARBGB = ZFIMSG I_DTYPE = I_MSGNR = 017 IMPORTING E_MSGTY = SY-MSGTY. 根據(jù)返回的SY-MSGTY去判斷消息類型將更好些. 6 6實(shí)例介紹實(shí)例介紹 PO在有發(fā)票校驗(yàn)后禁止修改價(jià)格,假設(shè)無(wú)PO release策略,使用User-exit步驟如下: (1)找合適的用戶出口找合適的用戶出口 發(fā)現(xiàn)EXIT_SAPMM06E_017比較合適,SMOD 輸入enhancement

25、 name :MM06E005 (2)(2)編寫代碼編寫代碼. . *&-* *& Include ZXM06U42 * *&-* DATA : ZWATEKPO like BEKPO , ZIEINFO LIKE EINFO OCCURS 0 WITH HEADER LINE, ZERMSG(73) TYPE C. TABLES EKBE . *TEKPO records all the old PO item date . * I_EKPO records currently processed PO item . READ TABLE TEKPO INTO ZWATEKPO WITH K

26、EY EBELP = I_EKPO-EBELP . *只對(duì)ME22N才生效. CHECK SY-TCODE = ME22N . *EKBE是PO history 表,如有Q,R表示有發(fā)票校驗(yàn)歷史,不允許更改價(jià)# SELECT SINGLE * FROM EKBE WHERE EBELN = I_EKPO-EBELn AND EBELP = I_EKPO-EBELP AND ( BEWTP = Q OR BEWTP = R). CHECK SY-SUBRC = 0 . *如果SY-SUBRC =0表示發(fā)票已經(jīng)校驗(yàn),不允許更改價(jià)格,否則還是可更改價(jià)格# IF I_EKPO-NETPR ZWATEK

27、PO-NETPR . * Change e017(ZFIMSG) accordingly * MESSAGE e017(ZFIMSG).使用下面函數(shù)代替. CALL FUNCTION READ_CUSTOMIZED_MESSAGE EXPORTING I_ARBGB = ZFIMSG I_DTYPE = I_MSGNR = 017 IMPORTING E_MSGTY = SY-MSGTY. CHECK SY-MSGTY NE - . REFRESH ZIEINFO. ZIEINFO-MSGID = ZFIMSG. ZIEINFO-MSGNO = 017 . ZIEINFO-MSGV1 = VA

28、R1. ZIEINFO-MSGV2 = VAR2. APPEND ZIEINFO . CALL FUNCTION MESSAGE_GET_TEXT EXPORTING IEINFO = ZIEINFO ILANGU = SY-LANGU IMPORTING ETEXT = ZERMSG . MESSAGE ZERMSG TYPE SY-MSGTY . ENDIF. *在大多數(shù)情況下追蹤消息能發(fā)現(xiàn)問(wèn)題所在,然而在一些特定情況下在大多數(shù)情況下追蹤消息能發(fā)現(xiàn)問(wèn)題所在,然而在一些特定情況下,SAP,SAP顯示的消息似乎和實(shí)際業(yè)務(wù)并顯示的消息似乎和實(shí)際業(yè)務(wù)并 不符合不符合. .好比一個(gè)人咳嗽的厲害好比一

29、個(gè)人咳嗽的厲害, ,以為是感冒結(jié)果其實(shí)不過(guò)是有寫異物進(jìn)入其喉嚨而已以為是感冒結(jié)果其實(shí)不過(guò)是有寫異物進(jìn)入其喉嚨而已. . 14.14.使用用戶授權(quán)使用用戶授權(quán) 15.15.調(diào)用外部程序和程序動(dòng)態(tài)生產(chǎn)調(diào)用外部程序和程序動(dòng)態(tài)生產(chǎn) 16.16.選擇屏幕選擇屏幕 17.17.使用程序運(yùn)行變式使用程序運(yùn)行變式 18.18.制作制作 TcodeTcode 二二. .加強(qiáng)篇加強(qiáng)篇. . 1.CATT1.CATT 2.BDC2.BDC 3.3.制作程序的制作程序的 backgroundbackground jobjob 4.SapScript4.SapScript 5.Smartform5.Smartform

30、6.SAP6.SAP QueryQuery 7.ALV7.ALV 編程編程 8.ALE/iDoc8.ALE/iDoc 9.Report9.Report painterpainter 和和 DrilldownDrilldown ReportReport 10.RFC/BAPI10.RFC/BAPI 11.11.編寫用戶增強(qiáng)編寫用戶增強(qiáng) 12.12.深入深入 ABAPABAP 工作臺(tái)工作臺(tái) 在這章將深入介紹各種 ABAP 對(duì)象的操作. 13.13.傳輸請(qǐng)求傳輸請(qǐng)求 這節(jié)并不是側(cè)重介紹如何配置傳輸請(qǐng)求和其運(yùn)行機(jī)制的,這通常是 basis 的工作和 ABAPer 并無(wú)關(guān)系,還是那句話,了解點(diǎn)大概是必要

31、的. 通常企業(yè)起碼會(huì)有兩個(gè)系統(tǒng),開(kāi)發(fā)(測(cè)試)系統(tǒng)和生產(chǎn)系統(tǒng)(有些企業(yè)開(kāi)發(fā)任務(wù)相對(duì)少, 開(kāi)發(fā)和測(cè)試使用同一臺(tái) server 甚至同一 client,開(kāi)發(fā)和測(cè)試也都有 ABAPer 完成),如 果要嚴(yán)格開(kāi)發(fā)流程,開(kāi)發(fā),測(cè)試必須是分開(kāi)的(為了節(jié)省當(dāng)然可使用同一 server,不同的 Client 甚至用不同 System Number 邏輯分成兩 Server),在此不深入討論. 熟悉幾個(gè)名詞: 1 開(kāi)發(fā)類開(kāi)發(fā)類(Development Class). 開(kāi)發(fā)類可簡(jiǎn)單理解為邏輯上相關(guān)的一組 ABAP 對(duì)象,在將來(lái)傳輸時(shí)將使用同一 傳輸層.實(shí)際上開(kāi)發(fā)類本身也可看做是一個(gè) ABAP 對(duì)象,可使用 SE80 建立. $TMP 是本地開(kāi)發(fā)類,屬于此開(kāi)發(fā)類的任何 ABAP 對(duì)象(包括自定義的表

溫馨提示

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

評(píng)論

0/150

提交評(píng)論