Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3124239
  • 博文数量: 238
  • 博客积分: 864
  • 博客等级: 军士长
  • 技术积分: 2940
  • 用 户 组: 普通用户
  • 注册时间: 2012-10-08 23:01
个人简介

WeChat: cj_william / Mail: william.chen.cn@outlook.com

文章分类

全部博文(238)

文章存档

2018年(2)

2016年(35)

2015年(47)

2014年(104)

2013年(38)

2012年(12)

分类: IT业界

2014-07-05 21:56:31

关于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的解释

gui_download

       通过上述解释可以知道,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 

阅读(1889) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~