REPORT ZPMRP030.
TABLES:USR02.
DATA: L_ERROR TYPE REF TO CX_SY_OPEN_SQL_DB,
L_ERROR_TEXT TYPE STRING.
SELECT-OPTIONS:S_BNAME FOR USR02-BNAME.
SELECT * FROM USR02 INTO TABLE @DATA(LT_USR02)
WHERE UFLAG NE 0
AND BNAME IN @S_BNAME.
IF SY-SUBRC = 0.
LOOP AT LT_USR02 ASSIGNING FIELD-SYMBOL(<FS_USR02>).
<FS_USR02>-GLTGB = '20190101'."使用指针可以直接更新内表
ENDLOOP.
TRY .
UPDATE USR02 FROM TABLE LT_USR02. "更新数据库时尽量使用try
IF SY-SUBRC = 0.
COMMIT WORK AND WAIT.
MESSAGE '更新成功' TYPE 'S'.
ENDIF.
CATCH CX_SY_OPEN_SQL_DB INTO L_ERROR.
L_ERROR_TEXT = L_ERROR->GET_TEXT( ) . "得到错误信息
MESSAGE L_ERROR_TEXT TYPE 'E'.
ENDTRY.
ENDIF.