我有以下代码可以执行我想要的操作,但是我想添加其他代码,以便表格中的字段 exit_prnt_layout 和 exit_web_layout 的任何空白记录 hrp5021 用文字 STANDARD 填写。我知道如何从表中提取数据,但我很难理解如何添加此功能。我很擅长和帮助表示赞赏。
TABLES: hrp5021.
DATA: hrp5021_wa TYPE hrp5021.
PARAMETERS: objid LIKE hrp5021-objid.
END-OF-SELECTION.
SELECT SINGLE * FROM hrp5021 INTO hrp5021_wa
WHERE plvar = '01'
AND otype = 'VA'
AND objid = objid
AND istat = '4'
AND exit_prnt_layout = 'STANDARD'.
IF sy-subrc = 0.
hrp5021_wa-exit_prnt_layout = 'SMARTFORM'.
UPDATE hrp5021 FROM hrp5021_wa.
WRITE:/ 'VA', objid, 'was changed to Smartform'.
ELSE.
WRITE:/ 'No entry for conversion found'.
ENDIF.
答案 0 :(得分:3)
<强>声明强>
几乎从不直接更新SAP标准表是个好主意。如果您是SAP新手,可以从该声明中删除“几乎”。
因此,虽然我将回答您的问题,但我强烈建议您尝试使用SAP批准的方法使用BDC,BAPI或已发布的功能模块更新必要的字段。
以下代码将更新exit_prnt_layout为空的所有条目:
update hrp5021 set exit_prnt_layout = 'STANDARD'
where exit_prnt_layout = space.
write:/ sy-dbcnt ' entries updated'.
对于exit_web_layout也一样:
update hrp5021 set exit_web_layout = 'STANDARD'
where exit_web_layout = space.
write:/ sy-dbcnt ' entries updated'.
答案 1 :(得分:0)
请在成功更新后添加&#34;提交工作&#34;,以便实际LUW中的待处理事务物理提交到dbms上的db。