版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、稗数据类型邦C :字符符串霸D :日期型 安格式为 YYY阿阿YMMDD 例例隘:1999/啊12/03爸F : 浮点数数蔼 长度为8叭I :整数斑N :数值组成成版的字符串 如:哀011,30跋跋2巴P : PAC稗稗KED数 用于于稗小数点数值 如如疤:12.005邦邦42捌T : 时间 氨格式为:HHM八八MSS 如:扮14:03:0袄袄0澳X : 16进进艾制数 如:1熬熬A03岸*埃扮瓣碍皑邦捌摆唉跋巴懊-*吧变数宣告挨DATA 胺挨decim稗稗als懊 变数名名俺称袄败 变数类型 及及霸 长度阿柏 初值靶 小数位位癌数班exp:板DATA : 扒COUNTER败败 TYPE P版
2、版 DECIMA氨氨LS 3.皑NAME(10捌捌) TYPE 熬C VALUE胺胺 DELTA八八.瓣S_DATE 邦TYPE D 澳VALUE 案.伴exp:叭DATA : 叭BEGIN O八八F PERSO鞍鞍N,邦NAME(10肮肮) TYPE 霸C,爸AGE TYP般般E I,白WEIGHT 拜TYPE DE柏柏CIMALS 隘2,瓣END OF 哎PERSON.岸岸另外,有關DA扳扳TA宣告的指令令案還有: CON埃埃STANTS(岸宣告常數)、S背背TATICS(八臨時變數宣告)把.靶exp:埃CONSTAN岸岸TS PI T敖敖YPE P D懊懊ECIMALS皑皑 5 VALU
3、哎哎E 3.14唉唉159.拌STATICS芭芭 敘述搬宣告的變數僅在在半目前的程式中使使拜用, 結束後會會颁自動釋放 哀語法: 傲STATICS般般 捌 摆系統專用變數說說摆明柏系統內部專門創創坝建了SYST這這邦個STRUCT哎哎URE,里面的的敖欄位存放系統變變佰數,常用的系統統佰變數有:澳SY-SUBR岸岸C : 系統執執袄行某指令后,表表胺示執行成功与否否袄的變數,0艾 表示成功拜SY-UNAM艾艾E: 當前使用用蔼者登入SAP的的隘USERNAM疤疤E;扳SY-DATU扮扮M: 當前系統統霸日期;拜SY-UZEI扮扮T: 當前系統統搬時間;敖SY-TCOD袄袄E: 當前執行行背程式
4、的Tran摆摆saction绊绊 code版SY-INDE邦邦X : 當前L昂昂OOP循環過的的霸次數叭SY-TABI鞍鞍X: 當前處理理暗的是inter隘隘nal tab按按le 的第几筆筆芭SY-TMAX胺胺L: Inte百百rnal ta靶靶ble的總筆數數八SY-SROW败败S: 屏幕總行行拌數;败SY-SCOL按按S: 屏幕總列列蔼數;氨SY-MAND岸岸T: CLIE熬熬NT NUMB拜拜ER澳SY-VLIN翱翱E: 畫豎線俺SY-ULIN扮扮E: 畫橫線版TYPE 敘述述碍用來指定資料型型肮態或宣告自定資資搬料型態阿Example澳澳:埃TYPES: 班BEGIN O艾艾F MY
5、LIS鞍鞍T,矮NAME(10翱翱) TYPE 扮C,凹NUMBER 翱TYPE I,八八END OF 昂MYLIST.岸岸DATA LI胺胺ST TYPE板板 MYLIST罢罢.矮LIKE 敘述暗跟TYPE敘敘述鞍使用格式相同,昂昂 如叭DATA TR癌癌ANSCODE百百 LIKE S靶靶Y-TCODE肮肮.疤不同的是 LI胺胺KE 用在已有有捌值的資料項, 斑如系統變數, 半而TYPE敘述述瓣則是用版在指定資料型態態叭。稗*鞍哀搬拔把百拔斑佰拌肮跋-*绊输出唉j。盎一. WRIT颁E 語句鞍ABAP/4用用啊來在屏幕上輸出出翱資料的指令是W疤疤RITE指令,佰佰例如:氨WRITE: 安U
6、SER N拌拌AME IS:熬, SY-U伴伴NAME.百二. 指定屏幕幕案輸出位置巴指定輸出位置的的瓣語句格式為:佰WRITE: 佰AT 爸/ (颁)叭 資料項 奥其中: / :敖 在下一行輸出出芭: 碍指定輸出的行號號靶;啊()绊:指定輸出位數數啊(長度)芭: 吧指定顯示格式參參袄數,參數有:奥LEFT-JU斑斑STIFIED叭叭 資料靠左對齊齊巴CENTERE坝坝D 資料靠中間間伴對齊搬RIGHT-J按按USTIFIE般般D 資料靠右對對懊齊绊UNDER 正對在資資傲料項的下下碍面顯示俺NO-GAP 靶緊接著顯示,不不奥留空格埃USING E佰佰DIT MAS扒扒K : 斑使用內嵌子元顯
7、顯败示, 如 12坝坝:03:20白USING N拔拔O EDIT 阿MASK: 不不芭使用內嵌子元疤NO-ZERO澳澳: 數字前面 挨0 的部分不顯顯盎示盎NO-SIGN岸岸: 不顯示正負負癌號芭DECIMAL稗稗S : 八顯示 艾位小數稗EXPOENT奥奥 : F安安(浮點數)指數數坝的值按ROUND : 四舍五五皑入至小數點后位扒CURRENC耙耙Y : 艾幣別顯示澳DD/MM/Y啊啊Y : 日期顯顯凹示格式稗MM/DD/Y拜拜Y: 吧YY/MM/D版版D: 巴YY/DD/M阿阿M百MM/DD/Y傲傲YYY:凹DD/MM/Y阿阿YYY版YYYY/MM哀哀/DD:跋YYYY/DD唉唉/MM
8、:案例如1: WR版版ITE: /1稗稗0(6) A熬熬BCDEFGH挨挨IJK.懊輸出結果為: 熬ABCDEF笆例如2: DA暗暗TA: X T案案YPE I V耙耙ALUE 1氨氨1:20:30百百,案A(5) TY奥奥PE C VA斑斑LUE AB拔拔 CDE.昂WRITE: 蔼/ X USI伴伴NG EDIT傲傲 MASK 疤_:_:_背_.按WRITE: 艾/ X USI拔拔NG EDIT跋跋 MASK 矮$_,_半_.芭WRITE: 伴/ Y NO-板GAP.敖輸出結果為:班11:20:3安安0拌$112,03奥奥0百ABCDEF拜0。哀例如3: DA跋TA: LEN白 TYPE
9、I矮矮 VALUE 俺10,拔POS TYP扳扳E I VAL扮扮UE 11,按TEXT(10哀哀) VALUE袄袄 凹WRITE 扮The tex巴巴t 啊办 appear啊啊s in th坝坝e text.靶靶.芭WRITE A埃埃T POS(L案案EN) TEX邦邦T.傲W。盎WRITE T胺O 语句的基本百 形式翱要将值(文 字字败)或源字 段内内芭容写入 目标字字隘段, 可以使用用爸 WRITE 俺TO 语句:凹语法唉WRITE TO 颁 败.皑j。案DATA: N白UMBER T瓣YPE F V般般ALUE 4肮肮.3,暗TEXT(10巴巴),鞍FLOAT T板板YPE F,凹PA
10、CK TY半半PE P DE隘隘CIMALS 俺1.盎WRITE N罢罢UMBER.版WRITE N翱翱UMBER T稗稗O TEXT 斑EXPONEN百百T 2.瓣WRITE /氨 TEXT.袄WRITE N百百UMBER T鞍鞍O FLOAT耙耙.把WRITE /鞍 FLOAT.叭叭WRITE N肮肮UMBER T霸霸O PACK.班班WRITE /板 PACK.啊MOVE NU班班MBER TO拌拌 PACK.败WRITE /案 PACK.瓣K。暗exp:版DATA: N伴AME(10)艾 VALUE 八SOURCE拔拔,稗SOURCE(鞍10) VAL熬熬UE Ant佰佰ony,邦TA
11、RGET(哎10).把.碍WRITE (跋NAME) T盎盎O TARGE安安T.啊WRITE: 扮TARGET.哀哀h。肮exp :哎DATA: C拔OUNTER 斑TYPE I.搬搬COMPUTE般般 COUNTE伴伴R = COU百百NTER + 斑1.敖COUNTER盎盎 = COUN熬熬TER + 1耙耙.肮ADD 1 T懊懊O COUNT昂昂ER.板在此,三条 运运柏算语句进 行相相斑同算术 运算扒8。百输出屏幕上 的叭线和和空行案用下列语法 ,敖可以以在输 出屏哀幕上生 成水平平唉线:昂语法跋ULINE 胺AT /懊百()瓣.罢它等同于班WRITE 半AT /氨八()唉 SY-U
12、班班LINE.办AT 后的格式式颁规 范,与在 瓣在屏幕上定 位位扮 WRITE 叭输出 (页 2办办8) 中为 W斑斑RITE 语句句巴说明的 格式规规蔼范完 全一样。败败如果没有格 式式叭规范,系 统则则佰开始新 的一行行拌,并 用水平线线伴填 充该行。否否翱 则,只按指 罢定输出水平 线线版。癌生成水平线 的的唉另一种方 法,岸岸是在 WRIT半半E 语句中键入入哎 恰当数量的 熬连字符,如 下下拌所示:版WRITE 唉AT /坝埃()癌 碍-.瓣瓣垂直线板用下列语法 ,唉唉可以在输 出屏屏跋幕上生 成垂直直暗线:敖语法把WRITE 白AT /傲懊 SY-VLI敖敖NE.啊或翱WRITE
13、 半AT /鞍肮 |.稗空行巴用下列语法 ,白白可以在输 出屏屏拌幕上生 成空行行皑:蔼语法袄SKIP .翱该语句从当 前前安行开始, 在输输氨出屏幕 上生成成疤 个空空跋行。如 果没有有扮指定 翱的值,就输 出出矮一个空行 。拔要将输出定 位位叭在屏幕的 指定定柏行上, 请使用用爸:埃语法白SKIP TO扒扒 LINE .拔该语句允许 将将绊输出位置 向上上按或向下 移动。捌捌四. 顯示圖示示奥:盎語法: WRI岸岸TE: AS 捌SYMBOL.绊绊WRITE: 阿 AS爸爸 ICON.霸例如: INC耙耙LUDE .癌癌INCLUDE胺胺 佰.懊WRITE: 鞍/ Phon罢罢e symb
14、o坝坝l:, SY扮扮M_PHONE拜拜 AS SYM盎盎BOL.霸WRITE: 吧/ Alar耙耙m Icon:拜, ICON败败_VOICE_跋OUTPUT 颁AS ICON跋跋.佰要查看系統所提提败供有那些符號及及半圖示,可選擇岸EDIT下的的霸Insert半半 Statem耙耙ent,選擇擇摆Write暗,接下來選擇要要八查看的群組,如如胺SYMBOL 扮或ICON, 扮接下來按Di艾艾splay即即氨可.肮*班澳哎瓣艾百邦傲爸邦安鞍-*隘W。板一. Inte瓣rnal Ta伴ble 的宣告告疤ABAP/4中中鞍的Intern矮矮al Tabl皑皑e是一种Dat吧吧a Struc绊绊t
15、ure,類似似邦于其他語言中的的跋STRUTUR爸爸E,它可以由几几暗個不同類型的欄欄疤位(field埃埃)組成,用來表表隘示具有不同屬性性熬的某一事物,單單凹獨一筆資料表示示爸某個事物,多筆筆凹資料表示具有相相绊同屬性的多個事事办物.搬q。扒Interna罢l table扮 的定義有以下下暗几种格式:碍格式一. DA奥奥TA: BEG耙耙IN OF OCCUR扒扒S ,傲 TYPE伴伴 ,澳 TYP八八E ,鞍 TYPE鞍鞍 ,阿 啊END OF 柏.坝語法:版DATA OCCUR班班S 斑WITH HE拔拔ADER LI跋跋NE癌Example拌拌:板DATA VE哎哎CTOR TY佰佰P
16、E I OC昂昂CURS 10把把 WITH H埃埃EADER L扮扮INE.袄格式二. TY芭芭PES: BE啊啊GIN OF 扒,背 TYPE翱翱 ,巴 TYP按按E ,碍 TYPE扒扒 ,暗 皑END OF 版.班TYPES TYPE 唉 OC澳澳CURS .暗格式三. DA傲傲TA: BEG暗暗IN OF .碍INCLUDE佰佰 STRUCT矮矮URE .邦DATA: E哀哀ND OF .柏DATA: LIKE 安 OC氨氨CURS .摆c。唉exp:碍TYPES V疤ECTOR T败败YPE I O般般CCURS 1碍碍0.搬TYPES: 疤BEGIN O吧吧F LINE,啊啊COL
17、UMN1背背 TYPE I挨挨,熬COLUMN2笆笆 TYPE I笆笆,扒COLUMN3班班 TYPE I摆摆,扒END OF 啊LINE.岸TYPES I昂昂TAB TYP背背E LINE 芭OCCURS 唉10.凹TYPES: 矮BEGIN O扮扮F DEEPL翱翱INE,扒TABLE1 懊TYPE VE办办CTOR,碍TABLE2 叭TYPE IT澳澳AB,办END OF 唉DEEPLIN霸霸E.版TYPES D氨氨EEPTABL伴伴E TYPE 皑DEEPLIN百百E OCCUR蔼蔼S 10.跋本示例创建 与与暗上例相同 的内内凹表数据 类型(颁颁VECTOR 百和 ITAB)翱翱 。
18、然后创建 坝数据类型 DE癌癌EPLINE 盎作为字段串 ,安安包含这些 内表表袄作为组 件。通通笆过该 字段串,蔼蔼数 据类型 D把把EEPTABL袄袄E 被创建为内内百 表。因此该 敖内表的元素 本本佰身就是内 表。坝坝exp :安TYPES: 矮BEGIN O拔拔F LINE,案案COLUMN1百百 TYPE I熬熬,按COLUMN2板板 TYPE I懊懊,扳COLUMN3搬搬 TYPE I俺俺,罢END OF 扳LINE.癌TYPES I唉唉TAB TYP芭芭E LINE 哎OCCURS 叭10.耙DATA TA阿阿B1 TYPE柏柏 ITAB.巴DATA TA笆笆B2 LIKE澳澳
19、TAB1 W氨氨ITH HEA搬搬DER LIN鞍鞍E.瓣同 创建内表数数哀 据类型 (页页柏 99) 中所所啊示,该 示例创创矮建数 据类型 败ITAB 作为为八内表。 通过使使按用 DATA 霸语句的 TYP柏柏E 参数引用 傲ITAB, 使使凹数据对象 TA盎盎B1 与 IT傲傲AB 结构相同同凹。 通过使用 罢DATA 语句句般的 LIKE 罢参数引用 TA靶靶B1, 使数据据凹对象 TAB2昂昂 结构相同。 疤创建的 TAB捌捌2 带表头行。奥奥 因此,可以 熬在程序中使 用用板 TAB2-C袄袄OLUMN1、败 TAB2-C熬熬OLUMN2 安和 TAB2-背COLUMN3癌癌 等
20、定位表格 百工作区域 TA巴巴B2。岸exp :稗7。瓣DATA FL邦IGHT_TA懊B LIKE 俺SFLIGHT版版 OCCURS哀哀 10.班本示例创建 数数般据对象 FLI柏柏GHT_TAB昂昂, 其结构与数数扮 据库表格 S办办FLIGHT 版相同。哎本示例介绍 如如氨何采用两 种不不按同的步 骤创建建懊同一 内表。柏TYPES V安安ECTOR_T靶靶YPE TYP哎哎E I OCC肮肮URS 10.百百DATA VE昂昂CTOR TY百百PE VECT埃埃OR_TYPE啊啊 WITH H邦邦EADER L扳扳INE.摆在 此创建一 靶个内表数据 类类般型 VECTO办办R_TY
21、PE,暗暗 其行包含首 半先创建的基 本本拔类型 I 字段段罢。然后 ,通过过阿引用 VECT板板OR_TYPE哎哎 创建数据对 半象 VECTO案案R。 通过使用用扒 WITH H斑斑EADER L百百INE 选项还还背创建 表格工作作跋区 域 VEC皑皑TOR。 在这这癌种情况 下,表表绊格工 作区域包包奥含 一种类型 班I 字段,可以以八 通过名称 V碍碍ECTOR 定定癌位。板DATA VE疤疤CTOR TY皑皑PE I OC按按CURS 10败败 WITH H矮矮EADER L佰佰INE.矮在这种情况 下下鞍,通过直 接在在皑 DATA 语语靶句中使用 OC办办CURS 选项项捌创建
22、完 全一样样碍的数 据类型 肮VECTOR。氨氨*颁吧佰败隘隘岸傲半斑矮摆-*办1. TYPE拌拌S type.柏柏 澳2. TYPE伴伴S type(百len).癌3. TYPE板板S: BEGI板板N OF st板板ructype熬熬 . 班END OF 柏structy捌捌pe. 罢4. TYPE挨挨S itabt癌癌ype TY半半PE tabk熬熬ind OF 按linetyp扳扳e LIKE 伴tabkind盎盎 OF lin叭叭eobj邦WITH 唉UNIQUE|扳NON-UNI邦邦QUE ke奥奥ydef 绊INITIAL癌癌 SIZE n蔼蔼. 瓣5. TYPE澳澳S ita
23、bt靶靶ype TYP般般E RANGE艾艾 OF typ百百e.拌TYPES i扳扳tabtype傲傲 LIKE R矮矮ANGE OF蔼蔼 f. 隘6. TYPE啊啊S itabt摆摆ype TY扳扳PE line啊啊type|LI艾艾KE line白白obj OC熬熬CURS n.哎哎 拌5。熬*版翱懊跋碍颁敖俺鞍唉袄案-*疤APPEND 皑LINE 矮格式:APPE艾艾ND 氨 TO 板9。傲举例一:(使用隘WORK AR办EA)碍DATA : 白BEGIN O伴伴F LINE,佰佰COL1 TY安安PE I,叭COL2 TY挨挨PE I,把END OF 啊LINE.坝DATA IT百百
24、AB LIKE按按 LINE O澳澳CCURS 1耙耙0.吧DO 2 TI按按MES.叭LINE-CO爸爸L1 = SY盎盎-INDEX.绊绊LINE-CO哎哎L2 = SY皑皑-INDEX 佰* 2.叭APPEND 吧LINE TO袄袄 ITAB.氨ENDDO.熬LOOP AT佰佰 ITAB I版版NTO LIN扒扒E.艾WRITE :瓣 / LINE鞍鞍-COL1,L邦邦INE-COL阿阿2.案ENDLOOP办办.背x。邦举例二 (不使板用WORK A瓣REA)斑DATA : 癌BEGIN O瓣瓣F ITAB 哎OCCURS 跋10,稗COL1 TY鞍鞍PE I,百COL2 TY盎盎PE
25、I,蔼END OF 版ITAB.颁DO 2 TI懊懊MES.白ITAB-CO佰佰L1 = SY熬熬-INDEX.吧吧ITAB-CO挨挨L2 = SY芭芭-INDEX 盎* 2.挨APPEND 伴ITAB.昂ENDDO.盎LOOP AT颁颁 ITAB.罢WRITE :凹 / ITAB绊绊-COL1,I阿阿TAB-COL搬搬2.凹ENDLOOP吧吧.班R。exp:拜DATA: B搬EGIN OF艾 ITAB O捌捌CCURS 1捌捌0,癌COL1 TY蔼蔼PE C,安COL2 TY袄袄PE I,班END OF 哀ITAB.拔DO 3 TI斑斑MES.昂APPEND 叭INITIAL安安 LINE
26、T坝坝O ITAB.办办ITAB-CO绊绊L1 = SY扒扒-INDEX.安安 ITAB-C班班OL2 = S隘隘Y-INDEX板板 * 2.案APPEND 版ITAB.芭ENDDO.蔼LOOP AT案案 ITAB.爸WRITE: 稗/ ITAB-挨COL1, I扮扮TAB-COL扒扒2.靶ENDLOOP柏柏.拌P。案舉例三. (加邦入另另一個Int绊ernal t盎盎able的元素素柏)胺格式: APP安安END LIN白白ES OF 伴FROM 昂TO 扮 TO .版將的元素加入至至扒肮中,可選取自至的范圍.般APPEND 氨LINES O唉唉F ITAB 翱TO JTAB班班.岸z。鞍C
27、OLLECT翱 LINE碍COLLECT奥奥 指令也是將元元敖素加入Inte奥奥rnal ta把把ble中,与A碍碍PPEND 的的皑區別是: CO耙耙LLECT指令令吧在非數值欄位相相稗同的情況下,將將隘數值欄位匯總.安安格式: COL傲傲LECT INT岸岸O 板DATA: B安安EGIN OF鞍鞍 ITAB O拜拜CCURS 3阿阿,挨COL1(3)把 TYPE C按按,安COL2 TY安安PE I,伴END OF 昂ITAB.伴ITAB-CO埃埃L1 = A袄袄BC. IT坝坝AB-COL2瓣瓣 = 10.皑COLLECT吧吧 ITAB.啊ITAB-CO爸爸L1 = X版版YZ. IT
28、拌拌AB-COL2氨氨 = 20.败COLLECT伴伴 ITAB.皑ITAB-CO奥奥L1 = A捌捌BC. IT巴巴AB-COL2叭叭 = 80.把COLLECT芭芭 ITAB.蔼此時, int巴巴ernal t矮矮able中放的的搬是2筆數据, 昂分別為:岸ITAB-CO瓣瓣L1 ITAB敖敖-COL2哀ABC 9扒扒0唉XYZ 2案案0翱*懊版跋白办埃熬摆搬奥敖啊-*哀T。靶INSERT 捌LINE哀將元素插入在指指坝定的inter耙耙nal tab佰佰le位置之前.熬熬格式: INS邦邦ERT INTO胺胺 INIT唉唉IAL LIN蔼蔼E INTO 叭 INDE捌捌X 啊翱或者: I
29、NS颁颁ERT LIN坝坝ES OF 扳FROM TO 挨 I搬搬NTO IN傲傲DEX 安其中: 即work 八area,工作作疤區中的元素.败INITIA佰佰L LINE 邦INTO :啊插入一筆初始化化白的記錄.啊:背 intern扮扮al tabl挨挨e班INDEX 俺:敖 intern胺胺al tabl白白e 的記錄號.艾艾(新加入的元素素氨放在此記錄前面面笆)败X。版Example拌:扒扒DATA: B暗暗EGIN OF巴巴 LINE,霸COL1 TY盎盎PE I,吧COL2 TY敖敖PE I,斑END OF 八LINE.罢DATA IT叭叭AB LIKE鞍鞍 LINE O癌癌CC
30、URS 1八八0.埃DO 3 TI隘隘MES.敖LINE-CO办办L1 = SY凹凹-INDEX 办*10.稗LINE-CO版版L2 = SY瓣瓣-INDEX 靶*20.跋APPEND 袄LINE IN唉唉TO ITAB胺胺.柏ENDDO.敖LINE-CO暗暗L1=100.拌拌LINE-CO鞍鞍L2=200.扮扮INSERT 绊LINE IN霸霸TO ITAB澳澳 INDEX 哀2. 插入在在盎位置2之前坝LOOP AT埃埃 ITAB I安安NTO LIN氨氨E.阿WRITE: 般/ SY-TA隘隘BIX,LIN按按E-COL1,捌捌LINE-CO绊绊L2. SY稗稗-TABIX為為拔Tabl
31、e位置置肮ENDLOOP败败. 唉執行結果:班1 10 20芭芭2 100 2拌拌00 插入的的啊元素摆3 20 40霸霸4 30 60矮矮插入另一Int袄袄ernal T背背able元素佰語法:白INSERT 凹LINES O敖敖F FRO背背M 背TO 办 TO I暗暗NDEX 阿將的元素插入至至盎扳中, 位置在 靶之前前昂, 可選取自至的範圍罢Example柏柏:哀APPEND 瓣LINES O按按F ITAB 疤TO JTAB按按 INDEX 绊3.霸將ITAB所有有袄元素插入JTA啊啊B中, 位置在在拔第三個元素之前前摆*哎斑笆颁懊扒胺爸耙扒罢俺-*背讀取inter把把nal tab
32、埃埃le奥格式一: 疤LOOP AT袄袄 佰 INTO 俺F板板ROM TO WHE岸岸RE 般爸ENDLOOP把把.懊T。耙Example胺:摆摆LOOP AT翱翱 ITAB I肮肮NTO LIN哀哀E WHERE懊懊 COL1 盎100.皑WRITE: 暗/ SY-TA靶靶BIX,LIN般般E-COL1.傲傲ENDLOOP白白.唉僅讀取 COL俺俺1 100挨挨 的元素颁s。拔格式二:把READ TA啊BLE IN奥奥TO 吧 INDE昂昂X 案 / WITH鞍鞍 KEY 搬舉例. (格式式背二)巴DATA: B半半EGIN OF奥奥 ITAB O安安CCURS 1罢罢0,稗COL1 TY
33、般般PE I,稗COL2 TY碍碍PE I,傲END OF 捌ITAB.澳DO 10 T版版IMES.矮ITAB-CO挨挨L1 = SY耙耙-INDEX.胺胺ITAB-CO瓣瓣L2 = SY办办-INDEX 氨* 2.胺APPEND 敖ITAB.安ENDDO.拔READ TA暗暗BLE ITA跋跋B INDEX胺胺 3.蔼(或者: RE凹凹AD TABL皑皑E ITAB 矮WITH KE拌拌Y COL1 叭= 3.)哀WRITE: 板/ ITAB袄袄-COL1 =白 , ITA埃埃B-COL1,半半 ITAB-唉COL2 = 拔, ITAB伴伴-COL2.伴執行結果同樣是是搬: 跋ITAB-C
34、O傲傲L1 = 3啊ITAB-CO稗稗L2 = 6.澳澳V。摆Example澳:挨挨READ TA氨氨BLE ITA佰佰B INTO 凹LINE IN哎哎DEX 5拜讀取 ITAB啊啊的第5個元素資資蔼料, 放入 L熬熬INE的欄位中中霸g。稗根據欄位內容尋凹找颁颁語法:癌READ TA扒扒BLE INT埃埃O 摆Example暗暗:颁ITAB-CO埃埃L1 = A拜拜BC.斑READ TA扳扳BLE ITA靶靶B INTO 敖LINE.芭找出ITAB 霸中 COL1 罢欄位內容是 A扒扒BC 的元素,蔼蔼 找到的值放入入靶 LINE 中中班若找到 SY-芭SUBRC傳回回案0, 找不到則則芭
35、傳回 4, 必須須佰宣告有 wor盎盎k area皑*凹扒袄胺斑胺碍挨瓣叭案拔-*瓣I。拔修改inter稗nal tab叭le 中的值伴格式: MOD蔼蔼IFY FR鞍鞍OM 鞍INDEX敖敖 版TRANSP搬搬ORTING 罢WHE八八RE 俺舉例一. RE案案AD TABL拌拌E ITAB 瓣INDEX 3挨挨.阿LINE-CO挨挨L1 = 29百百.邦MODIFY 耙ITAB FR斑斑OM LINE绊绊 TRANSP阿阿ORTING 吧COL1.拜將第三筆記錄的的搬COL1欄位的的捌值修改為29.把把舉例二. T_隘SALARY 邦- salar耙耙y = 50.柏柏MODIFY 把T_
36、SALAR般般Y TRANS扒扒PORTING澳澳 salary耙耙 WHERE 扒birthda绊绊y = 19爸爸99/12/0搬搬6.跋DELETE 案interna般般l table班班中的欄位澳格式: DEL凹凹ETE IND邦邦EX .败或: DELE蔼蔼TE FROM佰佰 T爸爸O 爸 WHERE坝坝 熬D。唉Interna哀l table爸 排序 坝SORT BY拜拜 扮其中:鞍 有DESCE肮肮NDING 和和叭ASCENDI半半NG, Def笆笆ault 為A隘隘SCENDIN皑皑G.艾: 為為坝指定排序的欄位位暗.安Example绊绊: 奥SORT IT坝坝AB DESC
37、凹凹ENDING 蔼BY COL2哀哀.办將 ITAB 袄根據 COL2哎哎欄位遞減排序傲*佰背斑疤氨按拜把柏耙绊扳-*矮确定内表属 性性伴如果在处理 过过吧程中想知 道内内跋表一共 包含多多挨少行 ,或者想想拔知 道定义的 拜OCCURS 稗参数的大小 ,瓣瓣请使用 DES百百CRIBE 语语案句,用法 如下下板:耙语法板DESCRIB版版E TABLE背背 阿 LINES班班 翱 OCCUR办办S 摆.翱如果使用 LI癌癌NES 参数,搬搬则将 填充行的的哀数 量写入变量量背 。哀哀 如果使用 O瓣瓣CCURS 参参版数,则将 行的的哀初始号 写入变变敖量 八。唉DATA: B跋跋EGIN
38、 OF案案 LINE,笆COL1 TY凹凹PE I,艾COL2 TY版版PE I,凹END OF 敖LINE.斑DATA IT斑斑AB LIKE般般 LINE O班班CCURS 1板板0.八DATA: L案案IN TYPE隘隘 I, OCC坝坝 TYPE I白白.哎DESCRIB碍碍E TABLE埃埃 ITAB L奥奥INES LI懊懊N OCCUR懊懊S OCC.般WRITE: 摆/ LIN, 瓣OCC.拌DO 1000癌癌 TIMES.巴巴LINE-CO摆摆L1 = SY巴巴-INDEX.皑皑LINE-CO摆摆L2 = SY碍碍-INDEX 碍* 2.挨APPEND 坝LINE TO柏柏
39、ITAB.颁ENDDO.八DESCRIB背背E TABLE矮矮 ITAB L搬搬INES LI八八N OCCUR罢罢S OCC.班WRITE: 伴/ LIN, 背OCC.挨其输出为:懊0 10班1.000 1拌拌0坝在此创建内 表表斑 ITAB。 佰在填充表格 前前澳后执行 DES巴巴CRIBE 语语绊句。更改 当前前般行号, 但无法法摆更改 初始行号号版。凹*伴靶翱捌爸芭胺安唉叭办斑-*扳加總碍SUM.版總和計算存放与与背work ar班班ea中,但只能能拔在LOOP 中中霸使用.稗例: LOOP芭芭 AT ITA扒扒B INTO 盎LINE.瓣SUM.巴ENDLOOP傲傲.把WRITE:
40、懊/ LINE-暗COL1, L柏柏INE-COL氨氨2.班LINE-CO昂昂L1 和 LI扳扳NE-COL2肮肮 存數值總和初初白始化inter八八nal tab捌捌le翱G。半REFRESH矮 版. 清空中的值.背背使用在沒有 H癌癌EADER L百百INE 的 I背背nternal氨氨 Table中中傲, 清除所有元元隘素碍CLEAR . 白清空的Heade靶靶r Line.白白使用在有 HE唉唉ADER LI罢罢NE 的 In芭芭ternal 唉Table中,翱翱 清除所有元素素拜FREE . 釋釋百放記憶体空間.案案釋放(Rele隘隘ase) In芭芭ternal 绊Table所佔佔
41、把的記憶體空間,翱翱 用在 REF百百RESH和 C笆笆LEAR指令之之邦後肮k。耙将值重置为 默霸认值值阿可以用 CLE八AR 语句重置拌任 何数据对象象矮 值,如下所 挨示:邦语法伴CLEAR .翱H。扳exp:碍DATA NU艾MBER TY坝坝PE I VA霸霸LUE 10疤疤.暗WRITE N耙耙UMBER.稗CLEAR N胺胺UMBER.案WRITE /扳 NUMBER奥奥.懊输出为:耙10邦0绊CLEAR 语语案句将字段 NU哎哎MBER 的内内败容从10 重置置邦为默认 值 0傲傲。绊*疤敖懊把斑扒邦拔拔办阿翱-*按W。白添加字段 顺序安并将将结 果赋给案另一 个字段靶语法案A
42、DD THEN 埃 UN办办TIL GIVIN俺俺G .罢如果 摆、 、胺 . 、 拌 是在在罢内存中 相同类类坝型和 长度的等等凹距 字段序列,澳澳 则进行求和 邦计算并将结 果果啊赋给 败添加字段 顺序序搬并将结 果添加加叭到另 一个字段段挨的 内容中罢语法摆ADD THEN 翱 UN霸霸TIL TO .胺该语句除了 将将坝字段总和 添加加佰到 的的跋旧内容中 之外外跋,与上 面语句句按的工 作方式相相办同 。般有关其它相 似似般变体的信 息,跋跋参见有 关 A奥奥DD 语句的关关板键 字文档。盎DATA: B芭芭EGIN OF敖敖 SERIES拜拜,拔N1 TYPE案案 I VALU背背
43、E 10,伴N2 TYPE啊啊 I VALU芭芭E 20,巴N3 TYPE澳澳 I VALU胺胺E 30,班N4 TYPE八八 I VALU疤疤E 40,矮N5 TYPE岸岸 I VALU耙耙E 50,熬N6 TYPE板板 I VALU巴巴E 60,癌END OF 哀SERIES.埃埃DATA SU捌捌M TYPE 办I.耙ADD SER岸岸IES-N1 芭THEN SE澳澳RIES-N2巴巴 UNTIL 氨SERIES-皑N5 GIVI案案NG SUM.跋跋WRITE S氨氨UM.颁ADD SER笆笆IES-N2 背THEN SE啊啊RIES-N3跋跋 UNTIL 搬SERIES-袄N6 T
44、O S摆摆UM.稗WRITE /哎 SUM.疤输出如下:板150安350案在此,将 N1胺胺 到 N5 组组矮件内容求 和并并把将其值 赋给字字办段 SUM。然然把 后,将 N2挨挨 到 N6组件件巴求 和并将其添添耙 加到 SUM哀哀 的值中。案*啊吧扳般胺俺凹凹傲拜懊疤-*败屏幕輸入命令绊H。把在ABAP/4把中要要從螢幕輸入袄變量, 使用的的颁命令是 PAR跋跋AMETERS爸爸 及SELEC挨挨TION-OP般般TIONS: 奥1. PARA柏柏METER: 挨輸入一個變量或或昂欄位內容拌2. SELE凹凹CTION-O安安PTIONS:败 使用條件篩選選鞍畫面來輸入數据据伴 百V。皑
45、PARAMET氨ERS 指令艾基本的輸入命令令瓣, 類似如BA伴伴SIC的INP百百UT命令, 但但扳無法使用F格式式案(浮點數)佰語法:白PARAMET袄袄ERS 矮 DEFAU胺胺LT 矮 LOWER挨挨 CASE坝OBLIGA熬熬TORY 半AS CHEC搬搬KBOX哀RADIOB版版UTTON G捌捌ROUP 疤Example八八:稗PARAMET跋跋ERS: NA半半ME(8),盎AGE TYP搬搬E I,柏BIRTH T敖敖YPE D.柏執行結果: 靶在日期的輸入格格瓣式上為 MM/艾DD/YY ,斑斑 MM/DD/跋YYYY, M靶靶MDDYY或M皑皑MDDYYYY般般 , 如輸
46、入 斑表 1965年年翱02月01日,拜拜 與02/01伴伴/65的輸入是是般一樣的, 日期期跋輸入範圍為西元元霸1950年至2翱翱049年傲1. DEFA岸岸ULT 佰設定輸入的預設設哎值拌Example板板:埃PARAMET敖敖ERS: CO瓣瓣MPANY(2吧吧0) DEFA笆笆ULT DE搬搬LTA,爸BIRTH T唉唉YPE D D癌癌EFAULT 芭.肮2. LOWE绊绊R CASE板ABAP/4預預稗設是將字串輸入入奥值自動轉換為大大埃寫, 加上此參參耙數會將輸入的資資白料轉成小寫, 版3. OBLI背背GATORY败強制要求輸入,叭叭 螢幕上會出現現败一個 ? , 扒使用者必須
47、要輸輸埃入才可.案4. AS C袄袄HECKBOX把把輸入 CHEC袄袄KBOX的格式式瓣Example艾艾:霸PARAMET罢罢ERS: TA芭芭X AS CH柏柏ECKBOX 拔DEFAULT扳扳 X,安NTD AS 胺CHECKBO邦邦X.扳執行結果:疤5. RADI板板OBUTTON笆笆 GROUP 袄版輸入 RADI版版O BUTTO挨挨N GROUP邦邦 的方式班Example氨氨:版PARAMET百百ERS: BO拔拔Y RADIO盎盎BUTTON 佰GROUP S伴伴EX DEFA拜拜ULT X摆, 班GIRL RA班班DIOBUTT吧吧ON GROU把把P SEX.邦exp
48、:绊TABLES 柏SPLFI.般PARAMET佰佰ERS: LO搬搬W LIKE 傲SPFLI-C扳扳ARRID, 搬HIGH LI巴巴KE SPFL靶靶I-CARRI巴巴D.哀SELECT 按* FROM 爸SPLFI W按按HERE CA败败RRID BE皑皑TWEEN L氨氨OW AND 癌HIGH.啊伴伴.蔼ENDSELE敖敖CT.吧*氨笆绊霸埃般跋袄耙癌氨坝-*坝SELECTI绊绊ON-OPTI按按ONS皑SELECTI班班ON-OPTI癌癌ONS所輸入的的背值實際上是放在在唉interna哀哀l table八八中的,該Int暗暗ernal t扮扮able 有四四奥個欄位,分別是是
49、败:SIGN,O坝坝PTION,L翱翱OW,HIGH扮扮. 條件篩選選按檢查條件輸入畫畫皑面指令, 輸入入隘條件後可配合S盎盎ELECT指令令扒自TABLE讀讀柏取符合條件的資資挨料, 直接執行行叭或放入 Int坝坝ernal T瓣瓣able中, 巴條件有四個參數數罢:坝1. SIGN把把: 叭I: 表篩選條條巴件符合的資料霸E: 表篩選條條吧件不符合的資料料摆2. OPTI拔拔ON: 比較的的背條件符號按EQ(等於),啊啊NE(不等於)案,GT(大於)白,LE(小於)邦,CP(包含)拌,NP(不包含含拔)芭3. LOW:案 最小值办4. HIGH袄袄: 最大值按語法:阿SELECTI按按ON
50、-OPTI靶靶ONS FO矮矮R 哀Example埃埃:蔼TABLES 胺SPFLI.败SELECT-哎OPTIONS懊懊 AIRLIN扳扳E FOR S敖敖PFLI-CO柏柏NNID.百將條件的輸入值值埃存放入 AIR耙耙LINE, 篩篩伴選選擇為SPF捌捌LI中的CON白白NID欄位瓣r。岸改變條件輸入格懊式唉唉1. DEFA翱翱ULT TO盎盎 埃設定開始結束範範搬圍輸入預設值捌Example哎哎:把SELECT-巴OPTIONS瓣瓣 AIRLIN拌拌E FOR S皑皑PFLI-CO板板NNID DE把把FAULT 熬2042 T安安O 4555傲傲.靶2. NO-E颁颁XTENSIO板
51、板N癌設定不要Mul挨挨ti-Opti哀哀on輸入畫面啊3. NO I办办NTERVAL巴巴S盎設定不要區間範範班圍輸入畫面癌4. LOWE碍碍R CASE安輸入轉換成大寫寫罢5. OBLI案案GATORY拜強制要求輸入拌*拌熬熬昂搬唉懊哀澳挨百安-*胺S。配合 SELECT 命令條件輸入完完後要將符合條件件的資料篩選出來來, 可配合使用用 SELECT 指令1.使用WHERE Example:TABLES SPFLI.SELECT-OPTIONS AIRLINE FOR SPFLI-CONNID.SELECT * FROM SPFLI WHERE CONNID IN AIRLINE.WRIT
52、E: / SPFLI-CONNID,SPFLI-CITYFROM,SPFLI-CITYTO.ENDSELECT.2.使用CHECK參數Example:TABLES SPFLI.SELECT-OPTIONS AIRLINE FOR SPFLI-CONNID.SELECT * FROM SPFLI.CHECK AIRLINE.WRITE: / SPFLI-CONNID,SPFLI-CITYFROM,SPFLI-CITYTO.ENDSELECT.*exp: TABLES SPFLI.SELECT-OPTIONS: S_CARRID FOR SPFLI-CARRID,S_CITYFR FOR SPFL
53、I-CITYFROM,S_CITYTO FOR SPFLI-CITYTO,S_CONNID FOR SPFLI-CONNID.版SELECT 般* FROM 白SPFLI.坝CHECK: 扒SPFLI-C埃ARRID I疤N S_CAR般RID,熬SPFLI-C拜ITYFR I案N S_CIT翱YFR,蔼SPFLI-C敖ITYTO I般N S_CIT拌YTO,皑SPFLI-C巴ONNID I跋N S_CON袄NID.懊WRITE: 笆/ SPFLI暗-CARRID隘, SPFLI哀-CONNID案, 隘SPFLI-C唉ITYFROM皑, SPFLI笆-CITYTO板.胺ENDSELE笆CT.巴
54、3.使用 IF板 IN 敘凹述安Example罢:唉SELECT-蔼OPTIONS奥 AIRLIN版E FOR S靶PFLI-CO懊NNID.挨SELECT 罢* FROM 暗SPFLI.白IF SPFL瓣I-CONNI败D IN AI颁RLINE.佰WRITE: 叭/ SPFLI靶-CONNID案,SPFLI-败CITYFRO鞍M,SPFLI拌-CITYTO肮.疤ENDIF.艾ENDSELE办CT.摆*办氨盎埃熬埃拜霸半肮哀背-*百8。SELECTION-SCREEN 1.產生空白列列語法:SELECTION-SCREEN SKIP Example:SELECTION-SCREEN SKIP
55、 2.產生兩列空白列2.產生底線語法:SELECTION-SCREEN ULINE / (length)Example:SELECTION-SCREEN ULINE /10(30).自第10格開始產生長度30的底線3.印出備註說明語法: SELECTION-SCREEN COMMENT / (length) Example:REMARK = Pls enter your name.SELECTION-SCREEN COMMENT /10(30) REMARK.4. 同一列中輸入數個資料項語法:SELECTION-SCREEN BEGIN OF LINE.SELECTION-SCREEN END
56、 OF LINE.Example:SELECTION-SCREEN BEGIN OF LINE.SELECTION-SCREEN POSITION 20.PARAMETERS NAME(10).SELECTION-SCREEN POSITION 40.PARAMETERS BIRTH TYPE D.SELECTION-SCREEN END OF LINE.在20格輸入NAME內容, 40格輸入 BIRTH的內容l。5. 繪出BLOCK PANEL語法法:SELECTION-SCREEN BEGIN OF BLOCK WITH FRAME TITLE .SELECTION-SCREEN END
57、OF BLOCK .Example:SELECTION-SCREEN BEGIN OF BLOCK RADIO WITH FRAME .PARAMETER R1 RADIOBUTTON GROUP GR1.PARAMETER R2 RADIOBUTTON GROUP GR1.PARAMETER R3 RADIOBUTTON GROUP GR1.SELECTION-SCREEN END OF BLOCK RADIO. *q。SQL語法我們在編寫寫ABAP4程式式的時候,經常需需要從TABLE中中根据某些條件讀讀取數据,.讀取取數据最常用的方方法就是通過SQL語語法實現的.ABAP/4 中可以利用
58、用SQL語法創建建或讀取TABLE,SQL語語法分為DDL(DATA DEFINE LANGUAGE)語言和DML(DATA MULTIPULATION LANGUAGE)語言,DDL語語言是指數据定義義語言,例如CREATE等等, DML語言言是數据操作語言言,例如SELECT, INSERT等等語句. SQL語語句有OPEN SQL語句和NATIVE SQL語句. OPEN SQL語語句不是標准SQL語語句,是ABAP/4語言,利用OPEN SQL語句能在在Databases 和 Command 之間產生一個BUFFER,所所以它有一個語言言轉換的過程.而而NATIVE SQL語句則是是標
59、准的SQL語語句, 它直接針針對Databases操操作.Y。OPEN SQLSELECT語句語法法格式:SELECT INTO FROM WHERE GROUP BY ORDER BY 其中: 指定要抓取的欄欄位將讀取的記錄存存放在work area中指定從那個TABLE中中讀取資料抓取資料的條件件指定按那些欄位位分組排排序的欄位及方式式相關的系統變量量:SY-SUBRC = 0 表示讀讀取數据成功 0 表示未找找到符合條件的記記錄SY-DBLNT: 被處理過的記記錄的筆數.相關關的命令:EXIT. 退出循環.CHECK .如果邏輯表達達式成立,則繼續續執行,否則,開開始下一次循環.利利用循
60、環方式讀取取所有記錄SELECT .ENDSELECT.是是循環方式讀取記記錄的.例如:TABLES MARD.SELECT DISTINCT * FROM MARD WHERE MATNR = .ENDSELECT.(從MARD中抓取所有料號=的資料)讀取一筆資料Example:TABLES SPFLI.SELECT SINGLE * FROM SPFLI WHERE PLANT =CHUNGLI AND TEL=.WRITE: / SPFLI-COMPANY,SPFLI-PLANT,SPFLI-TEL.將讀取的記錄放在work area中,并且加入Internal table 中.格式有:
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 牙根外露病因介绍
- 安全教育班会《校园安全及管理》课件图
- 水俣病病因介绍
- (高考英语作文炼句)第7篇译文老师笔记
- 开题报告:指向核心素养的中学化学深度学习教学评价研究
- 开题报告:新时代中国德育价值观变革的走向
- 开题报告:新建本科院校“学困生”精准学习指导机制与政策支持研究
- 《旋挖桩技术交底》课件
- 2024专业石材买卖协议样本版
- 《元旦晚会投影背景》课件
- YDT 4557-2023基础电信企业数据安全管理系统技术要求
- 医院科室制度上墙
- 成都市金牛区2022-2023学年七年级上学期期末数学试题
- SL252-2017 水利水电等级划分及洪水标准
- 2024新版保密法知识测试题库加答案
- 你我同行-大学生朋辈心理互助智慧树知到期末考试答案章节答案2024年湖南工学院
- 2024年中粮集团有限公司校园招聘考试试题完美版
- 2024年北京大学“物理卓越计划”选拔考试数学试题含答案
- 2024年高考语文阅读之肖复兴散文专练全国解析版
- 班主任工作艺术-知到答案、智慧树答案
- 高中生如何提升自己的学习效率
评论
0/150
提交评论