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.