0

我有下面的代码可以做我想做的事情,但是我想添加其他代码,以便表hrp5021中字段exit_prnt_layoutexit_web_layout的任何空白记录都用文本STANDARD填充。我知道如何从表中提取数据,但我很难理解如何添加此功能。我对abap很陌生,感谢您的帮助。

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. 
4

2 回答 2

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'.
于 2013-11-15T01:15:02.247 回答
0

请在成功更新后添加“提交工作”,以便您的实际 LUW 中的待处理事务物理上提交到 dbms 上的数据库。

于 2013-11-14T19:46:52.503 回答