概要
データをローカルに落としたいという要件がある場合、ユーザーはExcelを希望するケースが多いだろう。
そんな時は以下の汎用モジュールを使用して簡単に作る事ができます。
使用方法は、GUI_UPLOADやGUI_DOWNLOADとほとんど変わらず、少し使用するパラメータが異なったり、ファイル名の型が違うだけなのですぐに理解する事ができると思う。
ただ、一つ注意してほしいのは、ファイル名で使用する型RLGRAP-FILENAMEは128桁の文字型である為、階層が深いと問題になる場合がある。
サンプルプログラム:Excelアップロード
TYPE-POOLS: TRUXS.
TYPES: BEGIN OF T_FILE,
VAL1(10) TYPE C,
VAL2(10) TYPE C,
VAL3(10) TYPE C,
END OF T_FILE.
DATA: IT_FILE TYPE TABLE OF T_FILE. " 内部
DATA: IT_ROW TYPE truxs_t_text_data.
DATA: W_FILE TYPE RLGRAP-FILENAME.
W_FILE = 'C:\temp\upload.XLSX'.
CALL FUNCTION 'TEXT_CONVERT_XLS_TO_SAP'
EXPORTING
* I_FIELD_SEPERATOR =
* I_LINE_HEADER =
I_TAB_RAW_DATA = IT_ROW
I_FILENAME = W_FILE
TABLES
I_TAB_CONVERTED_DATA = IT_FILE
* EXCEPTIONS
* CONVERSION_FAILED = 1
* OTHERS = 2
.
IF SY-SUBRC <</SPAN>> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
サンプルプログラム:Excelダウンロード
TYPES: BEGIN OF T_FILE,
VAL1(10) TYPE C,
VAL2(10) TYPE C,
VAL3(10) TYPE C,
END OF T_FILE.
DATA: IT_FILE TYPE TABLE OF T_FILE, " 内部
WA_FILE TYPE T_FILE.
DATA: W_FILE TYPE RLGRAP-FILENAME.
WA_FILE-VAL1 = '1'.
WA_FILE-VAL2 = '2'.
WA_FILE-VAL3 = '3'.
APPEND WA_FILE TO IT_FILE.
W_FILE = 'C:\temp\download.XLSX'.
CALL FUNCTION 'SAP_CONVERT_TO_XLS_FORMAT'
EXPORTING
* I_FIELD_SEPERATOR =
* I_LINE_HEADER =
I_FILENAME = W_FILE
TABLES
I_TAB_SAP_DATA = IT_FILE
* CHANGING
* I_TAB_CONVERTED_DATA =
* EXCEPTIONS
* CONVERSION_FAILED = 1
* OTHERS = 2
.
IF SY-SUBRC <</SPAN>> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.