声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将追究法律责任!原文链接:http://www.cnblogs.com/jiangzhengjun/p/4265688.html

20.26.

下载文件

20.26.1.

BIN

二进制下载

DATA

:

xstr

TYPE

xstring

.

DATA

:

l_codepage

(

4

)

TYPE

n

.

DATA

:

l_encoding

(

20

).

**********

字符集名与内码转换

"

将外部字符集名转换为内部编码

CALL FUNCTION

'

SCP_CODEPAGE_BY_EXTERNAL_NAME

'

EXPORTING

external_name

=

'UTF-8'

IMPORTING

sap_codepage

=

l_codepage

.

l_encoding

=

l_codepage

.

**********

编码

DATA

:

convout

TYPE REF TO

cl_abap_conv_out_ce

.

"

创建编码对象

convout

=

cl_abap_conv_out_ce

=>

create

(

encoding

=

l_encoding

).

convout

->

write

(

data

=

'

江正军

'

).

"

编码

xstr

=

convout

->

get_buffer

( ).

"

获取二进制码流

WRITE

:

/ xstr

.

"E6B19FE6ADA3E5869B

**********

解码

DATA

:

convin

TYPE REF TO

cl_abap_conv_in_ce

.

"

创建解码对象

convin

=

cl_abap_conv_in_ce

=>

create

(

encoding

=

l_encoding

input

=

xstr

).

DATA

:

str

TYPE

string

.

CALL METHOD

convin

->

read

"

解码

IMPORTING data

=

str

.

WRITE

:

/ str

.

"

江正军

TYPES

:

xx

(

100

)

TYPE x

.

DATA

:

xtab

TYPE STANDARD TABLE OF

xx

WITH HEADER LINE

.

xtab

=

xstr

.

APPEND

xtab

.

CALL FUNCTION

'GUI_DOWNLOAD'

EXPORTING

filename

=

'c:\2.txt'

filetype

=

'BIN'

TABLES

"data_tab

的类型为

ANY

,所以

xtab

是一列还是多列,都会写到

"

文件中去,这里还只有一列,而且还没有列名,这也没有关系

data_tab

=

xtab[]

.

20.26.2.

以字符模式下载

DATA

:

BEGIN OF

strc

OCCURS

0

,

c1

(

2

)

TYPE c

,

c2

(

1

)

TYPE c

,

END OF

strc

.

strc

-

c1

=

'

'

.

strc

-

c2

=

'

'

.

APPEND

strc

.

APPEND

strc

.

CALL FUNCTION

'GUI_DOWNLOAD'

EXPORTING

*   BIN_FILESIZE         
=

filename

=

'c:\1.txt'

filetype

=

'DAT'


"

列与列之间会使用


TAB


分隔

*   APPEND               
= ' '

*   WRITE_FIELD_SEPARATOR = ' '

*   HEADER               
= '00'

*   codepage             
= '8400' "GBK

*   codepage             
= '8450' "GB2312

codepage

=

'4110'

"utf-8

*   CODEPAGE             
= '4102'"UTF-16BE

*   CODEPAGE             
= '4103'"UTF-16LE

TABLES

data_tab

=

strc[]

.

CODEPAGE

l

Description

Use parameter CODEPAGE to specify the desired target codepage. If this
parameter is not set, the codepage of the SAP GUI is used as the target
codepage.

如果不指定,则使用

SAP GUI

所使用的

Codepage

l

Value range

4-digit number of the SAP codepage. The function module

SCP_CODEPAGE_BY_EXTERNAL_NAME

returns the SAP codepage number for an external character set name, for
example, "iso-8859-1". The function module NLS_GET_FRONTEND_CP returns
the appropriate non-Unicode frontend codepage for a language.

You can determine the desired codepage interactively, if the parameter
with_encoding of method file_save_dialog is set by cl_gui_frontend_services.

SPACE: Codepage of the SAP GUI

l

Default

SPACE

SCP_CODEPAGE_BY_EXTERNAL_NAME

该函数可将字符集名称转换为

CODEPAGE

,也可以直接查看

TCP00A

另外,发现

TCP00

表里也存储了

CODEPAGE

,而且该表有一个

CPCOMPANY

字段标示该代码是由哪个组织定义的(一般我们使用

ISO

国际标准),可以将

TCP00A

TCP00

通过

CODEPAGE

联合起来查询,

TCP00A

可以根据字符集名称(如

GBK

UTF-8

TCP00A-CPATTR

来查询,而

TCP00

可以根据字符集描述(如:

Chinese

)来查询

TCP00-

CPCOMMENT

[SAP ABAP开发技术总结]以二进制、字符模式下载文件的更多相关文章

  1. ABAP开发顾问必备:SAP ABAP开发技术总结

    声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...

  2. ABAP开发顾问必备:SAP ABAP开发技术总结[转载]

    转载自SAP师太技术博客,原文链接:http://www.cnblogs.com/jiangzhengjun/p/4260224.html 在原文上增加了链接,此文及此文的链接版权都归SAP师太所有. ...

  3. [SAP ABAP开发技术总结]内表操作

    声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...

  4. [SAP ABAP开发技术总结]OPEN SQL

    声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...

  5. [SAP ABAP开发技术总结]字符串处理函数、正则表达式

    声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...

  6. [SAP ABAP开发技术总结]ABAP程序之间数据共享与传递

    声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...

  7. [SAP ABAP开发技术总结]字符编码与解码、Unicode

    声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...

  8. [SAP ABAP开发技术总结]ALV

    声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...

  9. [SAP ABAP开发技术总结]将文件存储到数据库表中,并可发送邮件

    声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...

随机推荐

  1. Nginx防蜘蛛爬虫处理

    假定一个场景:某个网站它可能不希望被网络爬虫抓取,例如测试环境不希望被抓取,以免对用户造成误导,那么需要在该网站中申明,本站不希望被抓取.有如下方法: 方法一:修改nginx.conf,禁止网络爬虫的 ...

  2. 【python cookbook】【数据结构与算法】5.实现优先级队列

    问题:要实现一个队列,它能够以给定的优先级对元素排序,且每次pop操作时都会返回优先级最高的那个元素: 解决方案:采用heapq模块实现一个简单的优先级队列 # example.py # # Exam ...

  3. js,replace() 和 正则表达式(regular expression)

    repalce() 只能替换字符串中的匹配到的第一个字符或者字符串 正则表达式   替换多个字符或者字符串 注意:一些数字型的字符串使用replace() 时要确保是字符串,而不是数字. 转换方法: ...

  4. Linux中查找最耗性能的JAVA代码

    在这里总结一下查找Linux.Java环境下最耗CPU性能的代码段的方法.基本上原理就是使用top命令查看最耗cpu的进程和线程(子进程).使用jstack把java线程堆栈给dump下来.然后,在堆 ...

  5. HDU 4315:Climbing the Hill(阶梯博弈)

    http://acm.hdu.edu.cn/showproblem.php?pid=4315 题意:有n个人要往坐标为0的地方移动,他们分别有一个位置a[i],其中最靠近0的第k个人是king,移动的 ...

  6. mina

    http://bsr1983.iteye.com/blog/1886296 http://blog.csdn.net/defonds/article/category/1844073(这个网站原创最全 ...

  7. YTU 2019: 鞍点计算

    2019: 鞍点计算 时间限制: 1 Sec  内存限制: 64 MB 提交: 66  解决: 30 题目描述 找出具有m行n列二维数组Array的"鞍点",即该位置上的元素在该行 ...

  8. c#作业

    string a = this.textBox1.Text; // string [] b=a.Split("\r\n".ToCharArray(),StringSplitOpti ...

  9. Radar Installation 分类: POJ 2015-06-15 19:54 8人阅读 评论(0) 收藏

    Radar Installation Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 60120   Accepted: 13 ...

  10. Unity-Animator深入系列---StateMachineBehaviour初始化时间测试

    回到 Animator深入系列总目录 结果和想的有点出入 测试结果: 1.SMB初始化会被调用多次,次数不可控,当Animator组件重复开关则重复初始化. 2.SMB支持构造函数 MyClass p ...