声明:原创作品,转载时请注明文章来自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. OpenStack 镜像制作

    Contents [hide] 1 Centos6.5 img制作 1.1 基础环境安装 1.2 下载或从本地上传系统镜像 1.3 启动服务 1.4 建立镜像文件 1.5 通过virt-install ...

  2. yum安装mysql后没有mysqld

    在Centos中用命令 yum install mysql安装数据库,但装完后运行mysqld启动mysql的时候提示找不到,通过 find / | grep mysqld 也没找到mysqld的目录 ...

  3. 浅析String、StringBuffer、StringBuilder的区别以及性能区别

    前奏: 比较三者之间的区别在与区别他们做相同的事情的时候的区别,那就是在我们常见的拼接字符串的时候,StringBuffer.StringBuilder调用的是appende()方法,而String很 ...

  4. 【Pro ASP.NET MVC 3 Framework】.学习笔记.9.SportsStore:Securing the Administration Features

    1 设置表单身份认证 因为ASP.NET MVC基于ASP.NET平台的核心,所以我们可以使用ASP.NET Form的身份认证,这是保持用户登录轨迹通用的方法.现在介绍最基本的配置. 在Web.co ...

  5. centos7重启rsyslog服务|centos7重启syslog服务

    centos7重启rsyslog服务: systemctl restart rsyslog 使用:(killall无效) killall -HUP rsyslog

  6. Docker Centos安装Mysql5.6

    之前一篇随笔<Docker Centos安装Openssh> 写的是如何在基础的centos镜像中搭建ssh服务,在此基础上再搭建其他服务.本文继续介绍在centos_ssh基础上搭建my ...

  7. php开启openssl的方法

    windows下开启方法: 1: 首先检查php.ini中:extension=php_openssl.dll是否存在, 如果存在的话去掉前面的注释符‘:’, 如果不存在这行,那么添加extensio ...

  8. greenplum如何激活,同步,删除standby和恢复原始master

    在Master失效时,同步程序会停止,Standby可以被在本机被激活,激活Standby时,同步日志被用来恢复Master最后一次事务成功提交时的状态.在激活Standby时还可以指定一个新的Sta ...

  9. javascript对象(2)

    Number对象 创建方法 var myNum=new Number(value); //返回一个新创建的Number对象var myNum=Number(value); //把Number()作为一 ...

  10. ACM题目————Aggressive cows

    Description Farmer John has built a new long barn, with N (2 <= N <= 100,000) stalls. The stal ...