Chinaunix首页 | 论坛 | 博客
  • 博客访问: 7137694
  • 博文数量: 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
阅读(12644) | 评论(20) | 转发(2) |
给主人留下些什么吧!~~

yimeng802008-03-19 08:31:02

早上好,谢谢,,我在UNICODE环境里试试看吧. 再问一个问题... : ) 在SMARTFORMS里如何实现字段折行显示呢? 我对SMARTFORM并不熟悉.. ..谢谢

qdbarry2008-03-18 15:11:26

写了一个FORM,用来计算单/双字节的,没有在UNICODE环境测试。 你可以测试一下,看能不能用。 如果能用,你只要根据算出的字节数,再添加(256-len)数目的空格就可以了。 REPORT z_barry_test NO STANDARD PAGE HEADING . DATA: input1(100) TYPE c , outch1(100) TYPE c , outen1(100) TYPE c , len TYPE i. input1 = '中国zhongguo人民renmin'. PERFORM nounicode USING input1 outch1 outen1 len. WRITE : / 'Input: ' , input1 , / '提取双字节: ' , outch1 , / '提取单字节: ' , outen1 , / '非UNICODE长度:' , len . *&------

yimeng802008-03-17 15:13:37

就是接口用的,很多限制,不能让客户改掉他们读取这个CSV文件的程序, 所以,只能按照以前的CSV文件来做...

qdbarry2008-03-17 15:02:12

可以动态定义:http://blog.chinaunix.net/u1/40527/showart_370362.html 里面的:就是动态定义的内表。 搞不明白你的CSV文件怎么这么多限制,做接口用么? 其实,有时候事情可以更简单的。

yimeng802008-03-17 14:53:59

这个参考资料,好难啊...我看的头痛了.. 我想问一下,定义内表的时候,可以先不定义长度,动态的定义长度吗? 因为我的CSV格式的第一行,第二行格式不一样,第一行是汉字字母混合,第二 行是单纯字母...,所以它们不能给同样的长度.同样的长度的话,用文本编辑器打开后发现,混合的行的长度大于单纯字母的行. 你可以进ECC6的时候,一定要帮我看一下吧 :)