我嘗試下載一個內部表格到我的電腦,下載應該使用轉換出口。SAP:如何使用轉換退出下載數據?
示例: 表T002
包含一個帶有一個字符(T0002-SPRAS)的語言鍵。
當我WRITE T0002-SPRAS.
常規ISOLA
轉換使用,我得到兩個字符的語言鍵(ê成爲EN ...) 這個轉換例程應該用於導出文件的。
我的測試報告:
REPORT Y_MY_DOWNLOAD_TEST.
CONSTANTS: c_filename type string VALUE 'C:\temp\test.txt'.
data: it_table type table of t002.
start-of-selection.
SELECT * from t002 into table it_table.
* Start file download
CALL METHOD cl_gui_frontend_services=>gui_download
EXPORTING
filename = c_filename
filetype = 'ASC' "or DAT
WRITE_FIELD_SEPARATOR = 'X'
WRITE_LF = 'X'
* DAT_MODE = SPACE
codepage = '4110' "UNICODE
SHOW_TRANSFER_STATUS = 'X'
WRITE_LF_AFTER_LAST_LINE = 'X'
CHANGING
data_tab = it_table
EXCEPTIONS
OTHERS = 99.
write: 'end'.
結果是沒有轉換出口的使用文件(英文保持Ë)。
的SAP documentation提參數dat_mode
:
如果該標誌被設置,....轉換出口不被執行。
我沒有設置標誌,所以我期望轉換完成。 我嘗試過不同的組合(dat_mode
開/關,filetype
ASC和DAT),但我從未發現過轉換。
備註:
- 我使用的SAP版本7.01,支持包SAPKB70107。這是一個unicode系統。
- T002只是一個例子,我的真實數據是其他數據,包含語言鍵。
我正在尋找與gui_download
(或其他標準方法/功能模塊)的解決方案。
我不想建立自己的導出文件是這樣的:
data:
tmp type string,
targetline type string,
targettable type table of string.
loop at it_table into sourceline.
"This could be done dynamic with field symbols and ASSIGN COMPONENT
write sourceline-field1 to tmp.
CONCATENATE targetline ';' tmp into targetline.
"...
APPEND targetline to targettable.
endloop.
這將是一個可能的解決方案,但在這種情況下,它會更容易讓我適應導出文件的消費者。
PLS檢查此[鏈接](http://www.sdn.sap.com/irj/scn/index?rid=/library/uuid/840ad679- 0601-0010-cd8e-9989fd650822#q-18) – Dhivya
有趣的提示,但我沒有發現任何問題。我發現了三個標題*以Microsoft Excel格式*保存內部表格,但它們處理其他主題(在調試,掃描程序和比較程序期間下載),而不是從ABAP下載。 – knut