使用生成的'form'将记录添加到 SAP 数据库



我创建了一个屏幕,在布局绘制器中,我根据表格创建了一个"表单"(使用按 F6 时出现的向导)。所以现在我有了创建行的所有字段,并且我创建了一个"保存"按钮,但显然什么也没发生。

谁能将我链接到某种有关如何使其功能化的指导?我是ABAP的初学者,我遇到了很多麻烦。谢谢!

编辑

我也在尝试更新数据库中的一行,但是使用此代码,数据库中的每个行都会被删除,而不仅仅是具有指定 ID 的行。有谁知道我做错了什么?

  UPDATE zmotoren_jat SET:
  prijs = zmotoren_jat-prijs,
  naam = zmotoren_jat-naam
  WHERE motorid = zmotoren_jat-motorid. "this line doesn't seem to work!

简短的回答:您将字段内容放入具有正确表结构的变量中,然后将该变量插入表中(或者如果您想要修改现有值,请更新)

DATA line LIKE Txxxx.   'Txxxx is the table you want to insert into
line-v1 = inputfield1.  'inputfield1 is your first inputfield
line-v2 = inputfiled2.  'inputfield1 is your second inputfield
INSERT Txxxx FROM line.
if sy-subrc ne 0.
* an error has occured...
endif.

如果使用了表定义中的向导,则输入字段已经可以是类似于 Txxxx-v1 和 Txxxx-v2 的内容。在这一点上,它可以更简单,因为您可以执行以下操作:

INSERT Txxxx.

请注意,这只是对您的问题的一些非常古怪和肮脏的回答。您可能需要检查这些值是否有意义,至少如果它们在表中尚不存在。

问候

编辑 :关于您的更新...逗号将更新一分为二。您应该删除它。

另外,您应该使用 工作区 :填充的相同结构的变量。然后你用它来在你的表中创建/读取/更新/延迟... 这将简化代码读取。

像这样:

* define the working area
data wa_zmotoren_jat like zmotoren_jat.  " wa_ stand for "working area"
* modifiy the variable
wa_zmotoren_jat-motorid = ....
wa_zmotoren_jat-prijs = ...
wa_zmotoren_jat-naam = ...
* use it to update...
UPDATE zmotoren_jat SET:
  prijs = wa_zmotoren_jat-prijs,
  naam = wa_zmotoren_jat-naam
  WHERE motorid = wa_zmotoren_jat-motorid. 

相关内容

  • 没有找到相关文章

最新更新