Chinaunix首页 | 论坛 | 博客
  • 博客访问: 7189736
  • 博文数量: 655
  • 博客积分: 10264
  • 博客等级: 上将
  • 技术积分: 8278
  • 用 户 组: 普通用户
  • 注册时间: 2007-06-04 17:47
个人简介

ABAP顾问

文章分类

全部博文(655)

文章存档

2017年(2)

2014年(8)

2013年(3)

2012年(2)

2011年(18)

2010年(102)

2009年(137)

2008年(274)

2007年(134)

分类:

2008-02-19 13:58:27

DATA: CODEPAGE TYPE ABAP_ENCOD VALUE '8400'.
DATA: O_FILE TYPE STRING.
O_FILE = filename.
CALL METHOD CL_GUI_FRONTEND_SERVICES=>GUI_DOWNLOAD
  EXPORTING
    FILENAME          = O_FILE
    FILETYPE          = 'DAT'
    CODEPAGE          = CODEPAGE
  CHANGING
    DATA_TAB          = itab[]
  EXCEPTIONS
    FILE_WRITE_ERROR        = 1
    NO_BATCH                = 2
    GUI_REFUSE_FILETRANSFER = 3
    INVALID_TYPE            = 4
    NO_AUTHORITY            = 5
    ..
    ...
    ....
 
CODEPAGE这个参数是NUMC类型的,4位。决定输出文件的字符集。
比如8400代表“GBK”,4110为utf-8。
可以用函数:SCP_CODEPAGE_BY_EXTERNAL_NAME来根据名称找4位代码,或者查询表:TCP00A
阅读(12810) | 评论(20) | 转发(2) |
给主人留下些什么吧!~~

chinaunix网友2008-03-16 15:34:09

根据上面的这个方法,在UNICODE环境下,产出的CSV文件,如果用文本编辑器打开的话,会发现有汉字的行的长度大于单纯文本的长度,我想问的是,如何解决这个问题,我想它俩长度是一样的.

chinaunix网友2008-03-16 15:17:42

如果只是文字的话,到无所喂的,可是,我的CSV文件的一行里包括汉字和文字的 在以前NON UNICODE的环境下,到没什么么问题,移到UNICODE环境后, CSV一行的长度边长了.

chinaunix网友2008-03-16 15:13:31

我这么做过了不行的,一行是256个固定长,可是在UNICODE环境下,它把一个全角(汉字)算一个字节,所以会大出256的.

qdbarry2008-03-16 12:02:32

Like this: REPORT z_barry_down . DATA: BEGIN OF itab OCCURS 0 , f1(20) TYPE c, f2(20) TYPE c, END OF itab. START-OF-SELECTION. itab-f1 = 'abc'. itab-f2 = 'def'. APPEND itab. itab-f1 = '测试'. itab-f2 = '中文'. APPEND itab. DATA: o_file TYPE string. o_file = 'C:\barrytest.csv'. CALL METHOD cl_gui_frontend_services=>gui_download EXPORTING filename = o_file filetype

chinaunix网友2008-03-16 11:22:18

您好 我想问一下,DAT形式把最后的空格字段都删除掉,而我需要这个空格,我该 怎么实现呢?我的CSV文件一行是固定长的. 谢谢