WRITE
DATA:MSG1(20) TYPE C VALUE '測試',
MSG2(20) TYPE C VALUE 'ABAP',
MSG3(20) TYPE C VALUE '消息!'.
WRITE 'HELLO WORLD'.
WRITE / TEXT-001. “ 注意反斜杠兩邊的空格
"MESSAGE E003(YMESS).
MESSAGE I006(YMESS) WITH MSG1 MSG2 MSG3.
FIELD-SYMBOLS
*3.1FIELD-SYMBOLS---------------------------------------------------------------------*
DATA:BEGIN OF MAN,
NAME(30) TYPE C, "長度不足左邊會補以空格顯示
HIGH TYPE P DECIMALS 2,
WEIGHT TYPE P DECIMALS 2,
END OF MAN.
FIELD-SYMBOLS <FSA> LIKE MAN.
DATA MAN1 LIKE MAN.
MAN1-NAME =' ZHANGLIN'. "注意等號空格
MAN1-HIGH = '1.78'.
MAN1-WEIGHT = 140.
ASSIGN MAN1 TO <FSA>.
WRITE: / <FSA>-NAME,
CONCATENATE
3.2.1合并字符串---------------------------------------------------------------------*
*
CONCATENATE:实现字符串的合并
SPARATED BY表示在连接字符串中加入符号
DATA:C1(2) TYPE C,
C2(2) TYPE C,
C3(2) TYPE C,
C4(2) TYPE C,
C5(20) TYPE C,
C9(2) TYPE C.
C1 = 'AB'.
C2 = 'CD'.
C3 = 'EF'.
C4 = 'GH'.
C9 = '+'.
CONCATENATE C1 C2 C3 C4 INTO C5.
WRITE / C5.
CONCATENATE C1 C2 C3 C4 INTO C5 SEPARATED BY C9.
WRITE / C5.
SPLIT…AT…INTO
3.2.2拆分字符串---------------------------------------------------------------------*
DATA:C1(2) TYPE C,
C2(2) TYPE C,
C3(2) TYPE C,
C4(2) TYPE C,
C5(20) TYPE C VALUE '11 * 22 * 33 * 44', "字符中間需有空格,否則拆分不出來(只能拆出一個)
C9(2) TYPE C.
C9 = '*'.
WRITE / C5.
SPLIT C5 AT C9 INTO C1 C2 C3 C4.
LIKE TABLE OF…WITH HEADER LINE
3.3內表帶有標題行---------------------------------------------------------------------*
DATA:BEGIN OF MAN,
NAME(20) TYPE C, "長度不足左邊會補以空格顯示 MAN可以當表頭使用
HIGH TYPE P DECIMALS 2,
WEIGHT TYPE P DECIMALS 2,
END OF MAN.
DATA: MAN1 LIKE TABLE OF MAN WITH HEADER LINE, "內表帶有表頭
MAN2 LIKE TABLE OF MAN. "內表無表頭
MAN-NAME =' 張志'. "注意等號空格
MAN-HIGH = '1.68'.
MAN-WEIGHT = 120.
APPEND MAN TO MAN1. "結構用Append ..... to.....
MAN-NAME =' 劉強'. "注意等號空格
MAN-HIGH = '1.78'.
MAN-WEIGHT = 160.
APPEND MAN TO MAN1.
MOVE MAN1[] TO MAN2. "有表头行的内表在运用时要带个中括号
LOOP AT MAN2 INTO MAN.
WRITE: / MAN-NAME,MAN-HIGH,MAN-WEIGHT.
ENDLOOP.
LOOP AT MAN1. "有表頭行的可以直接讀取
WRITE: / MAN1-NAME,MAN1-HIGH,MAN1-WEIGHT.
ENDLOOP.
SORT…DESCENDING BY…ASCENDING.
3.4內表排序---------------------------------------------------------------------*
DATA:BEGIN OF MAN,
NAME(20) TYPE C, "長度不足左邊會補以空格顯示 MAN可以當表頭使用
HIGH TYPE P DECIMALS 2,
WEIGHT TYPE P DECIMALS 2,
END OF MAN.
DATA: MAN1 LIKE HASHED TABLE OF MAN WITH UNIQUE KEY NAME. "哈希表
MAN-NAME =' 張志'. "注意等號空格
MAN-HIGH = '1.68'.
MAN-WEIGHT = 120.
INSERT MAN INTO TABLE MAN1. "哈希表添加數據 INSERT ......INTO TABLE.....
MAN-NAME =' 劉強'. "注意等號空格
MAN-HIGH = '1.78'.
MAN-WEIGHT = 160.
INSERT MAN INTO TABLE MAN1.
MAN-NAME =' 朱三'. "注意等號空格
MAN-HIGH = '1.72'.
MAN-WEIGHT = 130.
INSERT MAN INTO TABLE MAN1.
LOOP AT MAN1 INTO MAN.
WRITE: / MAN-NAME,MAN-HIGH,MAN-WEIGHT.
ENDLOOP.
SORT MAN1 DESCENDING BY WEIGHT ASCENDING.
SKIP.
ULINE.
LOOP AT MAN1 INTO MAN.
WRITE: / MAN-NAME,MAN-HIGH,MAN-WEIGHT.
ENDLOOP.
MODIFY TABLE…FROM…
3.5修改內表數據---------------------------------------------------------------------*
DATA:BEGIN OF MAN,
NAME(20) TYPE C, "長度不足左邊會補以空格顯示 MAN可以當表頭使用
HIGH TYPE P DECIMALS 2,
WEIGHT TYPE P DECIMALS 2,
END OF MAN.
DATA: MAN1 LIKE HASHED TABLE OF MAN WITH UNIQUE KEY NAME. "哈希表
MAN-NAME =' 張志'. "注意等號空格
MAN-HIGH = '1.68'.
MAN-WEIGHT = 120.
INSERT MAN INTO TABLE MAN1. "哈希表添加數據 INSERT ......INTO TABLE.....
MAN-NAME =' 劉強'. "注意等號空格
MAN-HIGH = '1.78'.
MAN-WEIGHT = 160.
INSERT MAN INTO TABLE MAN1.
LOOP AT MAN1 INTO MAN.
WRITE: / MAN-NAME,MAN-HIGH,MAN-WEIGHT.
ENDLOOP.
MAN-NAME =' 張志'. "注意等號空格
MAN-HIGH = '2.22'.
MAN-WEIGHT = 220.
MODIFY TABLE MAN1 FROM MAN. "根據Key =Name 來修改數據 MODIFY TABLE....FROM...
LOOP AT MAN1 INTO MAN.
WRITE: / MAN-NAME,MAN-HIGH,MAN-WEIGHT.
ENDLOOP.
DELETE…WHERE…
"3.6刪除內表記錄---------------------------------------------------------------------*
DATA:BEGIN OF MAN,
NAME(5) TYPE C, "長度不足左邊會補以空格顯示 MAN可以當表頭使用
HIGH TYPE P DECIMALS 2,
WEIGHT TYPE P DECIMALS 2,
END OF MAN.
DATA: MAN1 LIKE HASHED TABLE OF MAN WITH UNIQUE KEY NAME. "哈希表
DATA:DELNAME(5) TYPE C.
MAN-NAME =' 張參'. "注意等號空格
MAN-HIGH = '1.68'.
MAN-WEIGHT = 120.
INSERT MAN INTO TABLE MAN1. "哈希表添加數據 INSERT ......INTO TABLE.....
MAN-NAME =' 劉志'. "注意等號空格
MAN-HIGH = '1.78'.
MAN-WEIGHT = 160.
INSERT MAN INTO TABLE MAN1.
LOOP AT MAN1 INTO MAN.
WRITE: / MAN-NAME,MAN-HIGH,MAN-WEIGHT.
ENDLOOP.
DELNAME = '張參'. "不足前面如何補空格?
"DELETE MAN1 WHERE NAME = ' 張參'.
"注意變量定義長度,不足的前面補空格,查詢條件需等同空格,否則刪除不了
DELETE MAN1 WHERE NAME = DELNAME.
SKIP.
ULINE.
LOOP AT MAN1 INTO MAN.
WRITE: / MAN-NAME,MAN-HIGH,MAN-WEIGHT.
ENDLOOP.
INSERT...INTO...INDEX…
3.7使用索引插入內表行---------------------------------------------------------------------*
DATA:BEGIN OF MAN,
NAME(20) TYPE C, "長度不足左邊會補以空格顯示 MAN可以當表頭使用
HIGH TYPE P DECIMALS 2,
WEIGHT TYPE P DECIMALS 2,
END OF MAN.
DATA: MAN1 LIKE TABLE OF MAN .
DATA:DELNAME(5) TYPE C.
MAN-NAME =' 張參'. "注意等號空格
MAN-HIGH = '1.68'.
MAN-WEIGHT = 120.
INSERT MAN INTO TABLE MAN1. "哈希表添加數據 INSERT ......INTO TABLE.....
MAN-NAME =' 劉志'. "注意等號空格
MAN-HIGH = '1.78'.
MAN-WEIGHT = 160.
INSERT MAN INTO TABLE MAN1.
LOOP AT MAN1 INTO MAN.
WRITE: / MAN-NAME,MAN-HIGH,MAN-WEIGHT.
ENDLOOP.
MAN-NAME =' 李志'. "注意等號空格
MAN-HIGH = '1.578'.
MAN-WEIGHT = 110.
INSERT MAN INTO MAN1 INDEX 2. "使用索引插入內表行 INSERT...INTO...INDEX..(不需要INTO TABLE)
SKIP.
ULINE.
LOOP AT MAN1 INTO MAN.
WRITE: / MAN-NAME,MAN-HIGH,MAN-WEIGHT.
ENDLOOP.