




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、数据类型CC :字符符串D :日期型 格式为 YYYYYMMDDD 例:19999/12/03FF : 浮浮点数 长长度为8II :整数数N :数数值组成的的字符串 如:0111,3302PP : PPACKEED数 用用于小数点点数值 如如:12.005442T : 时间 格式为:HHMMMSS 如如:144:03:00XX : 116进制数数 如:1A033*变数宣告告DATA deciimalss 变数名名称 变数类型型 及 长长度 初值 小数数位数exxp:DAATA : COUUNTERR TYPPE P DECIIMALSS 3.NNAME(10) TYPEE C VVALUEE
2、DEELTA.S_DDATE TYPEE D VVALUEE 1999912203.exp:DATAA : BBEGINN OF PERSSON,NNAME(10) TYPEE C,AAGE TTYPE I,WEEIGHTT TYPPE DEECIMAALS 22,ENDD OF PERSSON.另另外,有關關DATAA宣告的指指令還有: CONNSTANNTS(宣宣告常數)、STAATICSS(臨時變變數宣告).expp:CONNSTANNTS PPI TYYPE PP DECCIMALLS 5 VALUUE 33.141159.STATTICS 敘述宣告告的變數僅僅在目前的的程式中使使用,
3、 結結束後會自自動釋放 語法: STATTICS 系統專用用變數說明明系統內部部專門創建建了SYSST這個SSTRUCCTUREE,里面的的欄位存放放系統變數數,常用的的系統變數數有:SYY-SUBBRC : 系統執執行某指令令后,表示示執行成功功与否的變變數,00 表示示成功SYY-UNAAME: 當前使用用者登入SSAP的UUSERNNAME;SY-DDATUMM: 當前前系統日期期;SY-UZEIIT: 當當前系統時時間;SYY-TCOODE: 當前執行行程式的TTranssactiion ccodeSSY-INNDEX : 當前前LOOPP循環過的的次數SYY-TABBIX: 當前處理
4、理的是innternnal ttablee 的第几几筆SY-TMAXXL: IInterrnal tablle的總筆筆數SY-SROWWS: 屏屏幕總行數數;SY-SCOLLS: 屏屏幕總列數數;SY-MANDDT: CCLIENNT NUUMBERRSY-VVLINEE: 畫豎豎線SY-ULINNE: 畫畫橫線TYYPE 敘敘述用來指指定資料型型態或宣告告自定資料料型態Exxamplle:TYYPES: BEGGIN OOF MYYLISTT,NAMME(100) TYYPE CC,NUMMBER TYPEE I,EEND OOF MYYLISTT.DATTA LIIST TTYPE MYL
5、IIST.LIKE 敘述跟TTYPE敘敘述使用格格式相同, 如DAATA TTRANSSCODEE LIKKE SYY-TCOODE.不不同的是 LIKEE 用在已已有值的資資料項, 如系統變變數, 而而TYPEE敘述則是是用在指定定資料型態態。*输出一. WRRITE 語句ABBAP/44用來在屏屏幕上輸出出資料的指指令是WRRITE指指令,例如如:WRIITE: USEER NAAME IIS:, SY-UNAMME.二. 指定屏屏幕輸出位位置指定輸輸出位置的的語句格式式為:WRRITE: ATT / () 資料料項 其中: / : 在下一一行輸出: 指定定輸出的行行號;():指定定輸出位
6、數數(長度): 指指定顯示格格式參數,參數有:LEFTT-JUSSTIFIIED 資資料靠左對對齊CENNTEREED 資料料靠中間對對齊RIGGHT-JJUSTIIFIEDD 資料靠靠右對齊UUNDERR 正對在在資料項的下下面顯示NNO-GAAP 緊接接著顯示,不留空格格USINNG EDDIT MMASK : 使用內內嵌子元顯顯示, 如如 12:03:220USIING NNO EDDIT MMASK: 不使用用內嵌子元元NO-ZZERO: 數字前前面 0 的部分不不顯示NOO-SIGGN: 不不顯示正負負號DECCIMALLS : 顯顯示 位小小數EXPPOENTT : F(浮點數)指
7、數的值值ROUNND : 四四舍五入至至小數點后后位位CURRRENCYY : 幣別別顯示DDD/MM/YY : 日期顯顯示格式MMM/DDD/YY: YY/MM/DDD: YYY/DDD/MMMMM/DDD/YYYYY:DDD/MM/YYYYYYYYYY/MM/DD:YYYYY/DD/MMM:例如如1: WWRITEE: /110(6) ABBCDEFFGHIJJK.輸輸出結果為為: ABBCDEFF例如2: DATTA: XX TYPPE I VALUUE 111:200:30,A(55) TYYPE CC VALLUE AB CCDE.WRITTE: / X UUSINGG EDIIT
8、MAASK _:_:_.WRRITE: / XX USIING EEDIT MASKK $_,_.WRITTE: / Y NNO-GAAP.輸出出結果為:11:220:300$1122,0300ABCDDEF例如3: DATAA: LEEN TYYPE II VALLUE 110,POOS TYYPE II VALLUE 111,TEEXT(110) VVALUEE 1223456678900WRIITE The textt apppearrs inn thee texxt.WRITTE ATT POSS(LENN) TEEXT.WRITEE TO 语句的基基本 形式式要将值(文文 字)或或源
9、字 段段内容写入入 目标字字段, 可可以使用 WRITTE TOO 语句:语法WRIITE TO .DATA: NUMMBER TYPEE F VVALUEE 4.3,TTEXT(10),FLOAAT TYYPE FF,PACCK TYYPE PP DECCIMALLS 1.WRITTE NUUMBERR.WRIITE NNUMBEER TOO TEXXT EXXPONEENT 22.WRIITE / TEXXT.WRRITE NUMBBER TTO FLLOAT.WRITTE / FLOAAT.WRRITE NUMBBER TTO PAACK.WWRITEE / PPACK.MOVEE NU
10、MMBER TO PPACK.WRITTE / PACKK.exp:DDATA: NAMME(100) VAALUE SOUURCE,SOUURCE(10) VALUUE AAntonny,TTARGEET(100).WRIITE (NAMEE) TOO TARRGET.WRITTE: TTARGEET.exp :DATAA: COOUNTEER TYYPE II.COMMPUTEE COUUNTERR = CCOUNTTER + 1.CCOUNTTER = COUUNTERR + 11.ADDD 1 TTO COOUNTEER.在此此,三条 运算语句句进 行相相同算术 运算输出屏幕上上 的线
11、和和空行用下列语法法 ,可以以在输 出出屏幕上生生 成水平平线:语法法ULINNE AAT /().它它等同于WWRITEE ATT /() SYY-ULIINE.AAT 后的的格式规 范,与在在 在屏幕幕上定 位位 WRIITE 输输出 (页页 28) 中为 WRITTE 语句句说明的 格式规范范完 全一一样。如果果没有格 式规范,系系 统则开开始新 的的一行,并并 用水平平线填 充充该行。否否 则,只只按指 定定输出水平平 线。生生成水平线线 的另一一种方 法法,是在 WRITTE 语句句中键入 恰当数量量的 连字字符,如 下所示:WRITTE AAT /() .垂直直线用下列列语法 ,可
12、可以在输 出屏幕上上生 成垂垂直线:语语法WRIITE AT / SSY-VLLINE.或WRITTE AAT / |.空行行用下列语语法 ,可可以在输 出屏幕上上生 成空空行:语法法SKIPP .该该语句从当当 前行开开始, 在在输出屏幕幕 上生成成 个空行行。如 果果没有指定定 的值,就就输 出一一个空行 。要将输输出定 位位在屏幕的的 指定行行上, 请请使用:语语法SKIIP TOO LINNE .该语语句允许 将输出位位置 向上上或向下 移动。四四. 顯示示圖示:語語法: WWRITEE: AS SSYMBOOL.WRRITE: AS ICONN.例如: INCCLUDEE .INNC
13、LUDDE .WRIITE: / PPhonee symmbol:, SSYM_PPHONEE AS SYMBBOL.WWRITEE: / Alaarm IIcon:, IICON_VOICCE_OUUTPUTT AS ICONN.要查看看系統所提提供有那些些符號及圖圖示,可選選擇EDDIT下下的Innsertt Staatemeent,選擇WWritee,接下下來選擇要要查看的群群組,如SSYMBOOL 或IICON, 接下來來按Diisplaay即可可.*一. Innternnal TTablee 的宣告告ABAPP/4中的的Inteernall Tabble是一一种Datta Sttru
14、ctture,類似于其其他語言中中的STRRUTURRE,它可可以由几個個不同類型型的欄位(fielld)組成成,用來表表示具有不不同屬性的的某一事物物,單獨一一筆資料表表示某個事事物,多筆筆資料表示示具有相同同屬性的多多個事物.Interrnal tablle 的定定義有以下下几种格式式:格式一一. DAATA: BEGIIN OFF OCCCURSS , TTYPE , TTYPE , TTYPE , END OF .語法:DAATA OCCCURSS WIITH HHEADEER LIINEEExampple:DDATA VECTTOR TTYPE I OCCCURSS 10 WITHH
15、 HEAADER LINEE.格式二二. TYYPES: BEGGIN OOF , TYPEE , TYPEE , TYPEE , ENDD OF .TYPEES TTYPE OCCUURS .格格式三. DATAA: BEEGIN OF .IINCLUUDE SSTRUCCTUREE .DAATA: END OF .DDATA: LIIKE OOCCURRS .exp:TTYPESS VECCTOR TYPEE I OOCCURRS 100.TYPPES: BEGIIN OFF LINNE,COOLUMNN1 TYYPE II,COLLUMN22 TYPPE I,COLUUMN3 TYPEE
16、 I,EEND OOF LIINE.TTYPESS ITAAB TYYPE LLINE OCCUURS 110.TYYPES: BEGGIN OOF DEEEPLIINE,TTABLEE1 TYYPE VVECTOOR,TAABLE22 TYPPE ITTAB,EEND OOF DEEEPLIINE.TTYPESS DEEEPTABBLE TTYPE DEEPPLINEE OCCCURS 10.本本示例创建建 与上例例相同 的的内表数据据 类型(VVECTOOR 和 ITABB) 。然然后创建 数据类型型 DEEEPLINNE 作为为字段串 ,包含这这些 内表表作为组 件。通过过该 字段段串,
17、数 据类型 DEEPPTABLLE 被创创建为内 表。因此此该 内表表的元素 本身就是是内 表。exp :TYPPES: BEGIIN OFF LINNE,COOLUMNN1 TYYPE II,COLLUMN22 TYPPE I,COLUUMN3 TYPEE I,EEND OOF LIINE.TTYPESS ITAAB TYYPE LLINE OCCUURS 110.DAATA TTAB1 TYPEE ITAAB.DAATA TTAB2 LIKEE TABB1 WIITH HHEADEER LIINE.同同 创建内内表数 据据类型 (页 999) 中所所示,该 示例创建建数 据类类型 ITTA
18、B 作作为内表。 通过使使用 DAATA 语语句的 TTYPE 参数引用用 ITAAB, 使使数据对象象 TABB1 与 ITABB 结构相相同。 通通过使用 DATAA 语句的的 LIKKE 参数数引用 TTAB1, 使数据对对象 TAAB2 结结构相同。 创建的的 TABB2 带表表头行。 因此,可可以 在程程序中使 用 TAAB2-CCOLUMMN1、 TAB22-COLLUMN22 和 TTAB2-COLUUMN3 等定位表表格 工作作区域 TTAB2。exp :DATA FLIGGHT_TTAB LLIKE SFLIIGHT OCCUURS 110.本示示例创建 数据对象象 FLII
19、GHT_TAB, 其结构与与数 据库库表格 SSFLIGGHT 相相同。本示示例介绍 如何采用用两 种不不同的步 骤创建同同一 内表表。TYPPES VVECTOOR_TYYPE TTYPE I OCCCURSS 10.DATAA VECCTOR TYPEE VECCTOR_TYPEE WITTH HEEADERR LINNE.在 此创建一一 个内表表数据 类类型 VEECTORR_TYPPE, 其其行包含首首 先创建建的基 本本类型 II 字段。然后 ,通通过引用 VECTTOR_TTYPE 创建数据据对 象 VECTTOR。 通过使用用 WITTH HEEADERR LINNE 选项项还创
20、建 表格工作作区 域 VECTTOR。 在这种情情况 下,表表格工 作作区域包含含 一种类类型 I 字段,可可以 通过过名称 VVECTOOR 定位位。DATTA VEECTORR TYPPE I OCCUURS 110 WIITH HHEADEER LIINE.在在这种情况况 下,通通过直 接接在 DAATA 语语句中使用用 OCCCURS 选项创建建完 全一一样的数 据类型 VECTTOR。*1. TYPPES ttype. 2. TYPEES tyype(llen).3. TTYPESS: BEEGIN OF sstrucctypee ENDD OF struuctyppe. 44. T
21、YYPES itabbtypee TYYPE ttabkiind OOF liinetyype LLIKE tabkkind OF llineoobjWITHH UNNIQUEE|NONN-UNIIQUE keyydef INNITIAAL SIIZE nn. 55. TYYPES itabbtypee TYPPE RAANGE OF ttype.TYPEES ittabtyype LLIKE RANGGE OFF f. 6. TTYPESS itaabtyppe TTYPE lineetypee|LIKKE liineobbj OOCCURRS n. *APPPENDD LINNE 格式式:
22、APPPEND TO 举例一:(使用WOORK AAREA)DATAA : BBEGINN OF LINEE,COLL1 TYYPE II,COLL2 TYYPE II,ENDD OF LINEE.DATTA ITTAB LLIKE LINEE OCCCURS 10.DDO 2 TIMEES.LIINE-CCOL1 = SYY-INDDEX.LLINE-COL22 = SSY-INNDEX * 22.APPPEND LINEE TO ITABB.ENDDDO.LLOOP AT IITAB INTOO LINNE.WRRITE : / LINEE-COLL1,LIINE-CCOL2.ENDLLO
23、OP.举例二 (不使用WWORK AREAA)DATTA : BEGIIN OFF ITAAB OCCCURSS 10,COL11 TYPPE I,COL22 TYPPE I,END OF IITAB.DO 22 TIMMES.IITAB-COL11 = SSY-INNDEX.ITABB-COLL2 = SY-IINDEXX * 2.APPPENDD ITAAB.ENNDDO.LOOPP AT ITABB.WRIITE : / IITAB-COL11,ITAAB-COOL2.EENDLOOOP.exp:DATA: BEGGIN OOF ITTAB OOCCURRS 100,COLL1 TYYP
24、E CC,COLL2 TYYPE II,ENDD OF ITABB.DO 3 TIIMES.APPEEND IINITIIAL LLINE TO IITAB.ITABB-COLL1 = SY-IINDEXX. ITTAB-CCOL2 = SYY-INDDEX * 2.APPEEND IITAB.ENDDDO.LOOOP AAT ITTAB.WWRITEE: / ITABB-COLL1, IITAB-COL22.ENDDLOOPP.舉例三. (加入另另一個Innternnal ttablee的元素)格式: APPEEND LLINESS OF FROOM TOO TTO .將的元元素加入至至中中
25、,可選取取自至的范范圍.APPPENDD LINNES OOF ITTAB TTO JTTAB.COLLEECT LLINECCOLLEECT 指指令也是將將元素加入入Inteernall tabble中,与APPPEND 的區別是是: COOLLECCT指令在在非數值欄欄位相同的的情況下,將數值欄欄位匯總.格式: COLLLECT INTTO DAATA: BEGIIN OFF ITAAB OCCCURSS 3,CCOL1(3) TTYPE C,COOL2 TTYPE I,ENND OFF ITAAB.ITTAB-CCOL1 = AABC. ITAAB-COOL2 = 10.COLLLECT
26、 ITABB.ITAAB-COOL1 = XYYZ. ITABB-COLL2 = 20.CCOLLEECT IITAB.ITABB-COLL1 = ABCC. IITAB-COL22 = 880.COOLLECCT ITTAB.此此時, iinterrnal tablle中放的的是2筆數數据, 分分別為:IITAB-COL11 ITAAB-COOL2AABC 90XXYZ 20*INSERRT LIINE將元元素插入在在指定的iinterrnal tablle位置之之前.格式式: INNSERTT IINTO INNITIAAL LIINE IINTO INNDEX 或者者: INNSERTT
27、 LINNES OOF FFROM TO INNTO IINDEXX 其中中: 即wwork areaa,工作區區中的元素素.INNITIAAL LIINE IINTO :插入入一筆初始始化的記錄錄.: intternaal taableINDEEX : innternnal ttablee 的記錄錄號.(新新加入的元元素放在此此記錄前面面)Exampple:DDATA: BEGGIN OOF LIINE,CCOL1 TYPEE I,CCOL2 TYPEE I,EEND OOF LIINE.DDATA ITABB LIKKE LIINE OOCCURRS 100.DO 3 TIIMES.LIN
28、EE-COLL1 = SY-IINDEXX *100.LINNE-COOL2 = SY-INDEEX *220.APPPENDD LINNE INNTO IITAB.ENDDDO.LIINE-CCOL1=100.LINEE-COLL2=2000.INNSERTT LINNE INNTO IITAB INDEEX 2. 插入入在位置22之前LOOOP AAT ITTAB IINTO LINEE.WRIITE: / SYY-TABBIX,LLINE-COL11,LINNE-COOL2. SY-TABIIX為Taable位位置ENDDLOOPP. 執行行結果:11 10 202 100 200 插入
29、的的元素3 20 4404 330 600插入另一一Inteernall Tabble元素素語法:INNSERTT LINNES OOF FFROM TO TOO INDDEX 將的元素插插入至中, 位置在 之前, 可選取取自至的範範圍Exaamplee:APPPEND LINEES OFF ITAAB TOO JTAAB INNDEX 3.將IITAB所所有元素插插入JTAAB中, 位置在第第三個元素素之前*讀取iinterrnal tablle格式一一: LOOOP AAT INNTO FROOM TTO WHERRE ENNDLOOOP.Exampple:LLOOP AT IITAB I
30、NTOO LINNE WHHERE COL11 1000.WRRITE: / SSY-TAABIX,LINEE-COLL1.ENNDLOOOP.僅讀讀取 COOL1 1000 的元素素格式二:RREAD TABLLE INNTO INNDEX / WITHH KEYY 舉例例. (格格式二)DDATA: BEGGIN OOF ITTAB OOCCURRS 100,COLL1 TYYPE II,COLL2 TYYPE II,ENDD OF ITABB.DO 10 TTIMESS.ITAAB-COOL1 = SY-INDEEX.ITTAB-CCOL2 = SYY-INDDEX * 2.AAPPEN
31、ND ITTAB.EENDDOO.REAAD TAABLE ITABB INDDEX 33.(或者者: REEAD TTABLEE ITAAB WIITH KKEY CCOL1 = 3.)WRIITE: / IITAB-COL11 = , ITTAB-CCOL1, ITTAB-CCOL2 = , ITAAB-COOL2.執執行結果同同樣是: ITABB-COLL1 = 3ITAB-COL22 = 66.Exampple:RREAD TABLLE ITTAB IINTO LINEE INDDEX 55讀取 IITAB的的第5個元元素資料, 放入 LINEE的欄位中中根據欄位內內容尋找語語法:RE
32、EAD TTABLEE INTOO Exaamplee:ITAAB-COOL1 = ABBC.RREAD TABLLE ITTAB IINTO LINEE.找出IITAB 中 COOL1 欄欄位內容是是 ABCC 的元素素, 找到到的值放入入 LINNE 中若若找到 SSY-SUUBRC傳傳回0, 找不到則則傳回 44, 必須宣告告有 woork aarea*修改intternaal taable 中的值格格式: MMODIFFY FRROM INDDEX TRRANSPPORTIING WHHERE 舉例一一. REEAD TTABLEE ITAAB INNDEX 3.LIINE-CCOL1
33、 = 299.MODDIFY ITABB FROOM LIINE TTRANSSPORTTING COL11.將第三三筆記錄的的COL11欄位的值值修改為229.舉例例二. TT_SALLARY - saalaryy = 550.MOODIFYY T_SSALARRY TRRANSPPORTIING ssalarry WHHERE birtthdayy = 19999/12/06.DELEETE iinterrnal tablle中的欄欄位格式: DELLETE IINDEXX .或或: DEELETEE FROMM TOO WHERRE Interrnal tablle 排序序 SORRT
34、BBY 其中: 有有DESCCENDIING 和和ASCEENDINNG, DDefauult 為為ASCEENDINNG.: 為指定排排序的欄位位.Exaamplee: SOORT IITAB DESCCENDIING BBY COOL2.將將 ITAAB 根據據 COLL2欄位遞遞減排序*确定定内表属 性如果在在处理 过过程中想知知 道内表表一共 包包含多少行行 ,或者者想知 道道定义的 OCCUURS 参参数的大小小 ,请使使用 DEESCRIIBE 语语句,用法法 如下:语法DESSCRIBBE TAABLE LINEES OCCCURSS .如果使用用 LINNES 参参数,则将将
35、填充行行的数 量量写入变量量 。 如果使用用 OCCCURS 参数,则则将 行的的初始号 写入变量量 。DDATA: BEGGIN OOF LIINE,CCOL1 TYPEE I,CCOL2 TYPEE I,EEND OOF LIINE.DDATA ITABB LIKKE LIINE OOCCURRS 100.DATTA: LLIN TTYPE I, OOCC TTYPE I.DEESCRIIBE TTABLEE ITAAB LIINES LIN OCCUURS OOCC.WWRITEE: / LIN, OCCC.DO 10000 TIMMES.LLINE-COL11 = SSY-INNDEX
36、.LINEE-COLL2 = SY-IINDEXX * 2.APPPENDD LINNE TOO ITAAB.ENNDDO.DESCCRIBEE TABBLE IITAB LINEES LIIN OCCCURSS OCCC.WRIITE: / LIIN, OOCC.其其输出为:0 1001.0000 100在此创建建内 表 ITABB。 在填填充表格 前后执行行 DESSCRIBBE 语句句。更改 当前行号号, 但无无法更改 初始行号号。*加總SUMM.總和計計算存放与与workk areea中,但但只能在LLOOP 中使用.例: LLOOP AT IITAB INTOO LINNE.SUUM
37、.ENNDLOOOP.WRRITE: / LLINE-COL11, LIINE-CCOL2.LINEE-COLL1 和 LINEE-COLL2 存數數值總和初初始化innternnal ttableeREFREESH . 清清空中中的值.使使用在沒有有 HEAADER LINEE 的 IInterrnal Tablle中, 清除所有有元素CLLEAR . 清空的Heaader Linee.使用在在有 HEEADERR LINNE 的 Inteernall Tabble中, 清除所所有元素FFREE . 釋放記憶憶体空間.釋放(RReleaase) Inteernall Tabble所佔佔的記憶
38、體體空間, 用在 RREFREESH和 CLEAAR指令之之後将值重置为为 默认值值可以用 CCLEARR 语句重重置任 何何数据对象象 值,如如下所 示示:语法CLEEAR .exp:DDATA NUMBBER TTYPE I VAALUE 10.WRIITE NNUMBEER.CLLEAR NUMBBER.WWRITEE / NNUMBEER.输出出为:1000CLEAAR 语句句将字段 NUMBBER 的的内容从110 重置置为默认 值 0。*添加字段 顺序并将将结 果赋赋给另一 个字段语语法ADDD THHEN UNTIIL GGIVINNG .如果果 、 、 、 是在内存存中 相同同
39、类型和 长度的等等距 字段段序列, 则进行求求和 计算算并将结 果赋给 添加字段段 顺序并并将结 果果添加到另另 一个字字段的 内内容中语法法ADD THEEN UUNTILL TOO .该语句句除了 将将字段总和和 添加到到 的旧内内容中 之之外,与上上 面语句句的工 作作方式相同同 。有关关其它相 似变体的的信 息,参参见有 关关 ADDD 语句的的关键 字字文档。DDATA: BEGGIN OOF SEERIESS,N1 TYPEE I VVALUEE 10,N2 TTYPE I VAALUE 20,NN3 TYYPE II VALLUE 330,N44 TYPPE I VALUUE 4
40、00,N5 TYPEE I VVALUEE 50,N6 TTYPE I VAALUE 60,EEND OOF SEERIESS.DATTA SUUM TYYPE II.ADDD SERRIES-N1 TTHEN SERIIES-NN2 UNNTIL SERIIES-NN5 GIIVINGG SUMM.WRIITE SSUM.AADD SSERIEES-N22 THEEN SEERIESS-N3 UNTIIL SEERIESS-N6 TO SSUM.WWRITEE / SSUM.输输出如下:1503550在此,将将 N1 到 N55 组件内内容求 和和并将其值值 赋给字字段 SUUM。然 后,将
41、 N2 到到 N6组组件求 和和并将其添添 加到 SUM 的值中。*屏屏幕輸入命命令在ABAPP/4中要要從螢幕輸輸入變量, 使用的的命令是 PARAAMETEERS 及及SELEECTIOON-OPPTIONNS: 11. PAARAMEETER: 輸入一一個變量或或欄位內容容2. SSELECCTIONN-OPTTIONSS: 使用用條件篩選選畫面來輸輸入數据 PARAMMETERRS 指令令基本的輸輸入命令, 類似如如BASIIC的INNPUT命命令, 但但無法使用用F格式(浮點數)語法:PAARAMEETERSS DEEFAULLT LOWEER CAASEOBLIIGATOORY A
42、S CHECCKBOXXRAADIOBBUTTOON GRROUP EExampple:PPARAMMETERRS: NNAME(8),AAGE TTYPE I,BIIRTH TYPEE D.執執行結果: 在日期期的輸入格格式上為 MM/DDD/YYY , MMM/DDD/YYYYY, MMMDDYYY或MMMDDYYYYY , 如輸入入 0200165表表 19665年022月01日日, 與002/011/65的的輸入是一一樣的, 日期輸入入範圍為西西元19550年至22049年年1. DDEFAUULT 設設定輸入的的預設值EExampple:PPARAMMETERRS: CCOMPAAN
43、Y(220) DDEFAUULT DELTTA,BBIRTHH TYPPE D DEFAAULT 1966502001.22. LOOWER CASEEABAPP/4預設設是將字串串輸入值自自動轉換為為大寫, 加上此參參數會將輸輸入的資料料轉成小寫寫, 3. OBLLIGATTORY強強制要求輸輸入, 螢螢幕上會出出現一個 ? , 使用者必必須要輸入入才可.44. ASS CHEECKBOOX輸入 CHECCKBOXX的格式EExampple:PPARAMMETERRS: TTAX AAS CHHECKBBOX DDEFAUULT X,NNTD AAS CHHECKBBOX.執執行結果:5.
44、RRADIOOBUTTTON GGROUPP 輸入入 RADDIO BBUTTOON GRROUP 的方式EExampple:PPARAMMETERRS: BBOY RRADIOOBUTTTON GGROUPP SEXX DEFFAULTT X, GIIRL RRADIOOBUTTTON GGROUPP SEXX.expp :TAABLESS SPLLFI.PPARAMMETERRS: LLOW LLIKE SPFLLI-CAARRIDD, HIIGH LLIKE SPFLLI-CAARRIDD.SELLECT * FRROM SSPLFII WHEERE CCARRIID BEETWEEEN
45、 LOOW ANND HIIGH.EENDSEELECTT.*SELEECTIOON-OPPTIONNSSELLECTIION-OOPTIOONS所輸輸入的值實實際上是放放在intternaal taable中中的,該IInterrnal tablle 有四四個欄位,分別是:SIGNN,OPTTION,LOW,HIGHH. 條條件篩選檢檢查條件輸輸入畫面指指令, 輸輸入條件後後可配合SSELECCT指令自自TABLLE讀取符符合條件的的資料, 直接執行行或放入 Inteernall Tabble中, 條件有有四個參數數:1. SIGNN: I: 表篩選選條件符合合的資料EE: 表篩篩選條件不不
46、符合的資資料2. OPTIION: 比較的條條件符號EEQ(等於於),NEE(不等於於),GTT(大於),LE(小於),CP(包包含),NNP(不包包含)3. LOWW: 最小小值4. HIGHH: 最大大值語法:SELEECTIOON-OPPTIONNS FORR Exxamplle:TAABLESS SPFFLI.SSELECCT-OPPTIONNS AIIRLINNE FOOR SPPFLI-CONNNID.將將條件的輸輸入值存放放入 AIIRLINNE, 篩篩選選擇為為SPFLLI中的CCONNIID欄位改變條件輸輸入格式11. DEEFAULLT TOO 設定定開始結束束範圍輸入入預
47、設值EExampple:SSELECCT-OPPTIONNS AIIRLINNE FOOR SPPFLI-CONNNID DDEFAUULT 20422 TOO 45555.2. NNO-EXXTENSSION設設定不要MMultii-Opttion輸輸入畫面33. NOO INTTERVAALS設定定不要區間間範圍輸入入畫面4. LOWWER CCASE輸輸入轉換成成大寫5. OBLLIGATTORY強強制要求輸輸入*配合 SEELECTT 命令條條件輸入完完後要將符符合條件的的資料篩選選出來, 可配合使使用 SEELECTT 指令11.使用WWHEREE Exxamplle:TAABLES
48、S SPFFLI.SSELECCT-OPPTIONNS AIIRLINNE FOOR SPPFLI-CONNNID.SSELECCT * FROMM SPFFLI WWHEREE CONNNID IN AAIRLIINE.WWRITEE: / SPFLLI-COONNIDD,SPFFLI-CCITYFFROM,SPFLLI-CIITYTOO.ENDDSELEECT.22.使用CCHECKK參數Exxamplle:TAABLESS SPFFLI.SSELECCT-OPPTIONNS AIIRLINNE FOOR SPPFLI-CONNNID.SSELECCT * FROMM SPFFLI.CCH
49、ECKK AIRRLINEE.WRIITE: / SPPFLI-CONNNID,SSPFLII-CITTYFROOM,SPPFLI-CITYYTO.EENDSEELECTT.*exp: TABBLES SPFLLI.SEELECTT-OPTTIONSS: S_CARRRID FFOR SSPFLII-CARRRID,S_CIITYFRR FORR SPFFLI-CCITYFFROM,S_CIITYTOO FORR SPFFLI-CCITYTTO,S_CONNNID FFOR SSPFLII-CONNNID.SELEECT * FROOM SPPFLI.CHECCK: SSPFLII-CARRR
50、ID IN SS_CARRRID,SPFLLI-CIITYFRR IN S_CIITYFRR,SPFFLI-CCITYTTO INN S_CCITYTTO,SPPFLI-CONNNID IIN S_CONNNID.WWRITEE: / SPFLLI-CAARRIDD, SPPFLI-CONNNID, SPFLLI-CIITYFRROM, SPFLLI-CIITYTOO.ENDDSELEECT.33.使用 IF IN 敘述Exxamplle:SEELECTT-OPTTIONSS AIRRLINEE FORR SPFFLI-CCONNIID.SEELECTT * FFROM SPFLLI.IFF
51、SPFFLI-CCONNIID INN AIRRLINEE.WRIITE: / SPPFLI-CONNNID,SSPFLII-CITTYFROOM,SPPFLI-CITYYTO.EENDIFF.ENDDSELEECT.*SELECCTIONN-SCRREEN 1.產生生空白列語語法:SEELECTTION-SCREEEN SSKIP Exaamplee:SELLECTIION-SSCREEEN SKKIP 22.產生兩兩列空白列列2.產生生底線語法法:SELLECTIION-SSCREEEN ULLINE / (lenggth)EExampple:SSELECCTIONN-SCRREEN UL
52、INNE /110(300).自第第10格開開始產生長長度30的的底線3.印出備註註說明語法法: SEELECTTION-SCREEEN CCOMMEENT / (llengtth) Exaamplee:REMMARK = PPls eenterr youur naame.SELEECTIOON-SCCREENN COMMMENTT /100(30) REMMARK.4. 同同一列中輸輸入數個資資料項語法法:SELLECTIION-SSCREEEN BEEGIN OF LLINE.SELLECTIION-SSCREEEN ENND OFF LINNE.Exxamplle:SEELECTTION
53、-SCREEEN BBEGINN OF LINEE.SELLECTIION-SSCREEEN POOSITIION 220.PAARAMEETERSS NAMME(100).SEELECTTION-SCREEEN PPOSITTION 40.PPARAMMETERRS BIIRTH TYPEE D.SSELECCTIONN-SCRREEN END OF LLINE.在20格格輸入NAAME內容容, 400格輸入 BIRTTH的內容容5. 繪出出BLOCCK PAANEL語語法:SEELECTTION-SCREEEN BBEGINN OF BLOCCK WIITH FFRAMEE TIITLE
54、.SELEECTIOON-SCCREENN ENDD OF BLOCCK .Exxamplle:SEELECTTION-SCREEEN BBEGINN OF BLOCCK RAADIO WITHH FRAAME .PARAAMETEER R11 RADDIOBUUTTONN GROOUP GGR1.PPARAMMETERR R2 RADIIOBUTTTON GROUUP GRR1.PAARAMEETER R3 RRADIOOBUTTTON GGROUPP GR11.SELLECTIION-SSCREEEN ENND OFF BLOOCK RRADIOO. *SQL語法法我們在編編寫ABAAP4
55、程式式的時候,經常需要要從TABBLE中根根据某些條條件讀取數數据,.讀讀取數据最最常用的方方法就是通通過SQLL語法實現現的.ABBAP/44 中可以以利用SQQL語法創創建或讀取取TABLLE,SQQL語法分分為DDLL(DATTA DEEFINEE LANNGUAGGE)語言言和DMLL(DATTA MUULTIPPULATTION LANGGUAGEE)語言,DDL語語言是指數數据定義語語言,例如如CREAATE等, DMLL語言是數數据操作語語言,例如如SELEECT, INSEERT等語語句. SSQL語句句有OPEEN SQQL語句和和NATIIVE SSQL語句句. OPPEN
56、 SSQL語句句不是標准准SQL語語句,是AABAP/4語言,利用OPPEN SSQL語句句能在Daatabaases 和 Coommannd 之間間產生一個個BUFFFER,所所以它有一一個語言轉轉換的過程程.而NAATIVEE SQLL語句則是是標准的SSQL語句句, 它直直接針對DDatabbasess操作.OPEN SQLSELECCT語句語語法格式:SELEECT INTTO FROOM WHEERE GROUUP BYY ORDEER BYY 其中中: 指定定要抓取的的欄位將讀讀取的記錄錄存放在wwork areaa中指定從從那個TAABLE中中讀取資料料抓抓取資料的的條件指定定按
57、那些欄欄位分組排排序的欄位位及方式相相關的系統統變量:SSY-SUUBRC = 0 表示讀取取數据成功功 00 表示未未找到符合合條件的記記錄SY-DBLNNT: 被被處理過的的記錄的筆筆數.相關關的命令:EXITT. 退出出循環.CCHECKK .如果果邏輯表達達式成立,則繼續執執行,否則則,開始下下一次循環環.利用循循環方式讀讀取所有記記錄SELLECT .ENNDSELLECT.是循環方方式讀取記記錄的.例例如:TAABLESS MARRD.SEELECTT DIISTINNCT * FRROM MMARD WHERRE MAATNR = 3352044217000.ENDSSELECC
58、T.(從從MARDD中抓取所所有料號=352004217700的資資料)讀讀取一筆資資料Exaamplee:TABBLES SPFLLI.SEELECTT SINNGLE * FRROM SSPFLII WHEERE PPLANTT =CCHUNGGLI AND TEL=452261744.WRRITE: / SSPFLII-COMMPANYY,SPFFLI-PPLANTT,SPFFLI-TTEL.將讀取的的記錄放在在workk areea中,并并且加入IInterrnal tablle 中.格式有:. INTOO . INTOO CORRRESPPONDIING FFIELDDS OFF .
59、 INTOO (f11, , ffn) 變變量組. IINTO TABLLE INNTO CCORREESPONNDINGG FIEELDS OF TTABLEE APPPENDIING TTABLEE APPPENDIING CCORREESPONNDINGG FIEELDS OF TTABLEE 舉例一一:TABBLES MARDD. DAATA: BEGIIN OFF ITAAB OCCCURSS 10,MATNNR LIIKE MMARD-MATNNR,WEERKS LIKEE MARRD-WEERKS,LGORRT LIIKE MMARD-LGORRT,LAABST LIKEE MA
60、RRD-LAABST,END OF IITAB.SELEECT MMATNRR WERRKS LLGORTT LABBST IINTO CORRRESPOONDINNG FIIELDSS OF ITABB FROOM MAARDWHHERE MATNNR = 352204211700.APPPEND ITABB.CLEEAR IITAB.ENDSSELECCT.(將將讀取的結結果放在IInterrnal tablle ITTAB中)DATA: BEGGIN OOF WAA, LIINE(2240),END OF WWA.DAATA NNAME(10).NAMEE = SPFLLI.SSELEC
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年全球铀矿资源分布趋势分析:核能产业未来发展潜力研究报告
- 年产120MW太阳能电池组件项目环境影响报告
- 高强钢焊丝行业深度研究分析报告(2024-2030版)
- 2025年巨型计算机项目深度研究分析报告
- 2025年抗毒素类生物制品项目投资分析及可行性报告
- 2025年女童短款羽绒服项目市场调查研究报告
- 2025-2030中国烟缸带打火机行业市场发展分析及发展趋势与投资研究报告
- 2025-2030中国流苏靴行业市场发展分析与发展趋势及投资风险研究报告
- 2025-2030中国法兰绒睡衣行业发展现状及发展趋势与投资风险研究报告
- 物流行业合同会签制度流程实践
- 硅热式风速传感器输出稳定性的多维度解析与优化策略研究
- Brand KPIs for spirits Tito's Handmade Vodka in the United States-外文版培训课件(2025.2)
- 2025届深圳市高三年级第二次调研试题讲评 课件
- 北京2025年中国专利信息中心招聘14名社会在职人员笔试历年参考题库附带答案详解
- 中华人民共和国保守国家秘密法实施条例
- 机票代理合作协议
- 三峡库区秭归县头道河Ⅱ号滑坡防治工程地质详细勘查报告
- 三腔二囊管压迫止血及护理课件
- GB∕T 20565-2022 铁矿石和直接还原铁 术语
- 动力电池和电机电控英语术语汇总
- 普利兹克奖历届得主及作品赏析
评论
0/150
提交评论