ImageVerifierCode 换一换
格式:DOCX , 页数:52 ,大小:122.56KB ,
资源ID:11423860      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/11423860.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(SAP基础知识学习整理.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

SAP基础知识学习整理.docx

1、SAP基础知识学习整理数据类型C :字符串D :日期型 格式为 YYYYMMDD 例: 1999/12/03 F : 浮点数 长度为 8I :整数N :数值组成的字符串 如: 011, 302P : PACKED数 用于小数点数值 女口: 12.00542T : 时间 格式为: HHMMSS 如: 14:03:00X : 16进制数 如: 1A03变数宣告DATA decimals 变数名称 变数类型 及 长度 初值 小数位数exp:DATA : COUNTER TYPE P DECIMALS 3.NAME(10) TYPE C VALUE DELTA.S_DATE TYPE D VALUE

2、19991203.exp:DATA : BEGIN OF PERSON,NAME(10) TYPE C,AGE TYPE I,WEIGHT TYPE DECIMALS 2,END OF PERSON.另外,有關DATA宣告的指令還有:CONSTANTS宣告常數)、STATICS臨時變數宣 告).exp:CONSTANTS PI TYPE P DECIMALS 5 VALUE 3.14159.STATICS 敘述宣告的變數僅在目前的程式中使用 , 結束後會自動釋放語法:STATICS 系統專用變數說明系統內部專門創建了 SYST這個STRUCTUR里面的欄位存放系統變數,常用的系 統變數有 :S

3、Y-SUBRC : 系統執行某指令后 , 表示執行成功与否的變數 ,0 表示成功SY-UNAME當前使用者登入 SAP的 USERNAME;SY-DATUM:當前系統日期;SY-UZEIT: 當前系統時間 ;SY-TCODE:當前執行程式的 Transaction codeSY-INDEX :當前LOOPS環過的次數SY-TABIX: 當前處理的是 internal table 的第几筆SY-TMAXL: Internal table 的總筆數SY-SROWS屏幕總行數;SY-SCOLS:屏幕總列數;SY-MANDT: CLIENT NUMBERSY-VLINE: 畫豎線SY-ULINE: 畫

4、橫線TYPE 敘述用來指定資料型態或宣告自定資料型態Example:TYPES: BEGIN OF MYLIST,NAME(10) TYPE C,NUMBER TYPE I,END OF MYLIST.DATA LIST TYPE MYLIST.LIKE 敘述跟TYPE敘述使用格式相同,如DATA TRANSCODE LIKE SY-TCODE.不同的是LIKE用在已有值的資料項,如系統變數,而TYPE敘述則是用 在指定資料型態。输出1.WRITE 語句ABAP/4用來在屏幕上輸出資料的指令是 WRITE指令,例如:WRITE: USER NAME IS:, SY-UNAME.2.指定屏幕輸出

5、位置 指定輸出位置的語句格式為 :WRITE: AT / () 資料項 其中: / : 在下一行輸出: 指定輸出的行號 ;(): 指定輸出位數 ( 長度): 指定顯示格式參數 , 參數有 :LEFT-JUSTIFIED 資料靠左對齊CENTERE資料靠中間對齊RIGHT-JUSTIFIED 資料靠右對齊UNDER vg正對在資料項vg的下面顯示NO-GAP緊接著顯示,不留空格USING EDIT MASK :使用內嵌子元顯示,如12:03:20USING NO EDIT MASK不使用內嵌子元NO-ZERO:數字前面0的部分不顯示NO-SIGN: 不顯示正負號DECIMALS : 顯示 位小數

6、EXPOENT : F浮點數)指數的值ROUND :四舍五入至小數點后位CURRENCY 幣別顯示DD/MM/YY : 日期顯示格式MM/DD/YY:YY/MM/DD:YY/DD/MMMM/DD/YYYY:DD/MM/YYYYYYYY/MM/DD:YYYY/DD/MM:例如 1: WRITE: /10(6) ABCDEFGHIJK.輸出結果為 : ABCDEF例如 2: DATA: X TYPE I VALUE 11:20:30,A(5) TYPE C VALUE AB CDE.WRITE: / X USING EDIT MASK _:_:_.WRITE: / X USING EDIT MAS

7、K $_,_.WRITE: / Y NO-GAP.輸出結果為 :11:20:30$112,030ABCDEF例如 3: DATA: LEN TYPE I VALUE 10,POS TYPE I VALUE 11,TEXT(10) VALUE 1234567890WRITE The text appears in the text.WRITE AT POS(LEN) TEXT.WRITE TO语句的基本形式要将值(文 字)或源字 段内容写入 目标字段, 可以使用 WRITE TO 语句: 语法WRITE TO .DATA: NUMBER TYPE F VALUE 4.3,TEXT(10),FLO

8、AT TYPE F,PACK TYPE P DECIMALS 1.WRITE NUMBER.WRITE NUMBER TO TEXT EXPONENT 2.WRITE / TEXT.WRITE NUMBER TO FLOAT.WRITE / FLOAT.WRITE NUMBER TO PACK.WRITE / PACK.MOVE NUMBER TO PACK.WRITE / PACK.exp:DATA: NAME(10) VALUE SOURCE,SOURCE(10) VALUE Antony, TARGET(10).WRITE (NAME) TO TARGET.WRITE: TARGET.e

9、xp :DATA: COUNTER TYPE I.COMPUTE COUNTER = COUNTER + 1.COUNTER = COUNTER + 1.ADD 1 TO COUNTER.在此,三条 运算语句进 行相同算术 运算输出屏幕上 的线和空行用下列语法 ,可以在输 出屏幕上生 成水平线: 语法ULINE AT /().它等同于WRITE AT /() SY-ULINE.AT 后的格式规 范,与在 在屏幕上定 位 WRITE 输出 ( 页 28) 中为 WRITE 语 句说明的 格式规范完 全一样。如果没有格 式规范,系 统则开始新 的一行,并 用水平线填 充该行。否 则, 只按指 定输

10、出水平 线。生成水平线 的另一种方 法,是在 WRITE 语句中键入 恰当数量的 连字符,如 下所示:WRITE AT /() .垂直线用下列语法 ,可以在输 出屏幕上生 成垂直线: 语法WRITE AT / SY-VLINE.或WRITE AT / |.空行用下列语法 ,可以在输 出屏幕上生 成空行: 语法SKIP .该语句从当 前行开始, 在输出屏幕 上生成 个空行。如 果没有指定 的值,就输 出一个空行 。要将输出定 位在屏幕的 指定行上, 请使用: 语法SKIP TO LINE .四. 顯示圖示 :語法: WRITE: AS SYMBOL.WRITE: AS ICON.例如: INCL

11、UDE .INCLUDE .WRITE: / Phone symbol:, SYM_PHONE AS SYMBOL.WRITE: / Alarm Icon:, ICON_VOICE_OUTPUT AS ICON. 要查看系統所提供有那些符號及圖示 , 可選擇 EDIT 下的 Insert Statement, 選擇Write,接下來選擇要查看的群組,如SYMB0或ICON,接下來按 Display 即可 .一. Internal Table 的宣告ABAP/4中的Internal Table 是一种Data Structure, 類似于其他語言中的STRUTUR它可以由几個不同類型的欄位(fi

12、eld) 組成,用來表示具有不同屬性的 某一事物 , 單獨一筆資料表示某個事物 , 多筆資料表示具有相同屬性的多個事物Internal table 的定義有以下几种格式 : 格式一. DATA: BEGIN OF OCCURS , TYPE , TYPE , TYPE ,.END OF .語法:DATA OCCURS WITH HEADER LINE Example:DATA VECTOR TYPE I OCCURS 10 WITH HEADER LINE.格式二. TYPES: BEGIN OF , TYPE , TYPE , TYPE ,.END OF .TYPES TYPE OCCURS

13、 .格式三. DATA: BEGIN OF .INCLUDE STRUCTURE .DATA: END OF .DATA: LIKE OCCURS .exp:TYPES VECTOR TYPE I OCCURS 10.TYPES: BEGIN OF LINE,COLUMN1 TYPE I,COLUMN2 TYPE I,COLUMN3 TYPE I,END OF LINE.TYPES ITAB TYPE LINE OCCURS 10.TYPES: BEGIN OF DEEPLINE,TABLE1 TYPE VECTOR,TABLE2 TYPE ITAB,END OF DEEPLINE.TYPES

14、 DEEPTABLE TYPE DEEPLINE OCCURS 10.本示例创建与上例相同 的内表数据类型(VECTOR和ITAB )。然后创建数 据类型 DEEPLINE 作为字段串 ,包含这些 内表作为组 件。通过该 字段串,数 据类型DEEPTABLE被创建为内 表。因此该 内表的元素 本身就是内 表。exp :TYPES: BEGIN OF LINE,COLUMN1 TYPE I,COLUMN2 TYPE I,COLUMN3 TYPE I,END OF LINE.TYPES ITAB TYPE LINE OCCURS 10.DATA TAB1 TYPE ITAB.DATA TAB2 L

15、IKE TAB1 WITH HEADER LINE.同 创建内表数 据类型 ( 页 99) 中所示,该 示例创建数 据类型 ITAB 作为内 表。 通过使用 DATA 语句的 TYPE 参数引用 ITAB, 使数据对象 TAB1 与 ITAB 结构相同。通过使用DATA语句的LIKE参数引用TAB1,使数据对象TAB2结 构相同。 创建的 TAB2 带表头行。 因此, 可以 在程序中使 用 TAB2-COLUMN、1 TAB2-COLUMN TAB2-COLUMN等定位表格工作区域 TAB2。exp :DATA FLIGHT_TAB LIKE SFLIGHT OCCURS 10.本示例创建 数

16、据对象 FLIGHT_TAB, 其结构与数 据库表格 SFLIGHT 相同。本示例介绍 如何采用两 种不同的步 骤创建同一 内表。TYPES VECTOR_TYPE TYPE I OCCURS 10.DATA VECTOR TYPE VECTOR_TYPE WITH HEADER LINE.在 此创建一 个内表数据 类型 VECTOR_TYP,E 其行包含首 先创建的基 本类型I字段。然后,通过引用VECTOR_TYPEj建数据对象VECTOR通过使用WITH HEADERLINE 选项还创建 表格工作区 域 VECTOR。 在这种情况 下,表格工 作 区域包含 一种类型I字段,可以 通过名称

17、VECTOR定位。DATA VECTOR TYPE I OCCURS 10 WITH HEADER LINE.在这种情况 下,通过直 接在DATA语句中使用OCCURS选项创建完 全一样的 数 据类型 VECTOR。1.TYPES type.2.TYPES type(len).3.TYPES: BEGIN OF structype .END OF structype.4.TYPES itabtype TYPE tabkind OF linetype LIKE tabkind OF lineobj WITH UNIQUE|NON-UNIQUE keydef INITIAL SIZE n.5.TY

18、PES itabtype TYPE RANGE OF type.TYPES itabtype LIKE RANGE OF f.6.TYPES itabtype TYPE linetype|LIKE lineobj OCCURS n.APPEND LINE格式: APPEND TO 举例一: (使用 WORK AREA)DATA : BEGIN OF LINE,COL1 TYPE I,COL2 TYPE I,END OF LINE.DATA ITAB LIKE LINE OCCURS 10.DO 2 TIMES.LINE-COL1 = SY-INDEX.LINE-COL2 = SY-INDEX

19、* 2.APPEND LINE TO ITAB.ENDDO.LOOP AT ITAB INTO LINE.WRITE : / LINE-COL1,LINE-COL2.ENDLOOP.举例二 ( 不使用 WORK AREA)DATA : BEGIN OF ITAB OCCURS 10,COL1 TYPE I,COL2 TYPE I,END OF ITAB.DO 2 TIMES.ITAB-COL1 = SY-INDEX.ITAB-COL2 = SY-INDEX * 2.APPEND ITAB.ENDDO.LOOP AT ITAB.WRITE : / ITAB-COL1,ITAB-COL2.ENDL

20、OOP.exp:DATA: BEGIN OF ITAB OCCURS 10,COL1 TYPE C,COL2 TYPE I,END OF ITAB.DO 3 TIMES.APPEND INITIAL LINE TO ITAB.ITAB-COL1 = SY-INDEX. ITAB-COL2 = SY-INDEX * 2.APPEND ITAB.ENDDO.LOOP AT ITAB.WRITE: / ITAB-COL1, ITAB-COL2.ENDLOOP.舉例三 . ( 加入另一個 Internal table 的元素 )格式: APPEND LINES OF FROM TO TO .將的元素加

21、入至中,可選取自至的范圍.APPEND LINES OF ITAB TO JTAB.COLLECT LINECOLLECT旨令也是將元素加入Internal table中,与APPEND勺區別是:COLLECT 指令在非數值欄位相同的情況下 , 將數值欄位匯總 .格式: COLLECT INTO DATA: BEGIN OF ITAB OCCURS 3,COL1(3) TYPE C,COL2 TYPE I,END OF ITAB.ITAB-COL1 = ABC. ITAB-COL2 = 10. COLLECT ITAB.ITAB-COL1 = XYZ. ITAB-COL2 = 20. COLL

22、ECT ITAB.ITAB-COL1 = ABC. ITAB-COL2 = 80. COLLECT ITAB.此時, internal table 中放的是 2筆數据, 分別為:ITAB-COL1 ITAB-COL2ABC 90XYZ 20INSERT LINE 將元素插入在指定的 internal table 位置之前 .格式: INSERT INTO INITIAL LINE INTO INDEX 或者 : INSERTLINES OF FROM TO INTO INDEX 其中:即work area,工作區中的元素.INITIAL LINE INTO : 插入一筆初始化的記錄 .: in

23、ternal tableINDEX : internal table 的記錄號 .( 新加入的元素放在此記錄前面 )Example:DATA: BEGIN OF LINE,COL1 TYPE I,COL2 TYPE I,END OF LINE.DATA ITAB LIKE LINE OCCURS 10.DO 3 TIMES.LINE-COL1 = SY-INDEX *10.LINE-COL2 = SY-INDEX *20.APPEND LINE INTO ITAB.ENDDO.LINE-COL1=100.LINE-COL2=200.INSERT LINE INTO ITAB INDEX 2.

24、插入在位置 2 之前 LOOP AT ITAB INTO LINE.WRITE: / SY-TABIX,LINE-COL1,LINE-COL2. SY-TABIX 為 Table 位置 ENDLOOP.執行結果 :110 202100 200 插入的元素320 40430 60插入另一 Internal Table 元素 語法:INSERT LINES OF FROM TO TO INDEX 將的元素插入至中,位置在之前,可選取自至 的範圍Example:APPEND LINES OF ITAB TO JTAB INDEX 3.將ITAB所有元素插入JTAB中,位置在第三個元素之前 讀取 in

25、ternal table格式一:LOOP AT INTO FROM TO WHERE ENDLOOP.Example:LOOP AT ITAB INTO LINE WHERE COL1 100.WRITE: / SY-TABIX,LINE-COL1.ENDLOOP.僅讀取 COL1 100 的元素格式二:READ TABLE INTO INDEX / WITH KEY 舉例. ( 格式二)DATA: BEGIN OF ITAB OCCURS 10,COL1 TYPE I,COL2 TYPE I,END OF ITAB.DO 10 TIMES.ITAB-COL1 = SY-INDEX.ITAB-

26、COL2 = SY-INDEX * 2.APPEND ITAB.ENDDO.READ TABLE ITAB INDEX 3.(或者: READ TABLE ITAB WITH KEY COL1 = 3.)WRITE: / ITAB-COL1 = , ITAB-COL1, ITAB-COL2 = , ITAB-COL2. 執行結果同樣是 :ITAB-COL1 = 3ITAB-COL2 = 6.Example:READ TABLE ITAB INTO LINE INDEX 5讀取 ITAB 的第 5 個元素資料 , 放入 LINE 的欄位中 根據欄位內容尋找語法:READ TABLE INTO E

27、xample:ITAB-COL1 = ABC.READ TABLE ITAB INTO LINE.找出 ITAB 中 COL1 欄位內容是 ABC 的元素 , 找到的值放入 LINE 中若找到SY-SUBR(傳回0,找不到則傳回4, 必須宣告有work area修改 internal table 中的值格式: MODIFY FROM INDEX TRANSPORTINGvf1vf2 WHERE vconditions舉例一. READ TABLE ITAB INDEX 3.LINE-COL1 = 29.MODIFY ITAB FROM LINE TRANSPORTING COL1.將第三筆記錄的COL1欄位的值修改為29.舉例二. T_SALARY - salary = 50.MODIFY T_SALARY TRANSPORTING salary WHERE birthday

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1