繁体   English   中英

使用硬编码文本填充表格中的空字段

[英]Filling in empty fields in a table with hardcoded text

我有下面的代码可以完成我想要它做的事情,但是我想添加额外的代码,以便表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. 

免责声明

直接更新 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'.

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM