0

私がやりたいことを行う以下のコードがありますが、テーブルhrp5021のフィールドexit_prnt_layoutおよびexit_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 を初めて使用する場合は、そのステートメントから「ほぼ」を削除できます。

したがって、私があなたの質問に答える間、BDC、BAPI、またはリリースされた関数モジュールを使用して、必要なフィールドを更新する SAP 承認の方法を見つけることを強くお勧めします。

次のコードは、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 に答える