点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
最近工作中遇到维护自定义表时,数据小写字母自动转大写的情况,为了保证数据准确,用了程序去更新数据。
更新表数据有两种方式 modify 和update。这里我只说一下modify.
定义内表以及工作区:
TYPES: BEGIN OF ty_data,
numl TYPE i,
char1 TYPE string,
END OF ty_data.
data: lt_data TYPE STANDARD TABLE OF ty_data,
ls_data LIKE LINE OF lt_data.
内表进行赋值:
lt_data = VALUE #( ( numl = 1 char1 = 'A' )
( numl = 2 char1 = 'A' )
( numl = 3 char1 = 'A' )
( numl = 4 char1 = 'A' )
( numl = 5 char1 = 'A' )
( numl = 6 char1 = 'A' )
( numl = 7 char1 = 'A' )
( numl = 8 char1 = 'A' )
( numl = 9 char1 = 'A' ) ).
工作区进行赋值:
ls_data = VALUE #( char1 = 'a' ).
通过工作区更新内表:
MODIFY lt_data FROM ls_data TRANSPORTING char1 WHERE char1 = 'A'.
调试检查结果:
modify之前
modify之后
使用内表更新自定义表数据(多行数据):
MODIFY zmmt001 FROM TABLE lt_date.
使用工作区更新自定义表数据(单行数据):
MODIFY zmmt001 FROM ls_data.
更新自定义表数据时需注意(如果自定义表有存在相同主键数据则覆盖,否之添加)。