![ABAP開發(fā)培訓(xùn)經(jīng)典入門課件_第1頁](http://file4.renrendoc.com/view/19ae9d0ac54ef22b4cb040b5b33cea5c/19ae9d0ac54ef22b4cb040b5b33cea5c1.gif)
![ABAP開發(fā)培訓(xùn)經(jīng)典入門課件_第2頁](http://file4.renrendoc.com/view/19ae9d0ac54ef22b4cb040b5b33cea5c/19ae9d0ac54ef22b4cb040b5b33cea5c2.gif)
![ABAP開發(fā)培訓(xùn)經(jīng)典入門課件_第3頁](http://file4.renrendoc.com/view/19ae9d0ac54ef22b4cb040b5b33cea5c/19ae9d0ac54ef22b4cb040b5b33cea5c3.gif)
![ABAP開發(fā)培訓(xùn)經(jīng)典入門課件_第4頁](http://file4.renrendoc.com/view/19ae9d0ac54ef22b4cb040b5b33cea5c/19ae9d0ac54ef22b4cb040b5b33cea5c4.gif)
![ABAP開發(fā)培訓(xùn)經(jīng)典入門課件_第5頁](http://file4.renrendoc.com/view/19ae9d0ac54ef22b4cb040b5b33cea5c/19ae9d0ac54ef22b4cb040b5b33cea5c5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
ABAP開發(fā)培訓(xùn)什么是ABAP?AdvancedBusinessApplicationProgramming高級商業(yè)應(yīng)用程序設(shè)計。是SAP專有的開發(fā)語言,SAP的應(yīng)用程序就是用ABAP語言開發(fā)的。ABAP開發(fā)培訓(xùn)什ABAP開發(fā)培訓(xùn)ABAP的開發(fā)環(huán)境展示ABAP開發(fā)培訓(xùn)ABAP的開發(fā)環(huán)境展示ABAP開發(fā)培訓(xùn)SAP的三層架構(gòu)表示層應(yīng)用層數(shù)據(jù)庫ABAP開發(fā)培訓(xùn)SAP的三層架構(gòu)表示層應(yīng)用層數(shù)據(jù)庫ABAP開發(fā)培訓(xùn)ABAP程序的種類報表最常見的ABAP程序,展示數(shù)據(jù),比如財務(wù)的三大報表。接口常見的接口如RFC/BAPI,iDoc,Webservice。這些都是以FunctionModule為基礎(chǔ)的。增強對標(biāo)準(zhǔn)程序的增強(改動)。Dialog帶交互的程序,SAP標(biāo)準(zhǔn)的事物碼很多就是Dialog。ABAP開發(fā)培訓(xùn)ABAP程序的種類ABAP開發(fā)培訓(xùn)數(shù)據(jù)類型默認(rèn)大小有效大小初始值說明
C11-65535SPACE文本,字符(字母數(shù)字字符)最常用的格式D88'00000000'日期
(格式:YYYYMMDD)F880浮點數(shù)。用于計算,精確范圍近似15位十進制數(shù),精確計算用PI440整型(整數(shù))。用于計算計數(shù)項目號
N11-65535'00...0'數(shù)字文本,不用于計算。會計科目,郵編等P81-160組合數(shù)
,指定長度和小數(shù)點位數(shù)。數(shù)量金額距離等,可用于計算T66'000000'時間
(格式:HHMMSS)
X11-65535X'00'十六進制STRING動態(tài)長度的字符串,日志文本,描述性文字等XSTRINGASCIIABAP的數(shù)據(jù)類型-基本數(shù)據(jù)類型ABAP開發(fā)培訓(xùn)數(shù)據(jù)類型默認(rèn)大小有效大小初始值說明C1ABAP開發(fā)培訓(xùn)用戶定義的基本數(shù)據(jù)類型完全是以預(yù)定義的基本數(shù)據(jù)類型為基礎(chǔ)的。使用TYPES語句定義自己的基本數(shù)據(jù)類型。TYPES:NUMBERTYPEI,LENGTHTYPEPDECIMALS2,CODE(3)TYPEC.DATA:NO_FLIGHTSTYPENUMBER,NO_PASSENGERSTYPENUMBER,DISTANCETYPELENGTH,HEIGHTTYPELENGTH,CITY_CODETYPECODE,COUNTRY_CODETYPECODE.數(shù)據(jù)類型可以在程序內(nèi)部定義,但只能程序內(nèi)部用;也可以在程序外部定義,這樣全局都可以使用(事物碼SE11)。ABAP的數(shù)據(jù)類型-用戶定義的基本數(shù)據(jù)類型ABAP開發(fā)培訓(xùn)用戶定義的基本數(shù)據(jù)類型完全是以預(yù)定義的基本數(shù)ABAP開發(fā)培訓(xùn)兩種結(jié)構(gòu)化數(shù)據(jù)類型:結(jié)構(gòu)(Structure)和內(nèi)表(InternalTable)。Structure:本質(zhì)上講是一個由多個字段組成的字段串,在程序中只能存儲一條數(shù)據(jù),如果不好抽象化,可以理解為Excel的一行。InternalTable:多行多列,可以理解為一個Structure縱向拉長。內(nèi)表分3種,標(biāo)準(zhǔn)表,排序表,哈希表。結(jié)構(gòu)和內(nèi)表可以在程序內(nèi)部定義,但只能程序內(nèi)部用;也可以在程序外部定義,這樣全局都可以使用(事物碼SE11)。ABAP的數(shù)據(jù)類型-結(jié)構(gòu)化數(shù)據(jù)類型ABAP開發(fā)培訓(xùn)ABAP的數(shù)據(jù)類型-結(jié)構(gòu)化數(shù)據(jù)類型ABAP開發(fā)培訓(xùn)TYPES語句定義類型,DATA語句聲明變量,如剛才用到的例子:TYPES:NUMBERTYPEI,LENGTHTYPEPDECIMALS2,CODE(3)TYPEC.DATA:NO_FLIGHTSTYPENUMBER,DISTANCETYPELENGTH,CITY_CODETYPECODE,CONSTANTS語句定義常量:CONSTANTSPITYPEPDECIMALS5VALUE‘3.14159’.Hint:變量的命名參照開發(fā)規(guī)范。ABAP程序的數(shù)據(jù)定義ABAP開發(fā)培訓(xùn)TYPES語句定義類型,DATA語句聲明變量ABAP開發(fā)培訓(xùn)實際應(yīng)用中,更多是直接用LIKE語句定義變量。DATA:ZMATNRLIKEMARA-MATNR,“物料號ZMTARTLIKEMARA-MTART.“物料類型或者DATAZMATNRLIKEMARA-MATNR.DATAZMTARTLIKEMARA-MTART.兩者的意義完全相同。DATA[變量名]LIKE[表-字段名]([結(jié)構(gòu)-字段名])DATA[變量名]LIKE[系統(tǒng)標(biāo)準(zhǔn)變量]ABAP程序的數(shù)據(jù)定義ABAP開發(fā)培訓(xùn)ABAP程序的數(shù)據(jù)定義ABAP開發(fā)培訓(xùn)結(jié)構(gòu)變量的定義:結(jié)構(gòu)DATA:BEGINOFGS_MARC,MATNRLIKEMARC-MATNR,WERKSLIKEMARC-WERKS,PSTATLIKEMARC-PSTAT,BWTTYLIKEMARC-BWTTY,EKGRPLIKEMARC-EKGRP,ENDOFGS_MARC.這是一個5個字段的結(jié)構(gòu)。G代表global,S代表Structure.結(jié)構(gòu)也可以用SE11事物碼在系統(tǒng)里定義,所有程序都可以使用,但命名必須以Z開頭。Hint:結(jié)構(gòu)變量的命名有規(guī)則,參見開發(fā)規(guī)范ABAP程序的數(shù)據(jù)定義ABAP開發(fā)培訓(xùn)ABAP程序的數(shù)據(jù)定義ABAP開發(fā)培訓(xùn)結(jié)構(gòu)變量的定義:內(nèi)表DATA:BEGINOFGS_MARC,MATNRLIKEMARC-MATNR,WERKSLIKEMARC-WERKS,PSTATLIKEMARC-PSTAT,BWTTYLIKEMARC-BWTTY,EKGRPLIKEMARC-EKGRP,ENDOFGS_MARC.DATA:GT_MARCLIKESTANDARDTABLEOFGS_MARC.GT_MARC就是一個標(biāo)準(zhǔn)內(nèi)表。Hint:結(jié)構(gòu)變量的命名有規(guī)則,參見開發(fā)規(guī)范ABAP程序的數(shù)據(jù)定義ABAP開發(fā)培訓(xùn)結(jié)構(gòu)變量的定義:內(nèi)表ABAP程序的數(shù)據(jù)定義ABAP開發(fā)培訓(xùn)結(jié)構(gòu)變量的定義:結(jié)構(gòu)和內(nèi)表的多種定義方式鑒于SAP有大量標(biāo)準(zhǔn)的數(shù)據(jù)類型供參考,結(jié)構(gòu)變量的命名有多種方式,例如:(MARC是系統(tǒng)標(biāo)準(zhǔn)表,MAAPV是標(biāo)準(zhǔn)結(jié)構(gòu),自建結(jié)構(gòu)和自建表同例)結(jié)構(gòu):DATAGS_MARCLIKEMARC.內(nèi)表:DATAGT_MARCLIKETABLEOFMARC.結(jié)構(gòu):DATAGS_MAAPVLIKEMAAPV.內(nèi)表:DATAGT_MAAPVLIKETABLEOFMAAPV.結(jié)構(gòu):DATAGS_MARC2LIKELINEOFGT_MARC.內(nèi)表:DATAGT_MAAPV2LIKETABLEOFGS_MAAPV.Hint:結(jié)構(gòu)變量的命名有規(guī)則,參見開發(fā)規(guī)范ABAP程序的數(shù)據(jù)定義ABAP開發(fā)培訓(xùn)ABAP程序的數(shù)據(jù)定義ABAP開發(fā)培訓(xùn)結(jié)構(gòu)變量的定義:內(nèi)表和工作區(qū)。工作區(qū)是相對于內(nèi)表而言的,在操作內(nèi)表時,系統(tǒng)需要先把數(shù)據(jù)從內(nèi)表取出來存放到對應(yīng)的工作區(qū),再進行相關(guān)的操作。通常情況下,定義一個內(nèi)表的同時需要定義一個工作區(qū)。工作區(qū)通過結(jié)構(gòu)定義。DATAGS_MARCLIKEMARC.DATAGT_MARCLIKETABLEOFMARC.結(jié)構(gòu)GS_MARC就可以作為內(nèi)表GT_MARC的工作區(qū)。其他定義方式同此例。ABAP程序的數(shù)據(jù)定義ABAP開發(fā)培訓(xùn)ABAP程序的數(shù)據(jù)定義ABAP開發(fā)培訓(xùn)結(jié)構(gòu)變量的定義:表頭。DATAGT_MARCLIKEMARCOCCURS0WITHHEADERLINE.此語句會聲明一個帶有同名表頭的內(nèi)表,表頭可作為工作區(qū)。這種命名方式會節(jié)省一些代碼量,但不推薦使用,容易混亂。還是推薦使用一個內(nèi)表+一個工作區(qū)的方式。有些比較舊的程序用的是這種帶表頭的內(nèi)表,在這些程序里,以GT_MARC為例:GT_MARC表示工作區(qū),GT_MARC-MATNR表示字段,GT_MARC[]表示整個內(nèi)表。ABAP程序的數(shù)據(jù)定義ABAP開發(fā)培訓(xùn)ABAP程序的數(shù)據(jù)定義ABAP開發(fā)培訓(xùn)賦值:DATAVAR1(3)TYPECVALUE‘a(chǎn)bc’.DATAVAR2(3)TYPEC.MOVEVAR1TOVAR2.VAR2=VAR1.VAR2=‘a(chǎn)bc’.以上3條語句意義返回結(jié)果相同。賦值時注意數(shù)據(jù)格式,要求數(shù)據(jù)格式相同,或者兩邊存在轉(zhuǎn)換規(guī)則,否則會報錯?;続BAP語句ABAP開發(fā)培訓(xùn)賦值:基本ABAP語句ABAP開發(fā)培訓(xùn)運算:?二元操作符包括:+:加法-:減法*:乘法/:除法**:乘方DIV:整除忽略余數(shù)MOD:取余數(shù)?需要注意,圓括號和操作符都是關(guān)鍵字,需要跟操作數(shù)之間至少用一個空格分開。(1+2)*3應(yīng)該寫成(1+2)*3基本ABAP語句ABAP開發(fā)培訓(xùn)運算:基本ABAP語句ABAP開發(fā)培訓(xùn)條件:基本ABAP語句IFA>B.…ELSE.…ENDIF.IF.…ELSEIF.…ELSEIF.……ENDIF.CASE
var.
WHEN
a.…
WHEN
b.…
WHEN
OTHERS.…
ENDCASE.ABAP開發(fā)培訓(xùn)條件:基本ABAP語句IFA>B.CAABAP開發(fā)培訓(xùn)循環(huán):ABAP的循環(huán)分四種:DO.WHILE.……ENDDO.ENDWHILE.LOOPSELECT.……ENDLOOP.ENDSELECT.基本ABAP語句ABAP開發(fā)培訓(xùn)循環(huán):基本ABAP語句ABAP開發(fā)培訓(xùn)循環(huán):DO…ENDDO.DO和ENDDO之間的語句塊會無限運行,直到遇到條件控制的跳出循環(huán)語句如EXIT等。在DO語句中還可以指定最多運行的次數(shù),否則的話,將會出現(xiàn)無限循環(huán)無限循環(huán)。WHILE…ENDWHILE.在WHILE和ENDWHILE之間的語句塊會一直執(zhí)行,直到不再滿足WHILE后面所指定的條件。WHILE循環(huán)用的不多。基本ABAP語句ABAP開發(fā)培訓(xùn)循環(huán):基本ABAP語句ABAP開發(fā)培訓(xùn)循環(huán):LOOP…ENDLOOP.循環(huán)讀取內(nèi)表的數(shù)據(jù)到工作區(qū),供程序處理。實際應(yīng)用最多的循環(huán)語句。一般情況下ABAP推薦把數(shù)據(jù)從數(shù)據(jù)庫(硬盤)讀到內(nèi)表(內(nèi)存),幾乎有程序就有內(nèi)表,有內(nèi)表就有LOOP循環(huán)。SELECT…ENDSELECT.循環(huán)讀數(shù)據(jù)庫。影響效率,不建議使用,建議用FORALLENTRIESIN語句一次性把數(shù)據(jù)讀入內(nèi)表。基本ABAP語句ABAP開發(fā)培訓(xùn)循環(huán):基本ABAP語句ABAP開發(fā)培訓(xùn)消息:MESSAGE語句向程序的用戶發(fā)送對話消息,使用MESSAGE語句必須指定三位數(shù)的消息號和消息類。MESSAGEE001(ZFI001)。事物碼SE91維護消息類和消息。也可以在程序里寫硬消息:MESSAGE‘程序運行錯誤’TYPE‘E’.但不推薦使用這種不規(guī)范的方式?;続BAP語句ABAP開發(fā)培訓(xùn)消息:基本ABAP語句ABAP開發(fā)培訓(xùn)操作結(jié)構(gòu)和內(nèi)表:結(jié)構(gòu)訪問結(jié)構(gòu)里的字段。GS_MARC-MATNR.結(jié)構(gòu)里最常用的語句是MOVE-CORRESPONDING語句。把一個結(jié)構(gòu)的內(nèi)容同時全部拷貝到另一個結(jié)構(gòu)中。只有源結(jié)構(gòu)和目標(biāo)結(jié)構(gòu)中有相同名稱的組件才會拷貝,而目標(biāo)結(jié)構(gòu)中名稱無法對應(yīng)的組件保持不變。需要注意,如果兩個結(jié)構(gòu)中同名的組件有不同定義的話,拷貝時可能會出錯?;続BAP語句ABAP開發(fā)培訓(xùn)操作結(jié)構(gòu)和內(nèi)表:基本ABAP語句ABAP開發(fā)培訓(xùn)操作結(jié)構(gòu)和內(nèi)表:內(nèi)表訪問單條記錄–一般來說,需要一個與內(nèi)表行結(jié)構(gòu)相同相同的工作區(qū)來處理單條記錄。–APPEND:往內(nèi)表的最后追加一條記錄,只能用于標(biāo)準(zhǔn)表。–INSERT:向內(nèi)表插入一條記錄,在標(biāo)準(zhǔn)表里跟APPEND的效果一樣,在排序表里就插入到鍵指定的位置,在哈希表里則根據(jù)哈希運算法則插入到指定位置。–READTABLE:把表的指定行拷貝到結(jié)構(gòu)中。–MODIFY:使用結(jié)構(gòu)的內(nèi)容重寫表的指定行。–DELETE:刪除表的指定行。
COLLECT:把結(jié)構(gòu)中的內(nèi)容累加到內(nèi)表具有相同鍵的行上,這時,只有非鍵字段才執(zhí)行累加,并且只有非鍵字段都是數(shù)值的時候才能執(zhí)行這個語句。一般內(nèi)表里多個字段需要同時匯總時會用到COLLECT語句,比如財務(wù)的一些報表?;続BAP語句ABAP開發(fā)培訓(xùn)操作結(jié)構(gòu)和內(nèi)表:基本ABAP語句ABAP開發(fā)培訓(xùn)操作結(jié)構(gòu)和內(nèi)表:內(nèi)表訪問多條記錄(結(jié)果集)處理結(jié)果集合–LOOP…ENDLOOP:LOOP語句一條一條的讀出內(nèi)表的數(shù)據(jù)行,寫入INTO字句指定的結(jié)構(gòu)中,結(jié)構(gòu)的內(nèi)容可用于輸出,或者修改后寫回內(nèi)表。–DELETE:刪除滿足條件的所有行。–INSERT:把一個內(nèi)表中的多行拷貝到另一個內(nèi)表中。–APPEND:把一個內(nèi)表中的多行追加到另一個標(biāo)準(zhǔn)表中。–想修改內(nèi)表的某一行只能先把那行讀到工作區(qū),修改工作區(qū)后再寫回內(nèi)表,而不能以數(shù)組的方法訪問到內(nèi)表的指定一行,這是跟其他語言很不一樣的地方?;続BAP語句ABAP開發(fā)培訓(xùn)操作結(jié)構(gòu)和內(nèi)表:基本ABAP語句ABAP開發(fā)培訓(xùn)操作結(jié)構(gòu)和內(nèi)表:內(nèi)表使用索引讀表(標(biāo)準(zhǔn)表和排序表)–LOOP中用FROM-TO子句可以讀指定索引段的記錄。–READ中用INDEX子句可以讀指定索引的一條記錄。使用條件讀表–LOOP中用WHERE子句可以讀滿足一定條件的記錄。–READ中用WithKEY子句可以讀滿足主鍵條件的記錄。內(nèi)表排序–標(biāo)準(zhǔn)表和排序表可以使用SORT語句對指定字段進行排序,如果沒有指定升序或者降序就默認(rèn)使用升序?;続BAP語句ABAP開發(fā)培訓(xùn)操作結(jié)構(gòu)和內(nèi)表:基本ABAP語句ABAP開發(fā)培訓(xùn)操作結(jié)構(gòu)和內(nèi)表:內(nèi)表–REFRESH:清除整個內(nèi)表的內(nèi)容,釋放部分內(nèi)存,保留一些以備后續(xù)操作。–CLEAR:對于沒有表頭的內(nèi)表,跟REFRESH一樣,清除內(nèi)表的內(nèi)容。對于有表頭的內(nèi)表,則只初始化表頭。–FREE:清除整個內(nèi)表的內(nèi)容,釋放所有內(nèi)存。在程序里,當(dāng)內(nèi)表以后不再使用的時候可以使用FREE,這樣能盡量多釋放一些不用的內(nèi)存?;続BAP語句ABAP開發(fā)培訓(xùn)操作結(jié)構(gòu)和內(nèi)表:基本ABAP語句ABAP開發(fā)培訓(xùn)數(shù)據(jù)獲取SAP后臺可以連接多種數(shù)據(jù)庫,ORACLE,DB2,SQLSERVER,SYBASE…
每種數(shù)據(jù)庫都有自己特點的SQL語法,不可能在開發(fā)時根據(jù)后臺數(shù)據(jù)庫的種類選擇SQL語法,所以SAP用的是無關(guān)SQL標(biāo)準(zhǔn)的開放SQL,執(zhí)行時由SAP負(fù)責(zé)轉(zhuǎn)化成各種數(shù)據(jù)庫能運行的SQL。數(shù)據(jù)庫操作ABAP開發(fā)培訓(xùn)數(shù)據(jù)庫操作ABAP開發(fā)培訓(xùn)數(shù)據(jù)獲取使用開放SQL的SELECT語句來執(zhí)行查詢,它包含幾個基本的組成部分。?基本語法:SELECT<fields>FROM<table>INTO<target>[WHERE<condition>]?SELECT后面的塊說明了需要讀表的哪些字段。?FROM后面的塊說明了需要讀哪個數(shù)據(jù)源(數(shù)據(jù)源可以是表或者視圖)。?INTO后面的塊說明了讀出的字段要放到哪個目標(biāo)數(shù)據(jù)對象中(結(jié)構(gòu)或內(nèi)表)。?WHERE后面的塊說明了讀數(shù)據(jù)的基本條件,可選。SELECTMATNRWERKSPSTATBWTTYEKGRPINTOTABLEGT_MARCFROMMARCWHEREWERKS=‘1000’.數(shù)據(jù)庫操作ABAP開發(fā)培訓(xùn)數(shù)據(jù)庫操作ABAP開發(fā)培訓(xùn)數(shù)據(jù)獲取獲取單條數(shù)據(jù)用SELECTSINGLE語句。如果目標(biāo)結(jié)構(gòu)的數(shù)據(jù)結(jié)構(gòu)與查詢字段的順序不一致,或者使用*這樣的通配符來指定查詢字段,就需要CORRESPONDINGFIELDSOF子句,它會自動在源字段和目標(biāo)字段之間找名稱相同的項自動對應(yīng)填入。這是常用的方式。SELECTSINGLE*INTOCORRESPODINGFIELDSOFGS_MARCFROMMARCWHEREMATNR=‘000000001’ANDWERKS=‘1000’.SELECTSINGLE語句是在數(shù)據(jù)庫表所有的KEY鍵都被用到的時候使用的,執(zhí)行效率很高,可以用*。數(shù)據(jù)庫操作ABAP開發(fā)培訓(xùn)數(shù)據(jù)庫操作ABAP開發(fā)培訓(xùn)一個常見的報表的組成選擇屏幕。輸入數(shù)據(jù)的篩選條件。
數(shù)據(jù)定義。定義程序中用到的變量和常量,包括單個變量、結(jié)構(gòu)、內(nèi)表等。
數(shù)據(jù)獲取。一般是通過一定的條件從數(shù)據(jù)庫讀取出來,或者上傳的TXT/EXCEL文檔。
數(shù)據(jù)處理。按照FUNCTIONSPEC的要求,對獲得的數(shù)據(jù)進行處理(增\刪\改\BAPI)。
展示。輸出處理好的數(shù)據(jù)。報表程序介紹ABAP開發(fā)培訓(xùn)報表程序介紹ABAP開發(fā)培訓(xùn)選擇屏幕-屏幕元素定義PARAMETERS:
P_WERKS
LIKE
MARD-WERKS
OBLIGATORY.“工廠
SELECT-OPTIONS:
S_MATNR
FOR
MARD-MATNR,“物料
S_LGORT
FOR
MARD-LGORT,“庫存地點
S_LFGJA
FOR
MARD-LFGJA,“年度
S_LFMON
FOR
MARD-LFMON.“月度報表程序介紹ABAP開發(fā)培訓(xùn)報表程序介紹ABAP開發(fā)培訓(xùn)選擇屏幕-屏幕效果報表程序介紹ABAP開發(fā)培訓(xùn)報表程序介紹ABAP開發(fā)培訓(xùn)選擇屏幕-數(shù)據(jù)定義TABLES:
MARD,MAKT.
DATA:
BEGIN
OF
GS_MARD,
MATNR
LIKE
MARD-MATNR,
WERKS
LIKE
MARD-WERKS,
LGORT
LIKE
MARD-LGORT,
PSTAT
LIKE
MARD-PSTAT,
LFGJA
LIKE
MARD-LFGJA,
LFMON
LIKE
MARD-LFMON,
LABST
LIKE
MARD-LABST,
MAKTX
LIKE
MAKT-MAKTX,
END
OF
GS_MARD.
DATA
GT_MARD
LIKE
TABLE
OF
GS_MARD.
報表程序介紹ABAP開發(fā)培訓(xùn)報表程序介紹ABAP開發(fā)培訓(xùn)選擇屏幕-屏幕輸出相關(guān)數(shù)據(jù)定義TYPE-POOLS:
SLIS.
**ALV
變量定義.
DATA:
WS_FIELDCAT
TYPE
SLIS_T_FIELDCAT_ALV
WITH
HEADER
LINE,
I_FIELDCAT1
TYPE
SLIS_T_FIELDCAT_ALV
WITH
HEADER
LINE.
DATA:
WS_FIELDGROUPS_TAB
TYPE
SLIS_T_SP_GROUP_ALV,
WS_LAYOUT
TYPE
SLIS_LAYOUT_ALV,
WS_SORTFIELDS_TAB
TYPE
SLIS_T_SORTINFO_ALV
WITH
HEADER
LINE,
WS_EVENTS
TYPE
SLIS_T_EVENT.
DATA:
V_REPID
LIKE
SY-REPID.
報表程序介紹ABAP開發(fā)培訓(xùn)報表程序介紹ABAP開發(fā)培訓(xùn)數(shù)據(jù)獲取和處理
SELECT
A~MATNR
A~WERKS
A~LGORT
A~PSTAT
A~LFGJA
A~LFMON
A~LABST
B~MAKTX
INTO
TABLE
GT_MARD
FROM
MARD
AS
A
INNER
JOIN
MAKT
AS
B
ON
A~MATNR
=
B~MATNR
WHERE
B~SPRAS
=
'1'
AND
A~WERKS
=
P_WERKS
AND
A~MATNR
IN
S_MATNR
AND
A~LGORT
IN
S_LGORT
AND
A~LFGJA
IN
S_LFGJA
AND
A~LFMON
IN
S_LFMON.
DELETE
GT_MARD
WHERE
MAKTX
IS
INITIAL.報表程序介紹ABAP開發(fā)培訓(xùn)報表程序介紹ABAP開發(fā)培訓(xùn)輸出-構(gòu)建輸出元素
WS_FIELDCAT-TABNAME
=
‘GT_MARD’.
WS_FIELDCAT-FIELDNAME
=
‘MATNR’.
“字段名
WS_FIELDCAT-SELTEXT_L
=
‘物料’.
”字段文本
WS_FIELDCAT-COL_POS
=
1.
“輸出位置
WS_FIELDCAT-OUTPUTLEN
=
18.
”輸出長度
WS_FIELDCAT-DATATYPE
=
‘CHAR’.
“字段類型
APPEND
WS_FIELDCAT.
CLEAR
WS_FIELDCAT.相當(dāng)于把內(nèi)表的數(shù)據(jù)再附加一些展示時用的屬性。
報表程序介紹ABAP開發(fā)培訓(xùn)報表程序介紹ABAP開發(fā)培訓(xùn)輸出-展示效果設(shè)置
WS_LAYOUT-ZEBRA
=
'X'.
WS_LAYOUT-COLWIDTH_OPTIMIZE
=
'X'.ALV的LAYOUT有幾十個參數(shù)
,這里只用了最常用的2個:斑馬紋,自適應(yīng)列寬。報表程序介紹ABAP開發(fā)培訓(xùn)報表程序介紹ABAP開發(fā)培訓(xùn)輸出-FM
CALL
FUNCTION
'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM
=
V_REPID
IS_LAYOUT
=
WS_LAYOUT
IT_FIELDCAT
=
WS_FIELDCAT[]
*
IT_SPECIAL_GROUPS
=
WS_FIELDGROUPS_TAB[]
*
IT_SORT
=
WS_SORTFIELDS_TAB[]
*
it_events
=
ws_events[]
*
IT_EVENTS
=
GT_EVENTCAT
I_DEFAULT
=
'X'
I_SAVE
=
'A'
*
i_grid_title
=
title
*
I_CALLBACK_PF_STATUS_SET
=
'PF_STATUS_SET'
*
I_CALLBACK_USER_COMMAND
=
'MYCOMMAND'
*
I_CALLBACK_USER_COMMAND
=
'USER_COMMAND'
TABLES
T_OUTTAB
=
GT_MARD
EXCEPTIONS
PROGRAM_ERROR
=
1
OTHERS
=
2.報表程序介紹ABAP開發(fā)培訓(xùn)報表程序介紹ABAP開發(fā)培訓(xùn)事件驅(qū)動INITIALIZATION初始化,設(shè)定屏幕元素默認(rèn)值A(chǔ)TSELECTION-SCREEN檢查屏幕輸入START-OF-SELECTION從數(shù)據(jù)庫取數(shù)操作END-OF-SELECTION此事件中進行輸出清單操作報表程序介紹ABAP開發(fā)培訓(xùn)報表程序介紹演講完畢,謝謝觀看!演講完畢,謝謝觀看!ABAP開發(fā)培訓(xùn)什么是ABAP?AdvancedBusinessApplicationProgramming高級商業(yè)應(yīng)用程序設(shè)計。是SAP專有的開發(fā)語言,SAP的應(yīng)用程序就是用ABAP語言開發(fā)的。ABAP開發(fā)培訓(xùn)什ABAP開發(fā)培訓(xùn)ABAP的開發(fā)環(huán)境展示ABAP開發(fā)培訓(xùn)ABAP的開發(fā)環(huán)境展示ABAP開發(fā)培訓(xùn)SAP的三層架構(gòu)表示層應(yīng)用層數(shù)據(jù)庫ABAP開發(fā)培訓(xùn)SAP的三層架構(gòu)表示層應(yīng)用層數(shù)據(jù)庫ABAP開發(fā)培訓(xùn)ABAP程序的種類報表最常見的ABAP程序,展示數(shù)據(jù),比如財務(wù)的三大報表。接口常見的接口如RFC/BAPI,iDoc,Webservice。這些都是以FunctionModule為基礎(chǔ)的。增強對標(biāo)準(zhǔn)程序的增強(改動)。Dialog帶交互的程序,SAP標(biāo)準(zhǔn)的事物碼很多就是Dialog。ABAP開發(fā)培訓(xùn)ABAP程序的種類ABAP開發(fā)培訓(xùn)數(shù)據(jù)類型默認(rèn)大小有效大小初始值說明
C11-65535SPACE文本,字符(字母數(shù)字字符)最常用的格式D88'00000000'日期
(格式:YYYYMMDD)F880浮點數(shù)。用于計算,精確范圍近似15位十進制數(shù),精確計算用PI440整型(整數(shù))。用于計算計數(shù)項目號
N11-65535'00...0'數(shù)字文本,不用于計算。會計科目,郵編等P81-160組合數(shù)
,指定長度和小數(shù)點位數(shù)。數(shù)量金額距離等,可用于計算T66'000000'時間
(格式:HHMMSS)
X11-65535X'00'十六進制STRING動態(tài)長度的字符串,日志文本,描述性文字等XSTRINGASCIIABAP的數(shù)據(jù)類型-基本數(shù)據(jù)類型ABAP開發(fā)培訓(xùn)數(shù)據(jù)類型默認(rèn)大小有效大小初始值說明C1ABAP開發(fā)培訓(xùn)用戶定義的基本數(shù)據(jù)類型完全是以預(yù)定義的基本數(shù)據(jù)類型為基礎(chǔ)的。使用TYPES語句定義自己的基本數(shù)據(jù)類型。TYPES:NUMBERTYPEI,LENGTHTYPEPDECIMALS2,CODE(3)TYPEC.DATA:NO_FLIGHTSTYPENUMBER,NO_PASSENGERSTYPENUMBER,DISTANCETYPELENGTH,HEIGHTTYPELENGTH,CITY_CODETYPECODE,COUNTRY_CODETYPECODE.數(shù)據(jù)類型可以在程序內(nèi)部定義,但只能程序內(nèi)部用;也可以在程序外部定義,這樣全局都可以使用(事物碼SE11)。ABAP的數(shù)據(jù)類型-用戶定義的基本數(shù)據(jù)類型ABAP開發(fā)培訓(xùn)用戶定義的基本數(shù)據(jù)類型完全是以預(yù)定義的基本數(shù)ABAP開發(fā)培訓(xùn)兩種結(jié)構(gòu)化數(shù)據(jù)類型:結(jié)構(gòu)(Structure)和內(nèi)表(InternalTable)。Structure:本質(zhì)上講是一個由多個字段組成的字段串,在程序中只能存儲一條數(shù)據(jù),如果不好抽象化,可以理解為Excel的一行。InternalTable:多行多列,可以理解為一個Structure縱向拉長。內(nèi)表分3種,標(biāo)準(zhǔn)表,排序表,哈希表。結(jié)構(gòu)和內(nèi)表可以在程序內(nèi)部定義,但只能程序內(nèi)部用;也可以在程序外部定義,這樣全局都可以使用(事物碼SE11)。ABAP的數(shù)據(jù)類型-結(jié)構(gòu)化數(shù)據(jù)類型ABAP開發(fā)培訓(xùn)ABAP的數(shù)據(jù)類型-結(jié)構(gòu)化數(shù)據(jù)類型ABAP開發(fā)培訓(xùn)TYPES語句定義類型,DATA語句聲明變量,如剛才用到的例子:TYPES:NUMBERTYPEI,LENGTHTYPEPDECIMALS2,CODE(3)TYPEC.DATA:NO_FLIGHTSTYPENUMBER,DISTANCETYPELENGTH,CITY_CODETYPECODE,CONSTANTS語句定義常量:CONSTANTSPITYPEPDECIMALS5VALUE‘3.14159’.Hint:變量的命名參照開發(fā)規(guī)范。ABAP程序的數(shù)據(jù)定義ABAP開發(fā)培訓(xùn)TYPES語句定義類型,DATA語句聲明變量ABAP開發(fā)培訓(xùn)實際應(yīng)用中,更多是直接用LIKE語句定義變量。DATA:ZMATNRLIKEMARA-MATNR,“物料號ZMTARTLIKEMARA-MTART.“物料類型或者DATAZMATNRLIKEMARA-MATNR.DATAZMTARTLIKEMARA-MTART.兩者的意義完全相同。DATA[變量名]LIKE[表-字段名]([結(jié)構(gòu)-字段名])DATA[變量名]LIKE[系統(tǒng)標(biāo)準(zhǔn)變量]ABAP程序的數(shù)據(jù)定義ABAP開發(fā)培訓(xùn)ABAP程序的數(shù)據(jù)定義ABAP開發(fā)培訓(xùn)結(jié)構(gòu)變量的定義:結(jié)構(gòu)DATA:BEGINOFGS_MARC,MATNRLIKEMARC-MATNR,WERKSLIKEMARC-WERKS,PSTATLIKEMARC-PSTAT,BWTTYLIKEMARC-BWTTY,EKGRPLIKEMARC-EKGRP,ENDOFGS_MARC.這是一個5個字段的結(jié)構(gòu)。G代表global,S代表Structure.結(jié)構(gòu)也可以用SE11事物碼在系統(tǒng)里定義,所有程序都可以使用,但命名必須以Z開頭。Hint:結(jié)構(gòu)變量的命名有規(guī)則,參見開發(fā)規(guī)范ABAP程序的數(shù)據(jù)定義ABAP開發(fā)培訓(xùn)ABAP程序的數(shù)據(jù)定義ABAP開發(fā)培訓(xùn)結(jié)構(gòu)變量的定義:內(nèi)表DATA:BEGINOFGS_MARC,MATNRLIKEMARC-MATNR,WERKSLIKEMARC-WERKS,PSTATLIKEMARC-PSTAT,BWTTYLIKEMARC-BWTTY,EKGRPLIKEMARC-EKGRP,ENDOFGS_MARC.DATA:GT_MARCLIKESTANDARDTABLEOFGS_MARC.GT_MARC就是一個標(biāo)準(zhǔn)內(nèi)表。Hint:結(jié)構(gòu)變量的命名有規(guī)則,參見開發(fā)規(guī)范ABAP程序的數(shù)據(jù)定義ABAP開發(fā)培訓(xùn)結(jié)構(gòu)變量的定義:內(nèi)表ABAP程序的數(shù)據(jù)定義ABAP開發(fā)培訓(xùn)結(jié)構(gòu)變量的定義:結(jié)構(gòu)和內(nèi)表的多種定義方式鑒于SAP有大量標(biāo)準(zhǔn)的數(shù)據(jù)類型供參考,結(jié)構(gòu)變量的命名有多種方式,例如:(MARC是系統(tǒng)標(biāo)準(zhǔn)表,MAAPV是標(biāo)準(zhǔn)結(jié)構(gòu),自建結(jié)構(gòu)和自建表同例)結(jié)構(gòu):DATAGS_MARCLIKEMARC.內(nèi)表:DATAGT_MARCLIKETABLEOFMARC.結(jié)構(gòu):DATAGS_MAAPVLIKEMAAPV.內(nèi)表:DATAGT_MAAPVLIKETABLEOFMAAPV.結(jié)構(gòu):DATAGS_MARC2LIKELINEOFGT_MARC.內(nèi)表:DATAGT_MAAPV2LIKETABLEOFGS_MAAPV.Hint:結(jié)構(gòu)變量的命名有規(guī)則,參見開發(fā)規(guī)范ABAP程序的數(shù)據(jù)定義ABAP開發(fā)培訓(xùn)ABAP程序的數(shù)據(jù)定義ABAP開發(fā)培訓(xùn)結(jié)構(gòu)變量的定義:內(nèi)表和工作區(qū)。工作區(qū)是相對于內(nèi)表而言的,在操作內(nèi)表時,系統(tǒng)需要先把數(shù)據(jù)從內(nèi)表取出來存放到對應(yīng)的工作區(qū),再進行相關(guān)的操作。通常情況下,定義一個內(nèi)表的同時需要定義一個工作區(qū)。工作區(qū)通過結(jié)構(gòu)定義。DATAGS_MARCLIKEMARC.DATAGT_MARCLIKETABLEOFMARC.結(jié)構(gòu)GS_MARC就可以作為內(nèi)表GT_MARC的工作區(qū)。其他定義方式同此例。ABAP程序的數(shù)據(jù)定義ABAP開發(fā)培訓(xùn)ABAP程序的數(shù)據(jù)定義ABAP開發(fā)培訓(xùn)結(jié)構(gòu)變量的定義:表頭。DATAGT_MARCLIKEMARCOCCURS0WITHHEADERLINE.此語句會聲明一個帶有同名表頭的內(nèi)表,表頭可作為工作區(qū)。這種命名方式會節(jié)省一些代碼量,但不推薦使用,容易混亂。還是推薦使用一個內(nèi)表+一個工作區(qū)的方式。有些比較舊的程序用的是這種帶表頭的內(nèi)表,在這些程序里,以GT_MARC為例:GT_MARC表示工作區(qū),GT_MARC-MATNR表示字段,GT_MARC[]表示整個內(nèi)表。ABAP程序的數(shù)據(jù)定義ABAP開發(fā)培訓(xùn)ABAP程序的數(shù)據(jù)定義ABAP開發(fā)培訓(xùn)賦值:DATAVAR1(3)TYPECVALUE‘a(chǎn)bc’.DATAVAR2(3)TYPEC.MOVEVAR1TOVAR2.VAR2=VAR1.VAR2=‘a(chǎn)bc’.以上3條語句意義返回結(jié)果相同。賦值時注意數(shù)據(jù)格式,要求數(shù)據(jù)格式相同,或者兩邊存在轉(zhuǎn)換規(guī)則,否則會報錯。基本ABAP語句ABAP開發(fā)培訓(xùn)賦值:基本ABAP語句ABAP開發(fā)培訓(xùn)運算:?二元操作符包括:+:加法-:減法*:乘法/:除法**:乘方DIV:整除忽略余數(shù)MOD:取余數(shù)?需要注意,圓括號和操作符都是關(guān)鍵字,需要跟操作數(shù)之間至少用一個空格分開。(1+2)*3應(yīng)該寫成(1+2)*3基本ABAP語句ABAP開發(fā)培訓(xùn)運算:基本ABAP語句ABAP開發(fā)培訓(xùn)條件:基本ABAP語句IFA>B.…ELSE.…ENDIF.IF.…ELSEIF.…ELSEIF.……ENDIF.CASE
var.
WHEN
a.…
WHEN
b.…
WHEN
OTHERS.…
ENDCASE.ABAP開發(fā)培訓(xùn)條件:基本ABAP語句IFA>B.CAABAP開發(fā)培訓(xùn)循環(huán):ABAP的循環(huán)分四種:DO.WHILE.……ENDDO.ENDWHILE.LOOPSELECT.……ENDLOOP.ENDSELECT.基本ABAP語句ABAP開發(fā)培訓(xùn)循環(huán):基本ABAP語句ABAP開發(fā)培訓(xùn)循環(huán):DO…ENDDO.DO和ENDDO之間的語句塊會無限運行,直到遇到條件控制的跳出循環(huán)語句如EXIT等。在DO語句中還可以指定最多運行的次數(shù),否則的話,將會出現(xiàn)無限循環(huán)無限循環(huán)。WHILE…ENDWHILE.在WHILE和ENDWHILE之間的語句塊會一直執(zhí)行,直到不再滿足WHILE后面所指定的條件。WHILE循環(huán)用的不多。基本ABAP語句ABAP開發(fā)培訓(xùn)循環(huán):基本ABAP語句ABAP開發(fā)培訓(xùn)循環(huán):LOOP…ENDLOOP.循環(huán)讀取內(nèi)表的數(shù)據(jù)到工作區(qū),供程序處理。實際應(yīng)用最多的循環(huán)語句。一般情況下ABAP推薦把數(shù)據(jù)從數(shù)據(jù)庫(硬盤)讀到內(nèi)表(內(nèi)存),幾乎有程序就有內(nèi)表,有內(nèi)表就有LOOP循環(huán)。SELECT…ENDSELECT.循環(huán)讀數(shù)據(jù)庫。影響效率,不建議使用,建議用FORALLENTRIESIN語句一次性把數(shù)據(jù)讀入內(nèi)表?;続BAP語句ABAP開發(fā)培訓(xùn)循環(huán):基本ABAP語句ABAP開發(fā)培訓(xùn)消息:MESSAGE語句向程序的用戶發(fā)送對話消息,使用MESSAGE語句必須指定三位數(shù)的消息號和消息類。MESSAGEE001(ZFI001)。事物碼SE91維護消息類和消息。也可以在程序里寫硬消息:MESSAGE‘程序運行錯誤’TYPE‘E’.但不推薦使用這種不規(guī)范的方式?;続BAP語句ABAP開發(fā)培訓(xùn)消息:基本ABAP語句ABAP開發(fā)培訓(xùn)操作結(jié)構(gòu)和內(nèi)表:結(jié)構(gòu)訪問結(jié)構(gòu)里的字段。GS_MARC-MATNR.結(jié)構(gòu)里最常用的語句是MOVE-CORRESPONDING語句。把一個結(jié)構(gòu)的內(nèi)容同時全部拷貝到另一個結(jié)構(gòu)中。只有源結(jié)構(gòu)和目標(biāo)結(jié)構(gòu)中有相同名稱的組件才會拷貝,而目標(biāo)結(jié)構(gòu)中名稱無法對應(yīng)的組件保持不變。需要注意,如果兩個結(jié)構(gòu)中同名的組件有不同定義的話,拷貝時可能會出錯?;続BAP語句ABAP開發(fā)培訓(xùn)操作結(jié)構(gòu)和內(nèi)表:基本ABAP語句ABAP開發(fā)培訓(xùn)操作結(jié)構(gòu)和內(nèi)表:內(nèi)表訪問單條記錄–一般來說,需要一個與內(nèi)表行結(jié)構(gòu)相同相同的工作區(qū)來處理單條記錄。–APPEND:往內(nèi)表的最后追加一條記錄,只能用于標(biāo)準(zhǔn)表。–INSERT:向內(nèi)表插入一條記錄,在標(biāo)準(zhǔn)表里跟APPEND的效果一樣,在排序表里就插入到鍵指定的位置,在哈希表里則根據(jù)哈希運算法則插入到指定位置。–READTABLE:把表的指定行拷貝到結(jié)構(gòu)中。–MODIFY:使用結(jié)構(gòu)的內(nèi)容重寫表的指定行。–DELETE:刪除表的指定行。
COLLECT:把結(jié)構(gòu)中的內(nèi)容累加到內(nèi)表具有相同鍵的行上,這時,只有非鍵字段才執(zhí)行累加,并且只有非鍵字段都是數(shù)值的時候才能執(zhí)行這個語句。一般內(nèi)表里多個字段需要同時匯總時會用到COLLECT語句,比如財務(wù)的一些報表。基本ABAP語句ABAP開發(fā)培訓(xùn)操作結(jié)構(gòu)和內(nèi)表:基本ABAP語句ABAP開發(fā)培訓(xùn)操作結(jié)構(gòu)和內(nèi)表:內(nèi)表訪問多條記錄(結(jié)果集)處理結(jié)果集合–LOOP…ENDLOOP:LOOP語句一條一條的讀出內(nèi)表的數(shù)據(jù)行,寫入INTO字句指定的結(jié)構(gòu)中,結(jié)構(gòu)的內(nèi)容可用于輸出,或者修改后寫回內(nèi)表。–DELETE:刪除滿足條件的所有行。–INSERT:把一個內(nèi)表中的多行拷貝到另一個內(nèi)表中。–APPEND:把一個內(nèi)表中的多行追加到另一個標(biāo)準(zhǔn)表中。–想修改內(nèi)表的某一行只能先把那行讀到工作區(qū),修改工作區(qū)后再寫回內(nèi)表,而不能以數(shù)組的方法訪問到內(nèi)表的指定一行,這是跟其他語言很不一樣的地方。基本ABAP語句ABAP開發(fā)培訓(xùn)操作結(jié)構(gòu)和內(nèi)表:基本ABAP語句ABAP開發(fā)培訓(xùn)操作結(jié)構(gòu)和內(nèi)表:內(nèi)表使用索引讀表(標(biāo)準(zhǔn)表和排序表)–LOOP中用FROM-TO子句可以讀指定索引段的記錄。–READ中用INDEX子句可以讀指定索引的一條記錄。使用條件讀表–LOOP中用WHERE子句可以讀滿足一定條件的記錄。–READ中用WithKEY子句可以讀滿足主鍵條件的記錄。內(nèi)表排序–標(biāo)準(zhǔn)表和排序表可以使用SORT語句對指定字段進行排序,如果沒有指定升序或者降序就默認(rèn)使用升序?;続BAP語句ABAP開發(fā)培訓(xùn)操作結(jié)構(gòu)和內(nèi)表:基本ABAP語句ABAP開發(fā)培訓(xùn)操作結(jié)構(gòu)和內(nèi)表:內(nèi)表–REFRESH:清除整個內(nèi)表的內(nèi)容,釋放部分內(nèi)存,保留一些以備后續(xù)操作。–CLEAR:對于沒有表頭的內(nèi)表,跟REFRESH一樣,清除內(nèi)表的內(nèi)容。對于有表頭的內(nèi)表,則只初始化表頭。–FREE:清除整個內(nèi)表的內(nèi)容,釋放所有內(nèi)存。在程序里,當(dāng)內(nèi)表以后不再使用的時候可以使用FREE,這樣能盡量多釋放一些不用的內(nèi)存?;続BAP語句ABAP開發(fā)培訓(xùn)操作結(jié)構(gòu)和內(nèi)表:基本ABAP語句ABAP開發(fā)培訓(xùn)數(shù)據(jù)獲取SAP后臺可以連接多種數(shù)據(jù)庫,ORACLE,DB2,SQLSERVER,SYBASE…
每種數(shù)據(jù)庫都有自己特點的SQL語法,不可能在開發(fā)時根據(jù)后臺數(shù)據(jù)庫的種類選擇SQL語法,所以SAP用的是無關(guān)SQL標(biāo)準(zhǔn)的開放SQL,執(zhí)行時由SAP負(fù)責(zé)轉(zhuǎn)化成各種數(shù)據(jù)庫能運行的SQL。數(shù)據(jù)庫操作ABAP開發(fā)培訓(xùn)數(shù)據(jù)庫操作ABAP開發(fā)培訓(xùn)數(shù)據(jù)獲取使用開放SQL的SELECT語句來執(zhí)行查詢,它包含幾個基本的組成部分。?基本語法:SELECT<fields>FROM<table>INTO<target>[WHERE<condition>]?SELECT后面的塊說明了需要讀表的哪些字段。?FROM后面的塊說明了需要讀哪個數(shù)據(jù)源(數(shù)據(jù)源可以是表或者視圖)。?INTO后面的塊說明了讀出的字段要放到哪個目標(biāo)數(shù)據(jù)對象中(結(jié)構(gòu)或內(nèi)表)。?WHERE后面的塊說明了讀數(shù)據(jù)的基本條件,可選。SELECTMATNRWERKSPSTATBWTTYEKGRPINTOTABLEGT_MARCFROMMARCWHEREWERKS=‘1000’.數(shù)據(jù)庫操作ABAP開發(fā)培訓(xùn)數(shù)據(jù)庫操作ABAP開發(fā)培訓(xùn)數(shù)據(jù)獲取獲取單條數(shù)據(jù)用SELECTSINGLE語句。如果目標(biāo)結(jié)構(gòu)的數(shù)據(jù)結(jié)構(gòu)與查詢字段的順序不一致,或者使用*這樣的通配符來指定查詢字段,就需要CORRESPONDINGFIELDSOF子句,它會自動在源字段和目標(biāo)字段之間找名稱相同的項自動對應(yīng)填入。這是常用的方式。SELECTSINGLE*INTOCORRESPODINGFIELDSOFGS_MARCFROMMARCWHEREMATNR=‘000000001’ANDWERKS=‘1000’.SELECTSINGLE語句是在數(shù)據(jù)庫表所有的KEY鍵都被用到的時候使用的,執(zhí)行效率很高,可以用*。數(shù)據(jù)庫操作ABAP開發(fā)培訓(xùn)數(shù)據(jù)庫操作ABAP開發(fā)培訓(xùn)一個常見的報表的組成選擇屏幕。輸入數(shù)據(jù)的篩選條件。
數(shù)據(jù)定義。定義程序中用到的變量和常量,包括單個變量、結(jié)構(gòu)、內(nèi)表等。
數(shù)據(jù)獲取。一般是通過一定的條件從數(shù)據(jù)庫讀取出來,或者上傳的TXT/EXCEL文檔。
數(shù)據(jù)處理。按照FUNCTIONSPEC的要求,對獲得的數(shù)據(jù)進行處理(增\刪\改\BAPI)。
展示。輸出處理好的數(shù)據(jù)。報表程序介紹ABAP開發(fā)培訓(xùn)報表程序介紹ABAP開發(fā)培訓(xùn)選擇屏幕-屏幕元素定義PARAMETERS:
P_WERKS
LIKE
MARD-WERKS
OBLIGATORY.“工廠
SELECT-OPTIONS:
S_MATNR
FOR
MARD-MATNR,“物料
S_LGORT
FOR
MARD-LGORT,“庫存地點
S_LFGJA
FOR
MARD-LFGJA,“年度
S_LFMON
FOR
MARD-LFMON.“月度報表程序介紹ABAP開發(fā)培訓(xùn)報表程序介紹ABAP開發(fā)培訓(xùn)選擇屏幕-屏幕效果報表程序介紹ABAP開發(fā)培訓(xùn)報表程序介紹ABAP開發(fā)培訓(xùn)選擇屏幕-數(shù)據(jù)定義TABLES:
MARD,MAKT.
DATA:
BEGIN
OF
GS_MARD,
MATNR
LIKE
MARD-MATNR,
WERKS
LIKE
MARD-WERKS,
LGORT
LIKE
MARD-LGORT,
PSTAT
LIKE
MARD-PSTAT,
LFGJA
LIKE
MARD-LFGJA,
LFMON
LIKE
MARD-LFMON,
LABST
LIKE
MARD-LABST,
MAKTX
LIKE
MAKT-MAKTX,
END
OF
GS_MARD.
DATA
GT_MARD
LIKE
TABLE
OF
GS_MARD.
報表程序介紹ABAP開發(fā)培訓(xùn)報表程序介紹ABAP開發(fā)培訓(xùn)選擇屏幕-屏幕輸出相關(guān)數(shù)據(jù)定義TYPE-POOLS:
SLIS.
**ALV
變量定義.
DATA:
WS_FIELDCAT
TYPE
SLIS_T_FIELDCAT_ALV
WITH
HEADER
LINE,
I_FIELDCAT1
TYPE
SLIS_T_FIELDCAT_AL
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 小學(xué)二年級數(shù)學(xué)上冊口算題
- 2024-2025年高中化學(xué)課時分層作業(yè)5元素的電負(fù)性及其變化規(guī)律含解析魯科版選修3
- 西門子油煙機指導(dǎo)書
- 2025年年度尊重生命總結(jié)報告
- 二次消防改造工程合同范本
- 海南經(jīng)貿(mào)職業(yè)技術(shù)學(xué)院《建筑構(gòu)造Ⅰ》2023-2024學(xué)年第二學(xué)期期末試卷
- 福州科技職業(yè)技術(shù)學(xué)院《德語口譯》2023-2024學(xué)年第二學(xué)期期末試卷
- 常州信息職業(yè)技術(shù)學(xué)院《中學(xué)語文課程與教學(xué)論》2023-2024學(xué)年第二學(xué)期期末試卷
- 宿遷學(xué)院《編譯原理》2023-2024學(xué)年第二學(xué)期期末試卷
- 烏蘭察布職業(yè)學(xué)院《建筑物理》2023-2024學(xué)年第二學(xué)期期末試卷
- 疥瘡病人的護理
- 2024年江西省中考英語試題含解析
- GB/T 23473-2024林業(yè)植物及其產(chǎn)品調(diào)運檢疫規(guī)程
- 公務(wù)員2012年國考《申論》真題卷及答案(地市級)
- 跨學(xué)科實踐活動2 制作模型并展示科學(xué)家探索物質(zhì)組成與結(jié)構(gòu)的歷程(分層作業(yè))-九年級化學(xué)上冊同步高效課堂(人教版2024)(解析版)
- 新員工三級安全教育考試試題參考答案
- 山東省物流工程師職稱考試參考試題及答案(新版)
- 35kV輸變電工程(變電站、輸配電線路建設(shè))技術(shù)方案
- 數(shù)學(xué)史簡介課件可編輯全文
- 化學(xué)廢水水池清理施工方案
- 離婚協(xié)議書常用范本2024年
評論
0/150
提交評論