abap 转换成字符串_ABAP--关于字符串String到XString XString to String转换代码

转自http://guanhuaing.iteye.com/blog/1498891

代码如下

report zrich_0001.

data: s type string,

h(1) type x,

c(1) type c,

byte(2) type c,

length type i,

l_bindata type xstring,

l_cntbin TYPE sdokcntbins.

FIELD-SYMBOLS: .

s = 'This Is A String!'.

length = strlen( s ).

* Use Write to Convert String to XSTRING

write:/ 'Use Write to Convert String to XSTRING' .

ULINE /1(80).

New-line.

do length times.

byte = ( sy-index - 1 ).

c = s+byte(1).

* You can do this

ASSIGN h TO TYPE 'X'.

WRITE c TO .

write: h.

enddo.

* Use Function to Convert String to XSTRING

call function 'SCMS_STRING_TO_XSTRING'

exporting

text = s

* MIMETYPE = ' '

importing

buffer = l_bindata

exceptions

failed = 1

others = 2

.

if sy-subrc = 0.

ULINE /1(80).

write:/ 'Use Function to Convert String to XSTRING'.

ULINE /1(80).

write:/ l_bindata.

endif.

*

** 1. Convert input-table to XSTRING

*CALL FUNCTION 'SCMS_BINARY_TO_XSTRING'

* EXPORTING: input_length = length

* IMPORTING: buffer = l_bindata

* TABLES: binary_tab = l_cntbin

* EXCEPTIONS: failed = 1

* OTHERS = 2.

*IF sy-subrc <> 0.

*ENDIF.

* 2. Convert XSTRING to STRING

clear length.

CALL FUNCTION 'SCMS_XSTRING_TO_BINARY'

EXPORTING:

buffer = l_bindata

IMPORTING:

output_length = length

TABLES:

binary_tab = l_cntbin.

if sy-subrc = 0.

CALL FUNCTION 'SCMS_BINARY_TO_STRING'

EXPORTING

INPUT_LENGTH = length

IMPORTING

TEXT_BUFFER = S

OUTPUT_LENGTH = length

TABLES

BINARY_TAB = l_cntbin

* EXCEPTIONS

* FAILED = 1

* OTHERS = 2

.

IF SY-SUBRC <> 0.

ULINE /1(80).

write:/ 'Convert XSTRING to output-table'.

ULINE /1(80).

write:/ s.

endif.

endif.

3 Decode base64 (TYPE STRING) into plaintext (TYPE STRING).

FORM encode_base64 USING plaintext base64.

CHECK plaintext IS NOT INITIAL.

CONSTANTS:

lc_op_enc TYPE x VALUE 36.

DATA:

l_len TYPE i,

l_xstr TYPE xstring,

lr_conv TYPE REF TO cl_abap_conv_out_ce.

lr_conv = cl_abap_conv_out_ce=>create( ).

l_len = strlen( plaintext ).

lr_conv->write( data = plaintext n = l_len ).

l_xstr = lr_conv->get_buffer( ).

CALL 'SSF_ABAP_SERVICE'

ID 'OPCODE' FIELD lc_op_enc

ID 'BINDATA' FIELD l_xstr

ID 'B64DATA' FIELD base64. "#EC CI_CCALL

ENDFORM.

相关函数

SCMS_STRING_TO_XSTRING

'ECATT_CONV_XSTRING_TO_STRING'

SCMS_BINARY_TO_XSTRING

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/409304.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何禁用计算机的服务,如何彻底禁用电脑中的迅雷服务XLservicePlatform

‍有用户发现电脑系统安装了迅雷极速版或迅雷7之后就会出现一项服务XLservicePlatform&#xff0c;不仅默认开机自动启动&#xff0c;而且还占用CPU资源。一般的方法无法将其彻底禁用。对此&#xff0c;我们可以参考接下来提供的方法来彻底禁用电脑中的迅雷服务XLservicePlatfo…

[转载]oracle的表导入导出,表空间,用户名

原文地址&#xff1a;oracle的表导入导出&#xff0c;表空间&#xff0c;用户名作者&#xff1a;不小馨1.查询所有的表空间 select * from dba_data_files; 2.创建表空间 create tablespace 名称 logging datafile D:ORACLEPRODUCT10.2.0ORADATAMYDBtest.dbf size 100M reu…

finereport 格式化金额函数_帆软报表(finereport)常用函数

帆软报表FineReport中数据连接之Websphere配置JNDI连接以oracle9i数据源制作的模板jndi.cpt为例来说明如何在FineReport中的Websphere配置JNDI连接.由于常用服务器的JNDI驱动过大,帆软报表FineReport中没有自带, ...帆软报表FineReport SQLServer数据库连接失败常见解决方案1. …

唐山师范学院计算机二级报名,2017年3月唐山师范学院计算机等级考试报名时间(河北)...

唐山师范学院2017年上半年全国计算机等级考试(以下简称NCRE)将于3月份举行。按照教育部考试中心有关要求&#xff0c;现就报名工作有关事项通知如下&#xff1a;一、考试时间2017年上半年NCRE时间为3月25日-28日。二、报名事项说明(一)报名时间2017年上半年NCRE报名工作于2017年…

android ListView实现下拉上拉刷新功能

android ListView实现下拉上拉刷新功能 主ListView类&#xff1a;package com.carcare.refresh;/*** file XListView.java* package me.maxwin.view* create Mar 18, 2012 6:28:41 PM* author Maxwin* description An ListView support (a) Pull down to refresh, (b) Pull up …

一文简述npm和cnpm和yarn的区别

我是歌谣 放弃很容易 但是坚持一定很酷 前言 在前端的vue的项目中 不免会安装较多的文件依赖 对于常规安装依赖 我知道的方式有两种npm和yarn 1npm 1.1定义 npm: Nodejs下的包管理器。 1.2 安装 安装node环境 直接node官网安装一下 1.3 下载地址 node地址 下载安装好之后…

统计通话次数和时间的软件_通话时间统计app下载|通话时间统计安卓版下载 v1.0.3 - 跑跑车安卓网...

这是一款通话记录APP&#xff0c;用户可通过该软件来查看电话未接来电、通话时长等信息&#xff0c;十分便捷好用&#xff0c;有需要的快来下载使用吧&#xff01;软件介绍本程序用于通话记录、时长显示、分类统计、时段统计等参考。想知道最近你跟某人通了多长时间电话吗&…

idea html ajax,在 IntelliJ IDEA 8.1中编写一个ajax jquery实例,取不到页面上的值

在 IntelliJ IDEA 8.1中编写一个ajax jquery实例&#xff0c;取不到页面上的值0brnm12942014.08.17浏览115次分享举报public class AjaxServlet extends HttpServlet{protected void doGet(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse)th…

Vue+Element!一千字带你编写合理的编辑,查看,新建!

我是歌谣 放弃很容易 但是坚持一定很酷 1前言 在我们的日常的开发过程中 不免会遇到需要操作同一页面得情况 2需求 比如一个页面 我们会有一个对应的一个表单 A:姓名:XXXX B&#xff1a;年龄:XXXX C:账号:XXXX D&#xff1a;密码:XXXX E:邮箱:XXXX XXXXXel-formel-input name…

script标签属性用type还是language?

一个网站的建设&#xff0c;经常会用到JavaScript,其中必须用到script标签来外调js文件&#xff0c;但是script标签属性用type还是language&#xff1f; type 和 language 属性都可用来指定 <script> 标签中的脚本的类型。所以可以使用下面两种属性&#xff1a; language…

惊呼!JavaScript基本数据类型和引用数据类型详解

前言 我是歌谣 知其然知其所以然 人人都有一个大厂梦 希望通过自己的一个总结分享可以给予大家带来帮助和提升。 本期知识点 JavaScript中基本数据类型和引用数据类型 目标 理解基本数据类型和引用数据类型的定义理解堆和栈数据类型分为哪些 定义 ECMAScript包括两个不同类型…

计算机的特点 分类及其应用,2016计算机知识:计算机的特点、分类及其应用(1)...

【导读】为了帮助广大考生更好的备考&#xff0c;中公事业单位考试网提供2016年计算机知识《计算机的特点、分类及其应用(1)》&#xff0c;为考生定制计算机基础知识复习计划&#xff0c;相信广大考生可以顺利计算机知识考试。一、第1代&#xff1a;电子管数字计算机(1946-1958…

面向船舶结构健康监测的数据采集与处理系统(一)系统架构

世界贸易快速发展起始于航海时代&#xff0c;而船舶作为重要的水上交通工具&#xff0c;有 其装载量大&#xff0c;运费低廉等优势。但船舶在运营过程中出现的某些结构处应力值 过大问题往往会给运营部门造成重大的损失&#xff0c;甚至造成大量的人员伤亡和严重 的环境污染…

Gunicorn 0.17 发布,Python HTTP 服务器

HTTP 服务器 Gunicorn 0.17 发布了&#xff0c;该版本改进内容包括&#xff1a; 支持绑定多个网卡地址支持 SSL支持 syslog增加 nworkers_changed 钩子为 post_request 钩子增加 response 参数使用 argparse 解析命令行参数&#xff08;废弃 optparse&#xff09;fix PWD detec…

优地机器人厂家_2019中国人工智能机器人企业TOP30榜单发布 优地科技跻身前十...

原标题&#xff1a;2019中国人工智能机器人企业TOP30榜单发布 优地科技跻身前十据2019《互联网周刊》&eNet研究院选择排行&#xff0c;“2019中国的人工智能机器人企业TOP30”榜单新鲜出炉&#xff0c;名单如下&#xff1a;从榜单可以看到&#xff0c;阿里巴巴、新松、百度…

计算机网络中的高层应用,第四章计算机网络中的高层应用-.ppt

第四章计算机网络中的高层应用-第四章 计算机网络中的高层应用 掌握C/S模式和B/S模式 熟练掌握常用的网络高层服务&#xff1a; WWW、Telnet 、FTP、EMAIL、DNS等 了解其它网络应用&#xff1a;BBS、IP电话、VOD等 引 言 网络的应用层是计算机开放互连环境与本地的操作系统环境…

硬核!原型和原型链详解

前言 我是歌谣 知其然知其所以然 人人都有一个大厂梦 希望通过自己的一个总结分享可以给予大家带来帮助和提升。 本期知识点 原型和原型链 目标 1理解原型和原型链 2理解构造函数 3理解构造函数 原型和原型链之间的关系 引用类型都是对象 基本数据类型和引用数据类型可以看下…

TCP/IP协议读书笔记(1)

TCP一共有四个主要的定时器&#xff0c;前面已经讲到了一个&#xff0d;&#xff0d;超时定时器&#xff0d;&#xff0d;是TCP里面最复杂的一个&#xff0c;另外的三个是&#xff1a; 坚持定时器保活定时器2MSL定时器其中坚持定时器用于防止通告窗口为0以后双方互相等待死锁的…

python 3 5_零基础学Python3(5):基础运算符(上)

人生苦短&#xff0c;我选Python前文传送门前言前面我们讲了变量的基础操作&#xff0c;本文我们接着讲运算符。运算符根据用途可以分为以下这么几类&#xff1a;算术运算符比较运算符赋值运算符逻辑运算符成员运算符身份运算符本篇我们先介绍前两个&#xff0c;算术运算符和比…