"3.8格式化輸出---------------------------------------------------------------------*
DATA WA LIKE SPFLI.
WRITE:/.
WRITE: 10'航班承運人',40'航班連接',60'國家代碼',80'起飛城市',100'起飛機場'. "數字表示,從第幾行開始輸出
SELECT * INTO WA FROM SPFLI.
WRITE: / WA-CARRID UNDER '航班承運人' , "格式化输出,與第1行對齊
WA-CONNID UNDER '航班連接' ,
WA-COUNTRYFR UNDER '國家代碼' ,
WA-CITYFROM UNDER '起飛城市' ,
WA-AIRPFROM UNDER '起飛機場' .
ENDSELECT.
"3.9格式化輸出---------------------------------------------------------------------*
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:name TYPE rlgrap-filename,typa TYPE rlgrap-filetype.
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.58'.
man-weight = 110.
INSERT man INTO man1 INDEX 2. "使用索引插入內表行 INSERT...INTO...INDEX..(不需要INTO TABLE)
name = 'c:\temp\testa.txt'.
typa ='dat'.
CALL FUNCTION 'DOWNLOAD'
EXPORTING
* BIN_FILESIZE = ' '
codepage = ' testa'
filename = name
filetype = typa
item = ' 文件測試'
* MODE = ' '
* WK1_N_FORMAT = ' '
* WK1_N_SIZE = ' '
* WK1_T_FORMAT = ' '
* WK1_T_SIZE = ' '
* FILEMASK_MASK = ' '
* FILEMASK_TEXT = ' '
* FILETYPE_NO_CHANGE = ' '
* FILEMASK_ALL = ' '
* FILETYPE_NO_SHOW = ' '
* SILENT = 'S'
* COL_SELECT = ' '
* COL_SELECTMASK = ' '
* NO_AUTH_CHECK = ' '
* IMPORTING
* ACT_FILENAME =
* ACT_FILETYPE =
* FILESIZE =
* CANCEL =
TABLES
data_tab = man1
* FIELDNAMES =
EXCEPTIONS
invalid_filesize = 1
invalid_table_width = 2
invalid_type = 3
no_batch = 4
unknown_error = 5
gui_refuse_filetransfer = 6
OTHERS = 7.
.
IF sy-subrc <> 0.
* message id sy-msgid type sy-msgty number sy-msgno with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
"3.10直接存入文件---------------------------------------------------------------------*
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.
CALL FUNCTION 'UPLOAD'
EXPORTING
CODEPAGE = 'testa'
FILENAME = 'c:\temp\testa.txt'
FILETYPE = 'dat'
ITEM = '讀放文件'
* FILEMASK_MASK = ' '
* FILEMASK_TEXT = ' '
* FILETYPE_NO_CHANGE = ' '
* FILEMASK_ALL = ' '
* FILETYPE_NO_SHOW = ' '
* LINE_EXIT = ' '
* USER_FORM = ' '
* USER_PROG = ' '
* SILENT = 'S'
* IMPORTING
* FILESIZE =
* CANCEL =
* ACT_FILENAME =
* ACT_FILETYPE =
TABLES
data_tab = man1
EXCEPTIONS
CONVERSION_ERROR = 1
INVALID_TABLE_WIDTH = 2
INVALID_TYPE = 3
NO_BATCH = 4
UNKNOWN_ERROR = 5
GUI_REFUSE_FILETRANSFER = 6
OTHERS = 7.
以下測試不成功WS_UPLOAD'
CALL FUNCTION 'WS_UPLOAD'
EXPORTING
CODEPAGE = 'testa'
FILENAME = 'c:\temp\testa.txt'
FILETYPE = 'dat'
* HEADLEN = ' '
* LINE_EXIT = ' '
* TRUNCLEN = ' '
* USER_FORM = ' '
* USER_PROG = ' '
* DAT_D_FORMAT = ' '
* IMPORTING
* FILELENGTH =
TABLES
data_tab = man1
EXCEPTIONS
CONVERSION_ERROR = 1
FILE_OPEN_ERROR = 2
FILE_READ_ERROR = 3
INVALID_TYPE = 4
NO_BATCH = 5
UNKNOWN_ERROR = 6
INVALID_TABLE_WIDTH = 7
GUI_REFUSE_FILETRANSFER = 8
CUSTOMER_ERROR = 9
NO_AUTHORITY = 10
OTHERS = 11.
IF sy-subrc <> 0.
* Implement suitable error handling here
ENDIF.
loop at man1 into man.
write: / man-name,man-high,man-weight.
endloop.