ABAP 每日随笔 day3值转化和赋值

作者:SAPTAB 约 2 分钟阅读 更新日期:2025-03-02 1 年前更新 标签:ABAP, Data Engineering, 开发, 数据工程
ABAP 每日随笔 day3值转化和赋值 - 封面图
ABAP 每日随笔 day3值转化和赋值 - 封面图

[ SAP TAB ](javascript:void\(0\);)

点击上方 蓝字 :关注Tab 一起来学习SAP技术

1.语法为 CONV dTYPE|#(...)\

"7.40之前表达式

DATA text TYPE c LENGTH 255.

DATA helper TYPE string.

DATA xstr TYPE xstring.

helper = text.

xstr = cl_abap_codepage=>convert_to( source = helper ).

"7.40之后

DATA text TYPE c LENGTH 255.

text = 'zhujx'.

DATA(xstr1) = cl_abap_codepage=>convert_to( source = CONV string( text ) ).

*OR

DATA(xstr2) = cl_abap_codepage=>convert_to( source = CONV #( text ) ).

"转化为16进制

ABAP 每日随笔 day3值转化和赋值 - 封面图
ABAP 每日随笔 day3值转化和赋值 - 封面图

2.新语法:操作值

"操作值

• Variables: VALUE dtype|#( )

*

• Structures: VALUE dtype|#( comp1 = a1 comp2 = a2 … )

*

• Tables: VALUE dtype|#( ( … ) ( … ) … ) …

TYPES:BEGIN OF ty_mara,

matnr TYPE mara-matnr,

matkl TYPE mara-matkl,

END OF ty_mara.
TYPES:BEGIN OF ty_makt,

maktx TYPE makt-maktx,

mara1 TYPE ty_mara,

END OF ty_makt.

"1 给变量赋值

DATA(lv_matnr) = 'AT001'.

"2 给结构赋值

DATA(ls_makt1) = VALUE ty_makt( maktx = 'TEST MATERIAL'
mara1-matnr = lv_matnr

mara1-matkl = 'Z001').

"3 给内表赋值

"(1)标准的内表

TYPES: ty_t_makt TYPE STANDARD TABLE OF ty_makt WITH EMPTY KEY.
DATA(lt_makt) = VALUE ty_t_makt(

( maktx = 'MATERIAL 1' mara1-matnr = 'AT001' mara1-matkl = 'Z001')

( maktx = 'MATERIAL 2' mara1-matnr = 'AT002' mara1-matkl = 'Z001')

( maktx = 'MATERIAL 3' mara1-matnr = 'AT003' mara1-matkl = 'Z001')

结果为:

ABAP 每日随笔 day3值转化和赋值 - 封面图
ABAP 每日随笔 day3值转化和赋值 - 封面图
ABAP 每日随笔 day3值转化和赋值 - 封面图
ABAP 每日随笔 day3值转化和赋值 - 封面图

-TAB 热爱技术 享受生活

SAPTAB

关于作者:SAPTAB

企业信息化与 SAP 技术顾问,长期专注 SAP ABAP、FI/CO、MM、SD 等模块的技术分享与实战经验总结。查看更多介绍

来源说明:本文内容由「ABAP每日随笔day3值转化和赋值.md」整理生成,仅用于内部技术分享与学习交流。