基礎的讀取數據表例子

基礎的讀取數據表例子

4.7.1基礎的讀取數據表例子---------------------------------------------------------------------*
"定議工作區
data a_spfli TYPE spfli.

"定義內表,請注意Header Line
DATA ta_spfli TYPE TABLE OF spfli WITH HEADER LINE.

ULINE.
WRITE / '使用工作區'.
ULINE.
"將數據表逐行轉移至工作區,只讀首5行
SELECT * INTO CORRESPONDING FIELDS OF a_spfli FROM spfli UP TO 5 ROWS.                                        "Select * into corresponding fields of..........endselect
  WRITE: / a_spfli-connid,a_spfli-carrid,a_spfli-cityfrom,a_spfli-cityto.
ENDSELECT.
ULINE.

WRITE / '使用內表'.
ULINE.
SELECT * INTO CORRESPONDING FIELDS OF  TABLE ta_spfli FROM spfli UP TO 5 ROWS.                          "select * into corresponding fields of table................
"從數據表讀數據至內表,直接從內表輸出
"如果TA_SPFLI沒有定義Hearder Line,會出錯
LOOP AT ta_spfli.
  WRITE: / ta_spfli-connid,ta_spfli-carrid,ta_spfli-cityfrom,ta_spfli-cityto.
"  WRITE: / a_spfli-connid,a_spfli-carrid,a_spfli-cityfrom,a_spfli-cityto.
ENDLOOP.

ULINE.
WRITE / '將內表數據轉移至工作區'.
ULINE.

LOOP AT ta_spfli INTO a_spfli.
  WRITE: / a_spfli-connid,a_spfli-carrid,a_spfli-cityfrom,a_spfli-cityto.
ENDLOOP. 

使用PACKAGE SIZE

*4.7.2使用PACKAGE SIZE---------------------------------------------------------------------*
"定義內表Header Line
DATA wa_spfli type table of spfli with header line.
"以每次讀取5條記錄,直到讀取所有數據
select * into table wa_spfli from spfli package size 5 .                                                                                                        "select * into table  ..from ... package size.    .....endselect.
  loop at wa_spfli.
    write: / wa_spfli-carrid,wa_spfli-cityfrom,wa_spfli-cityto.
  endloop.
  "輸出5條后輸出一條橫線
  uline.
endselect. 

內連接和外連接

*4.7.3內連接和外連接---------------------------------------------------------------------*

"定義結構
data:begin of arcd,
  carrid type spfli-carrid,
  connid type spfli-connid,
  fldate type sflight-fldate,
end of arcd.

"工作區
data arcd1 like arcd.

" 工作區與結構的區別

"關聯數據表,讀取前10條記錄,寫入工結構,并輸出
select spfli~carrid spfli~connid sflight~fldate into arcd from spfli inner join sflight on spfli~carrid = sflight~carrid and spfli~connid = sflight~connid up to 10 rows.
  write: / arcd-carrid,arcd-connid,arcd-fldate.
endselect.

"關聯數據表,讀取前10條記錄,寫入工作區,并輸出
select spfli~carrid spfli~connid sflight~fldate into arcd1 from spfli inner join sflight on spfli~carrid = sflight~carrid and spfli~connid = sflight~connid up to 10 rows.
  write: / arcd1-carrid,arcd1-connid,arcd1-fldate.
endselect. 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值