关于GUI_DOWNLOAD中下载excel等文档的乱码问题
1?? GUI_DOWNLOAD
1.1????? 問題表現
GUI_DOWNLOAD在應用當中有時會導致輸出的文件在某些電腦正常顯示,在某些電腦亂碼顯示。這個固然是由于各個電腦系統配置有差異,但是我們可以在應用該函數時就排除該差異來保證任意臺電腦正常顯示輸出的文件。
如下屬代碼:
該代碼把一個內表it_printab[]直接放到一個文件sfile中(代碼示例來自于ZHRR0028)。
??call?function?'GUI_DOWNLOAD'
??????exporting
*???????BIN_FILESIZE????????????????????=
????????filename????????????????????????=?sfile?"sfile?"?"p_file
????????filetype????????????????????????=?'DAT'
????????codepage????????????????????????=?'8404'
??????tables
????????data_tab????????????????????????=?it_printab[]?.
1.2????? 問題排除方法
在函數中指定codepage就可以了,如該代碼示例中指定codepage為’8404’。
2?? 關于codepage
2.1????? gui_download中對codepage的解釋
?????? 通過上述解釋可以知道,SAP codepage是一個4位的number。函數SCP_CODEPAGE_BY_EXTERNAL_NAME可以通過iso,gbk等輸入參數確定返回的是the SAP codepage number for an external character set name;函數NLS_GET_FRONTEND_CP通過輸入語言參數返回的是the appropriate non-Unicode frontend codepage for a language。比如本例用的函數是NLS_GET_FRONTEND_CP,輸入是語言zh,返回的是8404。
2.2????? 表
實際上有兩個表存儲codepage,其對應的函數關系如下:
函數:SCP_CODEPAGE_BY_EXTERNAL_NAME
表:TCP00A- Code Page Attributes
函數:NLS_GET_FRONTEND_CP:
表:TCP0F-Relationship Between System Codepage and Frontend Codepage
總結
以上是生活随笔為你收集整理的关于GUI_DOWNLOAD中下载excel等文档的乱码问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 释疑のSAP请求号
- 下一篇: Download Excel